
/* =========================================================
   MIND MASTERS LABS — HOMEPAGE ELEVATION
   Visual-only premium layer. Original homepage copy retained.
   ========================================================= */

:root{
  --home-blue:#61AEDB;
  --home-blue-deep:#2E7EAE;
  --home-blue-soft:#EAF7FE;
  --home-yellow:#F3BE33;
  --home-yellow-soft:#FFF7D9;
  --home-ink:#10233B;
  --home-slate:#52657B;
  --home-purple:#8B6FD6;
  --home-green:#4FBF8B;
  --home-warm:#FFFDF7;
  --home-shadow:0 22px 70px rgba(35,88,126,.13);
  --home-shadow-soft:0 14px 40px rgba(35,88,126,.09);
  --home-border:rgba(71,137,181,.15);
}

/* Public homepage remains in normal flow. Fixed/sticky navigation is post-login only. */
body.home-premium header,
body:has(.home-hero) > header{
  position:relative !important;
  top:auto !important;
}

body{
  background:
    radial-gradient(circle at 8% 3%, rgba(243,190,51,.11), transparent 23rem),
    radial-gradient(circle at 96% 10%, rgba(97,174,219,.15), transparent 28rem),
    #fff;
}

/* ---------- Global polish ---------- */
.home-section{
  position:relative;
  isolation:isolate;
  overflow:hidden;
}
.home-section::before{
  content:"";
  position:absolute;
  width:320px;
  height:320px;
  border-radius:50%;
  filter:blur(1px);
  pointer-events:none;
  z-index:-1;
  opacity:.45;
}
.home-section .container{
  position:relative;
  z-index:1;
}
.home-section .section-title{
  margin-bottom:38px;
}
.home-section .section-title h2{
  color:var(--home-ink);
  letter-spacing:-1.35px;
  text-wrap:balance;
}
.home-section .section-title h2::after{
  content:"";
  display:block;
  width:68px;
  height:5px;
  margin:18px auto 0;
  border-radius:999px;
  background:linear-gradient(90deg,var(--home-blue),var(--home-yellow));
  box-shadow:0 5px 16px rgba(97,174,219,.24);
}
.home-section .section-title .subhead{
  color:var(--home-slate);
  max-width:850px;
  text-wrap:pretty;
}
.card,
.demo-card,
.perk,
.faq-card{
  border-color:var(--home-border) !important;
  box-shadow:var(--home-shadow-soft) !important;
}
.card{
  transition:transform .28s cubic-bezier(.2,.8,.2,1), box-shadow .28s ease, border-color .28s ease;
}
.card:hover{
  transform:translateY(-6px);
  box-shadow:var(--home-shadow) !important;
  border-color:rgba(97,174,219,.34) !important;
}
.btn-primary,
.btn-secondary,
.btn{
  transition:transform .22s cubic-bezier(.2,.8,.2,1), box-shadow .22s ease, background .22s ease, border-color .22s ease !important;
}
.btn-primary{
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg,#61AEDB 0%,#4A99C8 58%,#3D8DBD 100%) !important;
  box-shadow:0 14px 32px rgba(58,139,190,.25) !important;
}
.btn-primary::after{
  content:"";
  position:absolute;
  inset:-2px;
  background:linear-gradient(110deg,transparent 15%,rgba(255,255,255,.36) 44%,transparent 63%);
  transform:translateX(-135%);
  transition:transform .65s ease;
}
.btn-primary:hover::after{ transform:translateX(135%); }
.btn-primary:hover,
.btn-secondary:hover{ transform:translateY(-3px); }
.btn-primary:active,
.btn-secondary:active{ transform:translateY(0) scale(.985); }
.btn-secondary{
  box-shadow:0 10px 28px rgba(35,88,126,.07);
  border-color:rgba(74,145,191,.19) !important;
}
.btn-secondary:hover{
  border-color:rgba(97,174,219,.44) !important;
  box-shadow:0 15px 34px rgba(35,88,126,.12);
}

