/* ============ RESET ============ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}
}
body{
  font-family:'Poppins',-apple-system,'Segoe UI',sans-serif;
  background:var(--paper);
  color:var(--ink);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
ul{list-style:none}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:none}
:focus-visible{outline:3px solid var(--orange);outline-offset:2px;border-radius:4px}
h1,h2,h3,h4{font-weight:700;text-wrap:balance;letter-spacing:-.01em}

.container{max-width:var(--container);margin:0 auto;padding:0 1.5rem}
@media (min-width:900px){.container{padding:0 2.5rem}}

section{padding:5.5rem 0}
@media (max-width:720px){section{padding:3.5rem 0}}

.eyebrow{
  display:inline-flex;align-items:center;gap:.5rem;
  font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  color:var(--blue);background:var(--blue-tint);
  padding:.4rem .9rem;border-radius:100px;
  margin-bottom:1.1rem;
}
.eyebrow.orange{color:var(--orange-deep);background:var(--orange-tint)}
.eyebrow::before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor}

.section-head{max-width:640px;margin-bottom:3.25rem}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center}
.section-head h2{font-size:clamp(1.7rem,3.2vw,2.5rem);margin-bottom:.85rem}
.section-head p{color:var(--slate);font-size:1.05rem}

/* ============ REVEAL ============ */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.22,.8,.28,1),transform .7s cubic-bezier(.22,.8,.28,1)}
.reveal.in-view{opacity:1;transform:translateY(0)}
.reveal-stagger.in-view > *{opacity:1;transform:translateY(0)}
.reveal-stagger > *{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease}
.reveal-stagger.in-view > *:nth-child(1){transition-delay:.02s}
.reveal-stagger.in-view > *:nth-child(2){transition-delay:.08s}
.reveal-stagger.in-view > *:nth-child(3){transition-delay:.14s}
.reveal-stagger.in-view > *:nth-child(4){transition-delay:.2s}
.reveal-stagger.in-view > *:nth-child(5){transition-delay:.26s}
.reveal-stagger.in-view > *:nth-child(6){transition-delay:.32s}
.reveal-stagger.in-view > *:nth-child(7){transition-delay:.38s}
.reveal-stagger.in-view > *:nth-child(8){transition-delay:.44s}
.reveal-stagger.in-view > *:nth-child(9){transition-delay:.5s}
.reveal-stagger.in-view > *:nth-child(n+10){transition-delay:.54s}

/* ============ ICONS ============ */
.icon{width:24px;height:24px;flex-shrink:0}
.btn .icon{width:18px;height:18px}
.icon svg{width:100%;height:100%}

/* ============ TONE PALETTE (shared: services / exams / skills badges) ============ */
.p-blue{background:var(--blue-tint);color:var(--blue)}
.p-orange{background:var(--orange-tint);color:var(--orange-deep)}
.p-teal{background:var(--teal-tint);color:var(--teal)}
.p-violet{background:var(--violet-tint);color:var(--violet)}
.p-rose{background:var(--rose-tint);color:var(--rose)}

/* ============ BUTTONS ============ */
.btn{
  position:relative;overflow:hidden;
  display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
  font-weight:600;font-size:.98rem;line-height:1;
  padding:1rem 1.85rem;border-radius:100px;
  transition:transform .25s cubic-bezier(.22,.8,.28,1),box-shadow .25s ease,background .25s ease;
  white-space:nowrap;
}
.btn:active{transform:scale(.97)}
.btn-primary{background:var(--blue);color:#fff;box-shadow:var(--shadow-blue)}
.btn-primary:hover{background:var(--blue-600);transform:translateY(-3px);box-shadow:0 18px 32px -10px rgba(37,99,235,.48)}
.btn-secondary{background:var(--paper);color:var(--ink);border:1.5px solid var(--line);box-shadow:var(--shadow-sm)}
.btn-secondary:hover{border-color:var(--blue);color:var(--blue);transform:translateY(-3px);box-shadow:var(--shadow-md)}
.btn-orange{background:var(--orange);color:#fff;box-shadow:var(--shadow-orange)}
.btn-orange:hover{background:#DE8C05;transform:translateY(-3px);box-shadow:0 18px 32px -10px rgba(245,158,11,.5)}
.btn-ghost{background:transparent;color:var(--blue);font-weight:600}
.btn-ghost:hover{gap:.8rem}
.btn-block{width:100%}
.btn-sm{padding:.7rem 1.3rem;font-size:.88rem}
.ripple{position:absolute;border-radius:50%;background:rgba(255,255,255,.55);transform:scale(0);animation:ripple .6s ease-out;pointer-events:none}
.btn-secondary .ripple{background:rgba(37,99,235,.18)}
@keyframes ripple{to{transform:scale(3.2);opacity:0}}
