/* ============================================
   PROFIN SOLUTIONS — BASE v4
   ============================================ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{
  font-family:var(--font-body);font-size:16px;line-height:1.6;
  color:var(--slate-900);background:var(--white);
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img,video{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
button{font-family:var(--font-body);cursor:pointer;border:none;background:none;}
ul,ol{list-style:none;}
input,select,textarea{font-family:var(--font-body);}

/* ── Container ── */
.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 var(--container-pad, 40px);box-sizing:border-box;}
@media(max-width:480px){.container{padding:0 16px;}}
.section{padding:var(--section-pad);width:100%;box-sizing:border-box;}
.section-inner{max-width:var(--max-width);margin:0 auto;width:100%;box-sizing:border-box;}

/* ── Section Label ── */
.section-label{
  display:inline-flex;align-items:center;gap:8px;
  font-size:clamp(10px, 0.8vw, 12px);font-weight:700;letter-spacing:2px;
  text-transform:uppercase;color:var(--navy);margin-bottom:12px;
}
.section-label::before{
  content:'';display:block;width:20px;height:2px;
  background:var(--grad-navy);border-radius:2px;
}

/* ── Section Header ── */
.section-header{margin-bottom:48px;width:100%;}
.section-header h2{
  font-family:var(--font-display);
  font-size:clamp(26px,3.5vw,52px);
  font-weight:700;line-height:1.1;letter-spacing:-0.5px;
  color:var(--slate-900);
}
.section-header p{
  margin-top:12px;font-size:clamp(14px, 1.2vw, 18px);
  color:var(--slate-500);max-width:560px;line-height:1.75;
}

/* On dark sections — white text — !important beats section-header specificity */
.section-header.on-dark .section-label,
.on-dark .section-label { color: rgba(255,255,255,0.55) !important; }
.section-header.on-dark .section-label::before,
.on-dark .section-label::before { background: rgba(255,255,255,0.30) !important; }
.section-header.on-dark h2,
.on-dark h2 { color: #FFFFFF !important; }
.section-header.on-dark p,
.on-dark p { color: rgba(255,255,255,0.50) !important; }

/* ── Reveal Animation ── */
.reveal{opacity:0;transform:translateY(20px);
  transition:opacity 0.6s var(--ease-out),transform 0.6s var(--ease-out);}
.reveal.visible{opacity:1;transform:none;}
.reveal-delay-1{transition-delay:0.10s;}
.reveal-delay-2{transition-delay:0.20s;}
.reveal-delay-3{transition-delay:0.30s;}
.reveal-delay-4{transition-delay:0.40s;}

/* ── Page entry ── */
body{animation:pageEntry 0.4s var(--ease-out) both;}
@keyframes pageEntry{from{opacity:0;}to{opacity:1;}}

/* ── Scrollbar ── */
::-webkit-scrollbar{width:5px;}
::-webkit-scrollbar-track{background:var(--slate-100);}
::-webkit-scrollbar-thumb{background:var(--slate-200);border-radius:3px;}
::-webkit-scrollbar-thumb:hover{background:var(--slate-400);}

/* ── Selection ── */
::selection{background:var(--navy-pale);color:var(--navy);}
:focus-visible{outline:2px solid var(--navy);outline-offset:2px;border-radius:4px;}

/* ── Scroll margin ── */
[id]{scroll-margin-top:84px;}

/* ── Responsive helpers ── */
@media(max-width:768px){.desktop-only{display:none!important;}}
@media(min-width:769px){.mobile-only{display:none!important;}}
