/* GymControl landing — Holo-inspired (from Cubo360 pattern) */

  :root{
    --bg:#f7faf8;
    --bg-2:#eef6f2;
    --card:#ffffff;
    --card-2:#f4faf7;
    --border:rgba(12,38,30,0.08);
    --text:#0c1f1a;
    --text-dim:#3d5c52;
    --text-dim-2:#6b857c;
    --accent:#0d9488;
    --accent-2:#0f766e;
    --cta:#16a34a;
    --cta-hover:#15803d;
    --danger:#c2410c;
    --warn:#b45309;
    --radius:20px;
    --header-bg:rgba(247,250,248,0.82);
    --on-color-btn-text:#ffffff;
    --soft-mint-text:#0f766e;
    --soft-green-text:#15803d;
    --soft-coral-text:#9a3412;
    --soft-mint-text-2:#166534;
    --soft-amber-text:#92400e;
    --hl-danger:#c2410c;
    --stat-strong:#0c1f1a;
    --muted-no:#94a3b8;
    --col-us-text:#14532d;
    --grad-1:rgba(13,148,136,0.12);
    --grad-2:rgba(34,197,94,0.08);
    --surface-a:rgba(12,38,30,0.03);
    --surface-b:rgba(12,38,30,0.05);
    --surface-c:rgba(12,38,30,0.07);
    --surface-d:rgba(12,38,30,0.08);
    --surface-dashed:rgba(12,38,30,0.14);
    --surface-solid:#eef7f3;
    --shadow-hero:rgba(20,60,45,0.12);
    --shadow-card:0 18px 50px rgba(20,60,45,0.08);
    --shadow-soft:0 10px 40px rgba(20,60,45,0.07);
    --final-grad-1:#eafaf4;
    --final-grad-2:#dcf3ea;
    --phone-bezel:#111827;
    --phone-shadow:0 40px 80px rgba(15,40,32,0.18);
    font-family:"Plus Jakarta Sans", system-ui, sans-serif;
  }

  [data-theme="dark"]{
    --bg:#0a1a16;
    --bg-2:#0f2620;
    --card:#143530;
    --card-2:#1a4038;
    --border:rgba(255,255,255,0.08);
    --text:#eef1fb;
    --text-dim:#a9b1d6;
    --text-dim-2:#7c84ad;
    --accent:#0d9488;
    --accent-2:#2dd4bf;
    --cta:#22c55e;
    --cta-hover:#16a34a;
    --danger:#ff6b4a;
    --warn:#f5a623;
    --header-bg:rgba(10,26,22,0.78);
    --on-color-btn-text:#052e12;
    --soft-mint-text:#b6f2e4;
    --soft-green-text:#8ff0b6;
    --soft-coral-text:#ffd9c7;
    --soft-mint-text-2:#d7ffe6;
    --soft-amber-text:#ffd7a8;
    --hl-danger:#ffa07a;
    --stat-strong:#ffffff;
    --muted-no:#5a6291;
    --col-us-text:#eafff2;
    --grad-1:rgba(13,148,136,0.22);
    --grad-2:rgba(34,197,94,0.12);
    --surface-a:rgba(255,255,255,0.03);
    --surface-b:rgba(255,255,255,0.05);
    --surface-c:rgba(255,255,255,0.07);
    --surface-d:rgba(255,255,255,0.08);
    --surface-dashed:rgba(255,255,255,0.15);
    --surface-solid:#0a1815;
    --shadow-hero:rgba(0,0,0,0.4);
    --shadow-card:0 18px 50px rgba(0,0,0,0.35);
    --shadow-soft:0 10px 40px rgba(0,0,0,0.28);
    --final-grad-1:#0d211c;
    --final-grad-2:#123a30;
    --phone-bezel:#0b1220;
    --phone-shadow:0 40px 90px rgba(0,0,0,0.55);
  }

  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{
    background:
      radial-gradient(900px 480px at 12% -8%, var(--grad-1), transparent 60%),
      radial-gradient(800px 420px at 88% 0%, var(--grad-2), transparent 55%),
      var(--bg);
    color:var(--text);
    line-height:1.55;
    -webkit-font-smoothing:antialiased;
    transition:background-color 0.25s ease, color 0.25s ease;
  }
  .wrap{max-width:1160px; margin:0 auto; padding:0 24px;}
  a{color:inherit; text-decoration:none;}
  img,svg{display:block; max-width:100%;}
  button{font:inherit;}

  /* ---------- Nav ---------- */
  header{
    position:sticky; top:0; z-index:50;
    backdrop-filter:blur(14px);
    background:var(--header-bg);
    border-bottom:1px solid transparent;
  }
  header.scrolled{border-bottom-color:var(--border);}
  nav.nav-bar{
    display:flex; align-items:center; justify-content:space-between; gap:16px;
    padding:14px 0; min-height:68px;
  }
  .logo{
    display:flex; align-items:center; gap:10px;
    font-family:"Fraunces", Georgia, serif;
    font-weight:700; font-size:22px; letter-spacing:-0.03em;
    flex:none; white-space:nowrap;
  }
  .logo-mark{
    width:36px; height:36px; flex:none;
    filter:drop-shadow(0 4px 12px rgba(13,148,136,0.35));
  }
  .logo-mark img{width:100%; height:100%; object-fit:contain;}
  .nav-links{
    display:flex; align-items:center; justify-content:center;
    gap:clamp(14px, 1.8vw, 26px); font-size:14px; font-weight:600; color:var(--text-dim);
    flex:1 1 auto;
  }
  .nav-links a:hover{color:var(--text);}
  .nav-right{display:flex; align-items:center; gap:10px; flex:none;}
  .theme-toggle,.nav-hamburger{
    width:42px; height:42px; border-radius:999px;
    border:1px solid var(--border); background:var(--card);
    display:flex; align-items:center; justify-content:center; cursor:pointer;
    box-shadow:var(--shadow-soft);
  }
  .theme-toggle:hover,.nav-hamburger:hover{transform:translateY(-1px);}
  .install-btn{
    border:1px solid rgba(13,148,136,0.35); color:var(--accent); background:var(--card);
    font-weight:700; font-size:13px; padding:10px 14px; border-radius:999px; cursor:pointer;
  }
  .nav-login{
    color:var(--text-dim); font-weight:700; font-size:14px;
    padding:10px 16px; border-radius:999px; border:1px solid var(--border); background:var(--card);
  }
  .nav-login:hover{color:var(--text); border-color:var(--accent);}
  .nav-cta{
    background:linear-gradient(135deg, var(--cta), #22c55e);
    color:var(--on-color-btn-text); font-weight:800; font-size:14px;
    padding:11px 18px; border-radius:999px;
    box-shadow:0 8px 24px rgba(34,197,94,0.28);
    white-space:nowrap;
  }
  .nav-cta:hover{background:var(--cta-hover);}
  .nav-cta .cta-short{display:none;}
  .nav-hamburger{display:none; padding:0;}
  .nav-hamburger-lines{
    display:block; width:18px; height:2px; background:var(--text); border-radius:2px; position:relative;
  }
  .nav-hamburger-lines::before,.nav-hamburger-lines::after{
    content:""; position:absolute; left:0; width:18px; height:2px; background:var(--text); border-radius:2px;
  }
  .nav-hamburger-lines::before{top:-6px;}
  .nav-hamburger-lines::after{top:6px;}
  header.nav-open .nav-hamburger-lines{background:transparent;}
  header.nav-open .nav-hamburger-lines::before{top:0; transform:rotate(45deg);}
  header.nav-open .nav-hamburger-lines::after{top:0; transform:rotate(-45deg);}
  .nav-drawer{
    display:none; border-top:1px solid var(--border);
    background:var(--header-bg); padding:12px 24px 18px;
  }
  header.nav-open .nav-drawer{display:block;}
  .nav-drawer-links{display:flex; flex-direction:column; gap:4px;}
  .nav-drawer-links a{
    display:block; padding:12px 14px; border-radius:14px;
    color:var(--text-dim); font-weight:600; font-size:15px;
  }
  .nav-drawer-links a:hover{background:var(--surface-b); color:var(--text);}
  .nav-drawer-actions{
    display:flex; flex-wrap:wrap; gap:10px; margin-top:14px; padding-top:14px;
    border-top:1px solid var(--border);
  }
  .theme-icon{display:none; line-height:1;}
  [data-theme="dark"] .theme-icon-sun{display:block;}
  [data-theme="light"] .theme-icon-moon{display:block;}

  @media (max-width:1100px){
    .nav-links{display:none;}
    .nav-hamburger{display:flex;}
  }
  @media (max-width:720px){
    .install-btn{display:none !important;}
    .nav-cta .cta-full{display:none;}
    .nav-cta .cta-short{display:inline;}
  }
  @media (max-width:420px){
    .nav-right > .nav-login{display:none;}
  }

  /* ---------- Generic ---------- */
  section{padding:96px 0;}
  .eyebrow{
    display:inline-flex; align-items:center; gap:8px;
    font-size:12px; font-weight:800; letter-spacing:0.08em; text-transform:uppercase;
    color:var(--soft-mint-text); background:rgba(13,148,136,0.1);
    border:1px solid rgba(13,148,136,0.22);
    padding:7px 14px; border-radius:999px; margin-bottom:18px;
  }
  h1{
    font-family:"Fraunces", Georgia, serif;
    font-size:clamp(36px,5.4vw,58px); line-height:1.05; letter-spacing:-0.035em; font-weight:700;
  }
  h2{
    font-family:"Fraunces", Georgia, serif;
    font-size:clamp(28px,3.6vw,42px); letter-spacing:-0.03em; font-weight:700; line-height:1.12;
  }
  h3{font-size:18px; font-weight:700;}
  .lead{font-size:17.5px; color:var(--text-dim); max-width:560px;}
  .section-head{max-width:700px; margin:0 auto 48px; text-align:center;}
  .section-head .lead{margin:14px auto 0;}

  .btn-primary{
    background:linear-gradient(135deg, var(--cta), #22c55e);
    color:var(--on-color-btn-text); font-weight:800; font-size:15px;
    padding:15px 26px; border-radius:999px;
    box-shadow:0 12px 28px rgba(34,197,94,0.28);
    display:inline-flex; align-items:center; gap:8px;
  }
  .btn-primary:hover{transform:translateY(-1px);}
  .btn-secondary{
    border:1px solid var(--border); color:var(--text); font-weight:700; font-size:15px;
    padding:15px 22px; border-radius:999px; background:var(--card);
    box-shadow:var(--shadow-soft);
  }
  .btn-secondary:hover{border-color:var(--accent);}

  /* ---------- Hero (phone-centered) ---------- */
  .hero{padding:48px 0 40px; overflow:hidden;}
  .hero-brand{
    text-align:center; margin-bottom:10px;
  }
  .hero-brand .brand-word{
    font-family:"Fraunces", Georgia, serif;
    font-size:clamp(42px,7vw,72px); font-weight:700; letter-spacing:-0.04em;
    background:linear-gradient(120deg, #0f766e 0%, #16a34a 55%, #0d9488 100%);
    -webkit-background-clip:text; background-clip:text; color:transparent;
  }
  .hero-copy{text-align:center; max-width:760px; margin:0 auto 36px;}
  .hero-copy h1{margin-top:8px;}
  .hero-copy .lead{margin:18px auto 0; max-width:620px;}
  .hero-ctas{display:flex; gap:12px; margin-top:28px; flex-wrap:wrap; justify-content:center;}
  .hero-trust{
    display:flex; gap:18px; margin-top:22px; flex-wrap:wrap; justify-content:center;
    color:var(--text-dim-2); font-size:13.5px; font-weight:600;
  }
  .hero-trust span{display:flex; align-items:center; gap:7px;}
  .dot-ok{width:7px; height:7px; border-radius:50%; background:var(--cta); flex:none;}

  .hero-stage{
    position:relative; max-width:980px; margin:48px auto 0;
    min-height:620px; display:flex; align-items:center; justify-content:center;
  }
  .hero-float{
    position:absolute; z-index:2; width:min(240px, 28vw);
    background:var(--card); border:1px solid var(--border); border-radius:18px;
    padding:14px 16px; box-shadow:var(--shadow-card);
    display:flex; gap:12px; align-items:flex-start;
    animation:floatY 6s ease-in-out infinite;
  }
  .hero-float .ico{
    width:36px; height:36px; border-radius:12px; flex:none;
    background:rgba(13,148,136,0.12); color:var(--accent);
    display:flex; align-items:center; justify-content:center; font-size:16px;
  }
  .hero-float b{display:block; font-size:13.5px; margin-bottom:2px;}
  .hero-float span{font-size:12px; color:var(--text-dim-2); line-height:1.35;}
  .hero-float.f1{left:0; top:8%; animation-delay:0s;}
  .hero-float.f2{right:0; top:14%; animation-delay:0.8s;}
  .hero-float.f3{left:2%; bottom:18%; animation-delay:1.4s;}
  .hero-float.f4{right:2%; bottom:12%; animation-delay:2s;}
  @keyframes floatY{
    0%,100%{transform:translateY(0);}
    50%{transform:translateY(-8px);}
  }
  @media (max-width:900px){
    .hero-stage{min-height:auto; flex-direction:column; gap:22px;}
    .hero-float{position:relative; left:auto !important; right:auto !important; top:auto !important; bottom:auto !important; width:100%; max-width:360px; animation:none;}
    .hero-floats{display:contents;}
  }

  /* iPhone mockup */
  .phone{
    position:relative; z-index:3;
    width:min(280px, 72vw);
    aspect-ratio:390/844;
    background:var(--phone-bezel);
    border-radius:42px;
    padding:10px;
    box-shadow:var(--phone-shadow);
    border:1px solid rgba(255,255,255,0.08);
  }
  .phone::before{
    content:""; position:absolute; top:12px; left:50%; transform:translateX(-50%);
    width:96px; height:22px; background:#0a0f18; border-radius:16px; z-index:4;
  }
  .phone-screen{
    width:100%; height:100%; border-radius:34px; overflow:hidden; background:#fff;
  }
  .phone-screen img{
    width:100%; height:100%; object-fit:cover; object-position:top center;
  }
  .phone.tilt{transform:rotate(-6deg);}
  .phone.tilt-r{transform:rotate(5deg);}
  @media (max-width:700px){
    .phone.tilt,.phone.tilt-r{transform:none;}
  }

  /* Social proof */
  .proof-bar{
    display:flex; justify-content:center; margin:10px 0 20px;
  }
  .proof-pill{
    display:inline-flex; align-items:center; gap:12px;
    background:var(--card); border:1px solid var(--border);
    border-radius:999px; padding:10px 18px 10px 12px;
    box-shadow:var(--shadow-soft); font-size:14px; font-weight:600; color:var(--text-dim);
  }
  .proof-avatars{display:flex;}
  .proof-avatars img{
    width:32px; height:32px; border-radius:50%; object-fit:cover;
    border:2px solid var(--card); margin-left:-8px;
  }
  .proof-avatars img:first-child{margin-left:0;}
  .proof-pill strong{color:var(--text);}

  /* Soft cards */
  .soft-card{
    background:var(--card); border:1px solid var(--border); border-radius:22px;
    padding:24px; box-shadow:var(--shadow-soft);
  }

  .platform-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:44px;}
  @media (max-width:940px){ .platform-grid{grid-template-columns:repeat(2,1fr);} }
  @media (max-width:560px){ .platform-grid{grid-template-columns:1fr;} }
  .platform-card{
    background:var(--card); border:1px solid var(--border); border-radius:20px; padding:22px;
    display:flex; flex-direction:column; gap:10px; box-shadow:var(--shadow-soft);
    transition:transform 0.2s ease, box-shadow 0.2s ease;
  }
  .platform-card:hover{transform:translateY(-3px); box-shadow:var(--shadow-card);}
  .platform-card .ico{
    width:44px; height:44px; border-radius:14px; display:flex; align-items:center; justify-content:center;
    font-size:20px; background:rgba(13,148,136,0.12); flex:none;
  }
  .platform-card h3{font-size:15.5px;}
  .platform-card p{font-size:13.5px; color:var(--text-dim); line-height:1.45;}
  .platform-card .via{
    font-size:11px; color:var(--text-dim-2); font-weight:700;
    margin-top:auto; padding-top:10px; border-top:1px dashed var(--border);
  }

  .adapt-box{
    margin-top:36px; display:flex; align-items:center; gap:18px;
    background:rgba(13,148,136,0.06); border:1px solid rgba(13,148,136,0.18);
    border-radius:20px; padding:22px 26px;
  }
  @media (max-width:700px){ .adapt-box{flex-direction:column; align-items:flex-start;} }
  .adapt-box .ico{font-size:28px; flex:none;}
  .adapt-box p{font-size:14.5px; color:var(--text-dim);}
  .adapt-box p b{color:var(--text);}

  .eco-strip{
    margin-top:36px; padding:20px 24px; border-radius:18px;
    background:var(--surface-a); border:1px dashed var(--border);
    display:flex; flex-wrap:wrap; align-items:center; gap:14px 22px;
  }
  .eco-strip .eco-label{
    font-size:12px; font-weight:800; letter-spacing:0.05em; text-transform:uppercase;
    color:var(--text-dim-2);
  }
  .eco-mods{display:flex; flex-wrap:wrap; gap:10px;}
  .eco-mod{
    display:inline-flex; align-items:center; gap:8px;
    background:var(--card); border:1px solid var(--border); border-radius:999px;
    padding:7px 14px 7px 8px; font-size:13px; font-weight:700;
  }
  .eco-mod .mark{
    width:28px; height:28px; border-radius:8px; background:rgba(13,148,136,0.12);
    display:flex; align-items:center; justify-content:center;
    font-size:10px; font-weight:800; color:var(--accent);
  }
  .eco-mod .addon{font-size:10.5px; font-weight:700; color:var(--text-dim-2);}

  /* Feature rows with phone */
  .feature-row{
    display:grid; grid-template-columns:1.05fr 0.95fr; gap:48px; align-items:center; padding:28px 0;
  }
  .feature-row.rev{grid-template-columns:0.95fr 1.05fr;}
  .feature-row.rev .feature-visual{order:1;}
  .feature-row.rev .feature-copy{order:2;}
  @media (max-width:860px){
    .feature-row, .feature-row.rev{grid-template-columns:1fr;}
    .feature-row.rev .feature-visual, .feature-row.rev .feature-copy{order:initial;}
  }
  .feature-tag{
    display:inline-block; font-size:12px; font-weight:800; letter-spacing:0.05em; text-transform:uppercase;
    color:var(--accent); margin-bottom:12px;
  }
  .feature-copy p{color:var(--text-dim); margin-top:14px; font-size:15.5px;}
  .feature-list{list-style:none; margin-top:20px; display:flex; flex-direction:column; gap:10px;}
  .feature-list li{display:flex; gap:10px; font-size:14.5px; color:var(--text-dim);}
  .feature-list li::before{content:"✓"; color:var(--cta); font-weight:900; flex:none;}
  .feature-visual{
    display:flex; justify-content:center; align-items:center; min-height:320px;
  }
  .feature-visual .phone{width:min(250px, 70vw);}

  .pain-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:36px;}
  @media (max-width:860px){ .pain-grid{grid-template-columns:1fr;} }

  /* Partner / Conteo360 */
  .partner-block{
    margin-top:20px; border-radius:28px; padding:40px 36px;
    background:linear-gradient(135deg, rgba(13,148,136,0.1), rgba(34,197,94,0.06));
    border:1px solid rgba(13,148,136,0.2);
  }
  @media (max-width:700px){ .partner-block{padding:28px 22px;} }
  .partner-top{
    display:flex; flex-wrap:wrap; align-items:flex-start; justify-content:space-between;
    gap:18px 28px; margin-bottom:28px;
  }
  .partner-brand{display:flex; align-items:center; gap:14px;}
  .partner-brand .mark{
    width:52px; height:52px; border-radius:16px; flex:none;
    background:linear-gradient(135deg, var(--accent), #16a34a);
    display:flex; align-items:center; justify-content:center;
    font-weight:900; font-size:15px; color:#fff;
  }
  .partner-brand h3{font-size:22px;}
  .partner-brand a{display:inline-block; margin-top:4px; font-size:13.5px; font-weight:700; color:var(--accent); text-decoration:underline; text-underline-offset:3px;}
  .partner-pill{
    display:inline-flex; align-items:center; gap:6px; font-size:12px; font-weight:800;
    letter-spacing:0.04em; text-transform:uppercase; color:var(--soft-green-text);
    background:rgba(34,197,94,0.12); border:1px solid rgba(34,197,94,0.28);
    padding:6px 12px; border-radius:999px;
  }
  .partner-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px;}
  @media (max-width:860px){ .partner-grid{grid-template-columns:1fr;} }
  .partner-card{
    background:var(--card); border:1px solid var(--border); border-radius:18px; padding:20px;
    box-shadow:var(--shadow-soft);
  }
  .partner-card .ico{font-size:22px; margin-bottom:10px;}
  .partner-card h4{font-size:15px; margin-bottom:6px;}
  .partner-card p{font-size:13px; color:var(--text-dim);}
  .partner-services{margin-top:22px; display:flex; flex-wrap:wrap; gap:8px;}
  .partner-services span{
    font-size:12.5px; font-weight:600; color:var(--text-dim);
    background:var(--card); border:1px solid var(--border);
    padding:6px 12px; border-radius:999px;
  }

  /* Alliances */
  .alliance-grid{display:grid; grid-template-columns:repeat(6,1fr); gap:14px; margin-top:44px;}
  @media (max-width:1100px){ .alliance-grid{grid-template-columns:repeat(3,1fr);} }
  @media (max-width:700px){ .alliance-grid{grid-template-columns:repeat(2,1fr);} }
  @media (max-width:420px){ .alliance-grid{grid-template-columns:1fr;} }
  .alliance-card{
    background:var(--card); border:1px solid var(--border); border-radius:18px;
    padding:22px 16px; text-align:center; box-shadow:var(--shadow-soft);
  }
  .alliance-card .mark{
    width:40px; height:40px; margin:0 auto 12px; border-radius:12px;
    background:rgba(13,148,136,0.1); display:flex; align-items:center; justify-content:center;
    font-weight:800; font-size:13px; color:var(--accent);
  }
  .alliance-card h3{font-size:14px; margin-bottom:6px;}
  .alliance-card p{font-size:12px; color:var(--text-dim-2);}

  /* Pain / compare */
  .pain-card{
    background:linear-gradient(180deg, rgba(255,107,74,0.06), transparent);
    border:1px solid rgba(255,107,74,0.18); border-radius:var(--radius); padding:26px;
  }
  .pain-card .ico{font-size:24px; margin-bottom:14px;}
  .pain-card h3{color:var(--soft-coral-text); margin-bottom:8px;}
  .pain-card p{color:var(--text-dim); font-size:14.5px;}
  .compare-wrap{
    background:var(--card); border:1px solid var(--border); border-radius:22px;
    overflow:hidden; margin-top:44px; box-shadow:var(--shadow-soft);
  }
  table{width:100%; border-collapse:collapse; font-size:14.5px;}
  thead th{
    padding:18px 20px; text-align:left; font-size:13px; color:var(--text-dim); font-weight:700;
    border-bottom:1px solid var(--border);
  }
  thead th.col-us{color:var(--soft-green-text); background:rgba(34,197,94,0.08);}
  tbody td{padding:16px 20px; border-bottom:1px solid var(--border); color:var(--text-dim);}
  tbody tr:last-child td{border-bottom:none;}
  tbody td.col-us{background:rgba(34,197,94,0.04); font-weight:700; color:var(--col-us-text);}
  .feat-name{color:var(--text); font-weight:600;}
  .yes{color:#16a34a; font-weight:800;}
  .no{color:var(--muted-no);}
  .maybe{color:var(--warn); font-weight:700;}

  /* Migration */
  .migration{
    background:linear-gradient(135deg, rgba(13,148,136,0.1), rgba(34,197,94,0.06));
    border:1px solid rgba(13,148,136,0.2); border-radius:28px; padding:48px; margin-top:20px;
  }
  .migration-steps{display:grid; grid-template-columns:repeat(4,1fr); gap:22px; margin-top:36px;}
  @media (max-width:860px){ .migration-steps{grid-template-columns:1fr 1fr;} }
  .step-num{
    width:36px; height:36px; border-radius:12px; background:var(--card); border:1px solid var(--border);
    display:flex; align-items:center; justify-content:center; font-weight:800; margin-bottom:14px;
  }
  .step h3{font-size:15.5px; margin-bottom:6px;}
  .step p{font-size:13.5px; color:var(--text-dim);}
  .guarantee-box{
    margin-top:36px; display:flex; align-items:center; gap:16px;
    background:rgba(34,197,94,0.08); border:1px solid rgba(34,197,94,0.25);
    border-radius:16px; padding:18px 22px;
  }
  .guarantee-box .ico{font-size:26px;}
  .guarantee-box p{font-size:14px; color:var(--soft-mint-text-2); font-weight:600;}

  /* Testimonials */
  .testimonials-grid{
    display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:36px;
  }
  @media (max-width:900px){ .testimonials-grid{grid-template-columns:1fr;} }
  .t-card{
    background:var(--card); border:1px solid var(--border); border-radius:26px;
    padding:22px; box-shadow:var(--shadow-card); display:flex; flex-direction:column; gap:14px;
  }
  .t-head{display:flex; align-items:center; gap:12px;}
  .t-head img{width:48px; height:48px; border-radius:50%; object-fit:cover;}
  .t-head b{display:block; font-size:15px;}
  .t-head span{font-size:12.5px; color:var(--text-dim-2);}
  .t-card p{font-size:14.5px; color:var(--text-dim); line-height:1.5;}
  .t-card .t-meta{font-size:12px; color:var(--text-dim-2); margin-top:auto;}
  .verified{
    display:inline-flex; width:16px; height:16px; border-radius:50%;
    background:var(--accent); color:#fff; font-size:10px; align-items:center; justify-content:center;
    margin-left:4px; vertical-align:middle;
  }

  /* Pricing */
  .pricing-tiers{display:grid; grid-template-columns:repeat(5,1fr); gap:14px; margin-top:36px;}
  @media (max-width:1100px){ .pricing-tiers{grid-template-columns:repeat(3,1fr);} }
  @media (max-width:720px){ .pricing-tiers{grid-template-columns:1fr;} }
  .tier-card{
    background:var(--card); border:1px solid var(--border); border-radius:20px; padding:22px 18px;
    display:flex; flex-direction:column; gap:6px; box-shadow:var(--shadow-soft);
  }
  .tier-card.featured{
    border:1.5px solid var(--accent);
    background:linear-gradient(180deg, rgba(13,148,136,0.08), var(--card));
    box-shadow:0 18px 40px rgba(13,148,136,0.14);
  }
  .tier-card .tag{
    align-self:flex-start; font-size:10.5px; font-weight:800; letter-spacing:0.04em; text-transform:uppercase;
    background:var(--accent); color:#fff; padding:3px 8px; border-radius:999px; margin-bottom:4px;
  }
  .tier-card h3{font-size:16px;}
  .tier-card .range{font-size:12.5px; color:var(--text-dim-2);}
  .tier-card .price{font-size:26px; font-weight:800; margin-top:8px;}
  .tier-card .price span{font-size:12px; color:var(--text-dim-2); font-weight:500;}
  .tier-card .price-usd{font-size:12.5px; color:var(--text-dim-2); font-weight:600;}
  .modules-pricing-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:28px;}
  @media (max-width:900px){ .modules-pricing-grid{grid-template-columns:repeat(2,1fr);} }
  @media (max-width:560px){ .modules-pricing-grid{grid-template-columns:1fr;} }
  .mod-price-card{
    background:var(--card); border:1px solid var(--border); border-radius:18px; padding:18px 16px;
    box-shadow:var(--shadow-soft);
  }
  .mod-price-card h4{font-size:14.5px; margin:0 0 4px;}
  .mod-price-card p{font-size:12.5px; color:var(--text-dim-2); margin:0 0 10px; min-height:2.4em;}
  .mod-price-card .mp{font-size:18px; font-weight:800;}
  .mod-price-card .mp span{font-size:12px; font-weight:500; color:var(--text-dim-2);}
  .mod-price-card .mp-usd{font-size:12px; color:var(--text-dim-2); font-weight:600;}
  .price-calc{
    margin-top:40px; background:var(--card); border:1px solid var(--border);
    border-radius:24px; padding:28px 26px; box-shadow:var(--shadow-soft);
  }
  .price-calc h3{font-size:18px; margin:0 0 6px;}
  .price-calc .lead-sm{font-size:13.5px; color:var(--text-dim-2); margin-bottom:18px;}
  .price-calc .calc-row{display:flex; flex-wrap:wrap; gap:16px; align-items:flex-end; margin-bottom:18px;}
  .price-calc label{display:flex; flex-direction:column; gap:6px; font-size:12.5px; font-weight:600; color:var(--text-dim);}
  .price-calc input[type="number"]{
    width:120px; padding:10px 12px; border-radius:12px; border:1px solid var(--border);
    background:var(--bg); color:var(--text); font-size:15px; font-weight:700;
  }
  .price-calc .mod-checks{display:flex; flex-wrap:wrap; gap:8px; margin-bottom:18px;}
  .price-calc .mod-checks label{
    flex-direction:row; align-items:center; gap:8px; font-weight:600; font-size:12.5px;
    background:var(--bg-2); border:1px solid var(--border); border-radius:999px; padding:7px 12px; cursor:pointer;
  }
  .price-calc .mod-checks label.on{border-color:var(--accent); background:rgba(13,148,136,0.1); color:var(--accent);}
  .price-calc .calc-total{
    display:flex; flex-wrap:wrap; gap:18px; align-items:baseline;
    padding-top:14px; border-top:1px solid var(--border);
  }
  .price-calc .calc-total .big{font-size:28px; font-weight:800;}
  .price-calc .calc-total .sub{font-size:13px; color:var(--text-dim-2);}

  /* FAQ / CTA / Footer */
  .faq-list{max-width:760px; margin:44px auto 0; display:flex; flex-direction:column; gap:12px;}
  .faq-item{background:var(--card); border:1px solid var(--border); border-radius:16px; overflow:hidden; box-shadow:var(--shadow-soft);}
  .faq-q{
    padding:20px 22px; display:flex; justify-content:space-between; align-items:center; cursor:pointer;
    font-weight:700; font-size:15px; gap:12px;
  }
  .faq-q .chevron{transition:transform 0.25s ease; color:var(--text-dim-2);}
  .faq-item.open .faq-q .chevron{transform:rotate(45deg);}
  .faq-a{max-height:0; overflow:hidden; transition:max-height 0.3s ease;}
  .faq-a p{padding:0 22px 20px; font-size:14.5px; color:var(--text-dim);}

  .final-cta{
    background:linear-gradient(135deg, var(--final-grad-1), var(--final-grad-2));
    border:1px solid var(--border); border-radius:32px; padding:70px 40px; text-align:center;
    position:relative; overflow:hidden; box-shadow:var(--shadow-soft);
  }
  .final-cta::before{
    content:""; position:absolute; inset:0;
    background:radial-gradient(600px 300px at 50% 0%, rgba(13,148,136,0.22), transparent 60%);
  }
  .final-cta > *{position:relative;}
  .urgency-pill{
    display:inline-flex; align-items:center; gap:8px; font-size:13px; font-weight:700; color:var(--soft-amber-text);
    background:rgba(245,166,35,0.12); border:1px solid rgba(245,166,35,0.3); padding:7px 16px; border-radius:999px;
    margin-bottom:22px;
  }
  .final-cta h2{max-width:640px; margin:0 auto;}
  .final-cta .lead{margin:16px auto 30px;}
  .final-cta .hero-ctas{justify-content:center;}

  footer{padding:44px 0; border-top:1px solid var(--border); color:var(--text-dim-2); font-size:13px;}
  .footer-row{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px;}
  .footer-links{display:flex; align-items:center; gap:18px; flex-wrap:wrap;}
  .footer-links a{color:var(--text-dim); font-weight:600;}
  .footer-links a:hover{color:var(--accent);}

  .band{background:var(--bg-2);}
  ::selection{background:rgba(13,148,136,0.35);}

/* ---- GymControl-specific overrides for preserved Bootstrap sections ---- */
.gc-pricing-wrap .pricing-card{
  background:var(--card); border:1px solid var(--border); border-radius:22px;
  box-shadow:var(--shadow-soft); color:var(--text);
}
.gc-pricing-wrap .pricing-card.featured{
  border-color:rgba(13,148,136,0.45);
  box-shadow:0 18px 50px rgba(13,148,136,0.15);
}
.gc-pricing-wrap .pricing-card h2,
.gc-pricing-wrap .pricing-card h3{color:var(--text);}
.gc-pricing-wrap .text-muted{color:var(--text-dim)!important;}
.gc-pricing-wrap .btn-outline-light{
  border:1px solid var(--border); color:var(--text); background:var(--card);
}
.gc-pricing-wrap .btn-outline-light:hover{border-color:var(--accent); color:var(--accent);}
.gc-pricing-wrap .btn-gradient,
.gc-pricing-wrap .btn-primary{
  background:linear-gradient(135deg, var(--cta), #22c55e)!important;
  border:0; color:#fff!important;
}
.gc-pricing-wrap .nav-pills .nav-link{
  border-radius:999px; color:var(--text-dim); font-weight:700;
  border:1px solid var(--border); background:var(--card); margin:4px;
}
.gc-pricing-wrap .nav-pills .nav-link.active{
  background:linear-gradient(135deg, var(--accent), #16a34a); color:#fff; border-color:transparent;
}
.gc-pricing-wrap .lf-addons-table{width:100%; border-collapse:separate; border-spacing:0 8px;}
.gc-pricing-wrap .lf-addons-table td{
  background:var(--card); border:1px solid var(--border); padding:14px 18px;
}
.gc-pricing-wrap .lf-addons-table td:first-child{border-radius:14px 0 0 14px;}
.gc-pricing-wrap .lf-addons-table td:last-child{border-radius:0 14px 14px 0; font-weight:800; text-align:right; color:var(--accent);}
.gc-market .card{background:var(--card); border:1px solid var(--border); box-shadow:var(--shadow-soft); color:var(--text);}
.gc-market .btn-outline-light{border:1px solid var(--border); color:var(--text);}
.whatsapp-float{
  position:fixed; bottom:24px; right:24px; width:60px; height:60px;
  background:#25d366; border-radius:50%; display:flex; align-items:center; justify-content:center;
  box-shadow:0 4px 16px rgba(0,0,0,0.2); z-index:1050; color:#fff!important;
}
.whatsapp-float i{font-size:32px; color:#fff;}
.phone-row{display:flex; gap:18px; justify-content:center; align-items:flex-end; flex-wrap:wrap; margin-top:40px;}
.phone-row .phone{width:min(220px, 42vw);}
.phone-row .phone.main{width:min(280px, 58vw); z-index:2;}
