/* ============================================================
   CELMORE TECHNOLOGIES — SHARED CSS
============================================================ */
:root{
  --navy:#060e1c; --navy2:#0b1930; --navy3:#0d2040;
  --blue:#00c2e0; --blue2:#0090b8; --blue3:#48d6f0;
  --gold:#f4a261; --white:#fff;
  --gray:#8ba3be; --gray2:#c2d4e6; --light:#eef4fa;
  --text:#0f2037; --text2:#4a6a88;
  --fh:'Syne',sans-serif; --fb:'DM Sans',sans-serif;
  --navh:72px; --toph:34px;
  --ease:cubic-bezier(.4,0,.2,1); --spring:cubic-bezier(.34,1.56,.64,1);
  --sp:100px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--fb);color:var(--text);background:#fff;overflow-x:hidden;line-height:1.6}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
button{cursor:pointer;font-family:var(--fb)}
.container{width:100%;max-width:1240px;margin:0 auto;padding:0 28px}
.text-center{text-align:center}

/* ── IMAGE PLACEHOLDER ── */
.ph{background:linear-gradient(135deg,#dce8f0,#c8d8e8);border-radius:12px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;color:#94a3b8;font-size:12px;text-align:center;padding:24px;position:relative;overflow:hidden}
.ph::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(-45deg,transparent,transparent 12px,rgba(148,163,184,.07) 12px,rgba(148,163,184,.07) 24px)}
.ph svg{position:relative;z-index:1;opacity:.4}
.ph span{position:relative;z-index:1;font-weight:500;opacity:.65;font-family:var(--fb);font-size:12px}
.ph.dark{background:linear-gradient(135deg,rgba(255,255,255,.04),rgba(255,255,255,.02))}

/* ── SECTION LABELS & TITLES ── */
.sec-label{display:inline-flex;align-items:center;gap:10px;font-family:var(--fh);font-size:11px;font-weight:700;color:var(--blue);letter-spacing:.18em;text-transform:uppercase;margin-bottom:14px}
.sec-label::before{content:'';width:28px;height:2px;background:linear-gradient(90deg,var(--blue),var(--blue3));border-radius:1px}
.sec-label.centered{justify-content:center}
.sec-label.centered::before{display:none}
.sec-label.centered::after{content:'';width:28px;height:2px;background:linear-gradient(90deg,var(--blue3),var(--blue));border-radius:1px}
.sec-title{font-family:var(--fh);font-size:clamp(26px,3.8vw,44px);font-weight:800;color:var(--navy);line-height:1.15;margin-bottom:16px}
.sec-title span{color:var(--blue)}
.sec-desc{font-size:16px;color:var(--text2);line-height:1.78;max-width:560px}

/* ── BUTTONS ── */
.btn{display:inline-flex;align-items:center;gap:9px;padding:13px 28px;border-radius:10px;font-family:var(--fh);font-size:13.5px;font-weight:700;letter-spacing:.05em;transition:transform .3s var(--spring),box-shadow .3s,background .3s;position:relative;overflow:hidden;border:2px solid transparent;cursor:pointer;white-space:nowrap}
.btn::before{content:'';position:absolute;top:-50%;left:-60%;width:40%;height:200%;background:rgba(255,255,255,.16);transform:skewX(-20deg);transition:left .5s var(--ease);pointer-events:none}
.btn:hover::before{left:120%}
.btn-primary{background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff;box-shadow:0 4px 20px rgba(0,194,224,.3)}
.btn-primary:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 8px 32px rgba(0,194,224,.5)}
.btn-outline{background:transparent;color:var(--blue);border-color:var(--blue)}
.btn-outline:hover{background:var(--blue);color:#fff;transform:translateY(-2px)}
.btn-ghost{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.18);backdrop-filter:blur(8px)}
.btn-ghost:hover{background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.35);transform:translateY(-2px)}
.btn-white{background:#fff;color:var(--navy);border-color:#fff}
.btn-white:hover{background:var(--blue);color:#fff;border-color:var(--blue);transform:translateY(-2px)}

/* ── CUSTOM CURSOR ── */
.c-dot{width:8px;height:8px;background:var(--blue);border-radius:50%;position:fixed;top:0;left:0;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:width .2s,height .2s}
.c-ring{width:36px;height:36px;border:1.5px solid rgba(0,194,224,.5);border-radius:50%;position:fixed;top:0;left:0;pointer-events:none;z-index:9998;transform:translate(-50%,-50%)}
.c-ring.big{width:52px;height:52px;border-color:var(--blue);background:rgba(0,194,224,.05)}

/* ── ANIMATIONS (CSS only, no JS hidden) ── */
.anim-up{opacity:0;transform:translateY(30px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.anim-left{opacity:0;transform:translateX(-36px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.anim-right{opacity:0;transform:translateX(36px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.anim-card{opacity:0;transform:translateY(24px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.anim-up.in,.anim-left.in,.anim-right.in,.anim-card.in{opacity:1;transform:none}

/* ── PAGE HERO BANNER (inner pages) ── */
.page-hero{background:linear-gradient(135deg,var(--navy) 0%,var(--navy3) 100%);padding:calc(var(--navh) + var(--toph) + 60px) 0 72px;position:relative;overflow:hidden;text-align:center}
.page-hero::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(0,194,224,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(0,194,224,.04) 1px,transparent 1px);background-size:56px 56px}
.page-hero::after{content:'';position:absolute;top:-100px;right:-100px;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(0,194,224,.1),transparent 70%);pointer-events:none}
.page-hero-content{position:relative;z-index:1}
.page-hero-breadcrumb{display:flex;align-items:center;justify-content:center;gap:8px;font-size:13px;color:rgba(255,255,255,.45);margin-bottom:20px}
.page-hero-breadcrumb a{color:var(--blue);transition:color .2s}
.page-hero-breadcrumb a:hover{color:var(--blue3)}
.page-hero h1{font-family:var(--fh);font-size:clamp(32px,5vw,60px);font-weight:800;color:#fff;line-height:1.1;margin-bottom:16px}
.page-hero h1 span{color:var(--blue)}
.page-hero p{font-size:16px;color:rgba(255,255,255,.6);max-width:540px;margin:0 auto;line-height:1.78}

/* ── HEADER SPACER ── */
.header-spacer{height:calc(var(--navh) + var(--toph));transition:height .4s var(--ease)}
.header-spacer.compact{height:var(--navh)}

/* ── SCROLL PROGRESS ── */
.scroll-progress{position:fixed;top:0;left:0;height:3px;width:0%;background:linear-gradient(90deg,var(--blue),var(--blue3));z-index:9999;transition:width .1s linear;box-shadow:0 0 8px var(--blue)}

/* ── FOOTER GAP ── */
.footer-gap{height:60px}

@media(max-width:880px){
  :root{--sp:72px}
  .page-hero{padding:calc(var(--navh) + 40px) 0 56px}
  .header-spacer{height:var(--navh)}
}
@media(max-width:600px){
  :root{--sp:52px}
}
