/* ═══════════════════════════════════════════════════════════
   global.css — Escape Velocity Tools
   Shared design tokens, layout primitives, and components.
   ═══════════════════════════════════════════════════════════ */

/* ── DESIGN TOKENS ── */
:root {
  --ink:       #0D1B2A;
  --ink2:      #112236;
  --sky:       #0099CC;
  --bright:    #33CCEE;
  --light:     #55DDFF;
  --glow:      rgba(0,180,230,0.18);
  --white:     #E8F4FA;
  --dim:       rgba(200,235,250,0.75);
  --dimmer:    rgba(160,210,235,0.55);
  --border:    rgba(0,180,230,0.18);
  --card:      rgba(22,45,66,0.7);
  --strong:    #5AE0AA;
  --good:      #0099CC;
  --fair:      #E07000;
  --danger:    #CC3333;
  --shadow-sm: 0 1px 6px rgba(0,0,0,0.25);
  --shadow-md: 0 2px 16px rgba(0,0,0,0.35);
  --shadow-lg: 0 4px 24px rgba(0,0,0,0.45);
}

/* ── RESET ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}

/* ── SKIP LINK ── */
.skip-link{
  position:absolute;top:-100%;left:0;
  background:var(--sky);color:var(--ink);
  font-size:14px;font-weight:700;
  padding:10px 20px;z-index:9999;border-radius:0 0 8px 0;
  text-decoration:none;
}
.skip-link:focus{top:0;}
body{
  font-family:"Quicksand",sans-serif;
  background:var(--ink);
  color:var(--white);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  min-height:100vh;
}

/* ── NOISE OVERLAY ── */
body::before{
  content:"";
  position:fixed;inset:0;z-index:1000;
  pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.03'/%3E%3C/svg%3E");
  opacity:0.35;
}

/* ── SCROLLBAR ── */
::-webkit-scrollbar{width:6px;}
::-webkit-scrollbar-track{background:var(--ink);}
::-webkit-scrollbar-thumb{background:rgba(0,153,204,0.3);border-radius:3px;}

/* ── NAV (main hub page only — scoped to #nav) ── */
nav#nav{
  position:fixed;top:0;left:0;right:0;z-index:500;
  height:68px;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 52px;
  background:rgba(13,27,42,0.85);
  backdrop-filter:blur(24px);
  border-bottom:1px solid transparent;
  transition:border-color .4s;
}
nav#nav.scrolled{border-color:var(--border);}
.nav-logo{
  display:flex;align-items:center;gap:12px;
  text-decoration:none;cursor:pointer;
}
.nav-logo-img{height:40px;width:auto;display:block;}
.nav-logo-brand{
  font-size:10px;font-weight:700;letter-spacing:.2em;
  text-transform:uppercase;color:var(--sky);
  margin-bottom:3px;line-height:1;
}
.nav-logo-title{
  font-size:16px;font-weight:800;color:var(--white);
  letter-spacing:-.01em;line-height:1.1;
}
.nav-right{display:flex;align-items:center;gap:28px;}
.nav-link{font-size:13px;font-weight:600;color:var(--dim);text-decoration:none;transition:color .2s;}
.nav-link:hover{color:var(--white);}
.nav-cta{
  padding:10px 26px;border-radius:50px;
  background:var(--sky);color:white;
  font-family:"Quicksand",sans-serif;font-size:13px;font-weight:700;
  text-decoration:none;display:inline-block;
  transition:background .2s,transform .2s,box-shadow .2s;
  box-shadow:0 0 20px rgba(0,153,204,0.4);cursor:pointer;
}
.nav-cta:hover{background:var(--bright);transform:translateY(-1px);box-shadow:0 0 32px rgba(0,200,240,0.5);}