/* ---------- Hero ---------- */
.home-hero{
  position:relative;
  min-height:690px;
  padding:70px 0 96px !important;
  overflow:hidden;
  text-align:left !important;
  background:
    linear-gradient(135deg,rgba(255,255,255,.84),rgba(255,253,247,.78)),
    radial-gradient(circle at 80% 26%,rgba(97,174,219,.20),transparent 33rem),
    radial-gradient(circle at 22% 74%,rgba(243,190,51,.15),transparent 27rem);
}
.home-hero::before,
.home-hero::after{
  content:"";
  position:absolute;
  border-radius:999px;
  pointer-events:none;
}
.home-hero::before{
  width:520px;
  height:520px;
  right:-250px;
  top:-290px;
  border:1px solid rgba(97,174,219,.18);
  box-shadow:
    0 0 0 42px rgba(97,174,219,.025),
    0 0 0 90px rgba(97,174,219,.02);
}
.home-hero::after{
  width:390px;
  height:390px;
  left:-220px;
  bottom:-250px;
  background:rgba(243,190,51,.07);
}
.home-hero-shell{
  display:grid;
  grid-template-columns:minmax(0,1.04fr) minmax(420px,.96fr);
  gap:58px;
  align-items:center;
  min-height:520px;
}
.home-hero-copy{
  position:relative;
  z-index:2;
}
.home-hero h1{
  max-width:760px !important;
  margin:0 0 24px !important;
  padding:0 !important;
  font-size:clamp(66px,7vw,102px) !important;
  line-height:.98 !important;
  letter-spacing:-4.8px !important;
  color:var(--home-ink);
  text-wrap:balance;
}
.home-hero h1 br + *{}
.home-hero h1::after{
  content:"";
  display:block;
  width:170px;
  height:9px;
  margin-top:24px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--home-yellow),#FFD96A,var(--home-blue));
  box-shadow:0 8px 24px rgba(243,190,51,.23);
}
.home-hero p,
.home-hero .subhead{
  max-width:650px !important;
  margin:0 0 34px !important;
  color:var(--home-slate) !important;
  font-size:clamp(21px,2vw,27px) !important;
  line-height:1.48 !important;
  text-align:left !important;
  text-wrap:pretty;
}
.home-hero .hero-cta{
  justify-content:flex-start !important;
  gap:12px !important;
}
.home-hero .btn-primary,
.home-hero .btn-secondary{
  min-height:58px;
  padding:16px 24px !important;
  border-radius:17px !important;
  font-size:18px !important;
}

