:root{
    --bg:#090c16;
    --bg-panel:#111629;
    --bg-panel-2:#161c37;
    --text:#eef0f8;
    --text-muted:#8b93ac;
    --text-dim:#5b6280;
    --cyan:#3fdce8;
    --violet:#8b5cf6;
    --magenta:#e14fd0;
    --line:rgba(255,255,255,0.09);
    --grad:linear-gradient(100deg, var(--cyan) 0%, var(--violet) 55%, var(--magenta) 100%);
    --radius-sm:8px;
    --radius-pill:999px;
    --ease:cubic-bezier(.22,1,.36,1);
    --font-display:'Space Grotesk', 'Inter', sans-serif;
    --font-body:'Inter', sans-serif;
    --font-ar:'Cairo', sans-serif;
  }

  body.lang-ar{
    --font-display:'Cairo', sans-serif;
    --font-body:'Cairo', sans-serif;
  }
  html[dir="rtl"]{ scroll-padding-top:calc(84px + env(safe-area-inset-top,0px)); }
  body.lang-ar h1{ letter-spacing:0; line-height:1.28; }
  body.lang-ar h2{ letter-spacing:0; line-height:1.35; }
  body.lang-ar .logo{ letter-spacing:0; }
  body.lang-ar .eyebrow,
  body.lang-ar .section-kicker,
  body.lang-ar .phase-sessions,
  body.lang-ar .work-tag{ letter-spacing:0; }

  html{
    box-sizing:border-box;
    scroll-behavior:smooth;
    scroll-padding-top:calc(76px + env(safe-area-inset-top,0px));
    height:100%;
  }
  *,*::before,*::after{box-sizing:inherit;}
  body{
    margin:0;
    min-height:100%;
    background:var(--bg);
    color:var(--text);
    font-family:var(--font-body);
    -webkit-font-smoothing:antialiased;
    padding-top:env(safe-area-inset-top,0px);
    padding-bottom:env(safe-area-inset-bottom,0px);
    overflow-x:hidden;
  }
  img,svg{max-width:100%;display:block;}

  a{color:inherit;text-decoration:none;}
  :focus-visible{outline:2px solid var(--cyan); outline-offset:3px; border-radius:4px;}

  .wrap{
    width:100%;
    max-width:1180px;
    margin:0 auto;
    padding-left:clamp(20px, 5vw, 56px);
    padding-right:clamp(20px, 5vw, 56px);
  }

  /* ---------- background texture ---------- */
  .bg-field{
    position:fixed;
    inset:0;
    z-index:-1;
    background:
      radial-gradient(60% 45% at 82% 8%, rgba(139,92,246,0.16), transparent 60%),
      radial-gradient(50% 40% at 6% 18%, rgba(63,220,232,0.10), transparent 60%),
      var(--bg);
  }
  .dot-grid{
    position:fixed;
    top:0; right:0;
    width:min(46vw, 560px);
    height:min(46vw, 560px);
    background-image:radial-gradient(rgba(255,255,255,0.14) 1px, transparent 1px);
    background-size:22px 22px;
    -webkit-mask-image:radial-gradient(circle at 100% 0%, black 0%, transparent 70%);
    mask-image:radial-gradient(circle at 100% 0%, black 0%, transparent 70%);
    z-index:-1;
    pointer-events:none;
  }

  /* ---------- nav ---------- */
  header{
    position:sticky;
    top:0;
    z-index:40;
    padding-top:env(safe-area-inset-top,0px);
    background:rgba(9,12,22,0.72);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
    border-bottom:1px solid var(--line);
  }
  nav{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:14px clamp(16px, 5vw, 56px);
    max-width:1180px;
    margin:0 auto;
  }
  @media (max-width:400px){
    nav{ padding:12px 16px; }
  }
  .logo{
    font-family:var(--font-display);
    font-weight:600;
    font-size:1.05rem;
    letter-spacing:0.01em;
    display:flex;
    align-items:baseline;
    gap:8px;
  }
  .logo span{
    color:var(--text-muted);
    font-weight:400;
    font-size:0.72rem;
    font-family:var(--font-body);
  }
  @media (max-width:400px){
    .logo{ font-size:0.92rem; }
    .logo span{ display:none; }
  }
  .nav-links{
    display:flex;
    gap:28px;
    font-size:0.9rem;
    color:var(--text-muted);
  }
  .nav-links a:hover{color:var(--text);}
  @media (max-width:760px){ .nav-links{display:none;} }
  .nav-actions{
    display:flex;
    align-items:center;
    gap:8px;
  }
  @media (max-width:480px){
    .nav-actions .wa-text{ display:none; }
    .nav-actions .wa-link{ padding:9px 14px; gap:0; }
    .nav-actions .wa-link .wa-icon{ width:18px; height:18px; }
    #langToggle{ padding:9px 12px; font-size:0.78rem; }
  }

  button{
    -webkit-appearance:none;
    -moz-appearance:none;
    appearance:none;
    font-family:inherit;
    outline:none;
    -webkit-tap-highlight-color:transparent;
  }

  .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    font-family:var(--font-body);
    font-weight:600;
    font-size:0.92rem;
    padding:13px 22px;
    border-radius:var(--radius-pill);
    cursor:pointer;
    border:1px solid transparent;
    white-space:nowrap;
    background:none;
    transition:
      transform .35s var(--ease),
      box-shadow .35s ease,
      border-color .35s ease,
      background-color .35s ease;
  }
  .btn-primary{
    background:var(--grad);
    color:#07080f;
    box-shadow:0 8px 24px rgba(139,92,246,.12);
  }
  .btn-primary:hover{ filter:brightness(1.08); }
  .btn-primary:hover{ box-shadow:0 12px 32px rgba(139,92,246,.22); }
  .btn-ghost{
    background:transparent;
    border-color:var(--line);
    color:var(--text);
  }
  .btn-ghost:hover{ border-color:rgba(255,255,255,0.28); }
  .btn-nav{
    padding:9px 18px;
    font-size:0.85rem;
  }
  #langToggle{ min-width:74px; }
  .wa-icon{ width:16px; height:16px; flex:none; }

  /* ---------- early registration badge ---------- */
  .early-badge{
    position:fixed;
    z-index:45;
    inset-inline-start:clamp(16px, 4vw, 28px);
    inset-block-end:calc(clamp(16px, 4vw, 28px) + env(safe-area-inset-bottom,0px));
    display:flex;
    align-items:center;
    gap:12px;
    padding-block:10px;
    padding-inline:16px 12px;
    border-radius:var(--radius-pill);
    background:rgba(17,22,41,0.92);
    border:1px solid var(--line);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
    box-shadow:0 14px 34px rgba(0,0,0,0.42);
    animation:earlyIn .7s var(--ease) .5s both;
  }
  .early-badge-text{
    display:flex;
    flex-direction:column;
    gap:2px;
    line-height:1.15;
  }
  .early-badge small{
    font-size:0.64rem;
    font-weight:600;
    letter-spacing:0.1em;
    text-transform:uppercase;
    color:var(--text-dim);
  }
  .early-badge strong{
    font-family:var(--font-display);
    font-size:0.84rem;
    font-weight:700;
    background:var(--grad);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
  }
  body.lang-ar .early-badge small{ letter-spacing:0; text-transform:none; }
  .early-badge-close{
    flex:none;
    width:22px; height:22px;
    border-radius:50%;
    border:1px solid var(--line);
    background:transparent;
    color:var(--text-muted);
    font-size:0.95rem;
    line-height:1;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    transition:color .3s ease, border-color .3s ease;
  }
  .early-badge-close:hover{
    color:var(--text);
    border-color:rgba(255,255,255,0.28);
  }
  @keyframes earlyIn{
    from{ opacity:0; transform:translate3d(0,14px,0); }
    to{ opacity:1; transform:none; }
  }
  @media (max-width:420px){
    .early-badge{ padding-block:8px; padding-inline:12px 10px; gap:9px; }
    .early-badge small{ font-size:0.58rem; }
    .early-badge strong{ font-size:0.78rem; }
  }

  /* ---------- hero ---------- */
  .hero{
    padding:clamp(52px, 9vw, 110px) 0 clamp(48px, 8vw, 90px);
  }
  .hero-grid{
    display:grid;
    grid-template-columns:1.05fr 0.95fr;
    gap:clamp(32px, 5vw, 64px);
    align-items:center;
  }
  @media (max-width:900px){
    .hero-grid{ grid-template-columns:1fr; }
  }

  .eyebrow{
    display:inline-flex;
    align-items:center;
    gap:10px;
    font-size:0.82rem;
    color:var(--text-muted);
    margin-bottom:22px;
    opacity:0;
    animation:rise 0.7s var(--ease) forwards;
  }
  .eyebrow .dot{
    width:6px;height:6px;border-radius:50%;
    background:var(--grad);
    flex:none;
  }

  .instructor-tag{
    display:inline-flex;
    align-items:center;
    gap:11px;
    padding-block:8px;
    padding-inline-start:8px;
    padding-inline-end:16px;
    border:1px solid var(--line);
    border-radius:var(--radius-pill);
    font-size:0.82rem;
    color:var(--text-muted);
    line-height:1.35;
    margin-bottom:24px;
    opacity:0;
    animation:rise 0.7s var(--ease) 0.04s forwards;
  }
  .instructor-tag b{
    color:var(--text);
    font-weight:600;
  }
  .instructor-avatar{
    width:30px; height:30px;
    border-radius:50%;
    background:var(--grad);
    color:#07080f;
    display:flex;
    align-items:center;
    justify-content:center;
    font-family:var(--font-display);
    font-weight:700;
    font-size:0.72rem;
    flex:none;
  }
  .instructor-role{
    font-size:0.78rem;
    color:var(--text-dim);
  }

  h1{
    font-family:var(--font-display);
    font-weight:700;
    font-size:clamp(2.4rem, 6vw, 3.7rem);
    line-height:1.06;
    letter-spacing:-0.01em;
    margin:0 0 22px;
    opacity:0;
    animation:rise 0.75s var(--ease) 0.08s forwards;
  }
  h1 em{
    font-style:normal;
    background:var(--grad);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
  }

  .hero-desc{
    font-size:1.06rem;
    line-height:1.6;
    color:var(--text-muted);
    max-width:46ch;
    margin:0 0 34px;
    opacity:0;
    animation:rise 0.75s var(--ease) 0.16s forwards;
  }

  .stat-row{
    display:flex;
    flex-wrap:wrap;
    gap:clamp(20px, 4vw, 40px);
    margin-bottom:38px;
    opacity:0;
    animation:rise 0.75s var(--ease) 0.24s forwards;
  }
  .stat b{
    display:block;
    font-family:var(--font-display);
    font-size:1.5rem;
    font-weight:700;
  }
  .stat span{
    display:block;
    font-size:0.82rem;
    color:var(--text-dim);
    margin-top:2px;
  }

  .hero-ctas{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:16px;
    opacity:0;
    animation:rise 0.75s var(--ease) 0.32s forwards;
  }
  .start-tag{
    font-size:0.85rem;
    color:var(--text-muted);
    display:inline-flex;
    align-items:center;
    gap:8px;
  }
  .start-tag b{ color:var(--text); font-weight:600; }

  @keyframes rise{
    from{ opacity:0; transform:translate3d(0,14px,0); }
    to{ opacity:1; transform:none; }
  }

  /* ---------- hero visual ---------- */
  .hero-visual{
    position:relative;
    aspect-ratio:1/1;
    max-width:440px;
    margin:0 auto;
    will-change:transform;
    animation:heroFloat 7s ease-in-out infinite;
  }
  .hero-visual svg{ transform-origin:center; }
  @media (max-width:900px){ .hero-visual{ margin-top:8px; max-width:340px; } }

  @keyframes heroFloat{
    0%,100%{transform:translate3d(0,0,0)}
    50%{transform:translate3d(0,-8px,0)}
  }

  /* ---------- section shell ---------- */
  section{ padding:clamp(56px, 9vw, 100px) 0; }
  .section-head{
    max-width:56ch;
    margin-bottom:clamp(36px, 6vw, 56px);
  }
  .section-kicker{
    font-size:0.82rem;
    color:var(--cyan);
    font-weight:600;
    margin-bottom:10px;
  }
  h2{
    font-family:var(--font-display);
    font-weight:600;
    font-size:clamp(1.7rem, 3.6vw, 2.35rem);
    line-height:1.15;
    margin:0 0 12px;
    letter-spacing:-0.01em;
  }
  .section-sub{
    color:var(--text-muted);
    font-size:1rem;
    line-height:1.6;
    margin:0;
  }

  .divider{
    height:1px;
    background:var(--line);
    border:none;
    margin:0;
  }

  /* ---------- roadmap ---------- */
  .roadmap{ position:relative; }
  .roadmap-rail{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:0;
    position:relative;
  }
  .roadmap-rail::before{
    content:"";
    position:absolute;
    top:26px;
    inset-inline:0;
    height:1px;
    background:linear-gradient(90deg, rgba(63,220,232,0.5), rgba(139,92,246,0.5), rgba(225,79,208,0.5));
  }
  @media (max-width:820px){
    .roadmap-rail{ grid-template-columns:1fr; gap:0; }
    .roadmap-rail::before{
      top:0; bottom:0; inset-inline-start:26px; inset-inline-end:auto;
      width:1px; height:auto;
      background:linear-gradient(180deg, rgba(63,220,232,0.5), rgba(139,92,246,0.5), rgba(225,79,208,0.5));
    }
  }
  .phase{
    position:relative;
    padding-inline-end:26px;
    transition:
      transform .35s var(--ease),
      box-shadow .35s ease,
      border-color .35s ease,
      background-color .35s ease;
  }
  .phase:last-child{ padding-inline-end:0; }
  @media (max-width:820px){
    .phase{ padding-inline-end:0; padding-inline-start:60px; padding-bottom:42px; }
    .phase:last-child{ padding-bottom:0; }
  }
  .phase-num{
    width:52px; height:52px;
    border-radius:50%;
    background:var(--bg-panel);
    border:1px solid var(--line);
    display:flex; align-items:center; justify-content:center;
    font-family:var(--font-display);
    font-weight:600;
    font-size:0.95rem;
    margin-bottom:22px;
    position:relative;
    z-index:1;
  }
  @media (max-width:820px){
    .phase-num{ position:absolute; inset-inline-start:0; top:0; margin-bottom:0; }
  }
  .phase-title{
    font-family:var(--font-display);
    font-weight:600;
    font-size:1.12rem;
    margin:0 0 6px;
  }
  .phase-sessions{
    font-size:0.8rem;
    color:var(--cyan);
    font-weight:600;
    margin-bottom:12px;
  }
  .phase-desc{
    font-size:0.92rem;
    color:var(--text-muted);
    line-height:1.55;
    max-width:26ch;
  }

  /* ---------- learn ---------- */
  .learn-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:0;
    border-top:1px solid var(--line);
  }
  @media (max-width:820px){
    .learn-grid{ grid-template-columns:1fr; }
  }
  .learn-col{
    padding-inline-end:28px;
    padding-top:28px;
    padding-bottom:28px;
    border-bottom:1px solid var(--line);
    transition:
      transform .35s var(--ease),
      box-shadow .35s ease,
      border-color .35s ease,
      background-color .35s ease;
  }
  .learn-grid > .learn-col:not(:last-child){
    border-inline-end:1px solid var(--line);
  }
  @media (max-width:820px){
    .learn-grid > .learn-col:not(:last-child){ border-inline-end:none; }
    .learn-col{ padding:24px 0; }
  }
  .learn-col h3{
    font-family:var(--font-display);
    font-size:0.98rem;
    font-weight:600;
    margin:0 0 16px;
    color:var(--text-muted);
  }
  .learn-col ul{
    list-style:none;
    margin:0; padding:0;
    display:flex;
    flex-direction:column;
    gap:11px;
  }
  .learn-col li{
    font-size:0.95rem;
    display:flex;
    align-items:baseline;
    gap:10px;
  }
  .learn-col li::before{
    content:"";
    width:5px; height:5px;
    border-radius:50%;
    background:var(--grad);
    flex:none;
    transform:translateY(-2px);
  }

  /* ---------- selected work ---------- */
  .work-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:24px;
  }
  @media (max-width:960px){
    .work-grid{ grid-template-columns:repeat(2, 1fr); }
  }
  @media (max-width:620px){
    .work-grid{ grid-template-columns:1fr; }
  }

  .work-card{
    display:flex;
    flex-direction:column;
    background:var(--bg-panel);
    border:1px solid var(--line);
    border-radius:18px;
    overflow:hidden;
    min-width:0;
    transition:
      transform .4s var(--ease),
      border-color .4s ease,
      box-shadow .4s ease;
  }
  .work-card:hover,
  .work-card:focus-visible{
    transform:translateY(-6px);
    border-color:rgba(139,92,246,0.45);
    box-shadow:0 18px 44px rgba(0,0,0,0.38), 0 0 0 1px rgba(139,92,246,0.12);
  }

  .work-thumb{
    position:relative;
    aspect-ratio:4/3;
    overflow:hidden;
    background:
      linear-gradient(135deg, rgba(63,220,232,0.10) 0%, rgba(139,92,246,0.12) 55%, rgba(225,79,208,0.10) 100%);
    border-bottom:1px solid var(--line);
  }

  /* Visual placeholder shown until a real image is provided */
  .work-thumb-placeholder{
    position:absolute;
    inset:0;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:10px;
    padding:20px;
    text-align:center;
    color:var(--text-muted);
    background:
      radial-gradient(120% 90% at 50% 0%, rgba(139,92,246,0.10), transparent 60%),
      repeating-linear-gradient(135deg, rgba(255,255,255,0.02) 0 12px, transparent 12px 24px);
  }
  .work-thumb-placeholder svg{
    width:36px; height:36px;
    opacity:0.55;
  }
  .work-thumb-placeholder span{
    font-size:0.78rem;
    font-weight:600;
    letter-spacing:0.08em;
    text-transform:uppercase;
    color:var(--text-dim);
  }
  body.lang-ar .work-thumb-placeholder span{
    letter-spacing:0;
    text-transform:none;
    font-size:0.82rem;
  }

  .work-thumb img{
    position:absolute;
    inset:0;
    z-index:1;
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .6s var(--ease), opacity .4s ease;
    opacity:0;
  }
  .work-thumb img.is-loaded{ opacity:1; }
  .work-thumb img.is-missing{ display:none; }

  .work-card:hover .work-thumb img.is-loaded,
  .work-card:focus-visible .work-thumb img.is-loaded{ transform:scale(1.05); }

  .work-body{
    display:flex;
    flex-direction:column;
    gap:9px;
    flex:1;
    padding:20px 22px 22px;
    min-width:0;
  }
  .work-tag{
    align-self:flex-start;
    font-size:0.7rem;
    font-weight:600;
    letter-spacing:0.07em;
    text-transform:uppercase;
    color:var(--cyan);
    border:1px solid rgba(63,220,232,0.28);
    background:rgba(63,220,232,0.08);
    padding:4px 10px;
    border-radius:var(--radius-pill);
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .work-title{
    font-family:var(--font-display);
    font-weight:600;
    font-size:1.05rem;
    line-height:1.3;
    margin:0;
    overflow-wrap:anywhere;
  }
  .work-desc{
    margin:0;
    font-size:0.9rem;
    line-height:1.55;
    color:var(--text-muted);
    overflow-wrap:anywhere;
  }
  .work-cta{
    margin-top:auto;
    padding-top:14px;
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-size:0.85rem;
    font-weight:600;
    color:var(--text);
  }
  .work-cta svg{
    width:14px; height:14px; flex:none;
    transition:transform .35s var(--ease);
  }
  html[dir="rtl"] .work-cta svg{ transform:scaleX(-1); }
  .work-card:hover .work-cta svg,
  .work-card:focus-visible .work-cta svg{ transform:translateX(4px); }
  html[dir="rtl"] .work-card:hover .work-cta svg,
  html[dir="rtl"] .work-card:focus-visible .work-cta svg{ transform:scaleX(-1) translateX(4px); }

  /* ---------- pricing ---------- */
  .pricing-panel{
    background:var(--bg-panel);
    border:1px solid var(--line);
    border-radius:20px;
    padding:clamp(36px, 7vw, 64px) clamp(24px, 6vw, 64px);
    text-align:center;
    position:relative;
    overflow:hidden;
  }
  .pricing-panel::before{
    content:"";
    position:absolute;
    width:420px; height:420px;
    background:radial-gradient(circle, rgba(139,92,246,0.22), transparent 65%);
    top:-180px; left:50%; transform:translateX(-50%);
    pointer-events:none;
  }
  .price-old{
    font-size:1.1rem;
    color:var(--text-dim);
    text-decoration:line-through;
    text-decoration-color:var(--text-dim);
    margin-bottom:14px;
    position:relative;
  }
  .price-badge{
    display:inline-block;
    font-family:var(--font-display);
    font-weight:700;
    font-size:0.95rem;
    padding:7px 18px;
    border-radius:var(--radius-pill);
    background:var(--grad);
    color:#07080f;
    transform:rotate(-2deg);
    margin-bottom:22px;
    position:relative;
    animation:badgeFloat 4.5s ease-in-out infinite;
  }
  .price-new{
    font-family:var(--font-display);
    font-weight:700;
    font-size:clamp(3rem, 10vw, 5rem);
    line-height:1;
    margin:0 0 8px;
    background:var(--grad);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
    position:relative;
  }
  .price-unit{
    font-size:1rem;
    color:var(--text-muted);
    margin-bottom:30px;
    position:relative;
  }
  @keyframes badgeFloat{
    0%,100%{transform:rotate(-2deg) translateY(0)}
    50%{transform:rotate(-2deg) translateY(-3px)}
  }

  /* ---------- final cta ---------- */
  .cta-panel{ text-align:center; padding-top:0; }
  .cta-panel h2{ max-width:24ch; margin-left:auto; margin-right:auto; }
  .cta-panel .section-sub{ margin:0 auto 30px; }
  .final-ctas{
    display:flex; justify-content:center; gap:16px; flex-wrap:wrap;
  }

  /* ---------- footer ---------- */
  footer{
    border-top:1px solid var(--line);
    padding:32px 0;
    padding-bottom:calc(32px + env(safe-area-inset-bottom,0px));
  }
  .footer-row{
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;
    gap:12px;
    font-size:0.85rem;
    color:var(--text-dim);
  }
  .footer-row strong{ color:var(--text-muted); font-weight:600; }

  /* =========================================================
     MOTION LAYER
     ========================================================= */
  .js .reveal{
    opacity:0;
    transform:translate3d(0,28px,0);
    transition:
      opacity .8s var(--ease),
      transform .8s var(--ease);
  }
  .js .reveal.is-visible{
    opacity:1;
    transform:none;
  }

  #roadmap .phase:nth-child(1){ transition-delay:0ms; }
  #roadmap .phase:nth-child(2){ transition-delay:80ms; }
  #roadmap .phase:nth-child(3){ transition-delay:160ms; }
  #roadmap .phase:nth-child(4){ transition-delay:240ms; }

  #learn .learn-col:nth-child(1){ transition-delay:80ms; }
  #learn .learn-col:nth-child(2){ transition-delay:160ms; }
  #learn .learn-col:nth-child(3){ transition-delay:240ms; }

  .js #learn .learn-col li{
    opacity:0;
    transform:translate3d(0,14px,0);
    transition:
      opacity .55s var(--ease),
      transform .55s var(--ease);
  }
  .js #learn .learn-col.is-visible li{
    opacity:1;
    transform:none;
  }
  #learn .learn-col.is-visible li:nth-child(1){ transition-delay:140ms; }
  #learn .learn-col.is-visible li:nth-child(2){ transition-delay:190ms; }
  #learn .learn-col.is-visible li:nth-child(3){ transition-delay:240ms; }
  #learn .learn-col.is-visible li:nth-child(4){ transition-delay:290ms; }
  #learn .learn-col.is-visible li:nth-child(5){ transition-delay:340ms; }
  #learn .learn-col.is-visible li:nth-child(6){ transition-delay:390ms; }
  #learn .learn-col.is-visible li:nth-child(7){ transition-delay:440ms; }
  #learn .learn-col.is-visible li:nth-child(8){ transition-delay:490ms; }
  #learn .learn-col.is-visible li:nth-child(9){ transition-delay:540ms; }

  #work .work-card:nth-child(3n+1){ transition-delay:0ms; }
  #work .work-card:nth-child(3n+2){ transition-delay:90ms; }
  #work .work-card:nth-child(3n+3){ transition-delay:180ms; }

  #contact .section-kicker{ transition-delay:0ms; }
  #contact h2{ transition-delay:70ms; }
  #contact .section-sub{ transition-delay:140ms; }
  #contact .final-ctas{ transition-delay:210ms; }

  @media (hover:hover) and (pointer:fine){
    .phase:hover,
    .learn-col:hover{ transform:translateY(-4px); }
    .btn:hover{ transform:translateY(-3px); }
  }

  @media (prefers-reduced-motion:reduce){
    html{ scroll-behavior:auto; }

    .js .reveal,
    .js .reveal.is-visible,
    .js #learn .learn-col li,
    .js #learn .learn-col.is-visible li{
      opacity:1;
      transform:none;
      transition:none;
      transition-delay:0ms;
    }

    .eyebrow,
    .instructor-tag,
    h1,
    .hero-desc,
    .stat-row,
    .hero-ctas{
      animation:none;
      opacity:1;
      transform:none;
    }

    .hero-visual,
    .price-badge,
    .early-badge{ animation:none; }

    .btn,
    .phase,
    .learn-col,
    .work-card,
    .work-thumb img,
    .work-cta svg{ transition:none; }
  }