/* ── SITE HEADER (subpages — sticky) ── */
.site-header{
  position:sticky;top:0;z-index:500;
  background:rgba(13,27,42,0.92);
  backdrop-filter:blur(20px);
  border-bottom:1px solid var(--border);
  box-shadow:0 2px 20px rgba(0,0,0,0.3);
  padding:14px 40px;
  display:flex;align-items:center;justify-content:space-between;
  gap:20px;
}
.header-left{display:flex;align-items:center;gap:14px;text-decoration:none;}
.header-logo-wrap{flex-shrink:0;padding:6px 10px;border-radius:10px;}
#header-logo{height:44px;width:auto;flex-shrink:0;object-fit:contain;}
.header-brand{font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--sky);margin-bottom:3px;line-height:1;}
.header-title{font-size:16px;font-weight:800;color:var(--white);line-height:1.1;}
.header-right{display:flex;align-items:center;gap:24px;}

/* ── BREADCRUMB ── */
.breadcrumb{
  position:static;height:auto;display:block;z-index:auto;
  backdrop-filter:none;box-shadow:none;
  padding:8px 40px;
  background:rgba(13,27,42,0.6);
}
.breadcrumb-list{display:flex;align-items:center;gap:6px;list-style:none;margin:0;padding:0;flex-wrap:wrap;}
.breadcrumb-list li{display:flex;align-items:center;}
.breadcrumb-link{font-size:12px;font-weight:600;color:var(--dimmer);text-decoration:none;transition:color .2s;}
.breadcrumb-link:hover{color:var(--sky);}
.breadcrumb-sep{font-size:12px;color:var(--sky);opacity:.8;user-select:none;}
.breadcrumb-current{font-size:12px;font-weight:600;color:var(--dimmer);}

/* ── HERO SHARED ── */
.hero-grid{
  position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(0,153,204,0.13) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0,153,204,0.13) 1px, transparent 1px);
  background-size:80px 80px;
  mask-image:radial-gradient(ellipse 80% 65% at 50% 50%, black 30%, transparent 100%);
  pointer-events:none;
}
.hero-eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-size:12px;font-weight:700;letter-spacing:.22em;
  color:var(--sky);text-transform:uppercase;
  margin-bottom:28px;
  animation:fadeUp .8s ease both;
}
.eyebrow-dot{
  width:7px;height:7px;border-radius:50%;
  background:var(--sky);box-shadow:0 0 10px var(--sky);
  animation:blink 2.5s infinite;
}

/* ── SECTION LABELS ── */
.s-tag{
  display:inline-flex;align-items:center;gap:10px;
  font-size:12px;font-weight:800;letter-spacing:.22em;
  color:var(--sky);text-transform:uppercase;margin-bottom:16px;
}
.s-tag-line{width:24px;height:2px;background:var(--sky);border-radius:2px;}
.s-heading{font-size:clamp(30px,4vw,50px);font-weight:800;color:var(--white);line-height:1.1;letter-spacing:-.03em;}
.s-body{font-size:16px;font-weight:500;color:var(--dim);line-height:1.75;max-width:480px;margin-top:12px;}

