/* ==========================================================================
   CONQUER ENTERPRISES LIMITED — GLOBAL DESIGN SYSTEM
   ========================================================================== */

:root{
  /* ---- Color tokens ---- */
  --c-navy-950:#070F1A;
  --c-navy-900:#0B1F33;
  --c-blue-700:#0B4F8A;
  --c-blue-800:#083D6E;
  --c-blue-900:#07345C;
  --c-gold-500:#B4863C;
  --c-gold-600:#9A712F;
  --c-bg:#F5F7F9;
  --c-bg-alt:#EDF0F3;
  --c-white:#FFFFFF;
  --c-ink:#111A24;
  --c-ink-soft:#2E3D4C;
  --c-muted:#596470;
  --c-line:#E2E7EC;
  --c-line-strong:#C8D0D8;

  /* ---- Type ---- */
  --f-display:'Manrope','Segoe UI',sans-serif;
  --f-body:'Inter','Segoe UI',sans-serif;

  --fs-display:clamp(2.8rem,4.8vw,5.2rem);
  --fs-h1:clamp(2.2rem,3.6vw,3.6rem);
  --fs-h2:clamp(1.75rem,2.6vw,2.6rem);
  --fs-h3:clamp(1.2rem,1.55vw,1.5rem);
  --fs-lead:clamp(1.05rem,1.3vw,1.2rem);
  --fs-body:1rem;
  --fs-small:.875rem;
  --fs-label:.75rem;

  /* ---- Layout ---- */
  --container:1300px;
  --container-narrow:860px;
  --gutter:clamp(1.25rem,5vw,4rem);
  --radius-s:4px;
  --radius-m:10px;
  --radius-l:16px;
  --header-h:88px;

  /* ---- Motion ---- */
  --ease:cubic-bezier(.22,.61,.36,1);
  --ease-out:cubic-bezier(0,0,.2,1);
  --dur-s:.28s;
  --dur-m:.48s;
  --dur-l:.75s;

  --shadow-card:0 1px 2px rgba(7,15,26,.04),0 8px 24px -8px rgba(7,15,26,.10);
  --shadow-lift:0 20px 52px -18px rgba(7,15,26,.26);
  --shadow-deep:0 40px 80px -24px rgba(7,15,26,.32);
}

@media (prefers-color-scheme:dark){
  :root{ color-scheme:light; }
}

/* ---- Reset ---- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;scroll-padding-top:var(--header-h);}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important;}
}
body{
  font-family:var(--f-body);
  font-size:var(--fs-body);
  color:var(--c-ink);
  background:var(--c-white);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;}
button{font:inherit;background:none;border:none;cursor:pointer;color:inherit;}
input,select,textarea{font:inherit;color:inherit;}
svg{display:block;}

:focus-visible{outline:2px solid var(--c-gold-500);outline-offset:3px;border-radius:2px;}

/* ---- Typography ---- */
h1,h2,h3,h4{
  font-family:var(--f-display);
  color:var(--c-navy-900);
  font-weight:800;
  line-height:1.25;
  letter-spacing:-.02em;
}
h1{font-size:var(--fs-h1);}
h2{font-size:var(--fs-h2);}
h3{font-size:var(--fs-h3);}
p{color:var(--c-ink-soft);line-height:1.7;}
p + p{margin-top:1em;}
.lead{font-size:var(--fs-lead);color:var(--c-ink-soft);line-height:1.6;}

.eyebrow{
  display:inline-flex;align-items:center;gap:.65em;
  font-family:var(--f-body);
  font-size:var(--fs-label);
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--c-gold-500);
}
.eyebrow::before{
  content:'';width:28px;height:1.5px;background:var(--c-gold-500);flex-shrink:0;
}