/* Abstract premium product visual — no copy added */
.home-hero-visual{
  position:relative;
  height:500px;
  min-width:0;
  border-radius:42px;
  background:
    radial-gradient(circle at 50% 48%,rgba(255,255,255,.97),rgba(255,255,255,.72) 42%,rgba(232,247,255,.7) 68%,rgba(255,247,217,.5));
  border:1px solid rgba(97,174,219,.18);
  box-shadow:
    0 45px 90px rgba(38,105,148,.14),
    inset 0 1px 0 rgba(255,255,255,.9);
  overflow:hidden;
  transform:perspective(1300px) rotateY(-3deg) rotateX(1deg);
}
.home-hero-visual::before{
  content:"";
  position:absolute;
  inset:16px;
  border:1px solid rgba(97,174,219,.12);
  border-radius:31px;
}
.home-hero-visual::after{
  content:"";
  position:absolute;
  inset:auto 10% 8% 10%;
  height:30px;
  border-radius:50%;
  background:rgba(45,113,158,.12);
  filter:blur(20px);
}
.hero-glow{
  position:absolute;
  width:260px;
  height:260px;
  border-radius:50%;
  filter:blur(40px);
  opacity:.38;
}
.hero-glow-blue{ right:-38px; top:-34px; background:#61AEDB; }
.hero-glow-yellow{ left:-64px; bottom:-58px; background:#F3BE33; }
.mind-core-visual{
  position:absolute;
  left:50%;
  top:50%;
  width:205px;
  height:205px;
  transform:translate(-50%,-50%);
  border-radius:50%;
  display:grid;
  place-items:center;
  background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(240,250,255,.9));
  border:1px solid rgba(97,174,219,.24);
  box-shadow:
    0 26px 60px rgba(47,112,154,.18),
    0 0 0 14px rgba(255,255,255,.46),
    0 0 70px rgba(97,174,219,.20);
  animation:homeCoreFloat 5s ease-in-out infinite;
}
.mind-core-visual img{
  width:124px;
  height:124px;
  object-fit:contain;
  filter:drop-shadow(0 12px 24px rgba(50,111,151,.16));
}
.mind-core-halo{
  position:absolute;
  inset:-19px;
  border:1px dashed rgba(97,174,219,.38);
  border-radius:50%;
  animation:homeSpin 24s linear infinite;
}
.mind-orbit{
  position:absolute;
  left:50%;
  top:50%;
  border-radius:50%;
  border:1px solid rgba(71,137,181,.16);
  transform:translate(-50%,-50%);
}
.orbit-one{
  width:330px;
  height:330px;
}
.orbit-two{
  width:410px;
  height:410px;
  border-style:dashed;
  border-color:rgba(243,190,51,.26);
  animation:homeSpinReverse 34s linear infinite;
}
.visual-chip{
  position:absolute;
  width:68px;
  height:68px;
  display:grid;
  place-items:center;
  border-radius:20px;
  background:rgba(255,255,255,.91);
  border:1px solid rgba(97,174,219,.18);
  box-shadow:0 18px 34px rgba(45,102,143,.14);
  font-size:26px;
  backdrop-filter:blur(12px);
  animation:homeChipFloat 4.8s ease-in-out infinite;
}
.chip-focus{ left:13%; top:20%; color:#2FAE79; animation-delay:-1.2s; }
.chip-calm{ right:12%; top:23%; color:#8B6FD6; animation-delay:-2.6s; }
.chip-progress{ right:18%; bottom:16%; color:#DEA514; animation-delay:-.5s; }
.visual-panel{
  position:absolute;
  width:132px;
  min-height:92px;
  border-radius:22px;
  background:rgba(255,255,255,.84);
  border:1px solid rgba(97,174,219,.16);
  box-shadow:0 18px 38px rgba(48,105,145,.11);
  backdrop-filter:blur(13px);
  padding:18px;
}
.panel-left{ left:8%; bottom:16%; transform:rotate(-4deg); }
.panel-right{ right:8%; top:46%; transform:rotate(4deg); }
.panel-dot{
  width:18px;height:18px;border-radius:50%;
  display:block;background:linear-gradient(135deg,var(--home-yellow),#FFD867);
  margin-bottom:12px;
}
.panel-line,.panel-bar{
  height:8px;border-radius:999px;display:block;margin-top:9px;
  background:rgba(97,174,219,.22);
}
.panel-line.short,.panel-bar.short{ width:62%; }
.panel-ring{
  display:block;width:34px;height:34px;border-radius:50%;
  border:7px solid rgba(97,174,219,.23);
  border-top-color:var(--home-blue);
  margin-bottom:8px;
}

/* ---------- What this is / isn't ---------- */
.home-definition{
  background:linear-gradient(180deg,#fff 0%,#FCFEFF 100%);
  padding-top:112px !important;
}
.home-definition::before{
  left:-220px; top:20%;
  background:radial-gradient(circle,rgba(97,174,219,.14),transparent 68%);
}
.home-definition .grid{
  gap:22px !important;
}
.home-definition .card{
  min-height:100%;
  padding:31px !important;
  border-radius:25px !important;
  position:relative;
  overflow:hidden;
}
.home-definition .card::before{
  content:"";
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  height:5px;
  background:linear-gradient(90deg,var(--home-blue),rgba(97,174,219,.15));
}
.home-definition .card:nth-child(2)::before{
  background:linear-gradient(90deg,var(--home-yellow),rgba(243,190,51,.12));
}
.home-definition .card:nth-child(3)::before{
  background:linear-gradient(90deg,#8B6FD6,var(--home-blue),var(--home-yellow));
}
.home-definition .card h3{
  font-size:24px !important;
  color:var(--home-ink);
}
.home-definition .tick{
  font-size:17px !important;
  line-height:1.62 !important;
}

/* ---------- Demo ---------- */
.home-demo{
  background:
    linear-gradient(180deg,#F5FBFF 0%,#FDFEFF 100%),
    radial-gradient(circle at 90% 0,rgba(243,190,51,.16),transparent 25rem);
}
.home-demo::before{
  right:-220px; bottom:-80px;
  background:radial-gradient(circle,rgba(243,190,51,.18),transparent 68%);
}
.home-demo .demo-grid{ gap:24px !important; }
.home-demo .demo-card{
  border-radius:28px !important;
  overflow:hidden;
  position:relative;
  transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s ease;
}
.home-demo .demo-card:hover{
  transform:translateY(-7px);
  box-shadow:var(--home-shadow) !important;
}
.home-demo .demo-card::before{
  content:"";
  position:absolute;
  left:0;right:0;top:0;height:6px;
  background:linear-gradient(90deg,#8B6FD6,#61AEDB);
}
.home-demo .demo-card:nth-child(2)::before{
  background:linear-gradient(90deg,#48B885,#61AEDB,#F3BE33);
}
.home-demo .demo-icon{
  box-shadow:0 12px 28px rgba(48,105,145,.13);
}
.home-demo .demo-actions .demo-start,
.home-demo button{
  transition:transform .2s ease,box-shadow .2s ease;
}
.home-demo .demo-actions .demo-start:hover,
.home-demo button:hover{
  transform:translateY(-2px);
}

/* ---------- Why tools help ---------- */
.home-why{
  background:#fff;
}
.home-why::before{
  left:38%; top:22%;
  width:520px; height:520px;
  background:radial-gradient(circle,rgba(97,174,219,.09),transparent 68%);
}
.home-why .flip-grid{ gap:22px !important; }
.home-why .flip{ min-height:390px !important; }
.home-why .flip-face{
  border-radius:28px !important;
  border-color:var(--home-border) !important;
  box-shadow:var(--home-shadow-soft) !important;
}
.home-why .flip-front{
  background:
    radial-gradient(circle at 50% 34%,rgba(97,174,219,.09),transparent 9rem),
    #fff !important;
}
.home-why .flip:nth-child(2n) .flip-front{
  background:
    radial-gradient(circle at 50% 34%,rgba(243,190,51,.11),transparent 9rem),
    #fff !important;
}
.home-why .why-ic{
  width:90px;
  height:90px;
  border-radius:28px;
  display:grid !important;
  place-items:center;
  background:#fff;
  border:1px solid rgba(97,174,219,.17);
  box-shadow:0 18px 40px rgba(48,105,145,.12);
  font-size:40px !important;
  transition:transform .28s ease;
}
.home-why .flip:hover .why-ic{ transform:translateY(-5px) rotate(-3deg); }
.home-why .flip-front h4{ font-size:24px !important; color:var(--home-ink); }
.home-why .flip-back{
  background:linear-gradient(155deg,#fff,#F8FCFF) !important;
}
.home-why .diff{
  border-radius:17px !important;
  background:linear-gradient(135deg,rgba(97,174,219,.13),rgba(255,247,217,.55)) !important;
  border-color:rgba(97,174,219,.22) !important;
}

/* ---------- Labs ---------- */
.home-labs{
  background:linear-gradient(180deg,#FBFEFF 0%,#FFFDF7 100%);
}
.home-labs::before{
  right:-160px; top:20%;
  background:radial-gradient(circle,rgba(97,174,219,.15),transparent 70%);
}
.home-labs .grid{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:23px !important;
  align-items:stretch;
}
.home-labs .card{
  padding:32px !important;
  border-radius:28px !important;
  min-height:100%;
  position:relative;
  overflow:hidden;
}
.home-labs .card::before{
  content:"";
  position:absolute;inset:0 0 auto 0;height:6px;
  background:linear-gradient(90deg,#4FBF8B,#61AEDB);
}
.home-labs .card:nth-child(2)::before{
  background:linear-gradient(90deg,#8B6FD6,#61AEDB);
}
.home-labs .card:nth-child(3)::before{
  background:linear-gradient(90deg,#F3BE33,#61AEDB);
}
.home-labs .card h3{
  font-size:25px !important;
  margin-bottom:20px !important;
}
.home-labs .tick{
  padding:11px 0;
  border-bottom:1px solid rgba(97,174,219,.09);
}
.home-labs .tick:last-child{ border-bottom:0; }

/* ---------- Pricing ---------- */
.home-pricing{
  background:
    radial-gradient(circle at 15% 30%,rgba(243,190,51,.13),transparent 26rem),
    radial-gradient(circle at 85% 45%,rgba(97,174,219,.16),transparent 29rem),
    linear-gradient(180deg,#F9FCFF,#FFFDF8);
}
.home-pricing .container{
  max-width:980px;
  background:rgba(255,255,255,.90);
  border:1px solid rgba(97,174,219,.18);
  border-radius:36px;
  padding:56px 58px 58px;
  box-shadow:0 32px 80px rgba(42,102,143,.13);
  backdrop-filter:blur(12px);
}
.home-pricing .microprice{
  max-width:720px;
  margin-left:auto !important;
  margin-right:auto !important;
  border-radius:24px !important;
  background:linear-gradient(135deg,rgba(255,247,217,.72),rgba(234,247,254,.72)) !important;
  border:1px solid rgba(97,174,219,.17);
}
.home-pricing .tenp{
  background:#fff !important;
  border:1px solid rgba(243,190,51,.34) !important;
  box-shadow:0 10px 24px rgba(224,166,24,.10);
}
.home-pricing .pricing-perks{
  gap:14px !important;
}
.home-pricing .perk{
  border-radius:20px !important;
  background:#fff !important;
  transition:transform .24s ease,border-color .24s ease;
}
.home-pricing .perk:hover{
  transform:translateX(5px);
  border-color:rgba(97,174,219,.35) !important;
}
.home-pricing #joinButton2{
  margin-top:8px;
  min-width:260px;
  min-height:58px;
}

/* ---------- FAQ ---------- */
.home-faq{
  background:#fff;
  padding-bottom:118px !important;
}
.home-faq .faq-grid{
  gap:18px !important;
}
.home-faq .faq-card{
  border-radius:24px !important;
  padding:25px !important;
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.home-faq .faq-card:hover{
  transform:translateY(-4px);
  box-shadow:var(--home-shadow) !important;
  border-color:rgba(97,174,219,.32) !important;
}
.home-faq .faq-ic{
  box-shadow:0 10px 25px rgba(48,105,145,.09);
}

/* ---------- Motion ---------- */
.js-home-reveal{
  opacity:0;
  transform:translateY(20px);
  transition:
    opacity .65s cubic-bezier(.2,.8,.2,1),
    transform .65s cubic-bezier(.2,.8,.2,1);
  transition-delay:var(--home-delay,0ms);
}
.js-home-reveal.is-visible{
  opacity:1;
  transform:none;
}
@keyframes homeCoreFloat{
  0%,100%{ transform:translate(-50%,-50%) translateY(0) rotate(-1deg); }
  50%{ transform:translate(-50%,-50%) translateY(-10px) rotate(1deg); }
}
@keyframes homeChipFloat{
  0%,100%{ transform:translateY(0) rotate(0deg); }
  50%{ transform:translateY(-9px) rotate(2deg); }
}
@keyframes homeSpin{ to{ transform:rotate(360deg); } }
@keyframes homeSpinReverse{
  from{ transform:translate(-50%,-50%) rotate(0); }
  to{ transform:translate(-50%,-50%) rotate(-360deg); }
}

/* ---------- Responsive ---------- */
@media (max-width:1000px){
  .home-hero{ min-height:auto; padding:60px 0 82px !important; }
  .home-hero-shell{
    grid-template-columns:1fr;
    gap:42px;
  }
  .home-hero-copy{
    text-align:center;
  }
  .home-hero h1{
    margin-left:auto !important;
    margin-right:auto !important;
    font-size:clamp(62px,10vw,84px) !important;
  }
  .home-hero h1::after{ margin-left:auto; margin-right:auto; }
  .home-hero p,.home-hero .subhead{
    text-align:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  .home-hero .hero-cta{ justify-content:center !important; }
  .home-hero-visual{
    width:min(620px,100%);
    height:430px;
    margin:0 auto;
    transform:none;
  }
  .home-labs .grid{
    grid-template-columns:1fr !important;
  }
}
@media (max-width:760px){
  .home-section{ padding:74px 0 !important; }
  .home-section .section-title{ margin-bottom:28px; }
  .home-section .section-title h2{
    white-space:normal !important;
    font-size:clamp(36px,10vw,46px) !important;
    letter-spacing:-1px !important;
  }
  .home-hero{
    padding:48px 0 70px !important;
  }
  .home-hero-shell{
    width:min(92vw,680px) !important;
    gap:32px;
  }
  .home-hero h1{
    font-size:clamp(54px,15vw,70px) !important;
    letter-spacing:-3px !important;
  }
  .home-hero p,.home-hero .subhead{
    font-size:20px !important;
    line-height:1.52 !important;
  }
  .home-hero .hero-cta{
    flex-direction:column;
    align-items:stretch;
  }
  .home-hero .btn-primary,
  .home-hero .btn-secondary{
    width:100%;
  }
  .home-hero-visual{ height:340px; border-radius:30px; }
  .mind-core-visual{ width:156px;height:156px; }
  .mind-core-visual img{ width:95px;height:95px; }
  .orbit-one{ width:240px;height:240px; }
  .orbit-two{ width:300px;height:300px; }
  .visual-chip{ width:52px;height:52px;border-radius:16px;font-size:20px; }
  .visual-panel{ width:104px;min-height:76px;padding:14px;border-radius:18px; }
  .panel-left{ left:4%;bottom:10%; }
  .panel-right{ right:4%;top:46%; }
  .home-definition .card,
  .home-labs .card{ padding:25px !important; }
  .home-why .flip-grid{ grid-template-columns:1fr !important; }
  .home-why .flip{ min-height:350px !important; }
  .home-pricing .container{
    width:min(92vw,680px) !important;
    padding:38px 22px 40px;
    border-radius:28px;
  }
}
@media (max-width:480px){
  .home-hero h1{ font-size:50px !important; }
  .home-hero-visual{ height:310px; }
  .visual-panel{ display:none; }
  .chip-progress{ right:10%;bottom:13%; }
  .home-pricing #joinButton2{ min-width:0;width:100%; }
}

@media (prefers-reduced-motion:reduce){
  .mind-core-visual,
  .mind-core-halo,
  .orbit-two,
  .visual-chip,
  .js-home-reveal{
    animation:none !important;
    transition:none !important;
  }
  .js-home-reveal{
    opacity:1 !important;
    transform:none !important;
  }
  .card:hover,
  .demo-card:hover,
  .faq-card:hover,
  .perk:hover,
  .btn-primary:hover,
  .btn-secondary:hover{
    transform:none !important;
  }
}

.home-why .flip.is-open .flip-inner{ transform:rotateY(180deg); }
