:root{
    /* ---- Design tokens (UNCHANGED — same brand palette) ---- */
    --ink:            #0B0E1E;
    --ink-soft:       #4E5273;
    --paper:          #F3F3FA;
    --paper-raised:   #FFFFFF;
    --line:           #DFE1F0;
    --navy:           #0E1330;
    --navy-2:         #1A2050;
    --violet:         #7C5CFF;
    --violet-dim:     #6242E0;
    --violet-soft:    #EFEBFF;
    --cyan:           #35D0F0;
    --signal:         #FFB100;
    --signal-ink:     #241800;
    --signal-dim:     #E39E00;
    --wa:             #22C55E;
    --wa-dim:         #16A34A;

    --radius-lg: 18px;
    --radius-md: 12px;
    --radius-sm: 8px;

    --font-display:'Sora',system-ui,sans-serif;
    --font-body:'IBM Plex Sans',system-ui,sans-serif;
    --font-mono:'IBM Plex Mono',ui-monospace,monospace;

    --container: 1160px;

    --sp-3xs: 4px;
    --sp-2xs: 8px;
    --sp-xs:  10px;
    --sp-sm:  14px;
    --sp-md:  20px;
    --sp-lg:  28px;
    --sp-xl:  36px;
    --sp-2xl: 48px;
    --sp-3xl: 64px;

    /* Tightened section rhythm (was 88px) */
    --section-pad: 56px;
  }

  *{box-sizing:border-box;min-width:0;}
  html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%;}
  html,body{max-width:100%;overflow-x:hidden;}
  body{
    margin:0;
    font-family:var(--font-body);
    color:var(--ink);
    background:var(--paper);
    line-height:1.5;
    -webkit-font-smoothing:antialiased;
  }
  img,svg{max-width:100%;display:block;}
  a{color:inherit;text-decoration:none;}
  ul{margin:0;padding:0;list-style:none;}
  h1,h2,h3,h4{font-family:var(--font-display);margin:0;letter-spacing:-0.01em;}
  h1{line-height:1.08;font-weight:800;}
  h2{line-height:1.14;font-weight:800;}
  h3{line-height:1.25;font-weight:700;}
  h4{line-height:1.32;font-weight:700;letter-spacing:-0.005em;}
  p{margin:0;}
  button{font-family:inherit;cursor:pointer;}
  label{display:block;}
  input,select{font-family:inherit;}
  :focus-visible{outline:2.5px solid var(--cyan);outline-offset:2px;}

  .wrap{max-width:var(--container);margin:0 auto;padding:0 32px;}
  @media (max-width:1024px){ .wrap{padding:0 26px;} }
  @media (max-width:720px){ .wrap{padding:0 20px;} }
  @media (max-width:420px){ .wrap{padding:0 16px;} }

  .eyebrow{
    font-family:var(--font-mono);
    font-size:12px;
    letter-spacing:0.13em;
    text-transform:uppercase;
    color:var(--violet-dim);
    display:flex;align-items:center;gap:9px;
    margin-bottom:10px;
  }
  .eyebrow::before{
    content:"";
    width:18px;height:2px;background:var(--violet);
    display:inline-block;
  }
  .eyebrow.on-dark{color:#B9ACFF;}

  /* Tightened section rhythm across breakpoints */
  section{padding:var(--section-pad) 0;}
  @media (max-width:1024px){ section{padding:46px 0;} }
  @media (max-width:720px){ section{padding:38px 0;} }
  @media (max-width:420px){ section{padding:32px 0;} }

  /* ---------- Buttons ---------- */
  .btn{
    display:inline-flex;align-items:center;justify-content:center;gap:9px;
    font-family:var(--font-display);
    font-weight:700;
    font-size:15.5px;
    min-height:46px;
    padding:12px 22px;
    border-radius:100px;
    border:none;
    transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
    white-space:nowrap;
  }
  .btn-primary{
    background:var(--signal);
    color:var(--signal-ink);
    box-shadow:0 6px 16px -6px rgba(255,177,0,0.55);
  }
  .btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 22px -6px rgba(255,177,0,0.65);}
  .btn-primary:active{transform:translateY(0);}
  .btn-call{
    background:var(--paper-raised);
    color:var(--navy);
    border:1.5px solid var(--line);
  }
  .btn-call:hover{border-color:var(--navy);transform:translateY(-2px);}
  .btn-call.on-dark{background:rgba(255,255,255,0.06);color:#fff;border-color:rgba(255,255,255,0.28);}
  .btn-call.on-dark:hover{border-color:#fff;}
  .btn-wa{
    background:var(--wa);
    color:#fff;
    box-shadow:0 6px 16px -6px rgba(34,197,94,0.5);
  }
  .btn-wa:hover{transform:translateY(-2px);background:var(--wa-dim);}
  .btn-ghost{background:transparent;color:var(--ink);border:1.5px solid var(--line);}
  .btn-ghost.on-dark{color:#fff;border-color:rgba(255,255,255,0.28);}
  .btn-ghost:hover{border-color:var(--ink);}
  .btn-ghost.on-dark:hover{border-color:#fff;}
  .btn-sm{padding:10px 16px;font-size:13.5px;border-radius:100px;min-height:40px;}
  .btn-block{width:100%;}
  .btn-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;}
  .ring-dot{
    width:8px;height:8px;border-radius:50%;
    background:currentColor;
    display:inline-block;
    animation:ring 1.6s ease-in-out infinite;
  }
  @keyframes ring{
    0%,100%{transform:scale(1);opacity:1;}
    50%{transform:scale(1.5);opacity:.55;}
  }
  @media (prefers-reduced-motion: reduce){
    .ring-dot{animation:none;}
    *{scroll-behavior:auto !important;}
  }

  /* ---------- Top strip ---------- */
  .topstrip{background:var(--navy);color:#C9CEEF;font-family:var(--font-mono);font-size:12px;}
  .topstrip .wrap{display:flex;justify-content:center;align-items:center;padding-top:7px;padding-bottom:7px;gap:10px;flex-wrap:wrap;}
  .topstrip a{color:#C9CEEF;font-weight:500;}
  .topstrip a:hover{color:#EFF1FF}

  /* ---------- Header ---------- */
  header.site{background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50;}
  header.site .wrap{display:flex;align-items:center;justify-content:space-between;padding-top:11px;padding-bottom:11px;flex-wrap:nowrap;gap:10px;}
  .logo{font-family:var(--font-display);font-weight:800;font-size:19px;display:flex;align-items:center;gap:9px;color:var(--ink);min-width:0;}
  .logo img{height:34px;width:auto;max-width:170px;object-fit:contain;display:block;}
  .header-cta{display:flex;align-items:center;gap:10px;flex-shrink:0;}
  .cta-label-full{display:inline;}
  .cta-label-short{display:none;}
  @media (max-width:520px){
    .cta-label-full{display:none;}
    .cta-label-short{display:inline;}
    .header-cta .btn-sm{padding:10px 13px;font-size:13px;}
  }

  /* ---------- HERO (redesigned as a single-column, focused thesis) ---------- */
  .hero{position:relative;background:var(--navy);color:#fff;overflow:hidden;padding:52px 0 60px;}
  @media (max-width:960px){ .hero{padding:38px 0 42px;} }
  @media (max-width:480px){ .hero{padding:30px 0 34px;} }
  .hero::before{
    content:"";position:absolute;inset:0;
    background-image:radial-gradient(circle, rgba(255,255,255,0.10) 1px, transparent 1.4px);
    background-size:24px 24px;
    mask-image:radial-gradient(ellipse 75% 55% at 80% 5%, black 40%, transparent 90%);
    pointer-events:none;
  }
  .hero::after{
    content:"";position:absolute;top:-120px;right:-120px;width:380px;height:380px;border-radius:50%;
    background:radial-gradient(circle, rgba(124,92,255,0.35), transparent 70%);
    pointer-events:none;
  }
  /* banner form is visible again — restore the 2-col split */
  .hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr 0.95fr;gap:40px;align-items:start;}
  @media (max-width:960px){ .hero-grid{grid-template-columns:1fr;gap:28px;} }
  .hero h1{font-size:clamp(28px,4.4vw,44px);font-weight:800;max-width:20ch;}
  .hero .sub{margin-top:14px;font-size:16.5px;color:#C7CCEE;max-width:52ch;}
  .usp-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px;}
  .usp-badge{
    display:flex;align-items:center;gap:7px;
    font-family:var(--font-display);font-weight:700;font-size:13px;
    padding:8px 13px;border-radius:100px;
    background:rgba(255,255,255,0.07);
    border:1px solid rgba(255,255,255,0.18);
    color:#F0F1FF;
  }
  .usp-badge svg{width:14px;height:14px;stroke:var(--cyan);flex-shrink:0;}
  .hero-ctas{margin-top:24px;}
  .hero-microcopy{margin-top:10px;font-size:13px;color:#9AA1D2;}

  /* ---------- Lead forms ----------
     Only the banner/hero form (#leadForm1) is visible.
     The mid-page (#leadForm2) and final (#leadForm3) forms stay in the DOM
     and fully functional, just hidden from view. */
  #leadForm2, #leadForm3{
    position:absolute !important;
    width:1px;height:1px;
    padding:0;margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0;
  }

  /* mid-page form-section had nothing left in it once #leadForm2 is hidden — hide the empty band */
  .form-section{display:none;}

  .lead-form{position:relative;}

  /* ---------- Section heads (tightened) ---------- */
  .sec-head{max-width:660px;margin-bottom:28px;}
  .sec-head h2{font-size:clamp(22px,3vw,32px);}
  .sec-head .sec-sub{margin-top:10px;color:var(--ink-soft);font-size:15.5px;line-height:1.55;}
  .sec-head.center{margin-left:auto;margin-right:auto;text-align:center;}
  @media (max-width:720px){ .sec-head{margin-bottom:22px;} }

  /* ---------- Problem section ---------- */
  .problem{background:var(--navy);color:#fff;}
  .problem .sec-head .sec-sub{color:#B7BEE0;}
  .problem-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
  @media (max-width:820px){ .problem-grid{grid-template-columns:1fr;} }
  .p-card{
    background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.12);
    border-radius:var(--radius-md);padding:16px 18px;font-size:14.5px;color:#E7E9FA;
    transition:background .15s ease, border-color .15s ease;
  }
  .p-card:hover{background:rgba(255,255,255,0.08);border-color:rgba(124,92,255,0.4);}
  .p-card b{display:block;font-family:var(--font-display);font-weight:700;color:#fff;margin-bottom:5px;font-size:15px;}

  /* ---------- Curriculum ---------- */
  .curr-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
  @media (max-width:1024px){ .curr-grid{grid-template-columns:repeat(3,1fr);gap:12px;} }
  @media (max-width:760px){ .curr-grid{grid-template-columns:repeat(2,1fr);} }
  @media (max-width:480px){ .curr-grid{grid-template-columns:1fr;} }
  .curr-card{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-md);padding:18px 16px;box-shadow:0 2px 8px -6px rgba(14,19,48,0.12);transition:border-color .15s ease, transform .15s ease, box-shadow .15s ease;}
  .curr-card:hover{border-color:var(--violet);transform:translateY(-3px);box-shadow:0 12px 22px -12px rgba(124,92,255,0.35);}
  .curr-card .cc-num{font-family:var(--font-mono);font-size:11.5px;color:var(--violet-dim);margin-bottom:8px;}
  .curr-card h3{font-size:16px;margin-bottom:6px;}
  .curr-card p{font-size:13px;color:var(--ink-soft);}

  /* ---------- Practical training ---------- */
  .practical{background:var(--paper-raised);}
  .practical-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center;}
  @media (max-width:900px){ .practical-grid{grid-template-columns:1fr;gap:26px;} }
  .practical h2{font-size:clamp(22px,3.2vw,34px);max-width:14ch;}
  .practical-list{margin-top:18px;display:flex;flex-direction:column;gap:11px;}
  .practical-list li{display:flex;align-items:flex-start;gap:11px;font-size:15px;}
  .practical-list li svg{width:19px;height:19px;stroke:var(--wa-dim);flex-shrink:0;margin-top:2px;}
  .practical-visual{background:var(--navy);border-radius:var(--radius-lg);padding:22px 20px;color:#fff;position:relative;overflow:hidden;}
  .practical-visual .pv-label{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:#9AA1D2;margin-bottom:12px;}
  .pv-step{display:flex;gap:12px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,0.1);}
  .pv-step:last-child{border-bottom:none;}
  .pv-step .pv-n{font-family:var(--font-mono);font-weight:700;color:var(--cyan);font-size:13.5px;flex-shrink:0;width:22px;}
  .pv-step .pv-t{font-family:var(--font-display);font-weight:700;font-size:14px;}
  .pv-step .pv-d{font-size:12px;color:#AAB0DA;margin-top:2px;}

  /* ---------- Internship ---------- */
  .internship{background:var(--navy);color:#fff;position:relative;overflow:hidden;}
  .internship::before{
    content:"";position:absolute;inset:0;
    background-image:radial-gradient(circle, rgba(255,255,255,0.08) 1px, transparent 1.4px);
    background-size:24px 24px;
    mask-image:radial-gradient(ellipse 70% 70% at 30% 40%, black 30%, transparent 90%);
    pointer-events:none;
  }
  .internship .wrap{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center;}
  @media (max-width:900px){ .internship .wrap{grid-template-columns:1fr;gap:26px;} }
  .internship h2{font-size:clamp(22px,3.2vw,34px);max-width:14ch;}
  .internship .sub{margin-top:12px;color:#C7CCEE;font-size:15px;max-width:44ch;}
  .internship-points{margin-top:18px;display:flex;flex-wrap:wrap;gap:8px;}
  .internship-points span{
    font-family:var(--font-mono);font-size:12px;padding:6px 11px;border-radius:100px;
    border:1px solid rgba(255,255,255,0.22);color:#DDE1F8;
  }
  .internship-badge{
    background:linear-gradient(135deg, var(--violet), var(--violet-dim));
    border-radius:var(--radius-lg);
    padding:34px 26px;text-align:center;
    box-shadow:0 18px 44px -18px rgba(124,92,255,0.55);
  }
  .internship-badge .ib-top{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:#E4DEFF;margin-bottom:10px;}
  .internship-badge .ib-num{font-family:var(--font-display);font-weight:800;font-size:clamp(36px,5.6vw,52px);color:#fff;line-height:1;}
  .internship-badge .ib-label{font-family:var(--font-display);font-weight:700;font-size:17px;color:#fff;margin-top:5px;}
  .internship-badge .ib-note{margin-top:11px;font-size:12.5px;color:#E4DEFF;}

  /* ---------- Placement support ---------- */
  .placement-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
  @media (max-width:860px){ .placement-grid{grid-template-columns:repeat(2,1fr);gap:12px;} }
  @media (max-width:560px){ .placement-grid{grid-template-columns:1fr;} }
  .pl-card{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-md);padding:16px;display:flex;gap:11px;align-items:flex-start;box-shadow:0 2px 8px -6px rgba(14,19,48,0.10);}
  .pl-card svg{width:19px;height:19px;stroke:var(--violet-dim);flex-shrink:0;margin-top:2px;}
  .pl-card h4{font-size:14.5px;margin-bottom:3px;}
  .pl-card p{font-size:12.5px;color:var(--ink-soft);}

  /* ---------- Who can join ---------- */
  .audience-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;}
  @media (max-width:1024px){ .audience-grid{grid-template-columns:repeat(3,1fr);} }
  @media (max-width:640px){ .audience-grid{grid-template-columns:repeat(2,1fr);gap:10px;} }
  @media (max-width:380px){ .audience-grid{grid-template-columns:1fr;} }
  .aud-card{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-md);padding:16px 14px;text-align:center;box-shadow:0 2px 8px -6px rgba(14,19,48,0.10);transition:transform .15s ease, box-shadow .15s ease;}
  .aud-card:hover{transform:translateY(-3px);box-shadow:0 12px 22px -12px rgba(124,92,255,0.3);}
  .aud-card .aud-icon{width:36px;height:36px;border-radius:9px;background:var(--violet-soft);display:flex;align-items:center;justify-content:center;margin:0 auto 10px;}
  .aud-card .aud-icon svg{width:18px;height:18px;stroke:var(--violet-dim);}
  .aud-card h4{font-size:14px;margin-bottom:4px;}
  .aud-card p{font-size:12px;color:var(--ink-soft);}

  /* ---------- Career chips ---------- */
  .career-wrap{background:var(--navy);color:#fff;}
  .career-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px;}
  .career-chip{
    font-family:var(--font-display);font-weight:700;font-size:14px;
    padding:12px 18px;border-radius:var(--radius-md);
    background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.16);
    color:#F0F1FF;display:flex;align-items:center;gap:9px;
  }
  .career-chip svg{width:15px;height:15px;stroke:var(--cyan);}
  .career-note{margin-top:16px;font-size:12.5px;color:#9AA1D2;}

  /* ---------- Why TechPanda ---------- */
  .trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
  @media (max-width:860px){ .trust-grid{grid-template-columns:repeat(2,1fr);gap:12px;} }
  @media (max-width:560px){ .trust-grid{grid-template-columns:1fr;} }
  .trust-card{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-md);padding:18px;display:flex;gap:12px;align-items:flex-start;box-shadow:0 2px 8px -6px rgba(14,19,48,0.10);}
  .trust-card svg{width:20px;height:20px;stroke:var(--violet-dim);flex-shrink:0;margin-top:2px;}
  .trust-card h4{font-size:15px;margin-bottom:3px;}
  .trust-card p{font-size:13px;color:var(--ink-soft);}

  /* ---------- Journey timeline ---------- */
  .journey{background:var(--paper);}
  .journey-line{position:relative;display:flex;justify-content:space-between;margin-top:16px;padding-top:30px;}
  .journey-line::before{
    content:"";position:absolute;top:6px;left:0;right:0;height:3px;
    background:repeating-linear-gradient(90deg, var(--violet) 0 10px, transparent 10px 16px);
    border-radius:2px;
  }
  .journey-stop{position:relative;flex:1;text-align:center;padding:0 6px;}
  .journey-stop::before{
    content:"";position:absolute;top:-34px;left:50%;transform:translateX(-50%);
    width:15px;height:15px;border-radius:50%;background:var(--paper-raised);
    border:3px solid var(--violet);
  }
  .journey-stop:last-child::before{border-color:var(--signal);background:var(--signal);}
  .journey-stop .js-num{font-family:var(--font-mono);font-size:10.5px;color:var(--violet-dim);margin-bottom:3px;}
  .journey-stop .js-label{font-family:var(--font-display);font-weight:700;font-size:14px;}
  .journey-stop .js-sub{font-size:11.5px;color:var(--ink-soft);margin-top:3px;}
  @media (max-width:820px){
    .journey-line{flex-direction:column;gap:22px;padding-top:0;padding-left:24px;}
    .journey-line::before{top:0;bottom:0;left:6px;width:3px;height:auto;right:auto;
      background:repeating-linear-gradient(180deg, var(--violet) 0 10px, transparent 10px 16px);}
    .journey-stop{text-align:left;padding:0;}
    .journey-stop::before{top:2px;left:-24px;transform:none;}
  }

  /* ---------- Testimonials ---------- */
  .testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
  @media (max-width:860px){ .testi-grid{grid-template-columns:repeat(2,1fr);gap:12px;} }
  @media (max-width:600px){ .testi-grid{grid-template-columns:1fr;} }
  .testi-card{border:1.5px dashed var(--line);border-radius:var(--radius-md);padding:18px;background:var(--paper-raised);}
  .testi-card .ph-badge{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.06em;color:var(--violet-dim);text-transform:uppercase;border:1px solid var(--line);border-radius:100px;padding:4px 9px;display:inline-block;margin-bottom:11px;}
  .testi-card p{font-size:14px;color:var(--ink-soft);font-style:italic;}
  .testi-card .testi-meta{margin-top:12px;font-size:12.5px;color:var(--ink);font-weight:600;font-family:var(--font-display);}

  /* ---------- FAQ ---------- */
  .faq-list{border-top:1px solid var(--line);}
  .faq-item{border-bottom:1px solid var(--line);}
  .faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px;background:none;border:none;text-align:left;padding:16px 4px;font-family:var(--font-display);font-weight:600;font-size:15.5px;color:var(--ink);}
  .faq-q .faq-plus{font-family:var(--font-mono);font-size:19px;color:var(--violet-dim);flex-shrink:0;transition:transform .2s ease;}
  .faq-item.open .faq-plus{transform:rotate(45deg);}
  .faq-a{max-height:0;overflow:hidden;transition:max-height .25s ease, padding .25s ease;font-size:14.5px;color:var(--ink-soft);padding:0 4px;}
  .faq-item.open .faq-a{max-height:260px;padding-bottom:16px;}

  /* ---------- Final CTA (buttons only — form hidden) ---------- */
  .final-cta{background:var(--navy);color:#fff;position:relative;overflow:hidden;}
  .final-cta::before{
    content:"";position:absolute;inset:0;
    background-image:radial-gradient(circle, rgba(255,255,255,0.09) 1px, transparent 1.4px);
    background-size:24px 24px;
    mask-image:radial-gradient(ellipse 70% 60% at 50% 30%, black 30%, transparent 90%);
  }
  .final-cta .wrap{position:relative;z-index:1;}
  .final-head{text-align:center;max-width:600px;margin:0 auto 20px;}
  .final-head h2{font-size:clamp(24px,3.8vw,38px);}
  .final-head .sub{margin-top:12px;color:#C7CCEE;font-size:15.5px;}
  .final-secondary{margin-top:6px;text-align:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:center;}

  /* ---------- Footer ---------- */
  .site-footer{background:#080A16;color:#9298C0;padding:48px 0 24px;font-size:14px;}
  .site-footer .container{max-width:var(--container);margin:0 auto;padding:0 22px;}
  @media (max-width:720px){ .site-footer .container{padding:0 20px;} }
  .site-footer a{color:#9298C0;transition:color .15s;}
  .site-footer a:hover{color:#fff;}
  .footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1.3fr;gap:32px;padding-bottom:28px;border-bottom:1px solid rgba(255,255,255,0.08);}
  @media (max-width:860px){ .footer-grid{grid-template-columns:1fr 1fr;} }
  @media (max-width:560px){ .footer-grid{grid-template-columns:1fr;gap:22px;} }
  .footer-brand .logo{display:flex;align-items:center;gap:8px;cursor:pointer;margin-bottom:12px;}
  .footer-brand p{font-size:13px;line-height:1.65;color:#767CA0;margin-bottom:16px;}
  .footer-socials{display:flex;gap:12px;}
  .footer-socials a{color:#9298C0;display:inline-flex;}
  .footer-socials a:hover{color:var(--violet);}
  .footer-col h4{font-family:var(--font-display);font-size:14px;font-weight:700;color:#fff;margin-bottom:12px;letter-spacing:0.01em;}
  .footer-col a,.footer-col p{display:block;font-size:13px;margin-bottom:9px;line-height:1.55;}
  .footer-contact{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:9px;font-size:13px;}
  .footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;padding-top:18px;font-size:12px;color:#585E85;}
  .footer-bottom a:hover{color:#fff;}
  .footer-legal{display:flex;gap:16px;}
  .footer-legal a{font-size:12px;color:#767CA0;}

  /* ---------- Floating contact ---------- */
  .float-contact{position:fixed;right:18px;bottom:18px;z-index:9999;display:flex;flex-direction:column;align-items:flex-end;gap:9px;}
  .float-btn{display:flex;align-items:center;justify-content:flex-start;width:46px;height:46px;padding:0;border-radius:50px;color:#fff;text-decoration:none;font-family:var(--font-display);font-weight:700;font-size:13px;overflow:hidden;box-shadow:0 8px 18px -6px rgba(0,0,0,0.35);
    transition:width 0.3s ease, transform 0.3s ease, border-radius 0.3s ease;}
  .float-btn .ico{flex:0 0 46px;width:46px;height:46px;display:flex;align-items:center;justify-content:center;font-size:17px;line-height:1;}
  .float-btn span:not(.ico){white-space:nowrap;opacity:0;visibility:hidden;transform:translateX(10px);
    transition:opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease;}
  .float-btn:hover{width:138px;transform:translateX(-14px);border-radius:28px;}
  .float-btn:hover span:not(.ico){opacity:1;visibility:visible;transform:translateX(0);}
  .float-btn.call{background:var(--navy);}
  .float-btn.whatsapp{background:var(--wa);}
  .float-btn.demo{background:var(--signal);color:var(--signal-ink);}
  @media (max-width:860px){ .site-footer{padding-bottom:70px;} }

  /* ---------- 30-second popup (this is now the primary lead-capture UI) ---------- */
  .popup-overlay{
    position:fixed;inset:0;z-index:1000;
    background:rgba(11,14,30,0.72);
    display:flex;align-items:center;justify-content:center;
    padding:18px;
    opacity:0;pointer-events:none;
    transition:opacity .2s ease;
  }
  .popup-overlay.open{opacity:1;pointer-events:auto;}
  .popup-card{
    position:relative;
    background:var(--paper-raised);
    border-radius:var(--radius-lg);
    padding:24px 22px 20px;
    max-width:420px;width:100%;
    max-height:90vh;overflow-y:auto;
    box-shadow:0 26px 70px -18px rgba(0,0,0,0.5);
    transform:translateY(12px) scale(.98);
    transition:transform .2s ease;
  }
  .popup-overlay.open .popup-card{transform:translateY(0) scale(1);}
  .popup-card .fc-head{margin-bottom:16px;}
  .popup-card .fc-tag{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;
    color:var(--violet-dim);background:var(--violet-soft);
    padding:5px 10px;border-radius:100px;margin-bottom:10px;}
  .popup-card h3{font-size:19px;}
  .popup-card .fc-sub{margin-top:5px;font-size:13px;color:var(--ink-soft);}
  .popup-card .f-row{margin-bottom:12px;}
  .popup-close{
    position:absolute;top:12px;right:12px;
    width:30px;height:30px;border-radius:50%;
    background:var(--paper);border:1px solid var(--line);
    font-size:19px;line-height:1;color:var(--ink-soft);
    display:flex;align-items:center;justify-content:center;
    cursor:pointer;
  }
  .popup-close:hover{background:var(--violet-soft);color:var(--violet-dim);}
  .popup-card .btn{width:100%;margin-top:4px;font-size:15.5px;}
  .field-err{display:none;color:#E23B3B;font-size:11.5px;margin-top:4px;}
  .field-error{border-color:#E23B3B !important;}
  @media (max-width:480px){ .popup-card{padding:20px 16px 18px;} }

  /* Shared form-field styling (used by popup + visible banner form) */
  .form-card{
    background:var(--paper-raised);
    border-radius:var(--radius-lg);
    padding:22px 20px 20px;
    box-shadow:0 20px 50px -18px rgba(10,13,35,0.55);
    color:var(--ink);
    position:relative;
    z-index:1;
  }
  .fc-head{margin-bottom:16px;}
  .form-card h3{font-size:19px;}
  .form-card .fc-sub{margin-top:5px;font-size:13px;color:var(--ink-soft);}
  .f-row{margin-bottom:12px;}
  .f-row label{font-size:12px;font-weight:600;color:var(--ink-soft);margin-bottom:5px;}
  .f-row input, .f-row select{
    width:100%;padding:12px 13px;border-radius:var(--radius-sm);
    border:1.5px solid var(--line);background:var(--paper);
    font-size:14.5px;color:var(--ink);
  }
  .f-row input:focus, .f-row select:focus{border-color:var(--violet);background:#fff;}
  .f-2col{display:grid;grid-template-columns:1fr 1fr;gap:11px;}
  @media (max-width:480px){ .f-2col{grid-template-columns:1fr;} }
  .form-card .btn{width:100%;margin-top:5px;font-size:15.5px;}
  .fc-trust{margin-top:11px;font-size:12px;color:var(--ink-soft);text-align:center;display:flex;align-items:center;justify-content:center;gap:6px;}
  .fc-success{display:none;text-align:center;padding:16px 6px;}
  .fc-success.show{display:block;}
  .fc-success svg{width:40px;height:40px;stroke:var(--wa-dim);margin:0 auto 12px;}
  .fc-success h4{font-size:17px;margin-bottom:7px;}
  .fc-success p{font-size:13.5px;color:var(--ink-soft);margin-bottom:14px;}
  .lead-form.is-submitted form, .lead-form.is-submitted .fc-head{display:none;}