/* ================================
   Twice Scale — Final Stylesheet
   Digital Marketing Agency
   Tagline: Built To Help You Scale
   ================================ */

/* ---------- Theme tokens ---------- */
:root{
  --bg:#090d12;               /* deep base */
  --bg-1:#0c1622;             /* cool blue depth */
  --bg-2:#0a1e2c;             /* darker rim */
  --card:#0f151d;
  --text:#e6f1ff;
  --muted:#a7b3c6;

  --cyan:#00E6F6;             /* neon cyan (trust) */
  --green:#1E9E53;            /* growth green */
  --accent:#7a5cff;           /* subtle purple accent */

  --ring: hsl(200 100% 55% / .25);
  --radius: 18px;
}

/* ---------- Resets ---------- */
*{ box-sizing:border-box; }
html,body{ height:100%; }
body{
  margin:0;
  color:var(--text);
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Inter, "Helvetica Neue", Arial, "Noto Sans", "Apple Color Emoji","Segoe UI Emoji";
  line-height:1.6;

  /* Layered hero background that fills every device */
  background:
    radial-gradient(1200px 700px at 75% -10%, rgba(15,40,64,.65) 0%, transparent 60%),
    radial-gradient(900px 600px at 15% 110%, rgba(8,45,32,.55) 0%, transparent 65%),
    radial-gradient(1600px 1200px at 50% 0%, #0b1320 0%, rgba(11,19,32,0) 60%),
    linear-gradient(180deg, var(--bg-1) 0%, var(--bg-2) 100%),
    var(--bg);
  background-attachment: fixed, fixed, fixed, fixed, fixed; /* smoother feel */
}

/* Better text rendering */
@supports (font-synthesis-weight: auto){
  body{ font-synthesis-weight: auto; }
}

/* ---------- Header ---------- */
.site-header,
.site-footer{
  max-width:min(1200px, 92vw);
  margin:0 auto;
  padding:16px 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.brand{
  display:flex; align-items:center; gap:.65rem;
  text-decoration:none; color:var(--text);
}
.logo{ filter: drop-shadow(0 0 10px rgba(0,230,246,.25)); }
.brand-name{ font-weight:700; letter-spacing:.3px; }

.socials{ display:flex; gap:10px; }
.icon-link{
  color:var(--muted);
  opacity:.9;
  transition:.2s transform, .2s color, .2s opacity;
}
.icon-link:hover{ transform:translateY(-2px); color:var(--text); opacity:1; }

/* ---------- Hero ---------- */
.hero{
  position:relative;
  display:grid;
  place-items:center;
  padding: clamp(28px, 5vw, 60px) 0 88px;
  min-height: calc(100vh - 140px);
  overflow:hidden;
}
.hero__content{
  width:min(980px, 92vw);
  background: linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.06);
  border-radius: var(--radius);
  padding: clamp(18px, 3.2vw, 36px);
  position:relative;
  backdrop-filter: blur(6px);
  box-shadow: 0 10px 40px rgba(0,0,0,.35), 0 0 0 4px var(--ring);
}

.eyebrow{
  display:inline-block;
  color:var(--cyan);
  letter-spacing:.18em;
  text-transform:uppercase;
  font-size:.78rem;
  background: linear-gradient(90deg, var(--cyan), var(--green));
  -webkit-background-clip: text;
  background-clip:text;
  -webkit-text-fill-color: transparent;
  margin:0 0 6px;
}
h1{
  margin:.1rem 0 .6rem;
  font-size: clamp(1.8rem, 4.6vw, 3.2rem);
  line-height:1.15;
}
.sub{
  margin:0 0 18px;
  color:var(--muted);
  font-size: clamp(1rem, 2.2vw, 1.12rem);
}

/* ---------- Progress ---------- */
.progress{
  position:relative;
  height:14px;
  border-radius:999px;
  background: rgba(255,255,255,.08);
  overflow:hidden;
  margin: 10px 0 18px;
  outline:1px solid rgba(255,255,255,.06);
}
.progress__bar{
  position:absolute; inset:0 100% 0 0;
  background: linear-gradient(90deg, var(--cyan), var(--green));
  width:0%;
  box-shadow: 0 0 20px rgba(0,230,246,.35), 0 0 32px rgba(30,158,83,.25);
}
.progress__label{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  font-size:.85rem; color:#091017; mix-blend-mode: screen; font-weight:600;
}

/* ---------- Form & Buttons ---------- */
.notify{
  display:flex; flex-wrap:wrap; gap:10px; align-items:center;
  margin: 6px 0 6px;
}
.notify input{
  flex: 1 1 260px;
  background: var(--card);
  border:1px solid rgba(255,255,255,.10);
  color:var(--text);
  padding:14px 14px;
  border-radius:12px;
  outline:none;
  transition: box-shadow .2s, border-color .2s, background .2s;
}
.notify input:focus{
  box-shadow:0 0 0 4px var(--ring);
  border-color:transparent;
  background: #0f1923;
}

.btn{
  flex: 0 0 auto;
  padding:14px 18px;
  border-radius:12px;
  background: linear-gradient(90deg, var(--cyan), var(--green));
  color:#041016; font-weight:700; border:none; cursor:pointer;
  transition:.2s transform, .2s box-shadow, .2s opacity, .2s filter;
  box-shadow:0 10px 24px rgba(0,230,246,.15), 0 10px 28px rgba(30,158,83,.12);
  text-decoration: none !important;        /* remove underline on anchors-as-buttons */
  display:inline-flex; align-items:center; justify-content:center;
}
.btn:hover{ transform: translateY(-1px); filter:saturate(1.05); }
.btn:active{ transform: translateY(0); }

.btn--ghost{
  background:transparent;
  color:var(--text);
  border:1px solid rgba(255,255,255,.14);
  box-shadow:none;
  text-decoration: none !important;
}
.btn--ghost:hover{ background: rgba(255,255,255,.05); }

.btn--whatsapp{
  background:#25D366; color:#041016;
  text-decoration: none !important;
}

.note{ flex: 1 1 100%; color:var(--muted); font-size:.85rem; margin:2px 0 0; }

.cta-row{ display:flex; gap:10px; flex-wrap:wrap; margin:6px 0 8px; }

/* ---------- Coming list ---------- */
.coming{
  display:flex; gap:10px; flex-wrap:wrap; padding:0; margin:8px 0 0; list-style:none;
}
.coming li{
  border:1px dashed rgba(255,255,255,.18);
  color:var(--muted);
  padding:8px 12px;
  border-radius:999px;
  font-size:.9rem;
  backdrop-filter: blur(2px);
}

/* ---------- Background orbs (subtle neon) ---------- */
.hero__bg{ position:absolute; inset:-25% -15% -15% -15%; z-index:-1; pointer-events:none; }
.orb{
  position:absolute; width:42vmax; height:42vmax; border-radius:50%;
  filter: blur(70px);
  opacity:.38; transform: translateZ(0);
  animation: float 14s ease-in-out infinite;
}
.orb--1{ background: radial-gradient(circle at 30% 30%, var(--cyan), transparent 60%); top:-20%; left:-10%; }
.orb--2{ background: radial-gradient(circle at 70% 70%, var(--green), transparent 60%); right:-15%; bottom:-15%; animation-delay: -6s; }

@keyframes float {
  0%,100%{ transform: translateY(0) }
  50%{ transform: translateY(2.8%) }
}

/* Reduced motion respect */
@media (prefers-reduced-motion: reduce){
  .orb{ animation: none; }
}

/* ---------- Footer ---------- */
.site-footer{
  flex-wrap:wrap;
  gap:8px;
  border-top:1px solid rgba(255,255,255,.06);
}
.foot-note{ color:var(--muted); }

/* ---------- Utilities ---------- */
.sr-only{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); border:0;
}

/* ---------- Toast popup ---------- */
.toast{
  position: fixed;
  left: 50%;
  bottom: 20px;
  transform: translateX(-50%);
  background: var(--card);
  color: var(--text);
  border: 1px solid rgba(255,255,255,.12);
  padding: 12px 16px;
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(0,0,0,.35);
  font-weight: 600;
  z-index: 9999;
}
.toast--ok{ outline: 2px solid rgba(30,158,83,.35); }
.toast--warn{ outline: 2px solid rgba(255,184,77,.35); }
.toast--err{ outline: 2px solid rgba(255,114,114,.35); }

/* ---------- Mobile tweaks ---------- */
@media (max-width: 640px){
  .btn{ width:100%; }
  .notify input{ min-width: 100%; }
  .cta-row .btn{ flex:1 1 100%; }
}

/* ---------- Tablet/Desktop refinements ---------- */
@media (min-width: 1280px){
  .hero__content{ padding: 42px; }
  .orb{ filter: blur(80px); opacity:.4; }
}