/* ---- Layout utilities ---- */
.container{
  width:100%;
  max-width:var(--container);
  margin-inline:auto;
  padding-inline:var(--gutter);
}
.container-narrow{max-width:var(--container-narrow);margin-inline:auto;padding-inline:var(--gutter);}
.section{padding-block:clamp(5rem,9vw,8rem);}
.section-tight{padding-block:clamp(3rem,5.5vw,5rem);}
.section-head{max-width:660px;margin-bottom:clamp(2.8rem,5vw,4.5rem);}
.section-head.align-right{margin-left:auto;text-align:right;}
.section-head .eyebrow{margin-bottom:1.1rem;}
.section-head h2{margin-top:.3rem;line-height:1.3;padding-bottom:.1em;}
.section-head p{margin-top:1.2rem;color:var(--c-muted);}

.divider{height:1px;background:var(--c-line);width:100%;}
.rule-short{width:52px;height:2px;background:var(--c-gold-500);}

.grid{display:grid;gap:var(--gutter);}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
.skip-link{
  position:absolute;left:1rem;top:-60px;background:var(--c-navy-900);color:var(--c-white);
  padding:.75rem 1.25rem;border-radius:var(--radius-s);z-index:999;transition:top var(--dur-s) var(--ease);
}
.skip-link:focus{top:1rem;}

/* ---- Buttons ---- */
.btn{
  display:inline-flex;align-items:center;gap:.7rem;
  padding:1rem 2rem;
  font-family:var(--f-body);
  font-weight:700;
  font-size:.92rem;
  border-radius:var(--radius-s);
  letter-spacing:.02em;
  transition:background var(--dur-s) var(--ease),color var(--dur-s) var(--ease),border-color var(--dur-s) var(--ease),box-shadow var(--dur-s) var(--ease),transform var(--dur-s) var(--ease);
  white-space:nowrap;
  position:relative;
}
.btn svg{width:16px;height:16px;transition:transform var(--dur-s) var(--ease);flex-shrink:0;}
.btn:hover svg{transform:translateX(4px);}
.btn:hover{transform:translateY(-1px);}
.btn-primary{background:var(--c-blue-700);color:var(--c-white);box-shadow:0 4px 14px rgba(11,79,138,.3);}
.btn-primary:hover{background:var(--c-blue-900);box-shadow:0 6px 20px rgba(11,79,138,.42);}
.btn-ghost{border:1.5px solid rgba(255,255,255,.45);color:var(--c-white);backdrop-filter:blur(2px);}
.btn-ghost:hover{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.75);}
.btn-outline{border:1.5px solid var(--c-line-strong);color:var(--c-navy-900);}
.btn-outline:hover{border-color:var(--c-navy-900);background:var(--c-navy-900);color:var(--c-white);}
.btn-gold{background:var(--c-gold-500);color:var(--c-white);box-shadow:0 4px 14px rgba(180,134,60,.3);}
.btn-gold:hover{background:var(--c-gold-600);box-shadow:0 6px 20px rgba(180,134,60,.42);}
.btn-text{
  display:inline-flex;align-items:center;gap:.5rem;
  font-weight:700;font-size:.9rem;color:var(--c-blue-700);
  padding:0;background:none;border:none;
  transition:color var(--dur-s) var(--ease),gap var(--dur-s) var(--ease);
}
.btn-text svg{width:15px;height:15px;transition:transform var(--dur-s) var(--ease);}
.btn-text:hover{color:var(--c-blue-900);gap:.75rem;}
.btn-text:hover svg{transform:translateX(3px);}
.btn-text:hover{transform:none;}

/* ---- Reveal animation hook ---- */
[data-reveal]{
  opacity:0;
  transform:translateY(28px);
  transition:opacity var(--dur-l) var(--ease),transform var(--dur-l) var(--ease);
}
[data-reveal].is-visible{opacity:1;transform:translateY(0);}
[data-reveal-delay="100"]{transition-delay:.1s;}
[data-reveal-delay="200"]{transition-delay:.2s;}
[data-reveal-delay="300"]{transition-delay:.3s;}
@media (prefers-reduced-motion:reduce){
  [data-reveal]{opacity:1;transform:none;transition:none;}
}
