/* Macrocherry Design System v0.6 · shared stylesheet (generated from index.html) */
:root{
    --ink:#0A0A0E;
    --bg:#0B0A12;
    --paper:#FCFCFA;
    --white:#FFFFFF;
    --line:rgba(255,255,255,.085);
    --line2:rgba(255,255,255,.16);
    --dline:rgba(10,10,14,.08);
    --dim:rgba(255,255,255,.62);
    --dimmer:rgba(255,255,255,.4);
    --idim:rgba(10,10,14,.6);
    --idimmer:rgba(10,10,14,.42);
    --lilac:#B49BFF;
    --peri:#8E8DFF;
    --pink:#E88DFF;
    --ice:#9BD8FF;
    --holo:linear-gradient(105deg,#9BD8FF 0%,#8E8DFF 25%,#B49BFF 50%,#E88DFF 75%,#FFA3E4 100%);
    --holo-deep:linear-gradient(105deg,#2BB8DE 0%,#5D5AE8 25%,#B14FD8 50%,#E85AB4 72%,#4F8CE8 100%);
  }
  *{margin:0;padding:0;box-sizing:border-box;border-radius:0!important;}
  html{scroll-behavior:smooth;}
  body{
    font-family:'Instrument Sans',sans-serif;background:var(--bg);color:var(--white);
    font-size:16px;line-height:1.6;overflow-x:hidden;position:relative;
  }
  body::before{
    content:"";position:fixed;inset:0;z-index:0;pointer-events:none;
    background:
      radial-gradient(900px 700px at 78% 4%, rgba(142,141,255,.17), transparent 65%),
      radial-gradient(800px 640px at 12% 38%, rgba(180,155,255,.12), transparent 65%),
      radial-gradient(900px 700px at 85% 86%, rgba(232,141,255,.10), transparent 65%);
  }
  body::after{
    content:"";position:fixed;inset:0;z-index:0;pointer-events:none;
    background:
      repeating-linear-gradient(to right, var(--line) 0 1px, transparent 1px 56px),
      repeating-linear-gradient(to bottom, var(--line) 0 1px, transparent 1px 56px);
    mask-image:linear-gradient(to bottom, rgba(0,0,0,.9), rgba(0,0,0,.55) 40%, rgba(0,0,0,.85));
  }
  main,header,footer{position:relative;z-index:1;}
  ::selection{background:var(--lilac);color:var(--ink);}
  a{color:inherit;}
  img{max-width:100%;display:block;}

  .mono{font-family:'JetBrains Mono',monospace;}
  .serif{
    font-family:'Instrument Serif',serif;font-style:italic;font-weight:400;
    text-transform:none;letter-spacing:0;font-size:1.12em;
  }
  .serif.thick{-webkit-text-stroke:.5px currentColor;}
  .holo-text{
    display:inline-block;padding:0 .1em .08em .1em;margin:0 -.04em;
    line-height:1.12;
    background:var(--holo);background-size:220% 100%;
    -webkit-background-clip:text;background-clip:text;color:transparent;
    animation:holoshift 8s ease-in-out infinite alternate;
  }
  .holo-text.deep{background-image:var(--holo-deep);}
  @keyframes holoshift{from{background-position:0% 0}to{background-position:100% 0}}

  /* light sections share the blueprint raster, dark lines on paper */
  .light{
    background:
      repeating-linear-gradient(to right, var(--dline) 0 1px, transparent 1px 56px),
      repeating-linear-gradient(to bottom, var(--dline) 0 1px, transparent 1px 56px),
      var(--paper);
    color:var(--ink);
  }

  /* ===== Topbar (stays black) ===== */
  .topbar{
    display:flex;align-items:center;justify-content:space-between;
    padding:0 32px;height:58px;border-bottom:1px solid var(--line2);gap:20px;
    position:relative;z-index:2;background:rgba(11,10,18,.85);backdrop-filter:blur(6px);
  }
  .topbar .brand{font-family:'JetBrains Mono',monospace;font-size:12px;font-weight:500;letter-spacing:.12em;text-decoration:none;}
  .topbar nav{display:flex;gap:36px;}
  .topbar nav a{
    font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:400;
    letter-spacing:.14em;text-transform:uppercase;color:var(--white);text-decoration:none;
  }
  .topbar nav a:hover{color:var(--lilac);}
  .sq{
    display:inline-block;font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:500;
    letter-spacing:.14em;text-transform:uppercase;text-decoration:none;
    border:1px solid var(--white);color:var(--white);padding:11px 22px;
    transition:background .15s ease,color .15s ease;
  }
  .topbar .sq.fill{background:var(--white);color:var(--ink);}
  .topbar .sq.fill:hover{background:var(--lilac);border-color:var(--lilac);color:var(--ink);}

  /* ===== Hero: white, 2-col ===== */
  .hero{display:grid;grid-template-columns:1.05fr 1fr;position:relative;}
  .hero-left{padding:54px 56px 58px 64px;display:flex;flex-direction:column;justify-content:center;position:relative;border-right:1px solid rgba(10,10,14,.75);}
  .hero-left .eyebrow{
    font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.24em;text-transform:uppercase;
    color:var(--idim);display:flex;align-items:center;gap:10px;margin-bottom:30px;
  }
  .hero-left .eyebrow i{display:block;width:7px;height:7px;background:#6D5BE8;}
  .hero-left h1{
    font-family:'Bricolage Grotesque',sans-serif;font-weight:800;text-transform:uppercase;
    font-size:clamp(54px,7vw,106px);line-height:.88;letter-spacing:-.015em;color:var(--ink);
  }
  .hero-left h1 .serif{
    font-size:1.34em;line-height:.9;display:inline-block;
    padding:0 .09em .04em .09em;margin:-.09em -.05em -.12em;
    background-image:var(--holo-deep);background-size:220% 100%;
    -webkit-background-clip:text;background-clip:text;color:transparent;
    animation:holoshift 8s ease-in-out infinite alternate;
  }
  .hero-left h1 .thin{font-weight:300;letter-spacing:-.01em;}
  .hero-left p.lead{margin-top:28px;max-width:440px;font-size:15.5px;color:var(--idim);}
  .hero-left p.lead strong{color:var(--ink);font-weight:600;}
  .hero-left .cta{margin-top:36px;display:flex;gap:14px;flex-wrap:wrap;}
  .hero .sq{border:1px solid var(--ink);color:var(--ink);}
  .hero .sq:hover{background:var(--ink);color:var(--paper);}
  .hero .sq.fill{background:var(--ink);color:var(--paper);}
  .hero .sq.fill:hover{background:#6D5BE8;border-color:#6D5BE8;color:#fff;}
  .hero-right{
    position:relative;display:flex;align-items:center;justify-content:center;
    background:
      radial-gradient(430px 380px at 55% 48%, rgba(142,141,255,.38), transparent 70%),
      radial-gradient(360px 300px at 40% 62%, rgba(255,163,228,.30), transparent 70%),
      radial-gradient(300px 260px at 65% 32%, rgba(155,216,255,.30), transparent 70%);
  }
  .hero-right .cherrywrap{width:66%;max-width:380px;animation:floaty 6s ease-in-out infinite;}
  .hero-right .cherrywrap img{width:100%;display:block;cursor:pointer;transition:transform .5s cubic-bezier(.45,-0.35,.25,1.5),opacity .35s ease;filter:drop-shadow(0 22px 36px rgba(10,10,14,.28));}
  .hero-right .cherrywrap img.poof{transform:scale(.04) rotate(140deg);opacity:0;}
  @keyframes floaty{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-14px) rotate(-1.2deg)}}
  .reg{position:absolute;width:26px;height:26px;opacity:.6;color:var(--ink);z-index:1;pointer-events:none;}
  .sec:not(.light) .reg,.vband .reg{color:#fff;}
  .reg::before,.reg::after{content:"";position:absolute;background:currentColor;}
  .reg::before{left:50%;top:0;width:1px;height:100%;}
  .reg::after{top:50%;left:0;height:1px;width:100%;}
  .reg i{position:absolute;inset:6px;border:1px solid currentColor;border-radius:50%!important;display:block;}
  .corner{position:absolute;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.16em;color:var(--idimmer);text-transform:uppercase;transition:color .25s ease;z-index:2;}
  .swatches{position:absolute;right:34px;top:34px;display:flex;flex-direction:column;border:1px solid rgba(10,10,14,.55);z-index:2;}
  .swatches span{width:26px;height:26px;display:block;}
  @media(max-width:900px){
    .swatches{display:none;}
    .hero{grid-template-columns:1fr;}
    .hero-left{border-right:none;border-bottom:1px solid rgba(10,10,14,.75);padding:54px 28px;}
    .hero-right{min-height:340px;}
  }

  /* ===== Logo marquee band (dark) ===== */
  .band{
    border-top:2px solid rgba(255,255,255,.92);border-bottom:2px solid rgba(255,255,255,.92);
    overflow:hidden;padding:clamp(12px, calc(30px - 1.25vw), 19px) 0;background:rgba(0,0,0,.35);
  }
  .band .trk{display:inline-flex;align-items:center;white-space:nowrap;animation:slide 21s linear infinite;}
  .band .wm{font-size:clamp(24px,3vw,38px);margin-right:68px;white-space:nowrap;line-height:1;display:inline-block;}
  .band .wm .b{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;color:var(--white);}
  .band .wm .s{font-family:'Instrument Serif',serif;font-style:italic;font-size:1.08em;color:var(--white);}
  .band .wm .o{color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.8);}
  .band .wm .h{background:var(--holo);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-stroke:0;}
  .band img.logo{height:clamp(66px,7.5vw,99px);width:auto;display:block;margin-right:80px;}
  .band img.star{height:33px;width:auto;display:block;margin-right:80px;}
  .band .trk i img{height:18px;width:auto;display:inline-block;}
  @keyframes slide{from{transform:translateX(0)}to{transform:translateX(-50%)}}

  /* ===== Newsletter (dark) ===== */
  .nl{padding:100px 28px 110px;}
  .frame{
    max-width:760px;margin:0 auto;text-align:center;position:relative;
    border:1px solid rgba(255,255,255,.45);padding:66px 44px 70px;
    background:
      radial-gradient(420px 260px at 50% 0%, rgba(142,141,255,.16), transparent 70%),
      rgba(0,0,0,.4);
    box-shadow:0 0 70px rgba(142,141,255,.14);
    transition:border-color .2s ease,box-shadow .25s ease;
  }
  .frame:focus-within{border-color:rgba(255,255,255,.85);box-shadow:0 0 120px rgba(142,141,255,.32);}
  .frame .tag{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--lilac);margin-bottom:20px;}
  .frame h2{
    font-family:'Bricolage Grotesque',sans-serif;font-weight:800;text-transform:uppercase;
    font-size:clamp(34px,5vw,54px);line-height:.98;letter-spacing:-.01em;
  }
  .frame h2 .serif{font-size:1.2em;-webkit-text-stroke:.5px currentColor;text-transform:none;}
  .frame p.sub{margin:20px auto 0;max-width:520px;font-size:15px;color:var(--dim);}
  .frame p.sub strong{color:var(--white);font-weight:600;}
  .kit-form{margin-top:36px;}
  .form-row{display:flex;gap:12px;margin-bottom:12px;}
  .kit-form input[type=text],.kit-form input[type=email]{
    flex:1;background:transparent;border:1px solid rgba(255,255,255,.45);color:var(--white);
    font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.06em;padding:14px 16px;outline:none;width:100%;
  }
  .kit-form input[type=text]:hover,.kit-form input[type=email]:hover{border-color:rgba(255,255,255,.8);}
  .kit-form input:focus{
    border-color:var(--lilac);
    box-shadow:0 0 0 1px var(--lilac),0 0 28px rgba(180,155,255,.45);
    background:rgba(142,141,255,.09);
  }
  .kit-form input::placeholder{color:rgba(255,255,255,.4);text-transform:uppercase;letter-spacing:.12em;}
  .kit-form .consent{display:flex;align-items:flex-start;gap:9px;text-align:left;font-size:11.5px;color:var(--dimmer);margin:16px 0 20px;}
  .kit-form .consent input{margin-top:3px;accent-color:var(--lilac);}
  .kit-form button{
    width:100%;cursor:pointer;font-family:'JetBrains Mono',monospace;font-size:12px;font-weight:600;
    letter-spacing:.16em;text-transform:uppercase;padding:16px;
    background:var(--holo);border:none;color:var(--ink);
    transition:filter .15s ease,box-shadow .2s ease;
  }
  .kit-form button:hover{filter:brightness(1.12);box-shadow:0 0 36px rgba(180,155,255,.55);}
  .form-success{display:none;margin-top:14px;font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--lilac);}

  /* ===== Sections ===== */
  .sec{padding:88px 32px 96px;border-top:2px solid rgba(255,255,255,.92);position:relative;}
  .sec.light{border-top:2px solid rgba(10,10,14,.9);}
  .sec-inner{max-width:1240px;margin:0 auto;}
  .sec-head{display:block;margin-bottom:46px;position:relative;}
  .sec-head .tag{display:block;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--lilac);margin-bottom:14px;}
  .sec.light .sec-head .tag{color:#6D5BE8;}
  .sec-head h2{
    font-family:'Bricolage Grotesque',sans-serif;font-weight:800;text-transform:uppercase;
    font-size:clamp(30px,4.6vw,52px);line-height:1;letter-spacing:-.01em;text-align:left;
  }
  .sec-head h2 .serif{font-size:1.18em;text-transform:none;}
  .reg2{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}
  .single{display:grid;grid-template-columns:1fr;gap:20px;position:relative;}
  .yt-row{display:grid;grid-template-columns:3fr 1fr;gap:0;align-items:center;}
  .cp-row{display:grid;grid-template-columns:1fr 3fr;gap:0;align-items:center;}

  a.cell{text-decoration:none;cursor:pointer;}
  .cell{
    border:1px solid rgba(255,255,255,.4);background:rgba(4,4,9,.74);color:var(--white);
    padding:26px 28px 28px;display:flex;flex-direction:column;position:relative;overflow:hidden;
    transition:transform .18s ease,background .18s ease,border-color .18s ease,border-radius .24s ease,color .18s ease;
  }
  .cell:hover{transform:translateY(-5px);background:#000;border-color:rgba(255,255,255,.85);border-radius:18px!important;}
  .cell h3{
    font-family:'Bricolage Grotesque',sans-serif;font-weight:800;text-transform:uppercase;
    font-size:clamp(19px,2vw,24px);line-height:1.04;text-align:left;
    display:block;background:var(--holo);color:var(--ink);
    padding:16px 28px 17px;margin:-27px -29px 20px -29px;
    border-bottom:1px solid rgba(255,255,255,.8);
  }
  .cell .meta{display:flex;justify-content:space-between;font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--dimmer);margin-bottom:14px;}
  .cell .cat{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--lilac);margin:0 0 12px;}
  .cell p{font-size:14px;color:var(--dim);flex:1;}
  .pill{
    margin-top:22px;align-self:flex-start;display:inline-block;
    font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:600;
    letter-spacing:.14em;text-transform:uppercase;text-decoration:none;
    background:var(--ice);color:var(--ink);padding:12px 28px;border-radius:999px!important;
    transition:background .15s ease,box-shadow .2s ease,transform .15s ease;
  }
  .cell:hover .pill,.pill:hover{background:#C3E7FF;box-shadow:0 0 26px rgba(155,216,255,.55);transform:translateY(-1px);}
  /* course cells: text + square thumb */
  .crow{display:flex;gap:26px;flex:1;align-items:stretch;}
  .crow .ctxt{flex:1;display:flex;flex-direction:column;}
  .crow .thumb{width:150px;height:150px;object-fit:cover;align-self:center;border:1px solid rgba(255,255,255,.4);flex-shrink:0;}
  .sec.light .crow .thumb{border-color:rgba(10,10,14,.45);}
  /* light section cells */
  .sec.light .cell{border-color:rgba(10,10,14,.6);background:#fff;color:var(--ink);}
  .sec.light .cell .meta{color:var(--idimmer);}
  .sec.light .cell .cat{color:#6D5BE8;}
  .sec.light .cell p{color:var(--idim);}
  .sec.light .cell h3{border-bottom:1px solid rgba(10,10,14,.5);}
  .sec.light .cell:hover{background:#0A0A0E;color:#fff;border-color:#0A0A0E;}
  .sec.light .cell:hover .meta{color:var(--dimmer);}
  .sec.light .cell:hover .cat{color:var(--lilac);}
  .sec.light .cell:hover p{color:var(--dim);}
  /* YouTube */
  .playimg{width:186px;height:auto;justify-self:start;position:relative;z-index:2;transform:translateX(-30px);filter:drop-shadow(0 18px 34px rgba(0,0,0,.55));animation:floatysimple 5.6s ease-in-out infinite;pointer-events:none;}
  @keyframes floatysimple{0%,100%{transform:translateX(-30px) translateY(0)}50%{transform:translateX(-30px) translateY(-12px)}}
  /* Cherry-Picked */
  .cp-cherry{width:200px;justify-self:end;position:relative;z-index:2;transform:translateX(28px);filter:drop-shadow(0 18px 28px rgba(0,0,0,.5));animation:cpfloat 5.2s ease-in-out infinite;pointer-events:none;}
  @keyframes cpfloat{0%,100%{transform:translateX(28px) translateY(0) rotate(-7deg)}50%{transform:translateX(28px) translateY(-13px) rotate(-2deg)}}
  @media(max-width:860px){
    .reg2{grid-template-columns:1fr;}
    .yt-row{grid-template-columns:1fr;}
    .playimg{width:120px;justify-self:center;transform:translateX(0);margin:14px auto 0;animation:none;}
    .cp-row{grid-template-columns:1fr;}
    .cp-cherry{width:110px;transform:translateX(0);margin:0 auto 18px;}
    @keyframes cpfloat{0%,100%{transform:translateY(0) rotate(-7deg)}50%{transform:translateY(-10px) rotate(-2deg)}}
    .crow{flex-direction:column;}
    .crow .thumb{width:100%;height:170px;align-self:stretch;}
  }

  /* ===== Holo band (gradient like the tabs) ===== */
  .vband{
    position:relative;
    border-top:2px solid rgba(255,255,255,.92);
    background:var(--holo);background-size:160% 160%;
    animation:huedrift 14s ease-in-out infinite alternate;
    color:var(--ink);
  }
  @keyframes huedrift{from{background-position:0% 0%}to{background-position:100% 100%}}
  .vband::before{
    content:"";position:absolute;inset:0;pointer-events:none;
    background:
      repeating-linear-gradient(to right, rgba(255,255,255,.13) 0 1px, transparent 1px 56px),
      repeating-linear-gradient(to bottom, rgba(255,255,255,.13) 0 1px, transparent 1px 56px);
  }
  .vband .inner{position:relative;z-index:1;max-width:760px;margin:0 auto;padding:56px 28px 80px;}
  .vband .frame{
    color:var(--white);
    background:
      radial-gradient(420px 260px at 50% 0%, rgba(142,141,255,.18), transparent 70%),
      rgba(7,6,13,.92);
    box-shadow:0 0 70px rgba(10,10,14,.35);
  }

  /* ===== Manifesto (light) ===== */
  .manifesto{border-top:2px solid rgba(10,10,14,.9);position:relative;}
  .manifesto .inner{max-width:1240px;margin:0 auto;padding:100px 32px;}
  .manifesto .tag{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#6D5BE8;margin-bottom:26px;}
  .manifesto .q{
    font-family:'Bricolage Grotesque',sans-serif;font-weight:800;text-transform:uppercase;
    font-size:clamp(30px,5vw,58px);line-height:1.08;letter-spacing:-.01em;max-width:1050px;color:var(--ink);
  }
  .manifesto .q .serif{
    line-height:1.12;font-size:1.24em;display:inline-block;
    padding:0 .09em .05em .09em;margin:0 -.04em;
    background-image:var(--holo-deep);background-size:220% 100%;
    -webkit-background-clip:text;background-clip:text;color:transparent;
    animation:holoshift 8s ease-in-out infinite alternate;
  }
  .manifesto .q .boxline{background:var(--ink);color:#fff;display:inline-block;padding:.08em .28em .12em;line-height:1.05;margin-top:.18em;}
  .manifesto .metarow{display:flex;gap:30px;margin-top:40px;font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--idimmer);flex-wrap:wrap;}

  /* ===== Footer ===== */
  footer{border-top:2px solid rgba(255,255,255,.92);background:rgba(0,0,0,.5);text-align:center;padding:64px 28px 40px;}
  footer .f-logo{height:44px;width:auto;margin:0 auto 26px;display:inline-block;}
  footer .links{display:flex;gap:34px;justify-content:center;flex-wrap:wrap;margin-bottom:30px;}
  footer .links a{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);text-decoration:none;}
  footer .links a:hover{color:var(--lilac);}
  footer .socials{display:flex;gap:16px;justify-content:center;margin-bottom:30px;}
  footer .socials a{width:40px;height:40px;border:1px solid rgba(255,255,255,.35);display:flex;align-items:center;justify-content:center;color:var(--dim);}
  footer .socials a:hover{border-color:var(--lilac);color:var(--lilac);}
  footer .socials svg{width:17px;height:17px;fill:currentColor;}
  footer .tiny{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--dimmer);}

  /* mobile topbar */
  @media(max-width:860px){
    .topbar{padding:0 18px;}
    .topbar nav{display:none;}
  }

  /* newsletter form: rounded button, mobile stacking */
  .kit-form button{border-radius:999px!important;}
  @media(max-width:620px){
    .form-row{flex-direction:column;gap:12px;}
    .kit-form button .arr{display:none;}
    .kit-form button{padding:16px 14px;font-size:11px;letter-spacing:.1em;white-space:nowrap;}
    .frame{padding:44px 22px 46px!important;}
  }