/* ── TOOL CARDS ── */
.tool-card{
  background:var(--card);border:1px solid var(--border);border-radius:24px;
  padding:36px 32px;display:flex;flex-direction:column;gap:16px;
  text-decoration:none;color:inherit;position:relative;overflow:hidden;transition:all .3s;
}
.tool-card.live{cursor:pointer;}
.tool-card.live::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(circle at top left,rgba(0,153,204,0.1),transparent 65%);
  opacity:0;transition:opacity .3s;border-radius:24px;
}
.tool-card.live:hover{background:rgba(22,45,66,0.85);border-color:rgba(0,153,204,.4);transform:translateY(-8px);box-shadow:0 20px 60px rgba(0,153,204,0.15);}
.tool-card.live:hover::before{opacity:1;}
.tool-card.live:hover .cta-circle{background:var(--sky);transform:translateX(4px);}
.tool-card.soon{opacity:.38;cursor:default;}
.tool-card-num{font-size:11px;font-weight:800;letter-spacing:.2em;color:var(--sky);text-transform:uppercase;}
.tool-card-icon{
  width:58px;height:58px;border-radius:16px;
  background:rgba(0,153,204,.1);border:1px solid rgba(0,153,204,.2);
  display:flex;align-items:center;justify-content:center;font-size:26px;
}
.tool-card-name{font-size:19px;font-weight:800;color:var(--white);line-height:1.2;}
.tool-card-desc{font-size:14px;font-weight:500;color:var(--dim);line-height:1.7;flex:1;}
.tool-card-cta{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:700;color:var(--sky);margin-top:4px;}
.cta-circle{
  width:30px;height:30px;border-radius:50%;
  background:rgba(0,153,204,.15);border:1px solid rgba(0,153,204,.3);
  display:flex;align-items:center;justify-content:center;font-size:14px;
  transition:background .2s,transform .2s;
}
.soon-label{
  font-size:12px;font-weight:700;color:var(--dimmer);
  background:rgba(255,255,255,.05);border:1px solid var(--border);
  padding:6px 16px;border-radius:50px;width:fit-content;letter-spacing:.08em;
}
.tool-badge{
  display:inline-flex;align-items:center;gap:6px;
  font-size:10px;font-weight:800;letter-spacing:.15em;color:#5AE0AA;
  text-transform:uppercase;background:rgba(0,200,100,.08);border:1px solid rgba(0,200,100,.2);
  padding:4px 12px;border-radius:50px;width:fit-content;
}
.badge-dot{width:5px;height:5px;border-radius:50%;background:#5AE0AA;box-shadow:0 0 6px #5AE0AA;}

/* ── PERK DOT ── */
.perk-dot{
  width:22px;height:22px;border-radius:50%;flex-shrink:0;
  background:rgba(0,153,204,.15);border:1px solid rgba(0,153,204,.3);
  display:flex;align-items:center;justify-content:center;
  font-size:11px;color:var(--sky);
}

/* ── DISCLAIMER ── */
.disclaimer{border-top:1px solid var(--border);padding:40px 52px;background:var(--ink);}
.disclaimer-title{font-size:11px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--dimmer);margin-bottom:12px;}
.disclaimer-text{font-size:12px;font-weight:500;color:var(--dimmer);line-height:1.85;max-width:900px;opacity:0.7;}

/* ── FOOTER ── */
footer{
  border-top:1px solid var(--border);
  padding:28px 52px;
  display:flex;align-items:center;justify-content:flex-end;
  flex-wrap:wrap;gap:12px;
  background:var(--ink);
}
.footer-copy,.footer-text{font-size:13px;font-weight:600;color:var(--dimmer);}

/* ── ANIMATIONS ── */
@keyframes fadeUp{from{opacity:0;transform:translateY(24px);}to{opacity:1;transform:none;}}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.25}}

/* ── SCROLL REVEAL ── */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease;}
.reveal.in{opacity:1;transform:none;}
.d1{transition-delay:.08s;}.d2{transition-delay:.16s;}.d3{transition-delay:.24s;}

/* ── RESPONSIVE ── */
@media(max-width:900px){
  nav#nav{padding:0 20px;}
  .site-header{padding:12px 20px;}
  .breadcrumb{padding:8px 20px;}
  .disclaimer{padding:32px 24px;}
  footer{padding:24px;}
}
@media(max-width:480px){
  nav#nav{padding:0 14px;height:60px;}
  .nav-logo-img{height:32px;}
  .nav-logo-brand{font-size:8px;letter-spacing:.15em;}
  .nav-logo-title{font-size:13px;}
  .nav-right{gap:12px;}
  .nav-link{font-size:12px;}
  .nav-cta{padding:8px 16px;font-size:12px;}
  .site-header{padding:10px 14px;gap:12px;}
  #header-logo{height:34px;}
  .header-brand{font-size:8px;}
  .header-title{font-size:13px;}
  .breadcrumb{padding:6px 14px;}
  .disclaimer{padding:24px 16px;}
  footer{padding:16px;}
  .footer-copy,.footer-text{font-size:12px;}
}
