/* ============================================================
   POWER EXPECTATIONS — corporate site
   Brand: deep navy + orange→gold energy (from the logo).
   ============================================================ */
:root{
  --navy-950:#070a1f;
  --navy-900:#0b0e27;
  --navy-850:#0e1230;
  --navy-800:#141a3e;
  --navy-700:#1d244f;
  --navy-600:#2a3468;
  --line:rgba(255,255,255,.10);
  --line-2:rgba(255,255,255,.06);

  --gold:#fdb913;
  --orange:#f7941e;
  --gold-grad:linear-gradient(100deg,#f7941e 0%,#fdb913 55%,#ffd24a 100%);

  --ink:#0d1130;          /* dark text on light */
  --paper:#f5f7fc;        /* light section bg */
  --paper-2:#eef1f9;
  --slate:#5a6485;        /* muted text on light */
  --white:#f4f7ff;
  --white-dim:#aeb8d6;    /* muted text on dark */

  --sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  --display:"Sora","Inter",sans-serif;
  --ease:cubic-bezier(.22,1,.36,1);
  --wrap:1200px;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:var(--sans); color:var(--white);
  background:var(--navy-900);
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
::selection{background:var(--gold);color:var(--navy-950)}

.wrap{max-width:var(--wrap);margin:0 auto;padding:0 28px;width:100%}
.grad{background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}

.eyebrow{font:600 12px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--white-dim)}
.eyebrow--gold{color:var(--gold)}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font:600 14px/1 var(--sans);letter-spacing:.01em;
  padding:15px 26px;border-radius:12px;cursor:pointer;border:1px solid transparent;
  transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .25s var(--ease),color .2s;
  white-space:nowrap;
}
.btn--gold{background:var(--gold-grad);color:var(--navy-950);box-shadow:0 10px 30px -10px rgba(253,185,19,.6)}
.btn--gold:hover{transform:translateY(-2px);box-shadow:0 16px 40px -12px rgba(253,185,19,.75)}
.btn--ghost{background:transparent;color:var(--white);border-color:var(--line)}
.btn--ghost:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-2px)}
.btn--full{width:100%}

/* ---------- nav ---------- */
.nav{position:fixed;inset:0 0 auto 0;z-index:50;transition:background .4s var(--ease),border-color .4s,backdrop-filter .4s;
  border-bottom:1px solid transparent}
