  :root {
    --bg:#ffffff; --surface:#f5f3ff; --card:#ffffff;
    --purple:#5b21f5; --purple2:#7c3aed; --glow:#6d28d9;
    --white:#1a0050; --gray:#6b5c8a; --border:rgba(91,33,245,.12);
    --teal:#0ea5e9; --teal2:#06b6d4;
  }
  *,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
  html{scroll-behavior:smooth;overflow-x:hidden;}
  body{background:var(--bg);color:var(--white);font-family:Nunito,sans-serif;overflow-x:hidden;}
  @media(pointer:fine){body{cursor:none;}}
  @media(pointer:coarse){.cursor,.cursor-ring{display:none;}a,button,label,[role="button"]{cursor:pointer;}}

  .cursor{width:10px;height:10px;background:var(--purple);border-radius:50%;position:fixed;pointer-events:none;z-index:9999;transition:transform .15s;}
  .cursor-ring{width:34px;height:34px;border:1.5px solid var(--purple);border-radius:50%;position:fixed;pointer-events:none;z-index:9998;transition:all .3s cubic-bezier(.23,1,.32,1);opacity:.4;}

  /* NAV */
  nav{position:fixed;top:0;left:0;right:0;z-index:200;padding:16px 48px;display:flex;justify-content:space-between;align-items:center;background:rgba(255,255,255,0.92);backdrop-filter:blur(24px);border-bottom:1px solid var(--border);}
  .logo-wrap{display:flex;align-items:center;gap:12px;text-decoration:none;}
  .logo-wrap a{display:flex;align-items:center;text-decoration:none;}
  .logo-img{height:52px;width:auto;display:block;}
  .nav-right{display:flex;align-items:center;gap:16px;}
  .logo-sub{font-size:.58rem;letter-spacing:.15em;text-transform:uppercase;color:var(--gray);border-left:1px solid var(--border);padding-left:12px;line-height:1.5;font-weight:700;}
  .nav-links{display:flex;gap:28px;list-style:none;}
  .nav-links a{color:var(--gray);text-decoration:none;font-size:.78rem;font-weight:700;letter-spacing:.04em;transition:color .2s;}
  .nav-links a:hover{color:var(--purple);}
  .nav-academy-link{color:var(--teal)!important;}
  .nav-academy-link:hover{color:var(--teal2)!important;}
  .nav-cta{background:linear-gradient(135deg,var(--purple),var(--purple2));color:#fff;padding:10px 22px;font-weight:800;font-size:.76rem;letter-spacing:.05em;border:none;cursor:pointer;text-decoration:none;border-radius:100px;transition:all .25s;box-shadow:0 4px 20px rgba(91,33,245,.25);}
  .nav-cta:hover{transform:translateY(-2px);box-shadow:0 8px 32px rgba(91,33,245,.4);}

  /* HERO */
  .hero{min-height:100vh;display:grid;grid-template-columns:1fr 1.15fr;align-items:stretch;gap:48px;padding:120px 48px 96px;position:relative;overflow:visible;background:transparent;}
  .hero-left{display:flex;flex-direction:column;justify-content:center;position:relative;z-index:2;}
  .hero-right{display:flex;align-items:stretch;position:relative;z-index:2;justify-content:stretch;}
  .hero-glow{position:absolute;width:800px;height:800px;background:radial-gradient(circle,rgba(91,33,245,.07) 0%,transparent 65%);top:-200px;right:-150px;border-radius:50%;pointer-events:none;z-index:0;animation:glowPulse 7s ease-in-out infinite alternate;}
  .hero-glow2{position:absolute;width:500px;height:500px;background:radial-gradient(circle,rgba(167,139,250,.09) 0%,transparent 65%);bottom:-80px;left:-80px;border-radius:50%;pointer-events:none;animation:glowPulse 9s 2s ease-in-out infinite alternate;}
  @keyframes glowPulse{from{opacity:.5;transform:scale(1)}to{opacity:1;transform:scale(1.1)}}
  .hero::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(91,33,245,.1) 1px,transparent 1px);background-size:32px 32px;pointer-events:none;}
  .sparks{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:1;}
  .spark{position:absolute;border-radius:50%;opacity:0;animation:sparkFloat linear infinite;}.spark.s-purple{background:var(--purple);box-shadow:0 0 8px rgba(91,33,245,.5);}.spark.s-cyan{background:#7c3aed;box-shadow:0 0 8px rgba(124,58,237,.6);}
  @keyframes sparkFloat{0%{opacity:0;transform:translateY(0) scale(0) rotate(0deg)}8%{opacity:.7}85%{opacity:.35}100%{opacity:0;transform:translateY(-98vh) scale(1.8) rotate(180deg)}}

  .hero-kicker{display:inline-flex;align-items:center;gap:10px;background:rgba(91,33,245,.07);border:1px solid rgba(91,33,245,.18);padding:6px 16px 6px 10px;border-radius:100px;font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--purple);width:fit-content;margin-bottom:28px;opacity:0;animation:fadeUp .7s .2s forwards;}
  .kicker-dot{width:6px;height:6px;border-radius:50%;background:var(--purple);animation:blink 1.5s infinite;flex-shrink:0;}
  @keyframes blink{0%,100%{opacity:1}50%{opacity:.3}}

  .hero-headline{font-size:clamp(2.4rem,4.2vw,5rem);font-weight:900;line-height:1.05;letter-spacing:-.035em;margin-bottom:20px;color:#1a0050;opacity:0;animation:fadeUp .8s .35s forwards;}
  .hero-headline .hl-purple{background:linear-gradient(135deg,var(--purple),var(--purple2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
  .hero-headline .hl-italic{font-family:Fraunces,serif;font-style:italic;font-weight:300;color:var(--purple2);-webkit-text-fill-color:var(--purple2);}

  .hero-sub{font-size:.95rem;color:var(--gray);line-height:1.75;max-width:460px;margin-bottom:16px;font-weight:600;opacity:0;animation:fadeUp .8s .45s forwards;}

  /* industries pills */
  .hero-industries{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:36px;opacity:0;animation:fadeUp .8s .52s forwards;}
  .ind-pill{font-size:.65rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:5px 12px;border-radius:100px;border:1.5px solid rgba(91,33,245,.2);color:var(--purple);background:rgba(91,33,245,.05);}

  .hero-btns{display:flex;gap:16px;align-items:center;opacity:0;animation:fadeUp .8s .62s forwards;margin-bottom:0;}
  .btn-glow{background:linear-gradient(135deg,var(--purple),var(--purple2));color:#fff;padding:14px 30px;font-weight:800;font-size:.88rem;border-radius:100px;border:none;cursor:pointer;text-decoration:none;transition:all .25s;box-shadow:0 4px 24px rgba(91,33,245,.3);display:inline-block;}
  .btn-glow:hover{transform:translateY(-3px);box-shadow:0 12px 40px rgba(91,33,245,.45);}
  .btn-ghost{color:var(--purple);font-weight:700;font-size:.88rem;text-decoration:none;border:1.5px solid rgba(91,33,245,.3);padding:13px 26px;border-radius:100px;transition:all .25s;display:inline-block;}
  .btn-ghost:hover{border-color:var(--purple);background:rgba(91,33,245,.05);}

  /* ── INDUSTRY DASHBOARD WIDGET ── */
  #industryWidget{width:100%;height:100%;min-height:580px;opacity:0;animation:fadeUp .9s .5s forwards;display:flex;flex-direction:column;gap:0;border-radius:20px;overflow:hidden;box-shadow:0 32px 100px rgba(91,33,245,.22),0 0 0 1px rgba(91,33,245,.12);}
  /* tab bar */
  .iw-tabs{display:flex;background:#f0ebff;}
  .iw-tab{flex:1;padding:16px 8px;text-align:center;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:all .25s;color:#9474e8;border-bottom:3px solid transparent;display:flex;align-items:center;justify-content:center;gap:7px;}
  .iw-tab.active{background:#fff;color:var(--purple);border-bottom:2px solid var(--purple);}
  .iw-tab:not(.active):hover{background:#e8e0ff;color:var(--purple);}
  /* panels */
  .iw-panels{flex:1;background:#fff;position:relative;min-height:520px;}
  .iw-panel{position:absolute;inset:0;padding:28px 28px 24px;display:none;flex-direction:column;gap:16px;overflow:hidden;}
  .iw-panel.active{display:flex;}
  /* panel header */
  .iw-panel-header{display:flex;justify-content:space-between;align-items:flex-start;}
  .iw-panel-title{font-size:.9rem;font-weight:800;color:#1a0050;letter-spacing:-.01em;}
  .iw-panel-sub{font-size:.7rem;color:var(--gray);font-weight:600;margin-top:3px;}
  .iw-live-badge{display:flex;align-items:center;gap:5px;font-size:.58rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#16a34a;background:rgba(22,163,74,.08);border:1px solid rgba(22,163,74,.2);padding:3px 9px;border-radius:100px;}
  .iw-live-dot{width:5px;height:5px;border-radius:50%;background:#16a34a;animation:blink 1.2s infinite;}
  /* metric cards row */
  .iw-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}
  .iw-metric{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:16px 14px;}
  .iw-metric-val{font-size:1.75rem;font-weight:900;letter-spacing:-.04em;color:#1a0050;line-height:1;}
  .iw-metric-val span{font-size:1rem;}
  .iw-metric-val.up{color:#16a34a;}
  .iw-metric-val.hi{background:linear-gradient(135deg,var(--purple),var(--purple2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
  .iw-metric-key{font-size:.64rem;font-weight:700;color:var(--gray);letter-spacing:.08em;text-transform:uppercase;margin-top:6px;}
  /* mini chart bar */
  .iw-chart{display:flex;align-items:flex-end;gap:4px;height:64px;padding:0 2px;}
  .iw-bar{flex:1;border-radius:3px 3px 0 0;background:var(--border);transition:height .6s cubic-bezier(.23,1,.32,1);}
  /* activity feed */
  .iw-feed{display:flex;flex-direction:column;gap:6px;flex:1;overflow:hidden;}
  .iw-feed-item{display:flex;align-items:flex-start;gap:12px;font-size:.8rem;padding:11px 14px;border-radius:12px;background:var(--surface);border:1px solid var(--border);animation:feedSlide .4s ease;}
  @keyframes feedSlide{from{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:translateX(0)}}
  .feed-icon{width:32px;height:32px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:.9rem;flex-shrink:0;}
  .feed-icon.cyan{background:rgba(14,165,233,.12);}
  .feed-icon.purple{background:rgba(91,33,245,.1);}
  .feed-icon.green{background:rgba(22,163,74,.1);}
  .feed-icon.orange{background:rgba(234,88,12,.1);}
  .feed-text{flex:1;line-height:1.4;color:#1a0050;font-weight:600;}
  .feed-text span{color:var(--gray);font-weight:600;font-size:.72rem;display:block;margin-top:2px;}
  .feed-time{font-size:.65rem;color:var(--gray);white-space:nowrap;margin-top:2px;font-family:"DM Mono",monospace;}
  /* workflow mini strip */
  .iw-workflow{display:flex;align-items:center;gap:0;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:14px 18px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;}.iw-workflow::-webkit-scrollbar{display:none;}
  .wf-step{display:flex;align-items:center;gap:7px;font-size:.72rem;font-weight:700;color:var(--gray);white-space:nowrap;}
  .wf-step.active-step{color:var(--purple);}
  .wf-step.done-step{color:#16a34a;}
  .wf-step-icon{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:.85rem;background:var(--border);}
  .wf-step.active-step .wf-step-icon{background:rgba(91,33,245,.12);}
  .wf-step.done-step .wf-step-icon{background:rgba(22,163,74,.1);}
  .wf-arrow{color:var(--border);font-size:.8rem;margin:0 5px;flex-shrink:0;}
  .wf-arrow.active-arrow{color:var(--purple);animation:arrowPulse .8s ease-in-out infinite alternate;}
  @keyframes arrowPulse{from{opacity:.4}to{opacity:1}}

  @keyframes fadeUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}

  /* MARQUEE */
  .marquee-wrap{border-top:2px solid rgba(91,33,245,.15);border-bottom:2px solid rgba(91,33,245,.15);background:var(--surface);padding:22px 0;overflow:hidden;}
  .marquee-track{display:flex;width:max-content;animation:marquee 24s linear infinite;}
  .mitem{padding:0 56px;font-size:.72rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--gray);white-space:nowrap;display:flex;align-items:center;gap:56px;}
  .mitem .dot{color:var(--purple);font-size:1rem;}
  @keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

  /* COMMON */
  section{padding:110px 48px;}
  .sec-label{display:inline-flex;align-items:center;gap:10px;font-size:.63rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:var(--purple);margin-bottom:52px;}
  .sec-label::before{content:"";width:28px;height:2px;background:var(--purple);display:inline-block;border-radius:2px;}
  .sec-label.teal-label{color:var(--teal);}
  .sec-label.teal-label::before{background:var(--teal);}

  /* ── AI SYSTEMS SECTION ── */
  .ai-systems{background:#fff;}
  .systems-header{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:60px;}
  .systems-headline{font-size:clamp(2.2rem,4.5vw,3.8rem);font-weight:900;letter-spacing:-.04em;line-height:1.05;color:#1a0050;}
  .systems-headline em{font-family:Fraunces,serif;font-style:italic;font-weight:300;background:linear-gradient(135deg,var(--purple),var(--purple2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
  .systems-sub{max-width:300px;font-size:.875rem;color:var(--gray);line-height:1.7;font-weight:600;}

  /* industry tabs */
  .industry-tabs{display:flex;gap:10px;margin-bottom:48px;flex-wrap:wrap;}
  .ind-tab{padding:9px 20px;border-radius:100px;font-size:.75rem;font-weight:800;letter-spacing:.05em;cursor:pointer;transition:all .25s;border:1.5px solid var(--border);color:var(--gray);}
  .ind-tab.active,.ind-tab:hover{background:linear-gradient(135deg,var(--purple),var(--purple2));color:#fff;border-color:transparent;box-shadow:0 4px 20px rgba(91,33,245,.25);}

  .systems-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
  .sys-card{background:#fff;border:1.5px solid var(--border);border-radius:24px;padding:36px 32px;position:relative;overflow:hidden;cursor:default;transition:transform .35s cubic-bezier(.23,1,.32,1),border-color .3s,box-shadow .3s;}
  .sys-card:hover{transform:translateY(-6px);border-color:rgba(91,33,245,.35);box-shadow:0 20px 60px rgba(91,33,245,.1);}
  .sys-card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--purple),var(--purple2));opacity:0;transition:opacity .3s;}
  .sys-card:hover::before{opacity:1;}
  .sys-icon{font-size:1.8rem;margin-bottom:16px;display:block;}
  .sys-title{font-size:1.15rem;font-weight:800;letter-spacing:-.02em;margin-bottom:12px;color:#1a0050;line-height:1.2;}
  .sys-desc{font-size:.8rem;line-height:1.75;color:var(--gray);font-weight:600;}
  .sys-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px;}
  .tag{font-size:.6rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:4px 11px;border-radius:100px;background:rgba(91,33,245,.07);color:var(--purple);border:1px solid rgba(91,33,245,.18);}

  /* industry badge on cards */
  .ind-badge{display:inline-flex;align-items:center;gap:6px;font-size:.6rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--gray);margin-bottom:16px;}
  .ind-badge-dot{width:5px;height:5px;border-radius:50%;background:var(--purple);}

  /* ── ACADEMY DIVIDER ── */
  .academy-divider{background:linear-gradient(135deg,#1a0050,#2d1575);padding:72px 48px;display:flex;justify-content:space-between;align-items:center;gap:48px;position:relative;overflow:hidden;}
  .academy-divider::before{content:"";position:absolute;width:600px;height:600px;background:radial-gradient(circle,rgba(91,33,245,.4) 0%,transparent 65%);top:-250px;right:-100px;border-radius:50%;pointer-events:none;}
  .acad-left{position:relative;z-index:1;}
  .acad-eyebrow{font-size:.63rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:rgba(196,181,253,.7);margin-bottom:16px;}
  .acad-headline{font-size:clamp(2rem,4vw,3.2rem);font-weight:900;letter-spacing:-.04em;line-height:1.05;color:#fff;margin-bottom:12px;}
  .acad-headline em{font-family:Fraunces,serif;font-style:italic;font-weight:300;color:#c4b5fd;}
  .acad-sub{font-size:.9rem;color:rgba(196,181,253,.75);line-height:1.7;max-width:440px;font-weight:600;}
  .acad-right{display:flex;flex-direction:column;align-items:flex-end;gap:16px;position:relative;z-index:1;}
  .acad-domain{font-family:"DM Mono",monospace;font-size:1.2rem;font-weight:500;color:#c4b5fd;letter-spacing:.05em;margin-bottom:8px;}
  .btn-acad{background:linear-gradient(135deg,#7c3aed,#a855f7);color:#fff;padding:14px 30px;font-weight:800;font-size:.88rem;border-radius:100px;text-decoration:none;transition:all .25s;box-shadow:0 4px 24px rgba(124,58,237,.4);display:inline-block;border:none;cursor:pointer;}
  .btn-acad:hover{transform:translateY(-3px);box-shadow:0 12px 40px rgba(168,85,247,.5);}
  .acad-note{font-size:.7rem;color:rgba(196,181,253,.5);font-weight:700;letter-spacing:.05em;}

  /* ── ACADEMY COURSES ── */
  .academy{background:var(--surface);}
  .academy-header{display:grid;grid-template-columns:1fr 1fr;gap:80px;margin-bottom:64px;align-items:end;}
  .acad-section-headline{font-size:clamp(2rem,4vw,3.5rem);font-weight:900;letter-spacing:-.04em;line-height:1.05;color:#1a0050;}
  .acad-section-headline em{font-family:Fraunces,serif;font-style:italic;font-weight:300;background:linear-gradient(135deg,var(--purple),#a855f7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
  .acad-section-desc{font-size:.875rem;line-height:1.8;color:var(--gray);font-weight:600;}
  .acad-powered{display:inline-flex;align-items:center;gap:8px;margin-top:16px;font-size:.68rem;font-weight:800;letter-spacing:.08em;color:var(--gray);background:rgba(91,33,245,.06);padding:6px 14px;border-radius:100px;border:1px solid var(--border);}
  .acad-powered img{height:16px;}

  .courses-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
  .course-card{background:#fff;border:1.5px solid var(--border);border-radius:24px;padding:32px 28px;cursor:none;transition:transform .35s cubic-bezier(.23,1,.32,1),border-color .3s,box-shadow .3s;position:relative;overflow:hidden;}
  .course-card:hover{transform:translateY(-8px);border-color:rgba(91,33,245,.35);box-shadow:0 16px 48px rgba(91,33,245,.1);}
  .course-card::after{content:attr(data-domain);position:absolute;top:20px;right:20px;font-size:.55rem;font-family:"DM Mono",monospace;color:rgba(91,33,245,.4);font-weight:500;letter-spacing:.05em;}
  .course-emoji{font-size:1.8rem;margin-bottom:16px;display:block;}
  .course-name{font-size:1rem;font-weight:800;letter-spacing:-.01em;margin-bottom:10px;line-height:1.3;color:#1a0050;}
  .course-topics{font-size:.75rem;color:var(--gray);line-height:1.65;font-weight:600;}
  .course-badge{display:inline-block;margin-top:18px;font-size:.6rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;padding:4px 11px;border-radius:100px;background:rgba(91,33,245,.08);color:var(--purple);border:1px solid rgba(91,33,245,.2);}
  .course-highlight{background:linear-gradient(135deg,#f5f3ff,#ede9fe)!important;border-color:rgba(91,33,245,.2)!important;}

  /* internship highlight */
  .intern-banner{background:linear-gradient(135deg,var(--purple),var(--purple2));border-radius:24px;padding:36px 40px;display:flex;justify-content:space-between;align-items:center;gap:32px;margin-top:20px;}
  .intern-text h3{font-size:1.3rem;font-weight:900;color:#fff;letter-spacing:-.02em;margin-bottom:8px;}
  .intern-text p{font-size:.85rem;color:rgba(255,255,255,.75);font-weight:600;max-width:420px;line-height:1.6;}
  .btn-white{background:#fff;color:var(--purple);padding:12px 28px;font-weight:800;font-size:.82rem;border-radius:100px;text-decoration:none;transition:all .25s;box-shadow:0 4px 20px rgba(0,0,0,.15);display:inline-block;white-space:nowrap;border:none;cursor:pointer;}
  .btn-white:hover{transform:translateY(-2px);box-shadow:0 8px 32px rgba(0,0,0,.2);}

  /* ── WHY US ── */
  .why{background:#fff;display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center;padding:80px 6vw;}
  .why-visual{position:relative;aspect-ratio:1;max-width:440px;}
  .why-ring{position:absolute;border-radius:50%;border:1px solid;}
  .r1{inset:0;border-color:rgba(91,33,245,.15);animation:spin 28s linear infinite;}
  .r2{inset:14%;border-color:rgba(124,58,237,.12);animation:spin 18s linear infinite reverse;}
  .r3{inset:28%;border-color:rgba(167,139,250,.1);animation:spin 12s linear infinite;}
  .why-center{position:absolute;inset:30%;background:linear-gradient(135deg,var(--purple),var(--purple2));border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 48px rgba(91,33,245,.4);z-index:10;}
  .why-logo-img{width:76%;height:76%;object-fit:contain;filter:brightness(0) invert(1);}
  @keyframes spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}

  /* ── WHY VISUAL — PULSE RIPPLES ── */
  .why-pulse{position:absolute;inset:30%;border-radius:50%;border:1.5px solid rgba(91,33,245,.45);pointer-events:none;z-index:2;animation:whyPulse 4.2s ease-out infinite;}
  @keyframes whyPulse{0%{transform:scale(1);opacity:.75}100%{transform:scale(2.85);opacity:0}}

  /* ── WHY VISUAL — ORBIT TRACKS & NODES ── */
  .why-orbit-track{position:absolute;inset:0;border-radius:50%;pointer-events:none;z-index:4;}
  /* outer ring track — 3 industry nodes, spins forward 22s */
  .wot-r1{animation:spin 22s linear infinite;}
  /* middle ring track — 2 AI nodes, spins backward 15s */
  .wot-r2{inset:14%;animation:spin 15s linear infinite reverse;}
  /* Angular offsets: 3 nodes × 120° apart on 22s orbit */
  .wot-a{animation-delay:0s;}
  .wot-b{animation-delay:-7.33s;}
  .wot-c{animation-delay:-14.67s;}
  /* 2 nodes × 180° apart on 15s orbit */
  .wot-d{animation-delay:0s;}
  .wot-e{animation-delay:-7.5s;}
  /* Node bubbles */
  .why-orbit-node{position:absolute;top:-19px;left:calc(50% - 19px);width:38px;height:38px;background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem;box-shadow:0 4px 16px rgba(91,33,245,.22),0 0 0 1.5px rgba(91,33,245,.1);}
  /* Industry nodes counter-rotate so emoji stays upright (cancels wot-r1's forward spin) */
  .won-industry{animation:spin 22s linear infinite reverse;}
  /* AI nodes counter-rotate (cancels wot-r2's reverse spin = spin forward) */
  .won-ai{width:30px;height:30px;top:-15px;left:calc(50% - 15px);font-size:.85rem;animation:spin 15s linear infinite;}
  .why-headline{font-size:clamp(1.8rem,3.5vw,3rem);font-weight:900;letter-spacing:-.04em;line-height:1.05;margin-bottom:10px;color:#1a0050;}
  .why-intro{font-size:.875rem;color:var(--gray);line-height:1.7;margin-bottom:36px;font-weight:600;}
  .why-list{list-style:none;display:flex;flex-direction:column;gap:16px;}
  .why-item{display:flex;gap:14px;padding-bottom:16px;border-bottom:1px solid var(--border);}
  .why-check{width:22px;height:22px;border-radius:50%;flex-shrink:0;margin-top:2px;background:linear-gradient(135deg,var(--purple),var(--purple2));display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:900;color:#fff;}
  .why-item-text{font-size:.82rem;line-height:1.6;color:#4a3d6e;font-weight:600;}
  .why-item-text strong{color:#1a0050;font-weight:800;}

  /* ── CTA ── */
  .cta-band{padding:90px 48px;background:linear-gradient(135deg,var(--purple) 0%,var(--purple2) 100%);display:flex;justify-content:space-between;align-items:center;gap:48px;position:relative;overflow:hidden;}
  .cta-band::before{content:"";position:absolute;width:600px;height:600px;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 65%);top:-200px;right:-100px;border-radius:50%;pointer-events:none;}
  .cta-text{font-size:clamp(2.6rem,5.5vw,5rem);font-weight:900;letter-spacing:-.04em;line-height:1;color:#fff;position:relative;z-index:1;}
  .cta-text em{font-family:Fraunces,serif;font-style:italic;font-weight:300;color:rgba(255,255,255,.8);}
  .cta-actions{display:flex;flex-direction:column;align-items:flex-end;gap:14px;position:relative;z-index:1;}
  .cta-sub{font-size:.73rem;font-weight:700;color:rgba(255,255,255,.55);letter-spacing:.05em;}

  /* FOOTER */
  footer{background:var(--surface);border-top:1px solid var(--border);padding:60px 48px 36px;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;}
  .footer-logo-img{height:44px;margin-bottom:14px;display:block;}
  .footer-tagline{font-size:.8rem;color:var(--gray);line-height:1.7;max-width:260px;font-weight:600;}
  .footer-addr{margin-top:20px;font-size:.7rem;color:#9980c8;line-height:1.7;border-left:2px solid var(--purple);padding-left:12px;font-weight:700;}
  .footer-acad-brand{margin-top:20px;display:inline-flex;align-items:center;gap:8px;font-size:.7rem;font-weight:800;color:var(--purple);background:rgba(91,33,245,.07);padding:6px 12px;border-radius:100px;border:1px solid var(--border);text-decoration:none;}
  .footer-col-title{font-size:.6rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--purple);margin-bottom:20px;}
  .footer-links{list-style:none;display:flex;flex-direction:column;gap:11px;}
  .footer-links a{color:var(--gray);text-decoration:none;font-size:.8rem;font-weight:700;transition:color .2s;}
  .footer-links a:hover{color:var(--purple);}
  .footer-bottom{grid-column:1/-1;margin-top:44px;padding-top:22px;border-top:1px solid var(--border);display:flex;justify-content:space-between;font-size:.68rem;color:#c4b8e0;font-weight:700;}

  /* ── PERFORMANCE: will-change hints for GPU-composited layers ── */
  .why-ring,.why-orbit-track{will-change:transform;}
  .why-pulse{will-change:transform,opacity;}
  .spark{will-change:transform,opacity;}
  .marquee-track{will-change:transform;}

  /* ── MOBILE NAV HAMBURGER ── */
  .nav-hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;background:none;border:none;padding:8px;width:40px;height:40px;cursor:pointer;flex-shrink:0;z-index:300;}
  .nav-hamburger span{display:block;width:22px;height:2px;background:var(--white);border-radius:2px;transition:transform .3s,opacity .3s;}
  .nav-hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .nav-hamburger.open span:nth-child(2){opacity:0;transform:scaleX(0);}
  .nav-hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
  .nav-overlay{position:fixed;inset:0;background:rgba(26,0,80,.45);z-index:198;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s;}
  .nav-overlay.open{opacity:1;visibility:visible;}

  /* ── RESPONSIVE: 960px — Tablet / Mobile ── */
  @media(max-width:960px){
    nav{padding:14px 20px;z-index:200;}
    .nav-hamburger{display:flex;}
    /* Slide-in mobile nav drawer */
    .nav-links{
      position:fixed;top:0;right:-100%;
      width:min(300px,85vw);height:100vh;
      background:#fff;flex-direction:column;gap:0;
      padding:72px 0 40px;
      box-shadow:-8px 0 48px rgba(91,33,245,.18);
      transition:right .35s cubic-bezier(.23,1,.32,1);
      z-index:199;list-style:none;display:flex;
      overflow-y:auto;
    }
    .nav-links.open{right:0;}
    .nav-links li a{display:block;padding:18px 28px;font-size:.95rem;font-weight:700;border-bottom:1px solid var(--border);color:var(--white);letter-spacing:.02em;}
    .nav-links li a:hover,.nav-links li a:focus{color:var(--purple);background:rgba(91,33,245,.04);}

    section,.why,.cta-band,.academy-divider,footer{padding:72px 24px;}
    .hero{padding:96px 24px 72px;grid-template-columns:1fr;min-height:auto;} .hero-right{display:none;}
    .systems-grid,.courses-grid{grid-template-columns:1fr;}
    .systems-header{flex-direction:column;gap:24px;}
    .academy-header{grid-template-columns:1fr;gap:24px;}
    .why{grid-template-columns:1fr;gap:48px;} .why-visual{display:flex;justify-content:center;max-width:280px;margin:0 auto;}
    .cta-band{flex-direction:column;text-align:center;padding:72px 24px;} .cta-actions{align-items:center;}
    footer{grid-template-columns:1fr 1fr;gap:36px;}
    .academy-divider{flex-direction:column;} .acad-right{align-items:flex-start;}
    .intern-banner{flex-direction:column;}
    .footer-bottom{flex-direction:column;gap:8px;text-align:center;}
  }

  /* ── RESPONSIVE: 768px — Tablet portrait / Mobile ── */
  @media(max-width:768px){
    nav{padding:12px 16px;}
    .logo-img{height:42px;}
    .logo-sub{display:none;}
    section,.why,.cta-band,footer{padding:64px 20px;}
    .industries{padding:64px 20px 48px;}
    /* Hero: stack left above right, tighten gap */
    .hero{padding:80px 20px 56px;gap:28px;}
    /* Re-show the animation panel below the CTA */
    .hero-right{
      display:flex;
      justify-content:center;
      align-items:flex-start;
      width:100%;
      overflow:hidden; /* prevent any widget bleed */
    }
    /* Contain the widget: fixed height, lighter shadow, no scroll-induced jank */
    #industryWidget{
      min-height:unset;
      height:380px;
      max-height:380px;
      box-shadow:0 8px 32px rgba(91,33,245,.15),0 0 0 1px rgba(91,33,245,.1);
      border-radius:16px;
      /* keep the fadeUp animation but skip the long delay on mobile */
      animation-delay:.1s;
    }
    /* Remove the fixed-height constraint from the panels container */
    .iw-panels{min-height:unset;height:100%;}
    /* Drop the bar chart — saves ~64px of vertical space */
    .iw-chart{display:none;}
    .hero-headline{font-size:clamp(2rem,6vw,2.8rem);}
    .hero-sub{font-size:.9rem;}
    .systems-grid{grid-template-columns:1fr;}
    .ind-block-grid{grid-template-columns:1fr;gap:36px;}
    .ind-block-alt .ind-block-grid{direction:ltr;}
    .why{padding:60px 20px;}
    .why-visual{max-width:260px;}
    footer{grid-template-columns:1fr;gap:28px;}
    .cta-text{font-size:clamp(2.2rem,7vw,3.5rem);}
    .systems-headline{font-size:clamp(1.9rem,5vw,3rem);}
  }

  /* ── RESPONSIVE: 480px — Mobile ── */
  @media(max-width:480px){
    nav{padding:10px 14px;}
    .logo-img{height:36px;}
    .nav-cta{padding:8px 14px;font-size:.7rem;}
    .hero{padding:70px 16px 48px;gap:24px;}
    .hero-kicker{font-size:.65rem;padding:5px 12px 5px 8px;margin-bottom:20px;}
    .hero-headline{font-size:clamp(1.85rem,7.5vw,2.4rem);letter-spacing:-.025em;}
    .hero-sub{font-size:.88rem;}
    .hero-industries{gap:6px;}
    .ind-pill{font-size:.62rem;padding:4px 10px;}
    .hero-btns{flex-direction:column;gap:10px;align-items:stretch;}
    .hero-btns .btn-glow,.hero-btns .btn-ghost{width:100%;text-align:center;padding:14px 20px;}
    /* Shrink widget further, tighten padding, drop workflow strip */
    #industryWidget{height:320px;max-height:320px;}
    .iw-workflow{display:none;}
    .iw-panel{padding:18px 16px 14px;gap:10px;}
    .iw-metric{padding:12px 10px;}
    .iw-metric-val{font-size:1.4rem;}
    .iw-feed-item{padding:8px 10px;gap:8px;}
    .feed-icon{width:26px;height:26px;font-size:.75rem;}
    .iw-tabs .iw-tab{font-size:.62rem;padding:12px 4px;gap:3px;}
    section,.why,.industries,.cta-band,footer{padding:56px 16px;}
    .why{gap:36px;}
    .why-visual{max-width:240px;}
    .why-headline{font-size:clamp(1.5rem,6vw,2rem);}
    .cta-text{font-size:clamp(1.9rem,8vw,2.8rem);}
    .cta-band{padding:56px 16px;}
    .ind-headline{font-size:clamp(1.7rem,6vw,2.2rem);}
    .ind-block-title{font-size:1.25rem;}
    .ind-block-desc{font-size:.88rem;}
    .sec-label{font-size:.6rem;margin-bottom:36px;}
    .systems-headline{font-size:clamp(1.7rem,6.5vw,2.6rem);}
    .sys-card{padding:28px 22px;}
    footer{padding:48px 16px 28px;}
    .footer-bottom{font-size:.62rem;}
    .academy-ref-band{padding:28px 20px;}
  }

  /* ── RESPONSIVE: 360px — Small mobile ── */
  @media(max-width:360px){
    .hero-headline{font-size:1.7rem;}
    .hero-sub{font-size:.82rem;}
    .btn-glow,.btn-ghost{font-size:.82rem;}
    .ind-pill{font-size:.58rem;padding:4px 8px;}
    .hero-kicker{font-size:.6rem;}
    nav{padding:10px 12px;}
    .logo-img{height:32px;}
    .nav-cta{padding:7px 12px;font-size:.66rem;}
  }

  /* ── PREFERS-REDUCED-MOTION ── */
  @media(prefers-reduced-motion:reduce){
    html{scroll-behavior:auto;}
    *,*::before,*::after{
      animation-duration:.01ms!important;
      animation-iteration-count:1!important;
      transition-duration:.01ms!important;
      scroll-behavior:auto!important;
    }
  }

  /* ── INDUSTRIES SECTION ── */
  .industries{padding:80px 6vw 60px;background:#fff;}
  .ind-header{max-width:720px;margin:0 auto 72px;text-align:center;}
  .ind-headline{font-size:clamp(2rem,4vw,3rem);font-weight:900;line-height:1.15;margin-bottom:16px;color:#0f172a;}
  .ind-headline em{font-style:italic;color:var(--purple);}
  .ind-sub{font-size:1rem;color:#64748b;line-height:1.7;}

  .ind-block{padding:64px 0;border-top:1px solid #f1f5f9;}
  .ind-block:first-of-type{border-top:none;}
  .ind-block-label{display:inline-flex;align-items:center;gap:10px;font-size:.63rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--purple);margin-bottom:32px;}
  .ind-block-label::before{content:"";width:28px;height:2px;background:var(--purple);display:inline-block;border-radius:2px;}
  .ind-block-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
  .ind-block-alt .ind-block-grid{direction:rtl;}
  .ind-block-alt .ind-block-grid > *{direction:ltr;}

  .ind-block-title{font-size:clamp(1.5rem,2.5vw,2.1rem);font-weight:900;line-height:1.2;color:#0f172a;margin-bottom:16px;}
  .ind-block-desc{font-size:.95rem;color:#64748b;line-height:1.75;margin-bottom:28px;}
  .ind-feat-list{list-style:none;padding:0;margin:0 0 32px;display:flex;flex-direction:column;gap:12px;}
  .ind-feat-list li{display:flex;align-items:flex-start;gap:12px;font-size:.88rem;color:#334155;line-height:1.5;}
  .ind-feat-icon{font-size:1.1rem;flex-shrink:0;margin-top:1px;}
  .ind-cta{display:inline-flex;align-items:center;gap:6px;background:var(--purple);color:#fff;padding:12px 22px;border-radius:8px;font-size:.82rem;font-weight:700;text-decoration:none;transition:opacity .2s;}
  .ind-cta:hover{opacity:.85;}

  /* Industry Widgets */
  .ind-widget{background:#fff;border:1px solid #e8edf5;border-radius:16px;padding:20px;box-shadow:0 4px 24px rgba(91,33,245,.07);}
  .ind-widget-header{display:flex;align-items:center;gap:8px;margin-bottom:16px;font-size:.78rem;font-weight:700;color:#334155;}
  .ind-widget-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
  .ind-widget-dot.green{background:#16a34a;}
  .ind-widget-dot.blue{background:#06b6d4;}
  .ind-widget-dot.purple{background:#7c3aed;}
  .ind-widget-title{flex:1;}
  .ind-widget-live{font-size:.68rem;color:#16a34a;font-weight:700;animation:livePulse 2s ease-in-out infinite;}
  @keyframes livePulse{0%,100%{opacity:1}50%{opacity:.4}}

  /* Real Estate Widget */
  .re-stages{display:flex;flex-direction:column;gap:10px;margin-bottom:16px;}
  .re-stage{display:grid;grid-template-columns:140px 1fr 32px;align-items:center;gap:10px;}
  .re-stage-label{font-size:.72rem;color:#64748b;font-weight:600;}
  .re-stage-bar{background:#f1f5f9;border-radius:4px;height:8px;overflow:hidden;}
  .re-stage-fill{height:100%;border-radius:4px;transition:width 1s ease;}
  .re-stage-num{font-size:.78rem;font-weight:800;color:#0f172a;text-align:right;}
  .re-widget-footer{display:flex;justify-content:space-between;padding-top:12px;border-top:1px solid #f1f5f9;font-size:.75rem;color:#64748b;}
  .re-metric strong{color:#0f172a;}
  .green-text{color:#16a34a !important;}

  /* Healthcare Widget */
  .hc-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px;}
  .hc-stat-card{background:#f8fafc;border-radius:10px;padding:14px;text-align:center;}
  .hc-stat-num{font-size:1.8rem;font-weight:900;line-height:1;}
  .hc-stat-label{font-size:.68rem;color:#64748b;margin-top:4px;line-height:1.3;}
  .hc-log{display:flex;flex-direction:column;gap:6px;}
  .hc-log-row{display:flex;gap:10px;font-size:.72rem;align-items:baseline;}
  .hc-log-time{color:#94a3b8;font-family:'DM Mono',monospace;flex-shrink:0;}
  .hc-log-msg{color:#475569;}
  .hc-log-active .hc-log-msg{color:#5b21f5;font-weight:700;}

  /* Education Widget */
  .ed-funnel{display:flex;flex-direction:column;gap:10px;margin-bottom:16px;}
  .ed-funnel-row{display:grid;grid-template-columns:140px 1fr 36px;align-items:center;gap:10px;}
  .ed-funnel-label{font-size:.72rem;color:#64748b;font-weight:600;}
  .ed-funnel-track{background:#f1f5f9;border-radius:4px;height:8px;overflow:hidden;}
  .ed-funnel-bar{height:100%;border-radius:4px;}
  .ed-funnel-n{font-size:.78rem;font-weight:800;color:#0f172a;text-align:right;}
  .ed-widget-tags{display:flex;flex-wrap:wrap;gap:8px;}
  .ed-tag{font-size:.68rem;background:#f1f5f9;color:#475569;padding:4px 10px;border-radius:20px;font-weight:600;}
  .ed-tag.green-tag{background:#dcfce7;color:#16a34a;}

  /* Academy Reference Band */
  .academy-ref-band{margin-top:48px;background:linear-gradient(135deg,#1e1040 0%,#2d1b69 100%);border-radius:20px;padding:36px 40px;}
  .academy-ref-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;}
  .academy-ref-eyebrow{font-size:.62rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#a78bfa;margin-bottom:6px;}
  .academy-ref-title{font-size:1rem;color:#e2d9f3;line-height:1.5;}
  .academy-ref-title strong{color:#fff;}
  .academy-ref-link{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);color:#fff;padding:12px 22px;border-radius:8px;font-size:.82rem;font-weight:700;text-decoration:none;white-space:nowrap;transition:background .2s;}
  .academy-ref-link:hover{background:rgba(255,255,255,.2);}

  @media(max-width:900px){
    .ind-block-grid{grid-template-columns:1fr;}
    .ind-block-alt .ind-block-grid{direction:ltr;}
    .ind-block-alt .ind-block-grid > *{direction:ltr;}
    .re-stage{grid-template-columns:110px 1fr 28px;}
    .ed-funnel-row{grid-template-columns:110px 1fr 30px;}
    .academy-ref-inner{flex-direction:column;text-align:center;}
    .academy-ref-link{align-self:center;}
    /* widget label column tighter */
    .re-stage-label,.ed-funnel-label{font-size:.68rem;}
  }
  @media(max-width:480px){
    .re-stage{grid-template-columns:90px 1fr 24px;}
    .ed-funnel-row{grid-template-columns:90px 1fr 26px;}
    .hc-grid{grid-template-columns:1fr 1fr;}
    .iw-metrics{grid-template-columns:1fr 1fr;}
    .iw-metric:last-child{grid-column:span 2;max-width:50%;margin:0 auto;}
    .wf-step{font-size:.6rem;gap:3px;}
    .wf-step-icon{width:22px;height:22px;font-size:.75rem;}
    .wf-arrow{margin:0 2px;font-size:.7rem;}
  }

  /* ══════════════════════════════════════════
     CONTACT SECTION
  ══════════════════════════════════════════ */
  .contact-section {
    position: relative;
    padding: 100px 48px 120px;
    background: var(--surface);
    overflow: hidden;
  }

  /* Dot-grid background — mirrors hero pattern */
  .contact-bg-grid {
    position: absolute;
    inset: 0;
    background-image: radial-gradient(rgba(91,33,245,.08) 1px, transparent 1px);
    background-size: 28px 28px;
    pointer-events: none;
  }

  /* Ambient glow — top-right */
  .contact-glow {
    position: absolute;
    width: 700px;
    height: 700px;
    background: radial-gradient(circle, rgba(91,33,245,.09) 0%, transparent 65%);
    top: -200px;
    right: -150px;
    border-radius: 50%;
    pointer-events: none;
  }

  .contact-inner {
    max-width: 860px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
  }

  /* ── Header ── */
  .contact-header {
    text-align: center;
    margin-bottom: 52px;
  }

  .contact-kicker {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: rgba(91,33,245,.07);
    border: 1px solid rgba(91,33,245,.18);
    padding: 6px 16px 6px 10px;
    border-radius: 100px;
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--purple);
    margin-bottom: 24px;
  }

  .contact-headline {
    font-size: clamp(1.9rem, 3.5vw, 3rem);
    font-weight: 900;
    line-height: 1.15;
    color: #0f172a;
    letter-spacing: -.03em;
    margin-bottom: 16px;
  }

  /* Gradient text span inside headline */
  .ch-purple {
    background: linear-gradient(135deg, var(--purple), var(--purple2));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
  }

  .contact-sub {
    font-size: .97rem;
    color: var(--gray);
    line-height: 1.75;
    max-width: 520px;
    margin: 0 auto;
    font-weight: 600;
  }

  /* ── Card ── */
  .contact-card {
    background: #fff;
    border-radius: 24px;
    box-shadow: 0 20px 80px rgba(91,33,245,.11), 0 0 0 1px rgba(91,33,245,.08);
    padding: 52px 48px;
  }

  /* ── Honeypot: visually hidden, accessible ── */
  .form-honeypot {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
  }

  /* ── Two-column field grid ── */
  .form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px 28px;
    margin-bottom: 32px;
  }

  .form-group {
    display: flex;
    flex-direction: column;
    gap: 7px;
  }

  /* Full-width fields span both columns */
  .form-group.full {
    grid-column: 1 / -1;
  }

  /* ── Labels ── */
  .form-label {
    font-size: .63rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--purple);
  }

  .form-req { color: #e11d48; }

  /* ── Inputs, selects, textarea ── */
  .form-input,
  .form-select,
  .form-textarea {
    font-family: Nunito, sans-serif;
    font-size: .88rem;
    font-weight: 600;
    color: #1a0050;
    background: #faf8ff;
    border: 1.5px solid rgba(91,33,245,.16);
    border-radius: 10px;
    padding: 12px 16px;
    outline: none;
    transition: border-color .2s, box-shadow .2s, background .2s;
    width: 100%;
    -webkit-appearance: none;
    appearance: none;
  }

  .form-input::placeholder,
  .form-textarea::placeholder {
    color: #b4a8d0;
    font-weight: 500;
  }

  .form-input:hover,
  .form-select:hover,
  .form-textarea:hover {
    border-color: rgba(91,33,245,.35);
  }

  .form-input:focus,
  .form-select:focus,
  .form-textarea:focus {
    border-color: var(--purple);
    background: #fff;
    box-shadow: 0 0 0 3px rgba(91,33,245,.1);
  }

  /* Custom dropdown arrow — purple chevron */
  .form-select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%235b21f5' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    padding-right: 38px;
    cursor: pointer;
  }

  .form-select option { color: #1a0050; background: #fff; }

  /* Textarea */
  .form-textarea {
    resize: vertical;
    min-height: 120px;
    line-height: 1.65;
  }

  /* ── Submit CTA ── */
  .form-cta {
    width: 100%;
    padding: 16px 32px;
    background: linear-gradient(135deg, var(--purple), var(--purple2));
    color: #fff;
    font-family: Nunito, sans-serif;
    font-size: .92rem;
    font-weight: 800;
    letter-spacing: .04em;
    border: none;
    border-radius: 100px;
    cursor: pointer;
    transition: transform .25s, box-shadow .25s;
    box-shadow: 0 6px 28px rgba(91,33,245,.32);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
  }

  @keyframes btn-spin { to { transform: rotate(360deg); } }

  .btn-spinner {
    width: 15px;
    height: 15px;
    border: 2.5px solid rgba(255,255,255,.35);
    border-top-color: #fff;
    border-radius: 50%;
    animation: btn-spin .7s linear infinite;
    flex-shrink: 0;
  }

  .form-cta:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 44px rgba(91,33,245,.45);
  }

  .form-cta:active { transform: translateY(0); }

  /* ── Contact responsive ── */
  @media (max-width: 860px) {
    .contact-section { padding: 80px 24px 100px; }
    .contact-card    { padding: 40px 32px; }
  }

  @media (max-width: 600px) {
    .contact-section { padding: 64px 16px 80px; }
    .contact-card    { padding: 28px 20px 32px; border-radius: 16px; }
    .form-grid       { grid-template-columns: 1fr; gap: 16px; }
    .form-group.full { grid-column: 1; }
    .contact-headline { font-size: 1.75rem; }
    .contact-header { margin-bottom: 24px; }
  }

  /* ══════════════════════════════════════════
     STEP 2 — TRUST STRIP & MICRO-COMMITMENT
  ══════════════════════════════════════════ */
  .contact-micro {
    font-size: .82rem;
    color: var(--gray);
    font-style: italic;
    font-weight: 600;
    margin-top: 10px;
    opacity: .82;
  }

  .contact-trust-strip {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 32px;
  }

  .trust-item {
    font-size: .76rem;
    font-weight: 700;
    color: var(--gray);
    white-space: nowrap;
  }

  .trust-sep {
    color: var(--border);
    font-size: .8rem;
    font-weight: 400;
  }

  @media (max-width: 600px) {
    .trust-sep  { display: none; }
    .trust-item { font-size: .72rem; }
    .contact-trust-strip { gap: 8px; margin-bottom: 24px; }
  }

  /* ══════════════════════════════════════════
     STEP 4 — PRE-CONTACT CTA STRIP
  ══════════════════════════════════════════ */
  .cta-pre-contact {
    padding: 80px 48px;
    background: linear-gradient(135deg, var(--purple) 0%, var(--purple2) 100%);
    position: relative;
    overflow: hidden;
    text-align: center;
  }

  /* Ambient orb behind the text */
  .cta-pre-contact::before {
    content: "";
    position: absolute;
    width: 600px;
    height: 600px;
    background: radial-gradient(circle, rgba(255,255,255,.1) 0%, transparent 65%);
    top: -200px;
    left: 50%;
    transform: translateX(-50%);
    border-radius: 50%;
    pointer-events: none;
  }

  .cpc-inner {
    position: relative;
    z-index: 1;
    max-width: 640px;
    margin: 0 auto;
  }

  .cpc-headline {
    font-size: clamp(1.7rem, 3vw, 2.6rem);
    font-weight: 900;
    line-height: 1.2;
    color: #fff;
    letter-spacing: -.025em;
    margin-bottom: 16px;
  }

  .cpc-accent { opacity: .88; }

  .cpc-text {
    font-size: .97rem;
    color: rgba(255,255,255,.82);
    line-height: 1.7;
    margin-bottom: 32px;
    font-weight: 600;
  }

  /* Inverted button — white pill with purple text */
  .cpc-btn {
    background: #fff !important;
    color: var(--purple) !important;
    box-shadow: 0 6px 28px rgba(0,0,0,.18) !important;
  }

  .cpc-btn:hover {
    box-shadow: 0 10px 40px rgba(0,0,0,.28) !important;
  }

  @media (max-width: 860px) { .cta-pre-contact { padding: 64px 24px; } }
  @media (max-width: 600px) {
    .cta-pre-contact { padding: 56px 16px; }
    .cpc-headline    { font-size: 1.6rem; }
  }

  /* ══════════════════════════════════════════
     STEP 5 — HERO TRUST CREDIBILITY LINE
  ══════════════════════════════════════════ */
  .hero-trust {
    font-size: .72rem;
    color: var(--gray);
    font-weight: 700;
    letter-spacing: .03em;
    margin-top: 16px;
    opacity: .72;
  }

  /* ══════════════════════════════════════════
     STEP 3 — FLOATING CONTACT WIDGET
  ══════════════════════════════════════════ */
  .float-widget {
    position: fixed;
    bottom: 20px;
    right: 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    z-index: 900;
  }

  .float-btn {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 11px 18px;
    border-radius: 100px;
    font-family: Nunito, sans-serif;
    font-size: .8rem;
    font-weight: 800;
    letter-spacing: .03em;
    text-decoration: none;
    white-space: nowrap;
    box-shadow: 0 4px 20px rgba(0,0,0,.18);
    transition: transform .2s, box-shadow .2s;
  }

  .float-btn:hover {
    transform: translateY(-3px);
  }

  /* WhatsApp — brand green */
  .float-wa {
    background: #25D366;
    color: #fff;
  }

  .float-wa:hover {
    box-shadow: 0 8px 32px rgba(37,211,102,.45);
  }

  /* Consultation — site purple gradient */
  .float-consult {
    background: linear-gradient(135deg, var(--purple), var(--purple2));
    color: #fff;
  }

  .float-consult:hover {
    box-shadow: 0 8px 32px rgba(91,33,245,.45);
  }

  .float-icon {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
  }

  /* Mobile: collapse to icon-only circles */
  @media (max-width: 600px) {
    .float-btn   { padding: 12px; border-radius: 50%; }
    .float-label { display: none; }
  }

  /* ══════════════════════════════════════════
     FORM STATUS & THANK-YOU STATE
  ══════════════════════════════════════════ */

  /* Status bar — empty by default, shown on error */
  .form-status { margin-bottom: 12px; min-height: 0; }

  .form-status--error {
    font-size: .82rem;
    font-weight: 700;
    color: #e11d48;
    background: rgba(225,29,72,.06);
    border: 1px solid rgba(225,29,72,.2);
    border-radius: 8px;
    padding: 10px 14px;
  }

  /* Thank-you card — hidden until JS removes [hidden] */
.form-status--loading::before {
  content: "";
  display: inline-block;
  width: 14px;
  height: 14px;
  border: 2px solid #ccc;
  border-top-color: #0a84ff;
  border-radius: 50%;
  margin-right: 8px;
  animation: spin 0.8s linear infinite;
}

@keyframes spin {
  to { transform: rotate(360deg); }
}

.thank-you-card.show {
  display: block;
  opacity: 1;
}

  .thank-you-card {
    display: none;
    opacity: 0;
    transition: opacity 0.4s ease;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 24px 0 8px;
    gap: 16px;
  }

  .thank-you-card h3 {
    font-size: 1.35rem;
    font-weight: 900;
    color: #0f172a;
    letter-spacing: -.02em;
    line-height: 1.25;
    max-width: 460px;
  }

  .thank-you-card p {
    font-size: .92rem;
    color: var(--gray);
    line-height: 1.75;
    font-weight: 600;
    max-width: 420px;
  }

  /* Override the full-width rule that .form-cta normally carries */
  .thank-you-btn {
    width: auto !important;
    padding: 13px 32px !important;
    margin-top: 8px;
  }

