/* =========================================================
   PACCSA — Design tokens
========================================================= */
:root{
  --navy:#0E1A27;
  --navy-2:#152A3D;
  --navy-3:#1C3852;
  --gold:#B58C2A;
  --gold-light:#D9AE54;
  --gold-dark:#8C6B1F;
  --steel:#8A8C90;
  --steel-light:#C9CACD;
  --white:#FFFFFF;
  --off:#F6F5F1;
  --ink:#16222E;
  --border-light:#eceae3;
  --radius-lg:22px;
  --radius-md:14px;
  --radius-sm:8px;
  --shadow-soft:0 20px 60px -25px rgba(14,26,39,.45);
  --shadow-hard:0 30px 80px -20px rgba(14,26,39,.55);
  --ease:cubic-bezier(.16,.84,.44,1);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:'Inter',sans-serif;
  color:var(--ink);
  background:var(--white);
  line-height:1.6;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{font-family:'Poppins',sans-serif;color:var(--navy);line-height:1.15;font-weight:700;}
a{text-decoration:none;color:inherit;}
img{max-width:100%;display:block;}
ul{list-style:none;}
button{font-family:inherit;cursor:pointer;border:none;background:none;}
input,textarea,select{font-family:inherit;}
.container{max-width:1240px;margin:0 auto;padding:0 32px;}
section{position:relative;}
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--gold-dark);font-weight:700;margin-bottom:16px;
}
.eyebrow::before{content:"";width:26px;height:2px;background:var(--gold);display:inline-block;}
.section-head{max-width:680px;margin-bottom:56px;}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center;}
.section-head.center .eyebrow{margin-left:auto;margin-right:auto;}
.section-head h2{font-size:clamp(1.9rem,3.4vw,2.7rem);margin-bottom:18px;}
.section-head p{color:var(--steel);font-size:1.05rem;max-width:560px;}
.section-head.center p{margin:0 auto;}
.section-pad{padding:120px 0;}
.bg-off{background:var(--off);}
.bg-navy{background:var(--navy);color:var(--white);}
.bg-navy h2,.bg-navy h3,.bg-navy h4{color:var(--white);}

/* Buttons */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:16px 34px;border-radius:100px;font-weight:600;font-size:.95rem;
  letter-spacing:.01em;transition:all .35s var(--ease);white-space:nowrap;
}
.btn-gold{background:var(--gold);color:var(--white);box-shadow:0 14px 30px -10px rgba(181,140,42,.55);}
.btn-gold:hover{background:var(--gold-dark);transform:translateY(-3px);box-shadow:0 20px 40px -12px rgba(181,140,42,.65);}
.btn-outline{border:1.5px solid rgba(255,255,255,.5);color:var(--white);}
.btn-outline:hover{background:rgba(255,255,255,.12);border-color:#fff;transform:translateY(-3px);}
.btn-outline-navy{border:1.5px solid var(--navy);color:var(--navy);}
.btn-outline-navy:hover{background:var(--navy);color:var(--white);transform:translateY(-3px);}
.btn-block{width:100%;}
.btn-sm{padding:12px 24px;font-size:.85rem;}

/* Shared UI atoms */
.avatar-ini{
  width:42px;height:42px;border-radius:50%;background:var(--navy);color:var(--gold-light);
  display:flex;align-items:center;justify-content:center;font-family:'Poppins',sans-serif;font-weight:700;font-size:.85rem;flex-shrink:0;
}

/* Shared keyframes */
@keyframes spin-slow{to{transform:rotate(360deg);}}

/* =========================================================
   REVEAL ANIMATION
========================================================= */
.reveal{opacity:0;transform:translateY(36px);transition:all .8s var(--ease);}
.reveal.in{opacity:1;transform:translateY(0);}

/* =========================================================
   RESPONSIVE (base/global)
========================================================= */
@media (max-width:768px){
  .section-pad{padding:80px 0;}
  .container{padding:0 22px;}
}