.nav.is-stuck{background:rgba(9,12,34,.82);backdrop-filter:blur(14px) saturate(140%);border-bottom-color:var(--line-2)}
.nav__inner{display:flex;align-items:center;gap:24px;height:76px}
.nav__logo{height:46px;width:auto}
.nav__links{display:flex;gap:30px;margin-left:auto}
.nav__links a{font:500 14.5px/1 var(--sans);color:var(--white-dim);transition:color .2s;position:relative;padding:6px 0}
.nav__links a:hover{color:var(--white)}
.nav__links a::after{content:"";position:absolute;left:0;bottom:-2px;height:2px;width:0;background:var(--gold-grad);transition:width .3s var(--ease)}
.nav__links a:hover::after{width:100%}
.nav__cta{padding:11px 20px}
.nav__burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px;margin-left:auto}
.nav__burger span{width:24px;height:2px;background:var(--white);border-radius:2px;transition:transform .3s var(--ease),opacity .3s}
.nav.is-open .nav__burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav.is-open .nav__burger span:nth-child(2){opacity:0}
.nav.is-open .nav__burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ---------- hero ---------- */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;overflow:hidden;
  background:radial-gradient(120% 90% at 78% 8%,#182253 0%,var(--navy-900) 46%,var(--navy-950) 100%)}
.hero__bg{position:absolute;inset:0;pointer-events:none}
.hero__grid{position:absolute;inset:0;opacity:.5;
  background-image:linear-gradient(var(--line-2) 1px,transparent 1px),linear-gradient(90deg,var(--line-2) 1px,transparent 1px);
  background-size:64px 64px;
  -webkit-mask-image:radial-gradient(120% 80% at 70% 20%,#000 30%,transparent 75%);
  mask-image:radial-gradient(120% 80% at 70% 20%,#000 30%,transparent 75%)}
.hero__glow{position:absolute;top:-10%;right:-6%;width:60vw;height:60vw;max-width:820px;max-height:820px;
  background:radial-gradient(circle,rgba(247,148,30,.22) 0%,rgba(253,185,19,.10) 32%,transparent 66%);
  filter:blur(6px);animation:float 12s var(--ease) infinite alternate}
.hero__bolt{position:absolute;top:8%;right:12%;width:2px;height:52%;
  background:var(--gold-grad);transform:skewX(-18deg);opacity:.5;
  box-shadow:0 0 40px 6px rgba(253,185,19,.35);animation:pulse 4.5s ease-in-out infinite}
@keyframes float{to{transform:translate(-26px,26px) scale(1.06)}}
@keyframes pulse{0%,100%{opacity:.35}50%{opacity:.7}}
.hero__inner{position:relative;padding:120px 28px 90px;max-width:var(--wrap)}
.hero__title{font:800 clamp(44px,7.4vw,92px)/1.02 var(--display);letter-spacing:-.025em;margin:22px 0 0;max-width:16ch}
.hero__sub{font:400 clamp(17px,1.7vw,21px)/1.6 var(--sans);color:var(--white-dim);max-width:44ch;margin:26px 0 0}
.hero__cta{display:flex;gap:14px;margin:38px 0 0;flex-wrap:wrap}
.hero__stats{display:flex;align-items:center;gap:26px;margin:56px 0 0;flex-wrap:wrap}
.hero__stats>div:not(.sep){display:flex;flex-direction:column;gap:6px}
.hero__stats b{font:700 22px/1 var(--display);background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.hero__stats span{font:500 12px/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--white-dim)}
.hero__stats .sep{width:1px;height:34px;background:var(--line)}
.hero__scroll{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);width:24px;height:38px;border:1.5px solid var(--line);border-radius:14px;display:flex;justify-content:center;padding-top:7px}
.hero__scroll span{width:3px;height:8px;border-radius:2px;background:var(--gold);animation:scrolldot 1.8s var(--ease) infinite}
@keyframes scrolldot{0%{transform:translateY(0);opacity:1}70%{transform:translateY(12px);opacity:0}100%{opacity:0}}

/* ---------- belief ---------- */
.belief{padding:110px 0;background:var(--navy-850);border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2)}
.belief__quote{font:600 clamp(26px,3.6vw,44px)/1.28 var(--display);letter-spacing:-.02em;max-width:20ch;color:var(--white)}

/* ---------- generic section ---------- */
.section{padding:120px 0;background:var(--paper);color:var(--ink)}
.section--tint{background:var(--paper-2)}
.section__head{max-width:640px;margin:0 0 56px}
.section .eyebrow{color:var(--slate)}
.section h2,.pr h2,.contact h2,.belief__quote{font-family:var(--display)}
.section h2{font:700 clamp(30px,4vw,46px)/1.1 var(--display);letter-spacing:-.02em;margin:16px 0 0;color:var(--ink)}
.section__lede{font:400 clamp(16px,1.5vw,19px)/1.6 var(--sans);color:var(--slate);margin:20px 0 0;max-width:56ch}

/* what-we-do cards */
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.card{background:#fff;border:1px solid #e6e9f4;border-radius:18px;padding:30px 26px;transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s}
.card:hover{transform:translateY(-6px);box-shadow:0 28px 50px -30px rgba(20,26,62,.4);border-color:#d6ddf0}
.card__ic{width:52px;height:52px;border-radius:13px;display:flex;align-items:center;justify-content:center;font-size:24px;
  background:linear-gradient(135deg,#fff4de,#ffe6b8);box-shadow:inset 0 0 0 1px rgba(247,148,30,.25)}
.card h3{font:700 19px/1.25 var(--display);letter-spacing:-.01em;margin:20px 0 10px;color:var(--ink)}
.card p{font:400 15px/1.6 var(--sans);color:var(--slate)}

/* ---------- Puerto Rico flagship ---------- */
.pr{position:relative;min-height:640px;display:flex;align-items:center;overflow:hidden;background:var(--navy-950)}
.pr__media{position:absolute;inset:0;
  background:linear-gradient(90deg,var(--navy-950) 8%,rgba(11,14,39,.72) 42%,rgba(11,14,39,.25) 100%),url("./assets/pr-deployment.jpg") center/cover no-repeat;
  transform:scale(1.02)}
.pr__inner{position:relative;padding:100px 28px}
.pr__copy{max-width:600px}
.pr__copy h2{font:700 clamp(32px,4.4vw,52px)/1.06 var(--display);letter-spacing:-.02em;margin:16px 0 0;color:var(--white)}
.pr__copy>p{font:400 clamp(16px,1.5vw,19px)/1.65 var(--sans);color:var(--white-dim);margin:22px 0 0;max-width:52ch}
.pr__copy b{color:var(--gold);font-weight:700}
.pr__stats{display:flex;gap:40px;margin:34px 0 34px;flex-wrap:wrap}
.pr__stats div{display:flex;flex-direction:column;gap:6px}
.pr__stats b{font:800 40px/1 var(--display);background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.pr__stats span{font:500 12px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--white-dim)}

/* ---------- industries ---------- */
.ind{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.ind__tile{display:flex;align-items:center;gap:16px;background:#fff;border:1px solid #e6e9f4;border-radius:14px;padding:24px 26px;
  font:600 17px/1.2 var(--display);color:var(--ink);transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s}
.ind__tile:hover{transform:translateY(-4px);box-shadow:0 22px 40px -28px rgba(20,26,62,.45);border-color:#d6ddf0}
.ind__ic{width:46px;height:46px;flex:none;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px;
  background:linear-gradient(135deg,#0e1230,#1d244f)}

/* ---------- approach / values ---------- */
.vals{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:#e6e9f4;border:1px solid #e6e9f4;border-radius:20px;overflow:hidden}
.val{background:var(--paper);padding:34px 30px}
.val__n{font:800 13px/1 var(--display);color:var(--orange);letter-spacing:.1em}
.val h3{font:700 19px/1.28 var(--display);letter-spacing:-.01em;margin:14px 0 10px;color:var(--ink)}
.val p{font:400 14.5px/1.6 var(--sans);color:var(--slate)}
.val em{font-style:italic;color:var(--ink)}

/* ---------- contact ---------- */
.contact{padding:120px 0;background:radial-gradient(120% 100% at 15% 0%,#182253 0%,var(--navy-900) 55%,var(--navy-950) 100%)}
.contact__inner{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.contact__copy h2{font:700 clamp(30px,4vw,48px)/1.08 var(--display);letter-spacing:-.02em;margin:16px 0 0;color:var(--white)}
.contact__copy>p{font:400 17px/1.6 var(--sans);color:var(--white-dim);margin:20px 0 28px;max-width:44ch}
.contact__meta{list-style:none;display:flex;flex-direction:column;gap:14px}
.contact__meta li{font:400 15px/1.5 var(--sans);color:var(--white-dim)}
.contact__meta span{display:block;font:600 11px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:5px}
.contact__form{background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:20px;padding:32px;display:flex;flex-direction:column;gap:16px;backdrop-filter:blur(8px)}
.contact__form label{display:flex;flex-direction:column;gap:8px;font:600 12px/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--white-dim)}
.contact__form input,.contact__form textarea{font:400 15px/1.5 var(--sans);color:var(--white);background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:11px;padding:13px 14px;transition:border-color .2s,background .2s;resize:vertical}
.contact__form input:focus,.contact__form textarea:focus{outline:none;border-color:var(--gold);background:rgba(255,255,255,.07)}
.contact__note{font:500 14px/1.5 var(--sans);color:var(--gold);margin-top:4px}

/* ---------- footer ---------- */
.footer{background:var(--navy-950);padding:56px 0;border-top:1px solid var(--line-2)}
.footer__inner{display:flex;align-items:center;gap:30px;flex-wrap:wrap}
.footer__logo{height:44px;width:auto;opacity:.9}
.footer__links{display:flex;gap:24px;margin-left:auto;flex-wrap:wrap}
.footer__links a{font:500 14px/1 var(--sans);color:var(--white-dim);transition:color .2s}
.footer__links a:hover{color:var(--gold)}
.footer__copy{font:400 12.5px/1.7 var(--sans);color:#6b76a0;width:100%;margin-top:8px}

/* ---------- sub-pages (team / history) ---------- */
.nav__links a[aria-current="page"]{color:var(--white)}
.nav__links a[aria-current="page"]::after{width:100%}

.phero{position:relative;display:flex;align-items:flex-end;min-height:62svh;overflow:hidden;
  background:radial-gradient(120% 90% at 78% 8%,#182253 0%,var(--navy-900) 46%,var(--navy-950) 100%)}
.phero__bg{position:absolute;inset:0;pointer-events:none}
.phero__glow{position:absolute;top:-30%;right:-10%;width:52vw;height:52vw;max-width:700px;max-height:700px;
  background:radial-gradient(circle,rgba(247,148,30,.20) 0%,rgba(253,185,19,.09) 32%,transparent 66%);filter:blur(6px)}
.phero__inner{position:relative;padding:170px 28px 84px;max-width:var(--wrap)}
.phero__title{font:800 clamp(38px,6vw,72px)/1.04 var(--display);letter-spacing:-.025em;margin:18px 0 0}
.phero__sub{font:400 clamp(16px,1.6vw,19px)/1.65 var(--sans);color:var(--white-dim);max-width:56ch;margin:22px 0 0}

.team{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.person{background:#fff;border:1px solid #e6e9f4;border-radius:20px;padding:0;overflow:hidden;
  transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s}
.person:hover{transform:translateY(-6px);box-shadow:0 28px 50px -30px rgba(20,26,62,.4);border-color:#d6ddf0}
.person__photo{width:100%;aspect-ratio:4/5;overflow:hidden;background:#eef1f7}
.person__photo img{width:100%;height:100%;object-fit:cover;object-position:center 20%;display:block;
  transition:transform .55s var(--ease)}
.person:hover .person__photo img{transform:scale(1.045)}
.person__body{padding:26px 28px 30px}
.person__avatar{width:92px;height:92px;border-radius:22px;display:flex;align-items:center;justify-content:center;
  font:800 28px/1 var(--display);color:var(--navy-950);background:var(--gold-grad);
  box-shadow:0 12px 26px -12px rgba(253,185,19,.65);margin-bottom:22px;overflow:hidden}
.person h3{font:700 22px/1.2 var(--display);letter-spacing:-.01em;color:var(--ink)}
.person__role{font:600 12px/1.3 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--orange);margin:8px 0 14px}
.person__bio{font:400 14.5px/1.65 var(--sans);color:var(--slate)}

.tl{list-style:none;position:relative;max-width:760px;margin:0 0 64px;padding:0}
.tl::before{content:"";position:absolute;left:64px;top:8px;bottom:8px;width:2px;
  background:linear-gradient(180deg,var(--orange),var(--gold) 60%,#e6e9f4)}
.tl__item{position:relative;display:flex;gap:40px;padding:0 0 44px}
.tl__item:last-child{padding-bottom:0}
.tl__year{flex:none;width:64px;text-align:right;font:800 15px/1.4 var(--display);color:var(--orange);padding-right:0;padding-top:2px}
.tl__body{position:relative;padding-left:40px}
.tl__body::before{content:"";position:absolute;left:-5.5px;top:6px;width:13px;height:13px;border-radius:50%;
  background:var(--gold-grad);box-shadow:0 0 0 4px rgba(253,185,19,.18)}
.tl__body h3{font:700 20px/1.25 var(--display);letter-spacing:-.01em;color:var(--ink)}
.tl__body p{font:400 15px/1.65 var(--sans);color:var(--slate);margin-top:8px;max-width:52ch}
.tl__body b{color:var(--ink)}
.tl__body em{font-style:italic;color:var(--ink)}
.tl__stats{display:flex;gap:44px;flex-wrap:wrap;border-top:1px solid #e6e9f4;padding-top:40px}
.tl__stats div{display:flex;flex-direction:column;gap:7px}
.tl__stats b{font:800 34px/1 var(--display);background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.tl__stats span{font:500 12px/1.3 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--slate)}

.pcta{text-align:left;max-width:640px}
.pcta h2{font:700 clamp(28px,3.6vw,42px)/1.12 var(--display);letter-spacing:-.02em;color:var(--ink)}
.pcta .section__lede{margin:16px 0 28px}

@media (max-width:1000px){.team{grid-template-columns:1fr 1fr}}
@media (max-width:820px){
  .team{grid-template-columns:1fr}
  .tl::before{left:12px}
  .tl__item{gap:0;flex-direction:column}
  .tl__year{width:auto;text-align:left;padding-left:40px;margin-bottom:6px}
  .tl__body{padding-left:40px}
  .tl__body::before{left:6.5px}
  .phero__inner{padding:150px 28px 64px}
}

/* ---------- scroll reveal ---------- */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.reveal.in{opacity:1;transform:none}
.cards .reveal.in,.ind .reveal.in,.vals .reveal.in{transition-delay:var(--d,0s)}

/* ---------- responsive ---------- */
@media (max-width:1000px){
  .cards{grid-template-columns:repeat(2,1fr)}
  .vals{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:820px){
  .nav__links,.nav__cta{display:none}
  .nav__burger{display:flex}
  .nav.is-open .nav__links{display:flex;position:absolute;top:76px;left:0;right:0;flex-direction:column;gap:0;
    background:rgba(9,12,34,.97);backdrop-filter:blur(16px);border-top:1px solid var(--line-2);padding:8px 0}
  .nav.is-open .nav__links a{padding:16px 28px;border-bottom:1px solid var(--line-2)}
  .nav.is-open .nav__links a::after{display:none}
  .ind{grid-template-columns:repeat(2,1fr)}
  .contact__inner{grid-template-columns:1fr;gap:36px}
  .pr__media{background:linear-gradient(180deg,rgba(11,14,39,.55),rgba(11,14,39,.86)),url("./assets/pr-deployment.jpg") center/cover no-repeat}
}
@media (max-width:600px){
  .wrap{padding:0 20px}
  .cards,.ind,.vals{grid-template-columns:1fr}
  .section,.belief,.contact{padding:80px 0}
  .hero__stats{gap:18px}
  .hero__stats .sep{display:none}
  .pr__stats{gap:26px}
  .pr__stats b{font-size:32px}
  .footer__links{margin-left:0}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important}
  .reveal{opacity:1;transform:none;transition:none}
  html{scroll-behavior:auto}
}
