:root {
  --mindset-sans: "Avenir Next", Avenir, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  --mindset-hand: "Bradley Hand", "Segoe Print", "Comic Sans MS", cursive;
  --mindset-serif: "Times New Roman", Times, serif;
  --ink: #171326;
  --muted: #726d78;
  --orange: #ff6422;
  --orange-dark: #ea4f0e;
  --purple: #7659e8;
  --paper: #fffdfb;
  --peach: #fff1e8;
  --line: #eee6e3;
  --shadow: 0 28px 80px rgba(50, 35, 61, 0.1);
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 96px;
}

body {
  margin: 0;
  overflow-x: hidden;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--mindset-sans);
  font-weight: 470;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

a {
  color: inherit;
  text-decoration: none;
}

img {
  max-width: 100%;
}

button,
input,
select {
  font: inherit;
}

.shell {
  width: min(1780px, calc(100% - 128px));
  margin-inline: auto;
}

.section {
  position: relative;
  padding: 120px 0;
}

.eyebrow {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 28px !important;
  color: var(--orange) !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}

.eyebrow::before {
  width: 30px;
  height: 1px;
  background: currentColor;
  content: "";
  opacity: 0.62;
}

.site-header {
  position: fixed;
  z-index: 100;
  top: 20px;
  left: 50%;
  width: min(1880px, calc(100% - 80px));
  min-height: 76px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 18px 12px 26px;
  border: 1px solid rgba(255, 255, 255, 0.82);
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.88);
  box-shadow: 0 18px 55px rgba(44, 30, 53, 0.1);
  backdrop-filter: blur(20px);
  transform: translateX(-50%);
}

.brand {
  display: inline-flex;
  align-items: center;
}

.brand img {
  width: 130px;
  height: 48px;
  object-fit: contain;
  object-position: left center;
}

.site-nav {
  display: flex;
  align-items: center;
  gap: clamp(22px, 2vw, 42px);
  color: #48424d;
  font-size: 13px;
  font-weight: 680;
}

.site-nav > a {
  transition: color 180ms ease, transform 180ms ease;
}

.site-nav > a:hover,
.site-nav > a:focus-visible {
  color: var(--orange);
}

.nav-cta {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  gap: 13px;
  padding: 0 23px;
  border-radius: 999px;
  color: white !important;
  background: linear-gradient(135deg, #ff7a32, #f35617);
  box-shadow: 0 12px 30px rgba(241, 84, 19, 0.26);
}

.nav-cta b {
  transition: transform 180ms ease;
}

.nav-cta:hover b {
  transform: translateX(4px);
}

.menu-button {
  display: none;
  width: 46px;
  height: 46px;
  border: 0;
  border-radius: 14px;
  color: var(--ink);
  background: var(--peach);
  font-size: 22px;
  cursor: pointer;
}

/* Hero */

.hero {
  position: relative;
  min-height: 980px;
  display: flex;
  align-items: stretch;
  overflow: hidden;
  isolation: isolate;
  background: #fff7f2;
}

.hero-landscape {
  position: absolute;
  z-index: -3;
  inset: 0;
  background-image: linear-gradient(90deg, rgba(255, 250, 247, 0.26), rgba(255, 255, 255, 0.02)), url("../images/hero-landscape.webp");
  background-position: center bottom;
  background-size: cover;
  animation: landscape-drift 18s ease-in-out infinite alternate;
  transform: scale(1.035);
}

.hero::before {
  position: absolute;
  z-index: -2;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(255, 251, 248, 0.97) 0%, rgba(255, 251, 248, 0.86) 34%, rgba(255, 251, 248, 0.14) 64%, rgba(255, 251, 248, 0.06) 100%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.22), rgba(255, 255, 255, 0.05) 65%, rgba(255, 255, 255, 0.84));
  content: "";
}

.hero-orb {
  position: absolute;
  z-index: -1;
  border-radius: 50%;
  filter: blur(1px);
  opacity: 0.85;
}

.hero-orb-one {
  top: 145px;
  right: 43%;
  width: 22px;
  height: 22px;
  background: linear-gradient(145deg, #ffd29e, #ff6b22);
  box-shadow: 0 0 40px rgba(255, 104, 36, 0.42);
  animation: orb-float 5s ease-in-out infinite;
}

.hero-orb-two {
  right: 6%;
  bottom: 165px;
  width: 32px;
  height: 32px;
  background: linear-gradient(145deg, #e8dfff, #8c62f1);
  box-shadow: 0 0 50px rgba(118, 87, 232, 0.35);
  animation: orb-float 6.5s ease-in-out 1s infinite reverse;
}

.hero-grid {
  position: relative;
  display: grid;
  grid-template-columns: 39% 61%;
  align-items: center;
  gap: 22px;
  min-height: 980px;
  padding-top: 116px;
}

.hero-copy {
  position: relative;
  z-index: 4;
  padding-bottom: 15px;
}

.hero h1,
.about h2,
.study-copy h2,
.waitlist-copy h2,
.community h2,
.section-heading h2 {
  margin: 0;
  letter-spacing: -0.065em;
}

.hero h1 {
  max-width: 760px;
  font-size: clamp(62px, 5.8vw, 118px);
  font-weight: 520;
  line-height: 0.96;
}

.hero h1 em,
.about h2 em,
.study-copy h2 em,
.waitlist-copy h2 em,
.community h2 em,
.section-heading h2 em {
  color: var(--orange);
  font-style: normal;
}

.hero-lead {
  max-width: 740px;
  margin: 46px 0 38px;
  color: var(--muted);
  font-size: clamp(17px, 1.25vw, 25px);
  line-height: 1.7;
}

.button-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 18px;
}

.button {
  min-height: 56px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 13px;
  padding: 0 24px;
  border: 1px solid transparent;
  border-radius: 15px;
  font-size: 14px;
  font-weight: 790;
  cursor: pointer;
  transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease;
}

.button:hover,
.button:focus-visible {
  transform: translateY(-2px);
}

.button.primary {
  color: white;
  background: linear-gradient(135deg, #ff762d, #fb5b18);
  box-shadow: 0 16px 34px rgba(240, 85, 22, 0.26);
}

.button.primary:hover {
  box-shadow: 0 20px 38px rgba(240, 85, 22, 0.34);
}

.button.secondary {
  border-color: #d8d0cd;
  background: rgba(255, 255, 255, 0.7);
  color: var(--ink);
  box-shadow: 0 12px 34px rgba(46, 31, 58, 0.04);
  backdrop-filter: blur(10px);
}

.proof {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-top: 42px;
}

.avatar-stack {
  display: flex;
  padding-left: 8px;
}

.avatar-stack i {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  margin-left: -8px;
  border: 3px solid white;
  border-radius: 50%;
  background: #ffbf97;
  font-size: 12px;
  font-style: normal;
  font-weight: 800;
}

.avatar-stack i:nth-child(2) {
  background: #b8a8ff;
}

.avatar-stack i:nth-child(3) {
  background: #f6b4c6;
}

.avatar-stack i:nth-child(4) {
  background: #a7d8bd;
}

.proof > div:last-child {
  display: flex;
  flex-direction: column;
}

.proof strong {
  color: #ef781f;
  font-size: 17px;
  letter-spacing: 0.08em;
}

.proof span {
  margin-top: 4px;
  color: #77717b;
  font-size: 11px;
}

.hero-art {
  position: relative;
  z-index: 2;
  min-width: 0;
  min-height: 725px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.66);
  border-radius: 36px;
  background: rgba(255, 248, 244, 0.5);
  box-shadow: 0 38px 100px rgba(64, 42, 68, 0.11);
  backdrop-filter: blur(8px);
}

.hero-art-glow {
  position: absolute;
  width: 78%;
  height: 78%;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 219, 199, 0.54), rgba(218, 202, 255, 0.16) 58%, transparent 72%);
  filter: blur(10px);
  animation: pulse-glow 7s ease-in-out infinite;
}

.hero-art > img {
  position: relative;
  z-index: 1;
  width: 118%;
  max-width: none;
  height: auto;
  object-fit: contain;
  animation: hero-art-float 7s ease-in-out infinite;
  transform-origin: center;
}

.float-pill {
  position: absolute;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  min-height: 50px;
  padding: 0 21px;
  border: 1px solid rgba(255, 255, 255, 0.88);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.86);
  box-shadow: 0 15px 42px rgba(55, 38, 65, 0.11);
  font-size: 13px;
  font-weight: 800;
  backdrop-filter: blur(15px);
}

.float-pill.one {
  top: 19%;
  right: 6%;
  animation: pill-float 5s ease-in-out infinite;
}

.float-pill.two {
  top: 49%;
  right: 1.5%;
  animation: pill-float 5.8s ease-in-out 0.8s infinite;
}

.float-pill.three {
  right: 7%;
  bottom: 14%;
  animation: pill-float 5.2s ease-in-out 1.4s infinite;
}

/* Shared section heading */

.section-heading {
  max-width: 1020px;
  margin: 0 auto 54px;
  text-align: center;
}

.section-heading .eyebrow {
  justify-content: center;
  margin-bottom: 14px !important;
}

.section-heading h2 {
  font-size: clamp(48px, 4.4vw, 84px);
  font-weight: 560;
  line-height: 1;
}

.section-heading > p:last-child {
  margin: 18px 0 0;
  color: var(--muted);
  font-size: 15px;
}

/* How it works */

.how {
  padding-top: 128px;
  background: white;
}

.steps-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 28px;
  background: linear-gradient(180deg, #fff, #fffaf8);
  box-shadow: var(--shadow);
}

.step-card {
  min-width: 0;
  padding: 28px;
  border-right: 1px solid var(--line);
  transition: transform 200ms ease, background 200ms ease;
}

.step-card:last-child {
  border-right: 0;
}

.step-card:hover {
  background: rgba(255, 242, 234, 0.55);
  transform: translateY(-5px);
}

.step-visual {
  position: relative;
  height: 230px;
  overflow: hidden;
  border-radius: 20px;
  background: linear-gradient(145deg, #f7f2ff, #fff4ee);
}

.step-visual > img {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  transition: transform 500ms cubic-bezier(.2, .7, .2, 1), filter 500ms ease;
}

.step-card:hover .step-visual > img {
  filter: saturate(1.06) contrast(1.02);
  transform: scale(1.045);
}

.step-icon {
  position: absolute;
  z-index: 3;
  top: 16px;
  left: 16px;
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.88);
  border-radius: 15px;
  color: var(--purple);
  background: rgba(255, 255, 255, 0.82);
  box-shadow: 0 18px 45px rgba(73, 53, 103, 0.13);
  font-size: 18px;
  font-weight: 780;
  backdrop-filter: blur(10px);
}

.step-visual-shade {
  position: absolute;
  z-index: 2;
  inset: 0;
  border: 1px solid rgba(255, 255, 255, 0.64);
  border-radius: inherit;
  background: linear-gradient(180deg, transparent 62%, rgba(54, 34, 68, 0.08));
  box-shadow: inset 0 0 30px rgba(255, 255, 255, 0.28);
  pointer-events: none;
}

.step-title {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  margin-top: 24px;
}

.step-title > b {
  width: 30px;
  height: 30px;
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 50%;
  color: var(--purple);
  background: #f1edff;
  font-size: 10px;
}

.step-title h3 {
  margin: 1px 0 5px;
  font-size: 17px;
  letter-spacing: -0.035em;
}

.step-title strong {
  color: var(--orange);
  font-size: 10px;
  text-transform: uppercase;
}

.step-card > p {
  margin: 15px 0 0 44px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.65;
}

/* Founder */

.about {
  padding: 72px 0;
  overflow: hidden;
  background: white;
}

.about-exact-reference {
  display: none;
}

.about-responsive {
  display: grid;
}

.about-grid {
  display: grid;
  grid-template-columns: minmax(330px, 31%) minmax(0, 1fr);
  align-items: center;
  gap: clamp(52px, 4vw, 76px);
  min-height: 610px;
}

.founder-card {
  position: relative;
  text-align: center;
}

.portrait {
  position: relative;
  width: min(85%, 460px);
  aspect-ratio: 1 / 1;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  margin: 0 auto;
  overflow: visible;
  border-radius: 50%;
  background: linear-gradient(150deg, #ffe6d8, #fff4ec);
  box-shadow: inset 0 0 0 1px rgba(255, 112, 47, 0.04);
}

.portrait::before {
  position: absolute;
  inset: 14%;
  border-radius: 48% 48% 44% 44%;
  background: linear-gradient(160deg, #ffcfae, #f7b58e);
  content: "";
  opacity: 0.75;
}

.portrait-mask {
  position: absolute;
  z-index: 2;
  inset: 0;
  overflow: hidden;
  border-radius: 50%;
}

.portrait-mask > img {
  position: absolute;
  z-index: 2;
  bottom: 0;
  left: 50%;
  width: 105%;
  height: 116%;
  object-fit: contain;
  object-position: center bottom;
  filter: drop-shadow(0 20px 22px rgba(62, 36, 31, 0.08));
  transform: translateX(-50%);
}

.portrait-orb {
  position: absolute;
  z-index: 3;
  border-radius: 50%;
  background: radial-gradient(circle at 32% 27%, #ffe9be 0 7%, #ff7a19 42%, #e95100 76%);
  box-shadow: 0 8px 20px rgba(236, 90, 11, 0.2);
}

.portrait-orb.one {
  top: 4%;
  right: 4%;
  width: 57px;
  height: 57px;
}

.portrait-orb.two {
  top: 33%;
  left: -3%;
  width: 31px;
  height: 31px;
}

.portrait-orb.three {
  right: -4%;
  bottom: 12%;
  width: 39px;
  height: 39px;
}

.signature {
  margin-top: 8px;
  color: #4a4445;
  font-family: var(--mindset-hand);
  font-size: 54px;
  font-weight: 520;
  line-height: 1;
  transform: rotate(-3deg);
}

.founder-card h3 {
  margin: 2px 0 0;
  color: #504b4d;
  font-size: 21px;
  font-weight: 790;
}

.founder-card h3 em {
  color: var(--orange);
  font-style: normal;
}

.founder-card blockquote {
  margin: 10px auto 0;
  color: #555052;
  font-size: 16px;
  font-style: italic;
  font-weight: 700;
  line-height: 1.55;
}

.about-copy {
  min-width: 0;
  padding-right: 1%;
}

.about-label {
  display: inline-flex;
  width: max-content;
  padding: 9px 18px;
  border-radius: 999px;
  background: #fff1e9;
  font-size: 16px !important;
  font-weight: 600 !important;
  letter-spacing: 0;
  text-transform: none;
}

.about-label::before {
  display: none;
}

.about-copy h2 {
  margin: 18px 0 0;
  font-size: clamp(48px, 3.4vw, 68px);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -0.05em;
}

.about-copy .lead {
  margin: 24px 0 20px;
  color: #575254;
  font-size: clamp(17px, 1.05vw, 22px);
  font-weight: 700;
  line-height: 1.4;
}

.about-copy .lead strong {
  color: var(--orange);
}

.about-copy > p:not(.eyebrow):not(.lead) {
  margin: 0 0 20px;
  color: #29252a;
  font-size: clamp(15px, 0.92vw, 19px);
  line-height: 1.42;
}

.about-copy .problem {
  display: flex;
  flex-direction: column;
  margin-top: 20px !important;
}

.about-copy .problem strong {
  color: #08070a;
  font-weight: 800;
}

.orange-text {
  color: var(--orange);
  font-style: normal;
}

.about-copy .closing {
  display: flex;
  flex-direction: column;
  margin-top: 20px !important;
  color: #5c575a !important;
  font-weight: 750;
}

.about-copy .closing strong {
  color: var(--orange);
}

/* Study abroad */

.features {
  padding-top: 72px;
  background: linear-gradient(180deg, #fff, #fffdfc);
}

.study-card {
  display: grid;
  grid-template-columns: minmax(0, 44%) minmax(0, 56%);
  align-items: center;
  min-height: 650px;
  overflow: hidden;
  padding: clamp(44px, 5vw, 82px);
  border: 1px solid var(--line);
  border-radius: 34px;
  background:
    radial-gradient(circle at 83% 28%, rgba(214, 198, 255, 0.32), transparent 30%),
    linear-gradient(135deg, #fffdfb, #fff7f2);
  box-shadow: var(--shadow);
}

.study-copy {
  position: relative;
  z-index: 4;
  min-width: 0;
  padding-right: 28px;
}

.study-copy h2 {
  font-size: clamp(54px, 4.8vw, 92px);
  font-weight: 600;
  line-height: 0.96;
}

.study-copy > p:not(.eyebrow) {
  max-width: 660px;
  margin: 29px 0;
  color: var(--muted);
  font-size: clamp(15px, 1.2vw, 21px);
  line-height: 1.7;
}

.feature-pills {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 22px;
  max-width: 650px;
  margin: 30px 0 34px;
}

.feature-pills span {
  color: #5f5870;
  font-size: 13px;
  font-weight: 730;
  white-space: nowrap;
}

.text-link {
  min-height: 56px;
  display: inline-flex;
  align-items: center;
  color: var(--purple);
  font-size: 13px;
  font-weight: 780;
}

.study-art {
  position: relative;
  min-width: 0;
  min-height: 530px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.study-art > img {
  width: 100%;
  height: auto;
  max-height: 580px;
  object-fit: contain;
  object-position: center;
  mix-blend-mode: multiply;
}

.study-note {
  position: absolute;
  right: 4%;
  bottom: 4%;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  border: 1px solid #ded5ff;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 18px 42px rgba(75, 53, 115, 0.13);
  backdrop-filter: blur(10px);
}

.study-note > b {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  color: var(--purple);
  background: #f0edff;
}

.study-note small {
  display: flex;
  flex-direction: column;
  color: var(--muted);
  font-size: 9px;
}

.study-note strong {
  color: var(--ink);
  font-size: 11px;
}

/* Stories */

.stories {
  background:
    radial-gradient(circle at 50% 18%, rgba(255, 229, 212, 0.38), transparent 35%),
    linear-gradient(180deg, #fffaf7, #fff 90%);
}

.review-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 16px;
}

.review-card {
  min-height: 235px;
  display: flex;
  flex-direction: column;
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: 19px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 14px 36px rgba(47, 34, 56, 0.05);
  transition: transform 200ms ease, box-shadow 200ms ease;
}

.review-card:hover {
  box-shadow: 0 20px 44px rgba(47, 34, 56, 0.1);
  transform: translateY(-6px);
}

.stars {
  color: #ef8a2c;
  font-size: 12px;
  letter-spacing: 0.12em;
}

.quote-mark {
  height: 24px;
  color: #ef7626;
  font-family: var(--mindset-serif);
  font-size: 34px;
  line-height: 1;
}

.review-card > p {
  flex: 1;
  margin: 18px 0;
  color: #514a54;
  font-size: 12px;
  line-height: 1.65;
}

.review-card > div {
  display: flex;
  align-items: center;
  gap: 11px;
}

.review-avatar {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: linear-gradient(145deg, #ffd5ba, #f29a67);
  font-size: 10px;
  font-weight: 800;
}

.av-2 { background: linear-gradient(145deg, #e4ddff, #a891ef); }
.av-3 { background: linear-gradient(145deg, #ffdce4, #ed9bae); }
.av-4 { background: linear-gradient(145deg, #daf2e2, #85c4a0); }
.av-5 { background: linear-gradient(145deg, #dbe9ff, #8eafe7); }

.review-card small {
  display: flex;
  flex-direction: column;
  color: var(--muted);
  font-size: 9px;
}

.review-card small b {
  color: var(--ink);
  font-size: 10px;
}

.video-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  margin-top: 28px;
}

.video-card {
  position: relative;
  min-height: 305px;
  display: block;
  overflow: hidden;
  border: 0;
  border-radius: 22px;
  color: white;
  background: linear-gradient(145deg, #80614e, #161316);
  box-shadow: 0 18px 48px rgba(28, 20, 26, 0.09);
  transition: transform 220ms ease, box-shadow 220ms ease;
}

.video-card::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 29%, rgba(12, 9, 13, 0.88));
  content: "";
}

.video-card:hover {
  box-shadow: 0 26px 60px rgba(28, 20, 26, 0.2);
  transform: translateY(-6px);
}

.v-2 { background: linear-gradient(145deg, #705b57, #261b21); }
.v-3 { background: linear-gradient(145deg, #a36853, #2e2025); }
.v-4 { background: linear-gradient(145deg, #5a403a, #151416); }

.video-silhouette {
  position: absolute;
  top: 32px;
  left: 50%;
  width: 118px;
  height: 155px;
  border-radius: 62px 62px 38px 38px;
  background: linear-gradient(165deg, #be8465, #4b302b);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.14);
  transform: translateX(-50%);
}

.video-silhouette i {
  position: absolute;
  top: 24px;
  left: 50%;
  width: 58px;
  height: 58px;
  border-radius: 50%;
  background: rgba(255, 236, 222, 0.28);
  transform: translateX(-50%);
}

.play-button {
  position: absolute;
  z-index: 3;
  top: 87px;
  left: 50%;
  width: 56px;
  height: 56px;
  display: grid;
  place-items: center;
  padding-left: 3px;
  border: 1px solid rgba(255, 255, 255, 0.7);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.22);
  font-size: 15px;
  backdrop-filter: blur(8px);
  transform: translateX(-50%);
  transition: transform 180ms ease, background 180ms ease;
}

.video-card:hover .play-button {
  background: var(--orange);
  transform: translateX(-50%) scale(1.08);
}

.video-card > small {
  position: absolute;
  z-index: 3;
  right: 22px;
  bottom: 20px;
  left: 22px;
  display: flex;
  flex-direction: column;
  gap: 5px;
  color: rgba(255, 255, 255, 0.66);
  font-size: 9px;
  line-height: 1.4;
}

.video-card > small b {
  color: white;
  font-size: 14px;
}

.stories-link {
  width: max-content;
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 30px auto 0;
  color: var(--orange);
  font-size: 13px;
  font-weight: 790;
}

.stories-link span {
  transition: transform 180ms ease;
}

.stories-link:hover span {
  transform: translateX(4px);
}

/* Waitlist */

.waitlist {
  background: white;
}

.waitlist-card {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  align-items: center;
  gap: clamp(55px, 7vw, 125px);
  padding: clamp(54px, 6vw, 92px);
  border: 1px solid #ebe7ef;
  border-radius: 34px;
  background:
    radial-gradient(circle at 82% 18%, rgba(217, 209, 255, 0.42), transparent 30%),
    linear-gradient(130deg, #fffefe, #faf8ff);
  box-shadow: var(--shadow);
}

.waitlist-copy h2 {
  font-size: clamp(54px, 4.6vw, 88px);
  font-weight: 590;
  line-height: 1;
}

.waitlist-copy > p:not(.eyebrow) {
  max-width: 720px;
  margin: 30px 0;
  color: var(--muted);
  font-size: clamp(15px, 1.1vw, 20px);
  line-height: 1.7;
}

.benefits {
  display: flex;
  flex-wrap: wrap;
  gap: 11px;
  margin: 29px 0 32px;
}

.benefits span {
  padding: 10px 13px;
  border: 1px solid #ece7ef;
  border-radius: 11px;
  background: rgba(255, 255, 255, 0.78);
  color: #5e5767;
  font-size: 10px;
  font-weight: 720;
}

.privacy-line {
  display: block;
  margin-top: 18px;
  color: #89828d;
  font-size: 10px;
}

.waitlist-form {
  position: relative;
  padding: clamp(28px, 3vw, 45px);
  border: 1px solid #ece7ef;
  border-radius: 25px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 26px 55px rgba(54, 39, 69, 0.12);
}

.form-icon {
  width: 45px;
  height: 45px;
  display: grid;
  place-items: center;
  margin: 0 auto 13px;
  border-radius: 14px;
  color: var(--purple);
  background: #f0edff;
}

.waitlist-form h3 {
  margin: 0;
  text-align: center;
  font-size: 22px;
  letter-spacing: -0.04em;
}

.waitlist-form > p {
  margin: 8px 0 24px;
  color: var(--muted);
  font-size: 11px;
  text-align: center;
}

.waitlist-form label:not(.consent):not(.honeypot) {
  display: block;
  margin-top: 14px;
  color: #4c4552;
  font-size: 10px;
  font-weight: 780;
}

.waitlist-form label > b {
  color: var(--orange);
}

.waitlist-form input:not([type="checkbox"]),
.waitlist-form select {
  width: 100%;
  height: 48px;
  margin-top: 7px;
  padding: 0 13px;
  border: 1px solid #ded8e0;
  border-radius: 10px;
  outline: 0;
  background: white;
  font-size: 11px;
}

.waitlist-form input:focus,
.waitlist-form select:focus {
  border-color: var(--purple);
  box-shadow: 0 0 0 4px rgba(117, 87, 232, 0.08);
}

.honeypot {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
}

.consent {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  margin: 15px 0;
  color: #716a75;
  font-size: 9px;
  line-height: 1.5;
}

.consent input {
  width: 15px;
  height: 15px;
  margin: 0;
  accent-color: var(--orange);
}

.consent a {
  color: var(--purple);
  text-decoration: underline;
}

.submit {
  width: 100%;
  border: 0;
}

.submit:disabled {
  opacity: 0.7;
}

.form-message {
  margin: 12px 0 0 !important;
  padding: 10px 12px;
  border-radius: 9px;
  font-size: 9px !important;
}

.form-message.success {
  color: #1d6b45;
  background: #eaf8ef;
}

.form-message.error {
  color: #9d3030;
  background: #fff0f0;
}

.secure {
  display: block;
  margin-top: 13px;
  color: #96909a;
  font-size: 8px;
  text-align: center;
}

/* Kanka AI */

.kanka-section {
  overflow: hidden;
  padding: 112px 0 106px;
  background:
    radial-gradient(circle at 66% 45%, rgba(255, 221, 199, 0.18), transparent 26%),
    linear-gradient(180deg, #fff, #fffdfc);
}

.kanka-card {
  display: grid;
  grid-template-columns: minmax(430px, 38%) minmax(0, 62%);
  align-items: center;
  gap: clamp(38px, 4vw, 82px);
}

.kanka-copy {
  position: relative;
  z-index: 4;
}

.kanka-label {
  width: fit-content;
  min-height: 54px;
  display: inline-flex;
  align-items: center;
  gap: 11px;
  margin: 0 0 35px;
  padding: 0 22px;
  border-radius: 999px;
  color: #f26b0a;
  background: #fff1e9;
  font-size: 17px;
  font-weight: 620;
}

.kanka-label span {
  font-size: 20px;
}

.kanka-copy h2 {
  margin: 0;
  color: #f26b0a;
  font-size: clamp(64px, 5vw, 94px);
  font-weight: 560;
  line-height: 1;
  letter-spacing: -0.055em;
}

.kanka-copy h3 {
  margin: 35px 0 0;
  color: #0b0910;
  font-size: clamp(22px, 1.75vw, 31px);
  font-weight: 760;
  letter-spacing: -0.025em;
}

.kanka-copy > p:not(.kanka-label) {
  max-width: 650px;
  margin: 28px 0 31px;
  color: #26212a;
  font-size: clamp(17px, 1.35vw, 24px);
  line-height: 1.55;
}

.kanka-button {
  min-width: 292px;
  min-height: 62px;
  border-radius: 999px;
  font-size: 17px;
  font-weight: 620;
}

.kanka-button b {
  font-size: 22px;
  transition: transform 180ms ease;
}

.kanka-button:hover b {
  transform: translateX(5px);
}

.kanka-experience {
  position: relative;
  min-width: 0;
  min-height: 550px;
  display: grid;
  grid-template-columns: minmax(225px, 0.9fr) minmax(310px, 1.35fr) minmax(185px, 0.75fr);
  align-items: center;
  gap: 18px;
}

.kanka-bot-window {
  position: relative;
  z-index: 3;
  width: 100%;
  height: 540px;
  overflow: hidden;
  pointer-events: none;
}

.kanka-bot-window > img {
  position: absolute;
  z-index: 2;
  top: -8px;
  left: 50%;
  width: clamp(440px, 28vw, 500px);
  max-width: none;
  height: auto;
  filter: drop-shadow(0 30px 35px rgba(69, 41, 55, 0.13));
  animation: kanka-bot-float 5.8s ease-in-out infinite;
  transform-origin: 50% 60%;
  will-change: transform, filter;
}

.kanka-bot-glow {
  position: absolute;
  z-index: 1;
  top: 20%;
  left: 18%;
  width: 84%;
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 154, 70, 0.2), rgba(255, 216, 192, 0.08) 50%, transparent 72%);
  filter: blur(14px);
  animation: kanka-glow 5.8s ease-in-out infinite;
}

.kanka-chat-card {
  position: relative;
  z-index: 2;
  min-width: 0;
  padding: 20px;
  border: 1px solid #eee8e5;
  border-radius: 27px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 25px 70px rgba(61, 41, 59, 0.08);
  backdrop-filter: blur(14px);
  animation: kanka-card-float 7s ease-in-out infinite;
}

.kanka-chat-card header {
  display: flex;
  align-items: center;
  gap: 11px;
  padding-bottom: 14px;
}

.kanka-avatar {
  width: 45px;
  height: 45px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border: 3px solid #fff0e8;
  border-radius: 50%;
  color: white;
  background:
    radial-gradient(circle at 50% 40%, #281913 0 26%, transparent 27%),
    linear-gradient(145deg, #f46115, #5c271b);
  box-shadow: 0 8px 20px rgba(69, 42, 48, 0.12);
  font-size: 14px;
  font-weight: 800;
}

.kanka-chat-card header > span:nth-child(2) {
  display: flex;
  min-width: 0;
  flex: 1;
  flex-direction: column;
}

.kanka-chat-card header b {
  font-size: 15px;
}

.kanka-chat-card header small {
  display: flex;
  align-items: center;
  gap: 5px;
  margin-top: 3px;
  color: #a19aa3;
  font-size: 9px;
}

.kanka-chat-card header small i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #42cb7b;
  box-shadow: 0 0 0 4px rgba(66, 203, 123, 0.1);
}

.call-icon {
  font-size: 23px !important;
  transform: rotate(-38deg);
}

.chat-flow {
  display: flex;
  flex-direction: column;
  gap: 11px;
}

.chat-flow p {
  width: fit-content;
  max-width: 92%;
  margin: 0;
  padding: 12px 15px;
  border-radius: 14px;
  font-size: 11px;
  line-height: 1.45;
}

.chat-question {
  align-self: flex-end;
  background: #fff1e7;
  animation: chat-bubble-in 5.5s ease-in-out infinite;
}

.chat-answer {
  align-self: flex-start;
  background: #f7f6f6;
  animation: chat-bubble-in 5.5s ease-in-out 0.45s infinite;
}

.chat-correction {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 15px;
  border-radius: 16px;
  background: linear-gradient(145deg, #fff6ef, #fff0e6);
  font-size: 11px;
  line-height: 1.4;
  animation: chat-bubble-in 5.5s ease-in-out 0.9s infinite;
}

.chat-correction span {
  color: #5e5761;
}

.chat-correction strong {
  font-weight: 600;
}

.voice-bar {
  min-height: 62px;
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 17px;
  padding: 10px 11px 10px 18px;
  border: 1px solid #eee8e5;
  border-radius: 17px;
  background: white;
}

.voice-wave {
  min-width: 0;
  display: flex;
  flex: 1;
  align-items: center;
  justify-content: center;
  gap: 3px;
}

.voice-wave i {
  width: 3px;
  min-height: 6px;
  border-radius: 999px;
  background: #f47813;
  animation: voice-wave-pulse 1.25s ease-in-out infinite alternate;
  transform-origin: center;
}

.voice-wave i:nth-child(3n + 1) {
  animation-delay: -0.3s;
}

.voice-wave i:nth-child(3n + 2) {
  animation-delay: -0.7s;
}

.voice-bar > span {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border-radius: 50%;
  color: white;
  background: #f47813;
  box-shadow: 0 10px 25px rgba(244, 120, 19, 0.25);
  font-size: 12px;
  animation: mic-pulse 2.1s ease-in-out infinite;
}

.kanka-tools {
  position: relative;
  z-index: 2;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 26px 19px;
  border: 1px solid #eee8e5;
  border-radius: 27px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 25px 70px rgba(61, 41, 59, 0.07);
  backdrop-filter: blur(14px);
  animation: kanka-card-float 7.5s ease-in-out 0.7s infinite reverse;
}

.kanka-tools span {
  display: flex;
  align-items: center;
  gap: 11px;
  color: #322d34;
  font-size: 10px;
  font-weight: 650;
  white-space: nowrap;
}

.kanka-tools i {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border-radius: 50%;
  font-size: 13px;
  font-style: normal;
}

.tool-blue {
  color: #5a6f9e;
  background: #eaf0ff;
}

.tool-purple {
  color: #8962d8;
  background: #f1e9ff;
}

.tool-green {
  color: #31a46e;
  background: #e4f8ee;
}

.tool-orange {
  color: #f07d17;
  background: #fff0df;
}

.tool-peach {
  color: #e78b31;
  background: #fff2e5;
}

@keyframes kanka-bot-float {
  0%, 100% {
    filter: drop-shadow(0 30px 35px rgba(69, 41, 55, 0.13));
    transform: translate3d(-50%, 7px, 0) rotate(-0.4deg);
  }
  50% {
    filter: drop-shadow(0 42px 42px rgba(69, 41, 55, 0.18));
    transform: translate3d(-50%, -15px, 0) rotate(1deg);
  }
}

@keyframes kanka-glow {
  0%, 100% { opacity: 0.5; transform: scale(0.9); }
  50% { opacity: 1; transform: scale(1.08); }
}

@keyframes kanka-card-float {
  0%, 100% { transform: translate3d(0, 5px, 0); }
  50% { transform: translate3d(0, -7px, 0); }
}

@keyframes chat-bubble-in {
  0%, 10% { opacity: 0.58; transform: translate3d(0, 7px, 0); }
  22%, 78% { opacity: 1; transform: none; }
  92%, 100% { opacity: 0.72; transform: translate3d(0, -2px, 0); }
}

@keyframes voice-wave-pulse {
  0% { transform: scaleY(0.45); }
  100% { transform: scaleY(1); }
}

@keyframes mic-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(244, 120, 19, 0.22); }
  50% { box-shadow: 0 0 0 9px rgba(244, 120, 19, 0); }
}

/* Social */

.community {
  background: linear-gradient(180deg, #fff, #fffdfc);
}

.community-top {
  display: grid;
  grid-template-columns: 58% 42%;
  align-items: end;
  gap: 78px;
  margin-bottom: 55px;
}

.community h2 {
  font-size: clamp(58px, 5.2vw, 98px);
  font-weight: 520;
  line-height: 0.98;
}

.community-top > div > p:last-child {
  max-width: 860px;
  margin: 23px 0 0;
  color: var(--muted);
  font-size: 16px;
  line-height: 1.7;
}

.profile-card {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 28px;
  padding: 32px;
  border: 1px solid var(--line);
  border-radius: 27px;
  background: white;
  box-shadow: 0 22px 58px rgba(42, 31, 51, 0.08);
}

.profile-photo {
  position: relative;
  width: 132px;
  height: 132px;
  display: flex;
  flex: 0 0 auto;
  align-items: flex-end;
  justify-content: center;
  overflow: hidden;
  border: 8px solid #fff0e7;
  border-radius: 50%;
  background: linear-gradient(145deg, #dca07b, #6c4b40);
}

.profile-photo img {
  width: 114%;
  height: 116%;
  object-fit: contain;
  object-position: center bottom;
}

.profile-card h3 {
  margin: 0;
  font-size: 24px;
}

.profile-card h3 b {
  color: var(--orange);
}

.verified-badge {
  width: 23px;
  height: 23px;
  display: inline-grid;
  place-items: center;
  margin-left: 4px;
  clip-path: polygon(50% 0%, 61% 8%, 74% 5%, 82% 16%, 95% 20%, 96% 34%, 100% 50%, 93% 62%, 95% 77%, 82% 84%, 74% 96%, 60% 93%, 50% 100%, 39% 92%, 25% 96%, 18% 84%, 5% 79%, 7% 64%, 0% 50%, 7% 38%, 5% 23%, 18% 16%, 26% 5%, 40% 8%);
  color: white;
  background: #169be4;
  box-shadow: 0 6px 14px rgba(22, 155, 228, 0.25);
  font-size: 14px;
  font-weight: 900;
  line-height: 1;
  vertical-align: 2px;
}

.profile-card small {
  color: #8c8490;
  font-size: 10px;
}

.profile-card p {
  margin: 14px 0;
  color: #625b65;
  font-size: 12px;
  line-height: 1.5;
}

.profile-card strong {
  font-size: 20px;
}

.profile-card i {
  color: var(--muted);
  font-size: 9px;
  font-style: normal;
  font-weight: 500;
}

.social-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

.social-card {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 24px;
  background: white;
  box-shadow: 0 16px 40px rgba(45, 34, 53, 0.06);
  transition: transform 220ms ease, box-shadow 220ms ease;
}

.social-card:hover {
  box-shadow: 0 24px 55px rgba(45, 34, 53, 0.12);
  transform: translateY(-6px);
}

.social-card header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 21px 24px;
}

.social-card header b {
  font-size: 15px;
}

.social-card header small {
  color: #938c96;
  font-size: 10px;
}

.social-card > div {
  position: relative;
  min-height: 240px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  overflow: hidden;
  padding: 31px;
  color: white;
  background: linear-gradient(145deg, #e8754c, #5b2e35);
}

.social-card .social-media-preview {
  min-height: 0;
  aspect-ratio: 16 / 10;
  padding: 0;
  background: #171326;
}

.social-media-preview > img {
  position: absolute;
  z-index: 0;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  object-position: top center;
  transition: transform 550ms cubic-bezier(.2, .7, .2, 1), filter 550ms ease;
}

.social-card:hover .social-media-preview > img {
  filter: saturate(1.06);
  transform: scale(1.025);
}

.social-media-tint {
  position: absolute;
  z-index: 1;
  inset: 0;
  background: linear-gradient(180deg, transparent 44%, rgba(18, 10, 23, 0.15) 64%, rgba(18, 10, 23, 0.84) 100%);
  pointer-events: none;
}

.social-tiktok > div {
  background: linear-gradient(145deg, #282329, #8c3f50);
}

.social-youtube > div {
  background: linear-gradient(145deg, #d7593d, #482329);
}

.social-card > div::before {
  position: absolute;
  top: -48px;
  right: -32px;
  width: 178px;
  height: 178px;
  border: 28px solid rgba(255, 255, 255, 0.12);
  border-radius: 50%;
  content: "";
}

.social-card .social-media-preview::before {
  display: none;
}

.social-mark {
  position: absolute;
  top: 31px;
  right: 36px;
  min-width: 52px;
  height: 45px;
  display: grid;
  place-items: center;
  border: 3px solid rgba(255, 255, 255, 0.48);
  border-radius: 12px;
  color: white;
  font-size: 16px;
  font-weight: 800;
  z-index: 3;
  background: rgba(24, 15, 29, 0.38);
  opacity: 0.9;
  backdrop-filter: blur(8px);
}

.social-mark svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.social-mark svg .is-fill {
  fill: currentColor;
  stroke: none;
}

.social-mark svg .is-dark {
  fill: rgba(18, 10, 23, 0.78);
  stroke: none;
}

.social-card > div strong {
  position: relative;
  z-index: 2;
  margin: auto 24px 24px;
  max-width: 340px;
  color: white;
  text-shadow: 0 3px 18px rgba(0, 0, 0, 0.55);
  font-size: clamp(22px, 1.75vw, 32px);
  line-height: 1.08;
  letter-spacing: -0.04em;
}

.social-card footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 19px 24px;
  color: var(--orange);
  font-size: 10px;
  font-weight: 760;
}

/* App banner and footer */

.download {
  padding-top: 65px;
}

.download-card {
  position: relative;
  min-height: 390px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-radius: 32px;
  background: #0b0a0d;
  box-shadow: 0 30px 80px rgba(18, 12, 22, 0.2);
}

.download-card > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.download-card::after {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 50% 50%, rgba(6, 5, 8, 0.04), rgba(4, 3, 6, 0.5));
  content: "";
}

.download-copy {
  position: relative;
  z-index: 2;
  width: 43%;
  color: white;
  text-align: center;
}

.download-copy > span {
  color: #ee9c70;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.14em;
}

.download-copy h2 {
  margin: 12px 0 0;
  font-size: clamp(34px, 3vw, 56px);
  line-height: 1.05;
  letter-spacing: -0.055em;
}

.download-copy > p {
  margin: 15px auto 22px;
  color: rgba(255, 255, 255, 0.66);
  font-size: 11px;
}

.light-button {
  min-height: 48px;
  color: #151219;
  background: white;
}

.footer {
  padding: 85px 0 28px;
  background: #fff7f2;
}

.footer-grid {
  display: grid;
  grid-template-columns: 1.5fr 0.7fr 0.7fr 1fr;
  gap: 60px;
}

.footer-grid > div {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  color: #6e6670;
  font-size: 11px;
}

.footer-brand img {
  width: 145px;
  height: 53px;
}

.footer-grid > div > b {
  color: var(--ink);
  font-size: 12px;
}

.footer-grid p {
  margin: 5px 0;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.5;
}

.footer-grid > div:first-child > a:last-child {
  color: var(--orange);
}

.footer-grid .button {
  min-height: 43px;
  padding: 0 16px;
  color: white;
  font-size: 10px;
}

.footer-bottom {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 26px;
  margin-top: 58px;
  padding-top: 24px;
  border-top: 1px solid #eaded8;
  color: #918991;
  font-size: 9px;
}

.footer-bottom > div {
  display: flex;
  gap: 22px;
}

.footer-bottom > a {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: white;
  background: var(--orange);
  font-size: 15px;
}

/* Legal and admin pages */

.legal-page,
.admin-page {
  min-height: 100vh;
  padding: 44px 24px;
  background:
    radial-gradient(circle at 10% 10%, rgba(255, 133, 70, 0.1), transparent 27%),
    radial-gradient(circle at 90% 8%, rgba(143, 112, 240, 0.13), transparent 28%),
    #fffdfc;
}

.legal-shell {
  width: min(820px, 100%);
  margin: auto;
  padding: clamp(28px, 6vw, 70px);
  border: 1px solid var(--line);
  border-radius: 28px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: var(--shadow);
}

.legal-kicker {
  margin: 44px 0 11px !important;
  color: var(--orange) !important;
  font-size: 10px !important;
  font-weight: 800;
  text-transform: uppercase;
}

.legal-shell h1 {
  margin: 0 0 24px;
  font-size: clamp(42px, 7vw, 68px);
  letter-spacing: -0.065em;
}

.legal-shell h2 {
  margin: 30px 0 6px;
  font-size: 17px;
}

.legal-shell p {
  color: #69626e;
  font-size: 13px;
  line-height: 1.8;
}

.legal-shell p a {
  color: var(--orange);
  text-decoration: underline;
}

.legal-shell > .button {
  margin-top: 20px;
}

.admin-header {
  width: min(1220px, 100%);
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 0 auto 31px;
  padding: 13px 17px;
  border: 1px solid var(--line);
  border-radius: 19px;
  background: rgba(255, 255, 255, 0.86);
  box-shadow: 0 14px 40px rgba(48, 35, 60, 0.06);
}

.admin-header > div {
  display: flex;
  align-items: center;
  gap: 15px;
  font-size: 10px;
}

.admin-header > div span {
  color: var(--muted);
}

.admin-header > div a {
  padding: 8px 11px;
  border-radius: 8px;
  color: var(--orange);
  background: #fff1e9;
  font-weight: 750;
}

.admin-shell {
  width: min(1220px, 100%);
  margin: auto;
  padding: clamp(23px, 4vw, 49px);
  border: 1px solid var(--line);
  border-radius: 28px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: var(--shadow);
}

.admin-title {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 28px;
}

.admin-title > div:first-child > span,
.access-card > span {
  color: var(--orange);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.admin-title h1 {
  margin: 7px 0 5px;
  font-size: clamp(34px, 5vw, 55px);
  letter-spacing: -0.06em;
}

.admin-title p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
}

.count {
  display: flex;
  flex-direction: column;
  padding: 16px 19px;
  border: 1px solid #e5ddfd;
  border-radius: 14px;
  background: #f6f3ff;
}

.count b {
  color: var(--purple);
  font-size: 25px;
}

.count span {
  color: var(--muted);
  font-size: 7px;
  text-transform: uppercase;
}

.admin-toolbar {
  display: grid;
  grid-template-columns: 1fr 250px auto;
  align-items: end;
  gap: 12px;
  margin: 34px 0 21px;
  padding: 15px;
  border-radius: 17px;
  background: #faf8f7;
}

.admin-toolbar label {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.admin-toolbar label span {
  color: #655e69;
  font-size: 8px;
  font-weight: 800;
  text-transform: uppercase;
}

.admin-toolbar input,
.admin-toolbar select {
  height: 45px;
  padding: 0 12px;
  border: 1px solid #ddd7db;
  border-radius: 9px;
  outline: 0;
  background: white;
  font-size: 11px;
}

.admin-toolbar input:focus,
.admin-toolbar select:focus {
  border-color: var(--purple);
  box-shadow: 0 0 0 4px rgba(116, 87, 232, 0.08);
}

.admin-toolbar .button {
  min-height: 45px;
  white-space: nowrap;
}

.admin-error {
  padding: 11px 13px;
  border-radius: 9px;
  color: #9f3030;
  background: #fff0f0;
  font-size: 10px;
}

.table-wrap {
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 16px;
}

.table-wrap table {
  width: 100%;
  border-collapse: collapse;
  text-align: left;
}

.table-wrap th {
  padding: 12px 14px;
  color: #847d87;
  background: #faf8f8;
  font-size: 8px;
  text-transform: uppercase;
}

.table-wrap td {
  padding: 14px;
  border-top: 1px solid var(--line);
  color: #655e68;
  font-size: 10px;
  white-space: nowrap;
}

.table-wrap td a {
  color: var(--purple);
}

.goal {
  padding: 6px 9px;
  border-radius: 999px;
  color: #674eb6;
  background: #f0edff;
  font-size: 8px;
  font-weight: 720;
}

.table-wrap button {
  padding: 6px 8px;
  border: 1px solid #efd5d5;
  border-radius: 7px;
  color: #af4545;
  background: #fff6f6;
  cursor: pointer;
  font-size: 8px;
  font-weight: 750;
}

.empty {
  height: 175px;
  text-align: center;
  color: #908993 !important;
}

.access-card {
  width: min(520px, 100%);
  margin: 10vh auto 0;
  padding: 49px;
  border: 1px solid var(--line);
  border-radius: 26px;
  background: white;
  box-shadow: var(--shadow);
  text-align: center;
}

.access-card > img {
  width: 62px;
}

.access-card > span {
  display: block;
  margin-top: 19px;
}

.access-card h1 {
  margin: 9px 0;
  font-size: 33px;
  letter-spacing: -0.05em;
}

.access-card p {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.7;
}

.access-card .button {
  margin-top: 14px;
}

/* Motion */

@keyframes landscape-drift {
  0% { transform: scale(1.035) translate3d(-0.4%, 0, 0); }
  100% { transform: scale(1.075) translate3d(1.1%, -0.8%, 0); }
}

@keyframes hero-art-float {
  0%, 100% { transform: translate3d(0, 0, 0) scale(1); }
  50% { transform: translate3d(0, -12px, 0) scale(1.008); }
}

@keyframes pill-float {
  0%, 100% { transform: translate3d(0, 0, 0); }
  50% { transform: translate3d(0, -11px, 0); }
}

@keyframes orb-float {
  0%, 100% { transform: translate3d(0, 0, 0); }
  50% { transform: translate3d(12px, -22px, 0); }
}

@keyframes pulse-glow {
  0%, 100% { opacity: 0.65; transform: scale(0.94); }
  50% { opacity: 1; transform: scale(1.06); }
}

/* Responsive */

@media (max-width: 1500px) {
  .shell {
    width: min(1320px, calc(100% - 72px));
  }

  .site-header {
    width: min(1360px, calc(100% - 50px));
  }

  .hero {
    min-height: 850px;
  }

  .hero-grid {
    grid-template-columns: 42% 58%;
    min-height: 850px;
  }

  .hero h1 {
    font-size: clamp(58px, 5.5vw, 84px);
  }

  .hero-lead {
    margin: 31px 0;
    font-size: 17px;
  }

  .hero-art {
    min-height: 610px;
  }

  .about-grid {
    grid-template-columns: 34% 66%;
    gap: 48px;
    min-height: 520px;
  }

  .about-copy h2 {
    font-size: clamp(46px, 3.8vw, 54px);
  }

  .about-copy .lead,
  .about-copy > p:not(.eyebrow):not(.lead) {
    font-size: 15px;
  }

  .signature {
    font-size: 42px;
  }

  .founder-card h3 {
    font-size: 18px;
  }

  .founder-card blockquote {
    font-size: 14px;
  }

  .about-label {
    font-size: 13px !important;
  }

  .study-card {
    min-height: 580px;
  }

  .study-copy h2 {
    font-size: 68px;
  }

  .study-art {
    min-height: 450px;
  }

  .community h2 {
    font-size: 70px;
  }

  .layered-hero .hero-primary {
    min-width: 230px;
  }

  .layered-hero .hero-secondary {
    min-width: 218px;
  }

  .layered-hero .button {
    padding-inline: 20px;
  }
}

@media (max-width: 1120px) {
  .site-nav {
    gap: 16px;
    font-size: 11px;
  }

  .review-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .review-card:nth-child(n + 4) {
    display: none;
  }

  .about-grid {
    gap: 42px;
  }

  .about-copy h2 {
    font-size: 46px;
  }

  .founder-card blockquote {
    font-size: 14px;
  }

  .study-card {
    padding: 48px;
  }

  .study-copy h2 {
    font-size: 58px;
  }

  .waitlist-card {
    gap: 42px;
    padding: 48px;
  }

  .community-top {
    gap: 38px;
  }
}

@media (max-width: 900px) {
  .section {
    padding: 90px 0;
  }

  .shell {
    width: min(760px, calc(100% - 36px));
  }

  .site-header {
    top: 12px;
    width: calc(100% - 24px);
    min-height: 66px;
    padding: 8px 11px 8px 18px;
    border-radius: 19px;
  }

  .brand img {
    width: 112px;
    height: 42px;
  }

  .menu-button {
    display: block;
  }

  .site-nav {
    position: absolute;
    top: calc(100% + 9px);
    right: 0;
    left: 0;
    visibility: hidden;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 10px;
    border: 1px solid var(--line);
    border-radius: 19px;
    background: rgba(255, 254, 253, 0.98);
    box-shadow: 0 24px 58px rgba(42, 30, 51, 0.15);
    opacity: 0;
    transform: translateY(-8px) scale(0.98);
    transition: opacity 180ms ease, transform 180ms ease, visibility 180ms ease;
  }

  .site-nav.open {
    visibility: visible;
    opacity: 1;
    transform: none;
  }

  .site-nav > a {
    padding: 14px;
    border-radius: 11px;
    font-size: 13px;
  }

  .nav-cta {
    justify-content: center;
  }

  .hero {
    min-height: auto;
  }

  .hero::before {
    background: linear-gradient(180deg, rgba(255, 250, 247, 0.97) 0%, rgba(255, 250, 247, 0.78) 48%, rgba(255, 250, 247, 0.25) 75%, rgba(255, 255, 255, 0.84));
  }

  .hero-grid {
    grid-template-columns: 1fr;
    min-height: auto;
    gap: 42px;
    padding: 132px 0 72px;
  }

  .hero-copy {
    text-align: center;
  }

  .hero-copy .eyebrow,
  .hero-copy .button-row,
  .proof {
    justify-content: center;
  }

  .hero h1 {
    max-width: 700px;
    margin-inline: auto;
    font-size: clamp(54px, 10vw, 82px);
  }

  .hero-lead {
    max-width: 640px;
    margin-inline: auto;
  }

  .hero-art {
    min-height: 560px;
  }

  .hero-art > img {
    width: 112%;
  }

  .steps-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .step-card:nth-child(2) {
    border-right: 0;
  }

  .step-card:nth-child(-n + 2) {
    border-bottom: 1px solid var(--line);
  }

  .about-grid {
    grid-template-columns: 1fr;
    gap: 42px;
    min-height: 0;
  }

  .about {
    padding: 68px 0;
  }

  .about-exact-reference {
    display: none;
  }

  .about-responsive {
    display: grid;
  }

  .founder-card {
    max-width: 530px;
    margin-inline: auto;
  }

  .about-copy {
    text-align: center;
  }

  .about-label {
    margin-inline: auto !important;
  }

  .about-copy .problem,
  .about-copy .closing {
    align-items: center;
  }

  .study-card {
    grid-template-columns: 1fr;
    padding: 48px;
  }

  .study-copy {
    padding-right: 0;
    text-align: center;
  }

  .study-copy .eyebrow,
  .study-copy .button-row {
    justify-content: center;
  }

  .study-copy > p,
  .feature-pills {
    margin-right: auto !important;
    margin-left: auto !important;
  }

  .study-art {
    min-height: 480px;
    margin-top: 22px;
  }

  .video-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .waitlist-card {
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .waitlist-copy {
    text-align: center;
  }

  .waitlist-copy .eyebrow,
  .benefits {
    justify-content: center;
  }

  .community-top {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .community-top > div {
    text-align: center;
  }

  .community-top .eyebrow {
    justify-content: center;
  }

  .social-grid {
    grid-template-columns: 1fr;
  }

  .social-card > div {
    min-height: 230px;
  }

  .download-card {
    min-height: 440px;
  }

  .download-card > img {
    opacity: 0.7;
  }

  .download-copy {
    width: 68%;
  }

  .footer-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 580px) {
  .shell {
    width: calc(100% - 26px);
  }

  .desktop-break {
    display: none;
  }

  .hero-grid {
    padding-top: 112px;
  }

  .hero h1 {
    font-size: clamp(44px, 14vw, 62px);
  }

  .hero-lead {
    margin: 26px auto;
    font-size: 14px;
    line-height: 1.65;
  }

  .hero-copy .button-row {
    flex-direction: column;
  }

  .hero-copy .button {
    width: 100%;
  }

  .proof {
    align-items: flex-start;
    flex-direction: column;
    width: max-content;
    margin: 32px auto 0;
  }

  .proof > div:last-child {
    text-align: left;
  }

  .hero-art {
    min-height: 380px;
    border-radius: 24px;
  }

  .hero-art > img {
    width: 142%;
  }

  .float-pill {
    min-height: 38px;
    padding: 0 12px;
    font-size: 8px;
  }

  .float-pill.one {
    right: 3%;
  }

  .float-pill.two {
    right: 0;
  }

  .float-pill.three {
    right: 4%;
  }

  .section {
    padding: 72px 0;
  }

  .section-heading {
    margin-bottom: 35px;
  }

  .section-heading h2,
  .about-copy h2,
  .study-copy h2,
  .waitlist-copy h2,
  .community h2 {
    font-size: 42px;
  }

  .eyebrow {
    justify-content: center;
    font-size: 10px !important;
  }

  .steps-grid {
    grid-template-columns: 1fr;
  }

  .step-card {
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .step-card:last-child {
    border-bottom: 0;
  }

  .step-visual {
    height: 205px;
  }

  .portrait {
    width: 88vw;
    max-width: 390px;
  }

  .signature {
    font-size: 49px;
  }

  .founder-card h3 {
    font-size: 18px;
  }

  .founder-card blockquote {
    font-size: 13px;
  }

  .about-copy .lead,
  .about-copy > p:not(.eyebrow):not(.lead) {
    font-size: 15px;
  }

  .study-card {
    padding: 34px 20px;
    border-radius: 24px;
  }

  .feature-pills {
    grid-template-columns: 1fr;
    width: max-content;
    max-width: 100%;
    padding-left: 8px;
    text-align: left;
  }

  .study-copy .button-row {
    flex-direction: column;
  }

  .study-copy .button,
  .study-copy .text-link {
    width: 100%;
  }

  .study-art {
    min-height: 285px;
  }

  .study-art > img {
    width: 116%;
    max-width: none;
  }

  .study-note {
    right: 0;
    bottom: 0;
  }

  .review-grid,
  .video-grid {
    grid-template-columns: 1fr;
  }

  .review-card:nth-child(n + 4) {
    display: none;
  }

  .video-card {
    min-height: 270px;
  }

  .waitlist-card {
    width: calc(100% - 16px);
    gap: 32px;
    padding: 32px 14px;
    border-radius: 24px;
  }

  .waitlist-copy {
    padding-inline: 8px;
  }

  .benefits {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .waitlist-form {
    padding: 27px 18px;
  }

  .profile-card {
    align-items: flex-start;
    gap: 15px;
    padding: 18px;
  }

  .profile-photo {
    width: 83px;
    height: 83px;
    border-width: 5px;
  }

  .profile-card h3 {
    font-size: 17px;
  }

  .profile-card p {
    font-size: 9px;
  }

  .profile-card strong {
    font-size: 15px;
  }

  .social-card header {
    padding: 17px;
  }

  .social-card > div {
    min-height: 205px;
    padding: 23px;
  }

  .social-card footer {
    padding: 16px 18px;
  }

  .download {
    padding-right: 9px;
    padding-left: 9px;
  }

  .download-card {
    min-height: 480px;
    border-radius: 23px;
  }

  .download-card > img {
    object-position: 53% center;
    opacity: 0.5;
  }

  .download-copy {
    width: 86%;
  }

  .footer-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .footer-bottom {
    align-items: flex-start;
    flex-direction: column;
  }

  .footer-bottom > div {
    flex-wrap: wrap;
  }

  .footer-bottom > a {
    position: absolute;
    right: 0;
  }

  .legal-page,
  .admin-page {
    padding: 13px;
  }

  .legal-shell {
    border-radius: 20px;
  }

  .admin-header .brand {
    display: flex;
  }

  .admin-header > div span {
    display: none;
  }

  .admin-title {
    align-items: flex-start;
    flex-direction: column;
  }

  .admin-toolbar {
    grid-template-columns: 1fr;
  }

  .admin-toolbar .button {
    width: 100%;
  }

  .access-card {
    padding: 34px 21px;
  }
}

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

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}

/* Version 2.0: compact homepage journey, native language switcher, and contact. */

.language-switcher {
  min-width: 74px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 4px 9px;
  border: 1px solid rgba(30, 24, 27, 0.1);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.72);
  font-size: 10px;
  font-weight: 820;
  letter-spacing: 0.08em;
}

.language-switcher span {
  width: 1px;
  height: 14px;
  background: rgba(30, 24, 27, 0.13);
}

.language-switcher a {
  color: #8a8289;
  line-height: 1;
  transition: color 180ms ease;
}

.language-switcher a.is-active,
.language-switcher a:hover {
  color: var(--orange);
}

.site-nav .language-switcher a::after {
  display: none !important;
}

.uk-company-mark {
  width: max-content;
  max-width: 100%;
  display: grid;
  grid-template-columns: 28px auto;
  align-items: center;
  gap: 0 10px;
  margin: 22px 0 0;
  padding: 9px 14px 9px 10px;
  border: 1px solid rgba(30, 24, 27, 0.09);
  border-radius: 15px;
  color: #3f3941;
  background: rgba(255, 255, 255, 0.7);
  box-shadow: 0 10px 30px rgba(42, 31, 46, 0.06);
  backdrop-filter: blur(12px);
}

.uk-company-mark svg {
  grid-row: 1 / 3;
  width: 28px;
  height: 28px;
  padding: 5px;
  border-radius: 9px;
  fill: none;
  stroke: var(--orange);
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.7;
  background: #fff0e6;
}

.uk-company-mark strong {
  font-size: 11px;
  line-height: 1.2;
}

.uk-company-mark span {
  color: #80777f;
  font-size: 9px;
}

.home-chapters {
  position: sticky;
  z-index: 72;
  top: 92px;
  padding: 10px 0;
  border-block: 1px solid rgba(33, 26, 36, 0.08);
  background: rgba(250, 247, 243, 0.88);
  box-shadow: 0 16px 42px rgba(43, 31, 47, 0.07);
  backdrop-filter: blur(20px) saturate(1.15);
}

.elementor-section.home-chapters-host,
.e-con.home-chapters-host {
  position: sticky;
  z-index: 72;
  top: 92px;
}

.home-chapters-inner {
  display: flex;
  align-items: center;
  gap: 18px;
}

.home-chapters-label {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 8px;
  color: #80767e;
  font-size: 10px;
  font-weight: 820;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.home-chapters-label i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--orange);
  box-shadow: 0 0 0 5px rgba(255, 106, 26, 0.11);
}

.home-chapters-scroll {
  min-width: 0;
  display: flex;
  flex: 1;
  align-items: center;
  gap: 6px;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scrollbar-width: none;
}

.home-chapters-scroll::-webkit-scrollbar {
  display: none;
}

.home-chapters-scroll a {
  min-height: 42px;
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 8px;
  padding: 6px 12px 6px 7px;
  border-radius: 999px;
  color: #645d64;
  font-size: 10px;
  font-weight: 740;
  white-space: nowrap;
  transition: color 180ms ease, background 180ms ease, transform 180ms ease;
}

.home-chapters-scroll a small {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(31, 25, 34, 0.1);
  border-radius: 50%;
  color: #988e96;
  background: rgba(255, 255, 255, 0.82);
  font-size: 8px;
}

.home-chapters-scroll a:hover,
.home-chapters-scroll a.is-active {
  color: #fff;
  background: #19171a;
  transform: translateY(-1px);
}

.home-chapters-scroll a.is-active small,
.home-chapters-scroll a:hover small {
  border-color: rgba(255, 255, 255, 0.18);
  color: #fff;
  background: var(--orange);
}

body.home :is(#about, #features, #app, #level-journey, #level-test, #kanka-ai, #resources, #community, #waitlist) {
  scroll-margin-top: 158px;
}

body.home .section {
  padding-block: clamp(72px, 6.4vw, 108px);
}

body.home .community-top {
  gap: clamp(30px, 5vw, 70px);
  margin-bottom: 38px;
}

body.home .community h2 {
  font-size: clamp(52px, 4.7vw, 82px);
}

body.home .social-card .social-media-preview {
  aspect-ratio: 16 / 8.6;
}

body.home .download,
body.home .waitlist {
  padding-block: clamp(48px, 5vw, 82px);
}

.mindset-whatsapp-float {
  position: fixed;
  z-index: 120;
  right: 24px;
  bottom: 24px;
  min-height: 58px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 9px 18px 9px 9px;
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: 999px;
  color: #fff;
  background: #1fae5d;
  box-shadow: 0 18px 44px rgba(20, 129, 68, 0.32);
  font-size: 12px;
  font-weight: 780;
  transition: transform 180ms ease, box-shadow 180ms ease;
}

.mindset-whatsapp-float:hover,
.mindset-whatsapp-float:focus-visible {
  color: #fff;
  box-shadow: 0 22px 52px rgba(20, 129, 68, 0.42);
  transform: translateY(-3px);
}

.mindset-whatsapp-float svg {
  width: 40px;
  height: 40px;
  padding: 6px;
  border-radius: 50%;
  fill: currentColor;
  background: rgba(255, 255, 255, 0.13);
}

@media (max-width: 1120px) {
  .site-nav {
    gap: 14px;
  }

  .language-switcher {
    order: -1;
  }
}

@media (max-width: 900px) {
  .home-chapters,
  .elementor-section.home-chapters-host,
  .e-con.home-chapters-host {
    top: 88px;
  }

  .home-chapters-inner {
    gap: 12px;
  }

  .home-chapters-label {
    display: none;
  }

  .site-nav .language-switcher {
    width: 100%;
    min-height: 42px;
    order: -1;
    margin-bottom: 4px;
  }

  .uk-company-mark {
    margin-inline: auto;
  }
}

@media (max-width: 580px) {
  .home-chapters {
    top: 80px;
    padding-block: 7px;
  }

  .elementor-section.home-chapters-host,
  .e-con.home-chapters-host {
    top: 80px;
  }

  .home-chapters-scroll a {
    min-height: 38px;
    padding-right: 10px;
  }

  .home-chapters-scroll a small {
    width: 25px;
    height: 25px;
  }

  body.home .section {
    padding-block: 66px;
  }

  body.home .community-top {
    margin-bottom: 28px;
  }

  .mindset-whatsapp-float {
    right: 14px;
    bottom: 14px;
    width: 56px;
    min-height: 56px;
    padding: 8px;
    justify-content: center;
  }

  .mindset-whatsapp-float span {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
  }
}

/* Version 1.8: detailed IELTS and zero-fee study-abroad conversion pages. */
.feature-card-icon {
  width: 54px;
  height: 54px;
  display: inline-grid;
  place-items: center;
  border-radius: 17px;
  color: var(--orange);
  background: #fff0e8;
}

.feature-card-icon svg {
  width: 27px;
  height: 27px;
}

.showcase-feature > .feature-card-icon {
  min-width: 38px;
  width: 38px;
  height: 38px;
  padding: 0;
  border-radius: 12px;
  color: #ffc09d;
  background: rgba(255, 106, 26, 0.13);
}

.showcase-feature > .feature-card-icon svg {
  width: 21px;
  height: 21px;
}

.showcase-feature-status {
  display: block;
  margin: 0 0 5px;
  color: #ffb184;
  font-size: 7px;
  font-weight: 850;
  letter-spacing: 0.06em;
  line-height: 1.35;
  text-transform: uppercase;
}

.page-feature-card > .feature-card-icon {
  min-width: 54px;
  padding: 0;
  font-size: inherit;
}

.marketing-hero-study,
.marketing-hero-ielts {
  min-height: 720px;
  padding-top: 140px;
  padding-bottom: 72px;
}

.marketing-hero-study .marketing-hero-art,
.marketing-hero-ielts .marketing-hero-art {
  min-height: 490px;
}

.study-fee-strip,
.ielts-format-strip {
  border-top: 1px solid #ece5e1;
  border-bottom: 1px solid #ece5e1;
  background: #fff;
}

.study-fee-strip .shell,
.ielts-format-strip .shell {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}

.ielts-format-strip .shell {
  grid-template-columns: repeat(4, 1fr);
}

.study-fee-strip .shell > div,
.ielts-format-strip .shell > div {
  min-height: 126px;
  display: flex;
  align-items: center;
  gap: 17px;
  padding: 26px 34px;
  border-right: 1px solid #ece5e1;
}

.study-fee-strip .shell > div:last-child,
.ielts-format-strip .shell > div:last-child { border-right: 0; }

.study-fee-strip strong,
.ielts-format-strip strong {
  color: var(--orange);
  font-size: 29px;
  letter-spacing: -0.05em;
  white-space: nowrap;
}

.study-fee-strip span,
.ielts-format-strip span { display: grid; gap: 4px; font-size: 13px; font-weight: 800; }
.study-fee-strip small,
.ielts-format-strip small { color: #827a86; font-size: 10px; font-weight: 550; line-height: 1.45; }

.study-path,
.application-passport,
.study-application-section,
.ielts-practice-library,
.band9-showcase,
.ielts-rubric-section {
  padding-top: 94px;
  padding-bottom: 94px;
}

.study-path-list li {
  grid-template-columns: 58px 1fr;
  min-height: 205px;
  padding: 30px;
}

.study-path-list li > .feature-card-icon {
  width: 54px;
  height: 54px;
  padding: 0;
}

.study-path-list li small {
  display: block;
  margin-bottom: 8px;
  color: var(--orange);
  font-size: 9px;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.application-passport {
  color: #fff;
  background:
    radial-gradient(circle at 12% 14%, rgba(255, 105, 39, 0.2), transparent 27%),
    radial-gradient(circle at 86% 80%, rgba(126, 91, 232, 0.27), transparent 31%),
    linear-gradient(145deg, #1a1520, #2b2038 55%, #18131c);
}

.application-passport-grid {
  display: grid;
  grid-template-columns: minmax(360px, 0.78fr) minmax(520px, 1.22fr);
  gap: clamp(45px, 7vw, 110px);
  align-items: center;
}

.passport-copy .eyebrow,
.passport-copy h2,
.passport-copy h2 em { color: #fff !important; }
.passport-copy > p:not(.eyebrow) { max-width: 600px; color: rgba(255,255,255,.65); line-height: 1.75; }

.passport-result {
  display: flex;
  align-items: center;
  gap: 17px;
  margin-top: 28px;
}

.passport-result > strong { color: #ff9a65; font-size: 44px; line-height: 1; }
.passport-result > span { display: grid; gap: 3px; }
.passport-result b { font-size: 13px; }
.passport-result small { color: rgba(255,255,255,.55); font-size: 10px; line-height: 1.45; }

.passport-meter {
  height: 9px;
  margin: 16px 0 24px;
  overflow: hidden;
  border-radius: 99px;
  background: rgba(255,255,255,.1);
}

.passport-meter i {
  width: 0;
  height: 100%;
  display: block;
  border-radius: inherit;
  background: linear-gradient(90deg, #ff6f2e, #b096ff);
  transition: width 300ms ease;
}

.passport-board {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.passport-board label {
  min-height: 125px;
  display: grid;
  grid-template-columns: 24px 1fr;
  gap: 12px;
  align-items: start;
  padding: 20px;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 20px;
  background: rgba(255,255,255,.065);
  cursor: pointer;
  transition: transform 180ms ease, background 180ms ease, border-color 180ms ease;
}

.passport-board label:hover { transform: translateY(-2px); background: rgba(255,255,255,.1); }
.passport-board label:has(input:checked) { border-color: rgba(255,150,100,.68); background: rgba(255,112,47,.13); }
.passport-board input { width: 18px; height: 18px; margin: 2px 0 0; accent-color: var(--orange); }
.passport-board span { display: grid; gap: 6px; }
.passport-board b { font-size: 12px; }
.passport-board small { color: rgba(255,255,255,.57); font-size: 9.5px; line-height: 1.55; }

.study-fee-explainer { padding-top: 80px; padding-bottom: 80px; }

.study-application-section { background: linear-gradient(135deg, #fff8f3, #f6f2ff); }
.study-application-grid { display: grid; grid-template-columns: minmax(420px, 1fr) minmax(360px, .72fr); gap: clamp(50px, 8vw, 120px); align-items: center; }
.study-application-grid > div > p:not(.eyebrow) { max-width: 680px; color: #6f6876; font-size: 16px; line-height: 1.75; }
.study-application-grid ul { display: grid; gap: 10px; margin: 25px 0 0; padding: 0; list-style: none; }
.study-application-grid li { padding-left: 27px; color: #514a58; font-size: 13px; line-height: 1.5; }
.study-application-grid li::before { margin-left: -26px; margin-right: 10px; color: var(--orange); content: "✓"; }
.study-support-form { max-width: 520px; justify-self: end; }
.study-support-form .form-icon { overflow: hidden; padding: 0; }
.study-support-form .form-icon .feature-card-icon { width: 45px; height: 45px; border-radius: 14px; }
.study-support-form .form-icon svg { width: 23px; height: 23px; }
.study-support-form .secure { display: block; margin-top: 13px; color: #8b838d; font-size: 9px; text-align: center; }

.ielts-format-strip .shell > div { min-height: 112px; padding-right: 22px; padding-left: 22px; }
.ielts-format-strip strong { font-size: 22px; }

.ielts-skill-grid article { position: relative; min-height: 330px; }
.ielts-skill-grid article > .feature-card-icon { margin-bottom: 24px; }
.ielts-skill-grid article > small { display: block; color: var(--orange); font-size: 8px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.ielts-skill-grid h3 { margin-top: 11px; }
.ielts-skill-grid article > b { display: block; margin-top: 18px; color: #42384d; font-size: 9px; line-height: 1.5; }

.ielts-practice-library { scroll-margin-top: 90px; background: #f7f5fb; }
.ielts-practice-library .section-heading,
.band9-showcase .section-heading,
.ielts-rubric-section .section-heading { max-width: 920px; margin: 0 auto 54px; text-align: center; }
.ielts-practice-library .eyebrow,
.band9-showcase .eyebrow,
.ielts-rubric-section .eyebrow { justify-content: center; }

.ielts-resource-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.ielts-resource-card {
  min-height: 385px;
  padding: 32px;
  border: 1px solid #e7e0e9;
  border-radius: 28px;
  background: #fff;
  box-shadow: 0 20px 55px rgba(45,31,55,.06);
}

.ielts-resource-top { display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.ielts-resource-top > span { color: #817989; font-size: 8px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.ielts-resource-card h3 { margin: 25px 0 12px; font-size: 27px; letter-spacing: -.035em; }
.ielts-resource-card > p { color: #6e6774; font-size: 13px; line-height: 1.7; }
.ielts-resource-card ul { display: flex; flex-wrap: wrap; gap: 7px; margin: 20px 0 24px; padding: 0; list-style: none; }
.ielts-resource-card li { padding: 7px 10px; border-radius: 99px; color: #675f6d; background: #f6f1ed; font-size: 8px; font-weight: 750; }
.ielts-resource-card .button { min-height: 45px; padding: 0 17px; font-size: 10px; }
.resource-band9 { background: linear-gradient(145deg, #fff, #fff5ee); }
.resource-official { background: linear-gradient(145deg, #fff, #f3efff); }

.band9-showcase { background: #fffdfb; }
.band9-showcase-grid { display: grid; grid-template-columns: minmax(560px, 1.12fr) minmax(350px, .68fr); gap: 26px; align-items: start; }
.band9-paper { padding: clamp(34px, 4vw, 58px); border: 1px solid #e6ded9; border-radius: 28px; background: #fff; box-shadow: 0 30px 70px rgba(47,34,54,.09); }
.band9-paper-head { display: flex; justify-content: space-between; gap: 18px; padding-bottom: 18px; border-bottom: 1px solid #eee6e2; color: #8b838d; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.band9-question { margin: 25px 0; padding: 20px; border-left: 4px solid var(--orange); border-radius: 0 16px 16px 0; background: #fff5ef; }
.band9-question small { color: var(--orange); font-size: 8px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.band9-question p { margin: 7px 0 0; color: #433b48; font-size: 12px; font-weight: 700; line-height: 1.65; }
.band9-answer p { color: #4e4753; font-family: var(--mindset-serif); font-size: 13px; line-height: 1.82; }
.band9-anatomy { position: sticky; top: 105px; padding: 35px; border-radius: 28px; color: #fff; background: linear-gradient(145deg, #241a31, #513773); box-shadow: 0 28px 65px rgba(39,24,51,.2); }
.band9-anatomy .eyebrow { justify-content: flex-start; color: #ffab82; }
.band9-anatomy h3 { margin: 12px 0 25px; font-size: 27px; line-height: 1.15; }
.band9-anatomy ol { display: grid; gap: 15px; margin: 0 0 25px; padding: 0; list-style: none; }
.band9-anatomy li { display: grid; grid-template-columns: 34px 1fr; gap: 10px; }
.band9-anatomy li > span { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 10px; color: #ffb28e; background: rgba(255,255,255,.09); font-size: 8px; font-weight: 850; }
.band9-anatomy li b { font-size: 11px; }
.band9-anatomy li p { margin: 4px 0 0; color: rgba(255,255,255,.61); font-size: 9px; line-height: 1.55; }
.band9-anatomy .button { width: 100%; justify-content: center; }

.ielts-rubric-section { background: #f8f5f2; }
.ielts-rubric-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 15px; }
.ielts-rubric-grid article { min-height: 300px; padding: 28px; border: 1px solid #e6ded9; border-radius: 25px; background: #fff; }
.ielts-rubric-grid article > span { color: var(--orange); font-size: 10px; font-weight: 850; letter-spacing: .08em; }
.ielts-rubric-grid h3 { margin: 23px 0 13px; font-size: 21px; line-height: 1.18; }
.ielts-rubric-grid p { color: #6b6470; font-size: 12px; line-height: 1.7; }
.ielts-rubric-grid small { display: block; margin-top: 18px; padding-top: 15px; border-top: 1px solid #eee7e3; color: #9a5560; font-size: 9px; line-height: 1.55; }
.rubric-disclaimer,
.ielts-trademark-note { color: #918992; font-size: 10px; line-height: 1.65; text-align: center; }
.rubric-disclaimer { max-width: 850px; margin: 30px auto 0; }
.ielts-trademark-note { display: block; margin-top: 24px; margin-bottom: 45px; }
.ielts-loop-section { padding-top: 80px; padding-bottom: 70px; }

@media (max-width: 1100px) {
  .application-passport-grid,
  .study-application-grid,
  .band9-showcase-grid { grid-template-columns: 1fr; }
  .passport-copy { max-width: 760px; }
  .study-support-form { width: 100%; max-width: 650px; justify-self: start; }
  .band9-anatomy { position: static; }
  .ielts-rubric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 820px) {
  .study-fee-strip .shell,
  .ielts-format-strip .shell { grid-template-columns: repeat(2, 1fr); }
  .study-fee-strip .shell > div:nth-child(2),
  .ielts-format-strip .shell > div:nth-child(2n) { border-right: 0; }
  .study-fee-strip .shell > div:last-child { grid-column: 1 / -1; border-top: 1px solid #ece5e1; }
  .ielts-format-strip .shell > div:nth-child(n+3) { border-top: 1px solid #ece5e1; }
  .ielts-resource-grid { grid-template-columns: 1fr; }
  .passport-board { grid-template-columns: 1fr; }
  .ielts-rubric-grid { grid-template-columns: 1fr; }
  .ielts-rubric-grid article { min-height: 0; }
}

@media (max-width: 600px) {
  .marketing-hero-study,
  .marketing-hero-ielts { min-height: 0; padding-top: 122px; padding-bottom: 52px; }
  .marketing-hero-study .marketing-hero-art,
  .marketing-hero-ielts .marketing-hero-art { min-height: 360px; }
  .study-fee-strip .shell,
  .ielts-format-strip .shell { grid-template-columns: 1fr; }
  .study-fee-strip .shell > div,
  .ielts-format-strip .shell > div { min-height: 98px; border-top: 1px solid #ece5e1; border-right: 0; padding: 20px 12px; }
  .study-fee-strip .shell > div:first-child,
  .ielts-format-strip .shell > div:first-child { border-top: 0; }
  .study-path,
  .application-passport,
  .study-application-section,
  .ielts-practice-library,
  .band9-showcase,
  .ielts-rubric-section { padding-top: 70px; padding-bottom: 70px; }
  .application-passport-grid { grid-template-columns: minmax(0, 1fr); }
  .passport-result { align-items: flex-start; flex-direction: column; }
  .passport-board label { min-height: 0; }
  .study-application-grid { grid-template-columns: minmax(0, 1fr); }
  .ielts-resource-card,
  .band9-paper,
  .band9-anatomy { padding: 24px 20px; border-radius: 23px; }
  .ielts-resource-top { align-items: flex-start; flex-direction: column; }
  .band9-paper-head { align-items: flex-start; flex-direction: column; }
  .band9-answer p { font-size: 12px; }
}

@media (prefers-reduced-motion: reduce) {
  .passport-meter i,
  .passport-board label { transition: none !important; }
}

/* Free adaptive level-test marketing section */
.level-test-promo {
  overflow: hidden;
  padding: 104px 0;
  background:
    radial-gradient(circle at 18% 18%, rgba(255, 147, 91, 0.17), transparent 32%),
    radial-gradient(circle at 82% 70%, rgba(118, 89, 232, 0.14), transparent 34%),
    #171311;
  color: #fff;
}

.level-test-ambient,
.level-test-ambient i {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.level-test-ambient i {
  width: 260px;
  height: 260px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 45% 55% 63% 37%;
  animation: levelAmbient 16s ease-in-out infinite;
}

.level-test-ambient i:nth-child(1) { top: 10%; left: 4%; }
.level-test-ambient i:nth-child(2) { inset: auto 7% 5% auto; width: 390px; height: 390px; animation-delay: -5s; }
.level-test-ambient i:nth-child(3) { top: 20%; left: 52%; width: 160px; height: 160px; animation-delay: -10s; }

.level-test-promo-card {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(500px, 1.08fr);
  align-items: center;
  min-height: 660px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 48px;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.09), rgba(255, 255, 255, 0.025));
  box-shadow: 0 50px 120px rgba(0, 0, 0, 0.32);
  backdrop-filter: blur(18px);
}

.level-test-promo-copy {
  position: relative;
  z-index: 3;
  padding: 72px 30px 72px 76px;
}

.level-test-promo-copy h2 {
  max-width: 720px;
  margin: 0;
  color: #fff;
  font-size: clamp(50px, 5.2vw, 88px);
  line-height: 0.98;
  letter-spacing: -0.065em;
}

.level-test-promo-copy h2 em {
  color: #ffa470;
  font-style: normal;
}

.level-test-promo-copy > p:not(.eyebrow) {
  max-width: 670px;
  margin: 28px 0 0;
  color: rgba(255, 255, 255, 0.72);
  font-size: 18px;
  line-height: 1.75;
}

.level-test-benefits {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 30px 0 34px;
}

.level-test-benefits span {
  padding: 10px 14px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.07);
  color: #f4eae4;
  font-size: 13px;
  font-weight: 700;
}

.level-test-promo-copy > small {
  display: block;
  margin-top: 16px;
  color: rgba(255, 255, 255, 0.45);
  font-size: 12px;
}

.level-test-promo-visual {
  position: relative;
  align-self: stretch;
  min-height: 660px;
  background: radial-gradient(circle at 48% 48%, rgba(255, 115, 48, 0.25), transparent 46%);
}

.level-test-promo-visual::before,
.level-test-promo-visual::after {
  position: absolute;
  content: "";
  border-radius: 50%;
}

.level-test-promo-visual::before {
  inset: 14% 8% 8% 12%;
  border: 1px solid rgba(255, 255, 255, 0.12);
  transform: rotate(-13deg);
}

.level-test-promo-visual::after {
  right: 9%;
  bottom: 7%;
  width: 420px;
  height: 170px;
  background: rgba(0, 0, 0, 0.3);
  filter: blur(35px);
}

.level-test-promo-visual > img {
  position: absolute;
  z-index: 2;
  right: 2%;
  bottom: -15%;
  width: min(58%, 470px);
  max-height: 92%;
  object-fit: contain;
  object-position: bottom;
  filter: drop-shadow(0 38px 34px rgba(0, 0, 0, 0.38));
  animation: levelBotFloat 5.4s ease-in-out infinite;
}

.level-orbit {
  position: absolute;
  z-index: 3;
  inset: 12% 5% auto 2%;
  height: 370px;
  animation: levelOrbit 22s linear infinite;
}

.level-orbit span {
  position: absolute;
  display: grid;
  width: 62px;
  height: 62px;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 20px;
  background: rgba(28, 22, 21, 0.78);
  box-shadow: 0 18px 35px rgba(0, 0, 0, 0.2);
  color: #fff;
  font-weight: 850;
  backdrop-filter: blur(12px);
}

.level-orbit span:nth-child(1) { top: 10%; left: 7%; }
.level-orbit span:nth-child(2) { top: 48%; left: 0; }
.level-orbit span:nth-child(3) { bottom: 1%; left: 22%; color: #ff9b66; }
.level-orbit span:nth-child(4) { top: 2%; right: 35%; color: #cbbfff; }
.level-orbit span:nth-child(5) { top: 26%; right: 5%; }
.level-orbit span:nth-child(6) { right: 13%; bottom: 5%; }

.level-result-card {
  position: absolute;
  z-index: 4;
  top: 22%;
  left: 30%;
  width: 250px;
  padding: 26px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 30px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 30px 70px rgba(0, 0, 0, 0.28);
  color: #1d1715;
  transform: rotate(-4deg);
  animation: resultCardFloat 6.2s ease-in-out infinite;
}

.level-result-card small,
.level-result-card span { display: block; color: #8c7e76; font-size: 11px; font-weight: 750; letter-spacing: 0.07em; }
.level-result-card strong { display: block; margin: 5px 0 -4px; color: var(--orange); font-size: 68px; line-height: 1; letter-spacing: -0.08em; }
.level-result-card b { font-size: 15px; }
.level-result-card > i { display: block; height: 7px; margin: 20px 0 12px; overflow: hidden; border-radius: 99px; background: #eee7e2; }
.level-result-card > i em { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--orange), #ffab74); }

@keyframes levelAmbient { 0%, 100% { transform: translate3d(0, 0, 0) rotate(0deg); } 50% { transform: translate3d(30px, -24px, 0) rotate(12deg); } }
@keyframes levelBotFloat { 0%, 100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-18px) rotate(1deg); } }
@keyframes levelOrbit { to { transform: rotate(360deg); } }
@keyframes resultCardFloat { 0%, 100% { transform: translateY(0) rotate(-4deg); } 50% { transform: translateY(16px) rotate(-1deg); } }

@media (max-width: 1100px) {
  .level-test-promo-card { grid-template-columns: 1fr 0.9fr; min-height: 600px; }
  .level-test-promo-copy { padding: 60px 20px 60px 50px; }
  .level-test-promo-visual { min-height: 600px; }
  .level-result-card { left: 18%; }
}

@media (max-width: 820px) {
  .level-test-promo { padding: 72px 0; }
  .level-test-promo-card { grid-template-columns: 1fr; border-radius: 34px; }
  .level-test-promo-copy { padding: 52px 28px 20px; text-align: center; }
  .level-test-promo-copy .eyebrow,
  .level-test-benefits { justify-content: center; }
  .level-test-promo-visual { min-height: 500px; }
  .level-result-card { top: 15%; left: 14%; }
  .level-test-promo-visual > img { right: 5%; width: 54%; }
}

@media (max-width: 540px) {
  .level-test-promo { padding: 56px 8px; }
  .level-test-promo-card { width: 100%; border-radius: 28px; }
  .level-test-promo-copy { padding: 44px 20px 10px; }
  .level-test-promo-copy h2 { font-size: 42px; }
  .level-test-promo-copy > p:not(.eyebrow) { font-size: 16px; }
  .level-test-benefits span { width: 100%; }
  .level-test-promo-visual { min-height: 430px; }
  .level-result-card { left: 7%; width: 205px; padding: 20px; }
  .level-result-card strong { font-size: 52px; }
  .level-test-promo-visual > img { right: -7%; bottom: -11%; width: 66%; }
  .level-orbit span { width: 48px; height: 48px; border-radius: 15px; font-size: 13px; }
}

@media (prefers-reduced-motion: reduce) {
  .level-test-ambient i,
  .level-orbit,
  .level-result-card,
  .level-test-promo-visual > img { animation: none !important; }
}

/* Exact supplied hero composition — visual content remains unchanged. */

.exact-hero {
  position: relative;
  width: 100%;
  min-height: 0;
  aspect-ratio: 256 / 145;
  display: block;
  overflow: hidden;
  background: #fff4f1;
}

.exact-hero::before {
  display: none;
}

.exact-hero::after {
  position: absolute;
  z-index: 1;
  inset: -35%;
  background: linear-gradient(
    112deg,
    transparent 37%,
    rgba(255, 255, 255, 0.04) 44%,
    rgba(255, 255, 255, 0.31) 50%,
    rgba(255, 221, 211, 0.12) 55%,
    transparent 63%
  );
  content: "";
  pointer-events: none;
  animation: exact-hero-shimmer 8s linear infinite;
  will-change: transform, opacity;
}

.exact-hero-frame {
  z-index: 0;
  position: absolute;
  inset: -0.35%;
  overflow: hidden;
  animation: exact-hero-motion 9s ease-in-out infinite alternate;
  transform: scale(1.012);
  transform-origin: center;
  will-change: transform, filter;
}

.exact-hero-frame img {
  width: 100% !important;
  height: 100% !important;
  object-fit: fill;
}

.exact-hero-semantics {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.exact-hero-ambient {
  position: absolute;
  z-index: 2;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}

.exact-hero-ambient::before {
  position: absolute;
  right: 12%;
  bottom: -17%;
  width: 58%;
  height: 48%;
  border-radius: 50%;
  background: radial-gradient(ellipse, rgba(152, 107, 242, 0.18), rgba(255, 174, 126, 0.1) 47%, transparent 72%);
  filter: blur(30px);
  content: "";
  animation: exact-hero-mist 10s ease-in-out infinite alternate;
  will-change: transform, opacity;
}

.exact-hero-ambient i {
  position: absolute;
  display: block;
  border-radius: 50%;
  filter: blur(2px);
  box-shadow: 0 12px 35px rgba(87, 49, 128, 0.18);
  will-change: transform, opacity;
}

.exact-hero-ambient .ambient-one {
  top: 17%;
  right: 46%;
  width: clamp(22px, 2.2vw, 45px);
  height: clamp(22px, 2.2vw, 45px);
  background: radial-gradient(circle at 32% 27%, #f5c4ff 0 8%, #d55df1 42%, #8b4bea 100%);
  animation: exact-ambient-one 5.2s ease-in-out infinite alternate;
}

.exact-hero-ambient .ambient-two {
  right: 13%;
  bottom: 42%;
  width: clamp(24px, 2.7vw, 55px);
  height: clamp(24px, 2.7vw, 55px);
  background: radial-gradient(circle at 32% 27%, #ffe7ad 0 7%, #ff9c33 45%, #f16010 100%);
  animation: exact-ambient-two 6.4s ease-in-out infinite alternate;
}

.exact-hero-ambient .ambient-three {
  bottom: 21%;
  left: 47%;
  width: clamp(16px, 1.7vw, 34px);
  height: clamp(16px, 1.7vw, 34px);
  background: radial-gradient(circle at 32% 27%, #fff2c9 0 8%, #ffbd7a 47%, #fb6c31 100%);
  animation: exact-ambient-three 7.1s ease-in-out infinite alternate;
}

.hero-hotspot {
  position: absolute;
  z-index: 8;
  display: block;
  border-radius: 999px;
  background: transparent;
}

.hero-hotspot span {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
}

.hero-hotspot:focus-visible,
.exact-hero-header a:focus-visible {
  outline: 3px solid #704ee9;
  outline-offset: 3px;
}

.hero-start {
  top: 59.05%;
  left: 8.75%;
  width: 13.55%;
  height: 5.55%;
}

.hero-waitlist {
  top: 59.05%;
  left: 23.15%;
  width: 12.65%;
  height: 5.55%;
}

.exact-hero-header {
  position: absolute;
  z-index: 20;
  top: 0;
  left: 0;
  width: 100%;
  max-width: none;
  height: clamp(66px, 8.4vw, 110px);
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  transform: none;
}

.exact-hero-header .brand {
  position: absolute;
  top: 0.35vw;
  left: 8.75%;
  width: 5.95%;
  height: 4.65vw;
  max-height: 96px;
  min-height: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 1;
  background: rgba(255, 246, 243, 0.98);
  box-shadow: 0 0 12px 12px rgba(255, 246, 243, 0.92);
}

.exact-hero-header .brand img {
  width: 74%;
  height: 74%;
  object-fit: contain;
  object-position: center;
}

.exact-hero-header .site-nav {
  position: absolute;
  inset: 0;
  display: block;
  color: transparent;
  font-size: 0;
}

.exact-hero-header .site-nav > a {
  position: absolute;
  top: 0;
  height: 100%;
  min-height: 0;
  display: block;
  padding: 0;
  border: 0;
  border-radius: 0;
  color: transparent !important;
  background: transparent;
  box-shadow: none;
  opacity: 1;
}

.exact-hero-header .site-nav > a:nth-child(1) {
  left: 30.9%;
  width: 7.2%;
}

.exact-hero-header .site-nav > a:nth-child(2) {
  left: 39.2%;
  width: 6.2%;
}

.exact-hero-header .site-nav > a:nth-child(3) {
  left: 46.1%;
  width: 5.9%;
}

.exact-hero-header .site-nav > a:nth-child(4) {
  left: 52.5%;
  width: 6.1%;
}

.exact-hero-header .site-nav > a:nth-child(5) {
  left: 59.2%;
  width: 6.8%;
}

.exact-hero-header .site-nav > a:nth-child(6) {
  left: 79.4%;
  width: 11.2%;
}

.exact-hero-header .nav-cta b {
  display: none;
}

.exact-hero-header .menu-button {
  display: none;
}

@keyframes exact-hero-motion {
  0% {
    filter: brightness(1) saturate(1);
    transform: translate3d(-0.32%, 0.18%, 0) scale(1.012);
  }

  50% {
    filter: brightness(1.018) saturate(1.025);
    transform: translate3d(0.22%, -0.28%, 0) scale(1.02);
  }

  100% {
    filter: brightness(1.008) saturate(1.012);
    transform: translate3d(0.38%, 0.12%, 0) scale(1.014);
  }
}

@keyframes exact-ambient-one {
  0% { opacity: 0.42; transform: translate3d(-12px, 8px, 0) scale(0.88); }
  55% { opacity: 0.92; transform: translate3d(18px, -22px, 0) scale(1.12); }
  100% { opacity: 0.62; transform: translate3d(4px, 12px, 0) scale(0.98); }
}

@keyframes exact-ambient-two {
  0% { opacity: 0.38; transform: translate3d(-16px, 10px, 0) scale(0.92); }
  50% { opacity: 0.88; transform: translate3d(20px, -18px, 0) scale(1.1); }
  100% { opacity: 0.55; transform: translate3d(6px, 14px, 0) scale(1); }
}

@keyframes exact-ambient-three {
  0% { opacity: 0.36; transform: translate3d(0, 8px, 0) scale(0.9); }
  60% { opacity: 0.85; transform: translate3d(24px, -20px, 0) scale(1.14); }
  100% { opacity: 0.5; transform: translate3d(8px, 12px, 0) scale(0.98); }
}

@keyframes exact-hero-shimmer {
  0% { opacity: 0; transform: translate3d(-35%, 0, 0); }
  14% { opacity: 0.5; }
  48% { opacity: 0.2; }
  76% { opacity: 0.45; }
  100% { opacity: 0; transform: translate3d(35%, 0, 0); }
}

@keyframes exact-hero-mist {
  0% { opacity: 0.3; transform: translate3d(-8%, 3%, 0) scale(0.92); }
  50% { opacity: 0.72; transform: translate3d(5%, -5%, 0) scale(1.08); }
  100% { opacity: 0.42; transform: translate3d(10%, 2%, 0) scale(0.98); }
}

@media (max-width: 760px) {
  .exact-hero {
    min-height: 650px;
    aspect-ratio: auto;
  }

  .exact-hero-frame {
    inset: -0.5%;
  }

  .exact-hero-frame img {
    object-fit: cover;
    object-position: 29% center;
  }

  .exact-hero-header {
    height: 72px;
  }

  .exact-hero-header .brand,
  .exact-hero-header .site-nav {
    opacity: 0;
    pointer-events: none;
  }

  .exact-hero-header .menu-button {
    position: absolute;
    top: 13px;
    right: 13px;
    display: grid;
    place-items: center;
    color: var(--ink);
    background: rgba(255, 255, 255, 0.88);
    box-shadow: 0 10px 30px rgba(52, 35, 63, 0.12);
    backdrop-filter: blur(12px);
  }

  .exact-hero-header:has(.site-nav.open) {
    z-index: 120;
  }

  .exact-hero-header .site-nav.open {
    position: absolute;
    top: 68px;
    right: 13px;
    left: 13px;
    visibility: visible;
    width: auto;
    height: auto;
    display: flex;
    flex-direction: column;
    padding: 10px;
    border: 1px solid var(--line);
    border-radius: 18px;
    color: var(--ink);
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 22px 55px rgba(42, 30, 51, 0.16);
    opacity: 1;
    pointer-events: auto;
  }

  .exact-hero-header .site-nav.open > a {
    position: static;
    width: 100%;
    height: auto;
    min-height: 44px;
    display: flex;
    align-items: center;
    padding: 0 13px;
    border-radius: 10px;
    color: var(--ink) !important;
    font-size: 13px;
  }

  .exact-hero-header .site-nav.open .nav-cta {
    justify-content: center;
    color: white !important;
    background: var(--orange);
  }

  .hero-start {
    top: 58.5%;
    left: 4%;
    width: 42%;
    height: 7.5%;
  }

  .hero-waitlist {
    top: 58.5%;
    left: 49%;
    width: 42%;
    height: 7.5%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .exact-hero-frame,
  .exact-hero-ambient i,
  .exact-hero-ambient::before,
  .exact-hero::after {
    animation: none;
    filter: none;
    transform: none;
  }
}

/* Layered hero — recreates the supplied composition with independently moving art. */

.layered-hero-header {
  width: min(1740px, calc(100% - 72px));
  min-height: 78px;
  padding: 8px 18px 8px 24px;
  border: 0;
  background: rgba(255, 250, 247, 0.76);
  box-shadow: 0 12px 38px rgba(77, 45, 69, 0.07);
  backdrop-filter: blur(18px) saturate(1.08);
}

.layered-hero-header .brand {
  width: 88px;
  height: 62px;
  flex: 0 0 88px;
  overflow: visible;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.layered-hero-header .brand img {
  width: 76px;
  height: 62px;
  object-fit: contain;
}

.layered-hero {
  min-height: max(780px, 100svh);
  background: #fff6f2;
}

.layered-hero::before {
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(255, 249, 246, 0.96) 0%, rgba(255, 249, 246, 0.87) 31%, rgba(255, 250, 248, 0.23) 57%, rgba(255, 248, 246, 0.06) 100%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0) 68%, rgba(255, 255, 255, 0.62));
}

.layered-hero .hero-landscape {
  z-index: -2;
  background-image: url("../images/hero-landscape.webp");
  background-position: center bottom;
  background-size: cover;
  opacity: 0.98;
  animation: floating-landscape 14s ease-in-out infinite alternate;
  will-change: transform, background-position, filter;
}

.layered-hero .hero-grid {
  grid-template-columns: minmax(470px, 42%) minmax(0, 58%);
  gap: 20px;
  min-height: max(780px, 100svh);
  padding-top: 118px;
  padding-bottom: 38px;
}

.layered-hero .hero-copy {
  padding: 30px 0 10px;
}

.hero-badge {
  width: fit-content;
  min-height: 54px;
  display: inline-flex;
  align-items: center;
  gap: 11px;
  margin: 0 0 22px;
  padding: 0 23px;
  border: 1.5px solid var(--orange);
  border-radius: 999px;
  color: var(--orange);
  background: rgba(255, 251, 248, 0.68);
  font-size: 16px;
  font-weight: 630;
  backdrop-filter: blur(10px);
}

.layered-hero h1 {
  max-width: 760px;
  font-size: clamp(56px, 4.35vw, 88px);
  font-weight: 650;
  line-height: 1.03;
  letter-spacing: -0.055em;
}

.layered-hero .hero-lead {
  max-width: 630px;
  margin: 30px 0 27px;
  color: #201b24;
  font-size: clamp(18px, 1.27vw, 25px);
  line-height: 1.58;
}

.layered-hero .button {
  min-height: 58px;
  padding-inline: 30px;
  border-radius: 999px;
  font-size: 16px;
  font-weight: 650;
}

.layered-hero .hero-primary {
  min-width: clamp(230px, 13.2vw, 270px);
}

.layered-hero .hero-secondary {
  min-width: clamp(218px, 12.3vw, 252px);
  border: 1.5px solid var(--orange);
  color: var(--orange);
  background: rgba(255, 251, 248, 0.7);
}

.layered-hero .proof {
  align-items: center;
  margin-top: 33px;
}

.layered-hero .proof span {
  color: #211c24;
  font-size: 15px;
}

.layered-hero-art {
  min-height: 690px;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}

.layered-hero-art .hero-art-glow {
  right: 0;
  width: 92%;
  height: 86%;
  background: radial-gradient(circle, rgba(255, 221, 205, 0.55), rgba(220, 203, 255, 0.18) 54%, transparent 74%);
  filter: blur(24px);
}

.layered-hero-art > img {
  z-index: 2;
  width: min(112%, 1120px);
  max-height: 760px;
  object-fit: contain;
  filter: drop-shadow(0 30px 40px rgba(72, 43, 61, 0.13));
  animation: foreground-hover 6.8s ease-in-out infinite;
  will-change: transform, filter;
}

.layered-hero-art .float-pill {
  gap: 10px;
  min-height: 54px;
  color: #211b2b;
  background: rgba(255, 255, 255, 0.84);
  font-size: 13px;
}

.layered-hero-art .float-pill b {
  color: var(--purple);
  font-size: 20px;
}

.layered-hero-art .float-pill.one {
  top: 18%;
  right: 1%;
}

.layered-hero-art .float-pill.two {
  top: 41%;
  right: -2%;
}

.layered-hero-art .float-pill.three {
  right: 4%;
  bottom: 20%;
}

.layered-hero-art .float-pill.four {
  right: 8%;
  bottom: 7%;
  animation: pill-float 6.1s ease-in-out 1.9s infinite;
}

.hero-atmosphere {
  position: absolute;
  z-index: 1;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}

.hero-balloon {
  position: absolute;
  display: block;
  border-radius: 50%;
  box-shadow:
    inset -8px -10px 18px rgba(84, 42, 109, 0.12),
    inset 7px 7px 11px rgba(255, 255, 255, 0.66),
    0 18px 36px rgba(99, 57, 124, 0.16);
  filter: saturate(1.04);
  will-change: transform;
}

.balloon-purple {
  top: 18%;
  left: 52%;
  width: 54px;
  height: 54px;
  background: radial-gradient(circle at 32% 28%, #f5c9ff 0 8%, #d955ee 43%, #9149df 100%);
  animation: balloon-drift-one 6.2s ease-in-out infinite alternate;
}

.balloon-orange {
  top: 50%;
  right: 8%;
  width: 68px;
  height: 68px;
  background: radial-gradient(circle at 32% 28%, #ffe7b5 0 8%, #ff9d34 43%, #f05d11 100%);
  animation: balloon-drift-two 7.5s ease-in-out infinite alternate;
}

.balloon-peach {
  right: 29%;
  bottom: 15%;
  width: 42px;
  height: 42px;
  background: radial-gradient(circle at 32% 28%, #fff0ce 0 9%, #ffb872 47%, #f67832 100%);
  animation: balloon-drift-three 8s ease-in-out infinite alternate;
}

.balloon-lilac {
  right: 1.5%;
  bottom: 28%;
  width: 46px;
  height: 46px;
  background: radial-gradient(circle at 32% 28%, #f4eaff 0 8%, #bf95ec 47%, #7955ce 100%);
  animation: balloon-drift-four 7s ease-in-out infinite alternate;
}

.hero-light-trail {
  position: absolute;
  display: block;
  width: 48%;
  height: 34%;
  border: 2px solid rgba(255, 255, 255, 0.58);
  border-left-color: transparent;
  border-bottom-color: rgba(211, 183, 249, 0.28);
  border-radius: 50%;
  filter: blur(0.6px);
  opacity: 0.46;
}

.trail-one {
  top: 14%;
  right: -8%;
  transform: rotate(-12deg);
  animation: light-trail-pulse 8s ease-in-out infinite;
}

.trail-two {
  right: 12%;
  bottom: 5%;
  transform: rotate(16deg) scale(0.72);
  animation: light-trail-pulse 8s ease-in-out 2.2s infinite reverse;
}

@keyframes floating-landscape {
  0% {
    background-position: 49.3% 100%;
    filter: brightness(1) saturate(1);
    transform: scale(1.035) translate3d(-0.35%, 0.35%, 0);
  }
  48% {
    background-position: 50.2% 99.3%;
    filter: brightness(1.018) saturate(1.035);
    transform: scale(1.055) translate3d(0.2%, -0.45%, 0);
  }
  100% {
    background-position: 51% 100%;
    filter: brightness(1.008) saturate(1.015);
    transform: scale(1.043) translate3d(0.55%, 0.1%, 0);
  }
}

@keyframes foreground-hover {
  0%, 100% { filter: drop-shadow(0 30px 40px rgba(72, 43, 61, 0.13)); transform: translate3d(0, 6px, 0) rotate(-0.3deg) scale(0.995); }
  50% { filter: drop-shadow(0 40px 46px rgba(72, 43, 61, 0.17)); transform: translate3d(0, -14px, 0) rotate(0.4deg) scale(1.012); }
}

@keyframes balloon-drift-one {
  0% { transform: translate3d(-10px, 12px, 0) scale(0.92); }
  100% { transform: translate3d(22px, -24px, 0) scale(1.08); }
}

@keyframes balloon-drift-two {
  0% { transform: translate3d(12px, -6px, 0) scale(1); }
  100% { transform: translate3d(-26px, 27px, 0) scale(1.08); }
}

@keyframes balloon-drift-three {
  0% { transform: translate3d(-8px, 10px, 0); }
  100% { transform: translate3d(24px, -21px, 0) scale(1.12); }
}

@keyframes balloon-drift-four {
  0% { transform: translate3d(0, 8px, 0) scale(0.94); }
  100% { transform: translate3d(-28px, -18px, 0) scale(1.1); }
}

@keyframes light-trail-pulse {
  0%, 100% { opacity: 0.18; }
  50% { opacity: 0.62; }
}

@media (max-width: 1120px) {
  .layered-hero .hero-grid {
    grid-template-columns: minmax(400px, 43%) minmax(0, 57%);
  }

  .layered-hero h1 {
    font-size: clamp(52px, 5.7vw, 70px);
  }

  .layered-hero .hero-lead {
    font-size: 17px;
  }

  .layered-hero .button {
    min-width: 0;
    padding-inline: 22px;
    font-size: 14px;
  }
}

@media (max-width: 900px) {
  .layered-hero-header {
    top: 12px;
    width: calc(100% - 24px);
    min-height: 66px;
    padding: 7px 10px 7px 16px;
    background: rgba(255, 250, 247, 0.9);
  }

  .layered-hero-header .brand {
    width: 68px;
    height: 52px;
    flex-basis: 68px;
  }

  .layered-hero-header .brand img {
    width: 62px;
    height: 52px;
  }

  .layered-hero::before {
    background: linear-gradient(180deg, rgba(255, 249, 246, 0.96) 0%, rgba(255, 249, 246, 0.9) 48%, rgba(255, 249, 246, 0.28) 74%, rgba(255, 255, 255, 0.7));
  }

  .layered-hero .hero-grid {
    grid-template-columns: 1fr;
    gap: 18px;
    padding-top: 118px;
    padding-bottom: 56px;
  }

  .layered-hero .hero-copy {
    padding-top: 0;
    text-align: center;
  }

  .hero-badge {
    margin-inline: auto;
  }

  .layered-hero .hero-lead {
    max-width: 650px;
  }

  .layered-hero-art {
    min-height: 520px;
  }

  .layered-hero-art > img {
    width: min(104%, 820px);
    max-height: 560px;
  }

  .balloon-purple {
    top: 54%;
    left: 8%;
  }

  .balloon-orange {
    top: auto;
    right: 5%;
    bottom: 22%;
  }
}

@media (max-width: 580px) {
  .layered-hero {
    min-height: auto;
  }

  .layered-hero .hero-grid {
    padding-top: 102px;
  }

  .hero-badge {
    min-height: 44px;
    margin-bottom: 18px;
    padding-inline: 17px;
    font-size: 12px;
  }

  .layered-hero h1 {
    font-size: clamp(43px, 13vw, 58px);
  }

  .layered-hero .hero-lead {
    font-size: 15px;
  }

  .layered-hero .button {
    width: 100%;
  }

  .layered-hero .proof {
    align-items: center;
    width: 100%;
  }

  .layered-hero-art {
    min-height: 390px;
  }

  .layered-hero-art > img {
    width: 123%;
    max-height: 420px;
  }

  .layered-hero-art .float-pill {
    min-height: 36px;
    padding-inline: 10px;
    font-size: 8px;
  }

  .layered-hero-art .float-pill b {
    font-size: 13px;
  }

  .layered-hero-art .float-pill.one {
    top: 14%;
  }

  .layered-hero-art .float-pill.two {
    top: 40%;
  }

  .layered-hero-art .float-pill.three {
    bottom: 18%;
  }

  .layered-hero-art .float-pill.four {
    bottom: 5%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .layered-hero .hero-landscape,
  .layered-hero-art > img,
  .layered-hero-art .float-pill,
  .hero-balloon,
  .hero-light-trail {
    animation: none !important;
    transform: none !important;
  }
}

@media (max-width: 1150px) {
  .kanka-card {
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .kanka-copy {
    max-width: 760px;
    margin-inline: auto;
    text-align: center;
  }

  .kanka-label {
    margin-inline: auto;
  }

  .kanka-copy > p:not(.kanka-label) {
    margin-inline: auto;
  }

  .kanka-experience {
    width: 100%;
    max-width: 980px;
    margin-inline: auto;
  }
}

@media (max-width: 900px) {
  .kanka-section {
    padding: 88px 0;
  }

  .kanka-copy h2 {
    font-size: 68px;
  }

  .kanka-experience {
    min-height: 650px;
    grid-template-columns: minmax(210px, 0.72fr) minmax(0, 1.28fr);
    grid-template-rows: auto auto;
    align-items: center;
  }

  .kanka-bot-window {
    grid-row: 1 / span 2;
    height: 630px;
  }

  .kanka-chat-card {
    grid-column: 2;
    align-self: end;
  }

  .kanka-tools {
    grid-column: 2;
    align-self: start;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    padding: 18px;
  }

  .kanka-tools span {
    align-items: flex-start;
    white-space: normal;
  }
}

@media (max-width: 650px) {
  .kanka-section {
    padding: 74px 0;
  }

  .kanka-card {
    gap: 35px;
  }

  .kanka-label {
    min-height: 45px;
    margin-bottom: 24px;
    padding-inline: 17px;
    font-size: 13px;
  }

  .kanka-copy h2 {
    font-size: 56px;
  }

  .kanka-copy h3 {
    margin-top: 24px;
    font-size: 20px;
  }

  .kanka-copy > p:not(.kanka-label) {
    margin: 20px auto 25px;
    font-size: 15px;
  }

  .kanka-button {
    width: 100%;
    min-width: 0;
    min-height: 56px;
    font-size: 15px;
  }

  .kanka-experience {
    min-height: 0;
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    gap: 18px;
  }

  .kanka-bot-window {
    width: 300px;
    height: 410px;
    grid-row: auto;
    margin-inline: auto;
  }

  .kanka-bot-window > img {
    top: 8px;
    left: 50%;
    width: 360px;
  }

  .kanka-chat-card,
  .kanka-tools {
    grid-column: 1;
  }

  .kanka-chat-card {
    align-self: auto;
  }

  .kanka-tools {
    align-self: auto;
  }

  .kanka-tools span {
    font-size: 9px;
  }

  .verified-badge {
    width: 21px;
    height: 21px;
    font-size: 12px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .kanka-bot-glow,
  .kanka-chat-card,
  .kanka-tools,
  .chat-question,
  .chat-answer,
  .chat-correction,
  .voice-wave i,
  .voice-bar > span {
    animation: none !important;
    transform: none !important;
  }

  .kanka-bot-window > img {
    animation: none !important;
    transform: translateX(-50%) !important;
  }
}

/* WordPress and Elementor integration */

body.admin-bar .site-header {
  top: 52px;
}

.mindset-site-main,
.mindset-elementor-content,
.elementor-location-single,
.elementor-location-archive {
  overflow: clip;
}

.elementor-page .elementor-widget-container > .section,
.elementor-page .elementor-widget-container > .hero,
.elementor-page .elementor-widget-container > .download {
  width: 100%;
}

.elementor-section.elementor-section-stretched > .elementor-container,
.elementor-section.mindset-elementor-row > .elementor-container {
  width: 100%;
  max-width: none !important;
}

/*
 * Elementor applies its global boxed content width after the plugin is
 * activated. The homepage is intentionally edge-to-edge, so its top-level
 * builder rows must not inherit that 1140px/boxed constraint. These selectors
 * also repair layouts that were generated by theme version 1.0.0.
 */
.mindset-elementor-content > .elementor,
.mindset-elementor-content > .elementor > .elementor-section,
.mindset-elementor-content > .elementor > .e-con,
.mindset-elementor-content > .elementor > .e-con-full {
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
}

body.elementor-page .mindset-site-main,
body.elementor-page .mindset-elementor-content {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.mindset-elementor-content > .elementor > .elementor-section > .elementor-container,
.mindset-elementor-content > .elementor > .e-con > .e-con-inner,
.mindset-elementor-content > .elementor > .e-con-full > .e-con-inner,
.elementor-section:has(.elementor-widget-mindset-header) > .elementor-container,
.elementor-section:has(.elementor-widget-mindset-footer) > .elementor-container {
  width: 100% !important;
  max-width: none !important;
}

.mindset-elementor-content > .elementor > .elementor-section > .elementor-container > .elementor-column,
.mindset-elementor-content > .elementor > .elementor-section > .elementor-container > .elementor-column > .elementor-element-populated,
.mindset-elementor-content > .elementor > .elementor-section > .elementor-container > .elementor-column > .elementor-element-populated > .elementor-widget-wrap,
.mindset-elementor-content .elementor-widget[class*="elementor-widget-mindset-"] {
  width: 100% !important;
  max-width: none !important;
}

.mindset-elementor-content > .elementor > .elementor-section > .elementor-container > .elementor-column > .elementor-element-populated,
.mindset-elementor-content > .elementor > .elementor-section > .elementor-container > .elementor-column > .elementor-element-populated > .elementor-widget-wrap {
  padding: 0 !important;
}

.elementor-column-gap-no > .elementor-column > .elementor-element-populated,
.elementor-widget-mindset-header .elementor-widget-container,
.elementor-widget-mindset-footer .elementor-widget-container,
.elementor-widget-mindset-hero .elementor-widget-container,
.elementor-widget-mindset-showcase .elementor-widget-container,
.elementor-widget-mindset-founder .elementor-widget-container,
.elementor-widget-mindset-study .elementor-widget-container,
.elementor-widget-mindset-stories .elementor-widget-container,
.elementor-widget-mindset-waitlist .elementor-widget-container,
.elementor-widget-mindset-kanka .elementor-widget-container,
.elementor-widget-mindset-social .elementor-widget-container,
.elementor-widget-mindset-download .elementor-widget-container,
.elementor-widget-mindset-faq .elementor-widget-container {
  padding: 0;
}

.mindset-empty-faq {
  width: min(900px, calc(100% - 40px));
  margin: 0 auto;
  padding: 48px;
  border: 1px dashed var(--line);
  border-radius: 24px;
  color: var(--muted);
  text-align: center;
}

.faq-list {
  width: min(980px, 100%);
  display: grid;
  gap: 14px;
  margin: 0 auto;
}

.faq-list details {
  padding: 22px 24px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 12px 34px rgba(50, 35, 61, 0.06);
}

.faq-list summary {
  color: var(--ink);
  font-weight: 750;
  cursor: pointer;
}

.faq-list details p {
  margin: 14px 0 0;
  color: var(--muted);
  line-height: 1.65;
}

.mindset-notice {
  width: min(980px, calc(100% - 40px));
  margin: 130px auto 50px;
  padding: 28px;
  border: 1px solid var(--line);
  border-radius: 20px;
  background: #fff;
}

.section-reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 700ms ease, transform 700ms cubic-bezier(.2,.75,.25,1);
}

.section-reveal.is-visible {
  opacity: 1;
  transform: none;
}

.form-message.is-success {
  color: #16734a;
}

.form-message.is-error {
  color: #b42318;
}

.waitlist-form[aria-busy="true"] .submit {
  cursor: wait;
  opacity: .72;
}

@media (max-width: 782px) {
  body.admin-bar .site-header {
    top: 58px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .section-reveal {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

/* Premium app-marketing redesign — version 1.2.0 */

:root {
  --ink: #111013;
  --muted: #69646d;
  --orange: #ff6a1a;
  --orange-dark: #e9530d;
  --purple: #8066e8;
  --paper: #fcfaf7;
  --peach: #fff0e5;
  --cream: #f5f0ea;
  --charcoal: #121114;
  --line: rgba(29, 24, 31, 0.1);
  --shadow: 0 30px 90px rgba(42, 31, 46, 0.1);
  --shadow-soft: 0 18px 60px rgba(42, 31, 46, 0.07);
}

body {
  background: var(--paper);
  color: var(--ink);
}

.shell {
  width: min(1440px, calc(100% - 64px));
}

.section {
  padding: clamp(96px, 8vw, 144px) 0;
}

.eyebrow {
  gap: 10px;
  margin-bottom: 20px !important;
  font-size: 12px !important;
  letter-spacing: 0.12em;
}

.eyebrow::before {
  width: 22px;
}

.site-header,
.layered-hero-header {
  top: 16px;
  width: min(1320px, calc(100% - 40px));
  min-height: 72px;
  padding: 8px 10px 8px 20px;
  border: 1px solid rgba(30, 24, 27, 0.08);
  border-radius: 999px;
  background: rgba(255, 253, 250, 0.84);
  box-shadow: 0 12px 46px rgba(35, 25, 38, 0.07);
  backdrop-filter: blur(24px) saturate(1.12);
  transition: top 220ms ease, background 220ms ease, box-shadow 220ms ease;
}

.site-header.is-scrolled {
  top: 8px;
  background: rgba(255, 253, 250, 0.94);
  box-shadow: 0 18px 55px rgba(35, 25, 38, 0.12);
}

.layered-hero-header .brand {
  width: 76px;
  height: 54px;
  flex-basis: 76px;
}

.layered-hero-header .brand img,
.brand img {
  width: 68px;
  height: 54px;
}

.site-nav {
  gap: clamp(18px, 2.1vw, 34px);
  color: #38333a;
  font-size: 12px;
  font-weight: 720;
}

.site-nav > a:not(.nav-cta) {
  position: relative;
}

.site-nav > a:not(.nav-cta)::after {
  position: absolute;
  right: 0;
  bottom: -8px;
  left: 0;
  height: 2px;
  border-radius: 999px;
  background: var(--orange);
  content: "";
  opacity: 0;
  transform: scaleX(0.4);
  transition: opacity 180ms ease, transform 180ms ease;
}

.site-nav > a.is-active::after,
.site-nav > a:not(.nav-cta):hover::after {
  opacity: 1;
  transform: scaleX(1);
}

.nav-cta {
  min-height: 52px;
  padding-inline: 24px;
  border-radius: 999px;
  background: var(--charcoal);
  box-shadow: none;
}

.button {
  position: relative;
  overflow: hidden;
  border-radius: 999px;
}

.button.primary {
  background: linear-gradient(135deg, #ff762c, #f45812);
  box-shadow: 0 16px 38px rgba(231, 78, 9, 0.23);
}

.layered-hero {
  min-height: max(850px, 100svh);
  background: #fbf5ef;
}

.layered-hero::before {
  background:
    linear-gradient(90deg, rgba(252, 248, 243, 0.98) 0%, rgba(252, 248, 243, 0.89) 33%, rgba(252, 248, 243, 0.2) 61%, rgba(252, 248, 243, 0.05) 100%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0) 64%, rgba(252, 250, 247, 0.8));
}

.layered-hero .hero-grid {
  grid-template-columns: minmax(500px, 45%) minmax(0, 55%);
  min-height: max(850px, 100svh);
  gap: 12px;
  padding-top: 112px;
  padding-bottom: 34px;
}

.layered-hero .hero-copy {
  max-width: 680px;
}

.hero-badge {
  min-height: 42px;
  margin-bottom: 26px;
  padding: 0 17px;
  border: 1px solid rgba(255, 106, 26, 0.3);
  background: rgba(255, 255, 255, 0.62);
  font-size: 11px;
  font-weight: 760;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.layered-hero h1 {
  max-width: 720px;
  font-size: clamp(66px, 5.45vw, 102px);
  font-weight: 620;
  line-height: 0.94;
  letter-spacing: -0.068em;
}

.layered-hero .hero-lead {
  max-width: 600px;
  margin: 32px 0 28px;
  color: #4f4952;
  font-size: clamp(17px, 1.18vw, 21px);
  line-height: 1.68;
}

.layered-hero .button {
  min-height: 56px;
  font-size: 14px;
}

.layered-hero .hero-secondary {
  border-color: rgba(21, 18, 22, 0.18);
  color: var(--ink);
  background: rgba(255, 255, 255, 0.68);
}

.hero-proofline {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 9px 16px;
  margin-top: 34px;
  color: #6d666e;
  font-size: 10px;
}

.hero-proofline > i {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #31b46f;
  box-shadow: 0 0 0 6px rgba(49, 180, 111, 0.1);
  animation: proof-pulse 2.4s ease-in-out infinite;
}

.hero-proofline strong {
  color: #272328;
  font-size: 11px;
}

.hero-proofline span {
  position: relative;
  padding-left: 14px;
}

.hero-proofline span::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: #b2aab3;
  content: "";
  transform: translateY(-50%);
}

.layered-hero-art {
  min-height: 690px;
  transform: translate3d(var(--hero-x, 0), var(--hero-y, 0), 0);
  transition: transform 600ms cubic-bezier(.2,.8,.2,1);
}

.layered-hero-art > img {
  width: min(108%, 990px);
  max-height: 735px;
}

.layered-hero-art .float-pill {
  min-height: 48px;
  padding-inline: 17px;
  border-color: rgba(34, 27, 37, 0.08);
  background: rgba(255, 255, 255, 0.83);
  font-size: 11px;
}

.hero-atmosphere {
  transform: translate3d(var(--ambient-x, 0), var(--ambient-y, 0), 0);
  transition: transform 800ms cubic-bezier(.2,.8,.2,1);
}

/* Cinematic app ecosystem */

.product-showcase {
  overflow: hidden;
  isolation: isolate;
  color: white;
  background: #111013;
}

.product-showcase::before {
  position: absolute;
  z-index: -2;
  inset: 0;
  background:
    radial-gradient(circle at 13% 16%, rgba(255, 101, 23, 0.17), transparent 26%),
    radial-gradient(circle at 84% 38%, rgba(128, 102, 232, 0.18), transparent 28%),
    linear-gradient(145deg, #171419, #0d0c0f 72%);
  content: "";
}

.showcase-aurora {
  position: absolute;
  z-index: -1;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}

.showcase-aurora i {
  position: absolute;
  border-radius: 50%;
  filter: blur(70px);
  opacity: 0.22;
  animation: showcase-aurora 13s ease-in-out infinite alternate;
}

.showcase-aurora i:nth-child(1) {
  top: 5%;
  left: -5%;
  width: 420px;
  height: 420px;
  background: #ff6a1a;
}

.showcase-aurora i:nth-child(2) {
  top: 34%;
  right: -7%;
  width: 500px;
  height: 500px;
  background: #7659e8;
  animation-delay: -4s;
}

.showcase-aurora i:nth-child(3) {
  bottom: -24%;
  left: 39%;
  width: 390px;
  height: 390px;
  background: #f4a261;
  animation-delay: -8s;
}

.showcase-heading {
  max-width: 950px;
  margin: 0 auto 62px;
  text-align: center;
}

.showcase-heading .eyebrow {
  justify-content: center;
  color: #ff9258 !important;
}

.showcase-heading h2 {
  margin: 0;
  font-size: clamp(55px, 5.6vw, 96px);
  font-weight: 560;
  line-height: 0.98;
  letter-spacing: -0.066em;
}

.showcase-heading h2 em {
  color: #ff7b35;
  font-style: normal;
}

.showcase-heading > p:last-child {
  max-width: 690px;
  margin: 24px auto 0;
  color: rgba(255, 255, 255, 0.58);
  font-size: 16px;
  line-height: 1.7;
}

.showcase-stage {
  display: grid;
  grid-template-columns: minmax(0, 52%) minmax(0, 48%);
  min-height: 720px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.11);
  border-radius: 42px;
  background: rgba(255, 255, 255, 0.045);
  box-shadow: 0 45px 120px rgba(0, 0, 0, 0.3);
  backdrop-filter: blur(20px);
}

.showcase-device {
  position: relative;
  min-width: 0;
  min-height: 720px;
  overflow: hidden;
  background:
    radial-gradient(circle at 53% 47%, rgba(255, 141, 82, 0.2), transparent 36%),
    linear-gradient(145deg, rgba(255, 255, 255, 0.025), rgba(255, 255, 255, 0.01));
}

.showcase-device::after {
  position: absolute;
  right: 9%;
  bottom: 7%;
  left: 9%;
  height: 70px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.48);
  filter: blur(30px);
  content: "";
}

.showcase-device > img {
  position: absolute;
  z-index: 3;
  bottom: -9%;
  left: 50%;
  width: min(103%, 770px);
  max-width: none;
  height: auto;
  filter: drop-shadow(0 45px 55px rgba(0, 0, 0, 0.34));
  animation: showcase-device-float 7s ease-in-out infinite;
  transform: translateX(-50%);
  will-change: transform;
}

.showcase-device-glow {
  position: absolute;
  top: 19%;
  left: 19%;
  width: 62%;
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 117, 44, 0.34), rgba(127, 99, 231, 0.13) 48%, transparent 70%);
  filter: blur(28px);
  animation: pulse-glow 6s ease-in-out infinite;
}

.showcase-orbit {
  position: absolute;
  display: block;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 50%;
  animation: showcase-orbit 16s linear infinite;
}

.orbit-one {
  top: 14%;
  left: 7%;
  width: 86%;
  aspect-ratio: 1.45;
  transform: rotate(-18deg);
}

.orbit-two {
  top: 29%;
  left: 18%;
  width: 68%;
  aspect-ratio: 1.3;
  animation-direction: reverse;
  animation-duration: 20s;
  transform: rotate(24deg);
}

.showcase-live {
  position: absolute;
  z-index: 5;
  right: 5%;
  bottom: 6%;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 17px;
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 18px;
  background: rgba(20, 17, 22, 0.74);
  box-shadow: 0 20px 45px rgba(0, 0, 0, 0.24);
  backdrop-filter: blur(16px);
  animation: showcase-card-float 5.5s ease-in-out infinite;
}

.showcase-live > i {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #4ad786;
  box-shadow: 0 0 0 7px rgba(74, 215, 134, 0.11);
}

.showcase-live > span {
  display: flex;
  flex-direction: column;
  color: rgba(255, 255, 255, 0.56);
  font-size: 9px;
}

.showcase-live b {
  margin-bottom: 3px;
  color: white;
  font-size: 11px;
}

.showcase-panel {
  position: relative;
  z-index: 4;
  padding: clamp(42px, 4vw, 66px);
  border-left: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(10, 9, 12, 0.28);
}

.showcase-kicker {
  margin: 0 0 18px;
  color: #ff9258;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.showcase-panel > h3 {
  max-width: 570px;
  margin: 0;
  font-size: clamp(32px, 2.5vw, 47px);
  font-weight: 560;
  line-height: 1.08;
  letter-spacing: -0.05em;
}

.showcase-features {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 38px 0 30px;
}

.showcase-feature {
  min-width: 0;
  display: flex;
  gap: 12px;
  padding: 17px;
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.045);
  transition: border-color 220ms ease, background 220ms ease, transform 220ms ease;
}

.showcase-feature:hover {
  border-color: rgba(255, 124, 54, 0.36);
  background: rgba(255, 255, 255, 0.075);
  transform: translateY(-3px);
}

.showcase-feature > span {
  min-width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border-radius: 12px;
  color: #ffc09d;
  background: rgba(255, 106, 26, 0.13);
  font-size: 12px;
  font-weight: 800;
}

.showcase-feature h4 {
  margin: 1px 0 6px;
  font-size: 12px;
}

.showcase-feature p {
  margin: 0;
  color: rgba(255, 255, 255, 0.5);
  font-size: 9px;
  line-height: 1.55;
}

.showcase-button {
  min-height: 54px;
  padding-inline: 24px;
  color: #171215;
  background: white;
}

.ecosystem-rail {
  overflow: hidden;
  margin-top: 34px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.ecosystem-rail > div {
  width: max-content;
  display: flex;
  align-items: center;
  gap: 26px;
  padding: 20px 0;
  animation: ecosystem-scroll 32s linear infinite;
}

.ecosystem-rail span {
  color: rgba(255, 255, 255, 0.68);
  font-size: 11px;
  font-weight: 720;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.ecosystem-rail i {
  color: var(--orange);
  font-size: 10px;
  font-style: normal;
}

/* Stronger section rhythm */

.how {
  background:
    radial-gradient(circle at 50% 0, rgba(255, 215, 191, 0.28), transparent 30%),
    var(--paper);
}

.section-heading {
  max-width: 880px;
  margin-bottom: 56px;
}

.section-heading h2 {
  font-size: clamp(52px, 4.7vw, 82px);
  font-weight: 560;
  line-height: 0.98;
}

.section-heading > p:last-child {
  font-size: 14px;
  line-height: 1.7;
}

.steps-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.step-card {
  min-height: 520px;
  padding: 14px 14px 25px;
  border: 1px solid rgba(31, 25, 33, 0.09) !important;
  border-radius: 28px;
  background: rgba(255, 255, 255, 0.88);
  box-shadow: var(--shadow-soft);
}

.step-card:nth-child(even) {
  margin-top: 30px;
}

.step-card:hover {
  background: white;
  box-shadow: 0 28px 75px rgba(42, 31, 46, 0.13);
}

.step-visual {
  height: 280px;
  border-radius: 20px;
}

.step-title,
.step-card > p {
  margin-right: 9px;
  margin-left: 9px;
}

.step-title h3 {
  font-size: 16px;
}

.step-card > p {
  margin-top: 16px;
  margin-left: 53px;
  font-size: 11px;
}

.about {
  padding-top: 40px;
  background: var(--paper);
}

.about-grid {
  max-width: 1280px;
  min-height: 0;
  padding: clamp(38px, 4.7vw, 68px);
  border: 1px solid rgba(31, 25, 33, 0.08);
  border-radius: 42px;
  background:
    radial-gradient(circle at 13% 15%, rgba(255, 119, 45, 0.13), transparent 27%),
    linear-gradient(135deg, #fff, #f7f1ea);
  box-shadow: var(--shadow-soft);
}

.portrait {
  width: min(84%, 390px);
}

.about-copy h2 {
  font-size: clamp(45px, 3.8vw, 64px);
}

.about-copy > p:not(.eyebrow):not(.lead) {
  max-width: 780px;
  color: #4f4951;
  line-height: 1.62;
}

.features {
  background: var(--paper);
}

.study-card {
  min-height: 620px;
  border-radius: 42px;
  background:
    radial-gradient(circle at 82% 22%, rgba(133, 105, 232, 0.2), transparent 29%),
    linear-gradient(135deg, #fff, #f4edf9 60%, #fff2e9);
  box-shadow: 0 34px 100px rgba(57, 39, 65, 0.1);
}

.study-art > img {
  animation: study-art-float 7.4s ease-in-out infinite;
}

.study-copy h2 {
  font-size: clamp(56px, 4.5vw, 78px);
}

.kanka-section {
  padding: 50px 0 120px;
  background: var(--paper);
}

.kanka-card {
  padding: clamp(42px, 4.7vw, 70px);
  border: 1px solid rgba(31, 25, 33, 0.08);
  border-radius: 44px;
  background:
    radial-gradient(circle at 70% 42%, rgba(255, 138, 72, 0.15), transparent 30%),
    #f5f0ea;
  box-shadow: var(--shadow-soft);
}

.kanka-label {
  min-height: 42px;
  margin-bottom: 25px;
  padding-inline: 16px;
  font-size: 12px;
}

.kanka-copy h2 {
  font-size: clamp(62px, 5vw, 88px);
}

.kanka-copy h3 {
  margin-top: 24px;
}

.kanka-copy > p:not(.kanka-label) {
  color: #575159;
  font-size: clamp(16px, 1.15vw, 20px);
}

.community {
  background:
    radial-gradient(circle at 17% 15%, rgba(255, 122, 50, 0.13), transparent 26%),
    linear-gradient(180deg, #f6f0e9, #fcfaf7);
}

.community-top {
  align-items: center;
}

.community h2 {
  font-size: clamp(54px, 4.9vw, 84px);
  font-weight: 560;
}

.profile-card,
.social-card {
  border-color: rgba(31, 25, 33, 0.09);
  box-shadow: var(--shadow-soft);
}

.profile-card {
  border-radius: 30px;
}

.social-card {
  border-radius: 28px;
}

.social-card .social-media-preview {
  aspect-ratio: 4 / 3;
}

.waitlist {
  overflow: hidden;
  color: white;
  background: var(--charcoal);
}

.waitlist::before {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 10% 32%, rgba(255, 106, 26, 0.19), transparent 31%),
    radial-gradient(circle at 86% 30%, rgba(128, 102, 232, 0.18), transparent 26%);
  content: "";
}

.waitlist-card {
  position: relative;
  grid-template-columns: minmax(0, 1fr) minmax(340px, 0.72fr);
  border-color: rgba(255, 255, 255, 0.12);
  border-radius: 42px;
  background: rgba(255, 255, 255, 0.055);
  box-shadow: 0 38px 100px rgba(0, 0, 0, 0.25);
  backdrop-filter: blur(18px);
}

.waitlist-copy h2 {
  color: white;
  font-size: clamp(52px, 4.6vw, 82px);
}

.waitlist-copy > p:not(.eyebrow) {
  color: rgba(255, 255, 255, 0.62);
}

.benefits span {
  border-color: rgba(255, 255, 255, 0.11);
  color: rgba(255, 255, 255, 0.74);
  background: rgba(255, 255, 255, 0.06);
}

.privacy-line {
  color: rgba(255, 255, 255, 0.48);
}

.waitlist-form {
  border: 0;
  border-radius: 28px;
  background: white;
  box-shadow: 0 35px 80px rgba(0, 0, 0, 0.26);
}

.form-message.is-success {
  color: #16734a;
  background: #eaf8ef;
}

.form-message.is-error {
  color: #b42318;
  background: #fff0f0;
}

.download {
  padding: 90px 0;
  background: var(--paper);
}

.download-card {
  min-height: 590px;
  border-radius: 46px;
  background:
    radial-gradient(circle at 24% 58%, rgba(255, 112, 35, 0.28), transparent 30%),
    radial-gradient(circle at 76% 34%, rgba(126, 97, 228, 0.28), transparent 28%),
    linear-gradient(145deg, #17131a, #08070a 72%);
}

.download-card > img {
  --download-x: 0%;
  top: -12%;
  right: auto;
  bottom: auto;
  left: -4%;
  width: 60%;
  height: 124%;
  object-fit: contain;
  object-position: center;
  filter: drop-shadow(0 40px 70px rgba(0, 0, 0, 0.38));
  animation: download-cinematic 14s ease-in-out infinite alternate;
}

.download-card::after {
  background:
    linear-gradient(90deg, rgba(5, 4, 7, 0.04), rgba(5, 4, 7, 0.08) 42%, rgba(5, 4, 7, 0.5) 62%, rgba(4, 3, 6, 0.2)),
    radial-gradient(circle at 50% 50%, rgba(6, 5, 8, 0.02), rgba(4, 3, 6, 0.28));
}

.download-copy {
  justify-self: end;
  margin-right: 7%;
  width: min(520px, 44%);
}

.download-copy h2 {
  font-size: clamp(44px, 4vw, 68px);
}

.download-copy > p {
  font-size: 13px;
}

.footer {
  padding-top: 88px;
  color: white;
  background: #0d0c0f;
}

.footer-grid > div,
.footer-grid p,
.footer-bottom {
  color: rgba(255, 255, 255, 0.54);
}

.footer-grid > div > b {
  color: white;
}

.footer-grid a:hover {
  color: #ff9054;
}

.footer-bottom {
  border-top-color: rgba(255, 255, 255, 0.1);
}

@keyframes proof-pulse {
  0%, 100% { box-shadow: 0 0 0 4px rgba(49, 180, 111, 0.08); }
  50% { box-shadow: 0 0 0 8px rgba(49, 180, 111, 0.02); }
}

@keyframes showcase-aurora {
  0% { opacity: 0.14; transform: translate3d(-7%, 3%, 0) scale(0.9); }
  100% { opacity: 0.3; transform: translate3d(8%, -6%, 0) scale(1.14); }
}

@keyframes showcase-device-float {
  0%, 100% { transform: translate3d(-50%, 8px, 0) rotate(-0.5deg); }
  50% { transform: translate3d(-50%, -14px, 0) rotate(0.55deg); }
}

@keyframes showcase-card-float {
  0%, 100% { transform: translate3d(0, 5px, 0); }
  50% { transform: translate3d(0, -8px, 0); }
}

@keyframes showcase-orbit {
  from { filter: brightness(0.8); }
  50% { filter: brightness(1.5); }
  to { filter: brightness(0.8); }
}

@keyframes ecosystem-scroll {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

@keyframes study-art-float {
  0%, 100% { transform: translate3d(0, 5px, 0) scale(0.99); }
  50% { transform: translate3d(0, -10px, 0) scale(1.01); }
}

@keyframes download-cinematic {
  from { filter: saturate(0.98) brightness(0.96); transform: translateX(var(--download-x)) scale(1.01); }
  to { filter: saturate(1.08) brightness(1.03); transform: translateX(var(--download-x)) scale(1.055); }
}

@media (max-width: 1200px) {
  .showcase-stage {
    grid-template-columns: 1fr;
  }

  .showcase-device {
    min-height: 660px;
  }

  .showcase-panel {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    border-left: 0;
  }

  .steps-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .step-card:nth-child(even) {
    margin-top: 0;
  }

  .kanka-card {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 900px) {
  .shell {
    width: min(760px, calc(100% - 36px));
  }

  .site-header,
  .layered-hero-header {
    top: 10px;
    width: calc(100% - 22px);
    border-radius: 22px;
  }

  .site-header.is-scrolled {
    top: 6px;
  }

  .site-nav > a:not(.nav-cta)::after {
    display: none;
  }

  .layered-hero .hero-grid {
    grid-template-columns: 1fr;
    gap: 26px;
    padding-top: 120px;
    padding-bottom: 64px;
  }

  .layered-hero .hero-copy {
    max-width: 720px;
    margin-inline: auto;
  }

  .layered-hero h1 {
    font-size: clamp(58px, 10vw, 82px);
  }

  .hero-proofline {
    justify-content: center;
  }

  .layered-hero-art {
    min-height: 570px;
  }

  .showcase-heading {
    margin-bottom: 42px;
  }

  .showcase-stage {
    border-radius: 30px;
  }

  .showcase-device {
    min-height: 580px;
  }

  .showcase-panel {
    padding: 42px 28px;
  }

  .about-grid,
  .kanka-card,
  .study-card,
  .waitlist-card {
    border-radius: 30px;
  }

  .about-grid {
    padding: 44px 30px;
  }

  .waitlist-card {
    grid-template-columns: 1fr;
  }

  .download-card {
    min-height: 520px;
    border-radius: 32px;
  }

  .download-copy {
    width: min(600px, 76%);
    margin-right: 4%;
  }
}

@media (max-width: 580px) {
  .shell {
    width: calc(100% - 24px);
  }

  .section {
    padding: 78px 0;
  }

  .layered-hero h1 {
    font-size: clamp(46px, 13.5vw, 61px);
  }

  .hero-proofline {
    gap: 8px 12px;
  }

  .hero-proofline strong {
    width: calc(100% - 28px);
  }

  .hero-proofline span {
    display: none;
  }

  .layered-hero-art {
    min-height: 410px;
  }

  .showcase-heading h2 {
    font-size: 44px;
  }

  .showcase-heading > p:last-child {
    font-size: 13px;
  }

  .showcase-stage {
    border-radius: 24px;
  }

  .showcase-device {
    min-height: 420px;
  }

  .showcase-device > img {
    bottom: -5%;
    width: 112%;
  }

  .showcase-live {
    right: 12px;
    bottom: 12px;
    padding: 11px 13px;
  }

  .showcase-panel {
    padding: 34px 18px;
  }

  .showcase-panel > h3 {
    font-size: 31px;
  }

  .showcase-features {
    grid-template-columns: 1fr;
  }

  .showcase-feature:nth-child(n + 5) {
    display: none;
  }

  .steps-grid {
    grid-template-columns: 1fr;
  }

  .step-card {
    min-height: 0;
  }

  .about-grid,
  .kanka-card {
    padding: 30px 18px;
  }

  .download {
    padding: 70px 8px;
  }

  .download-card {
    min-height: 500px;
    border-radius: 26px;
  }

  .download-copy {
    align-self: end;
    justify-self: center;
    width: 90%;
    margin: 0 0 48px;
  }

  .download-card > img {
    --download-x: -50%;
    top: -8%;
    left: 50%;
    width: 100%;
    height: 76%;
    opacity: 0.72;
    transform: translateX(var(--download-x));
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-proofline > i,
  .showcase-aurora i,
  .showcase-device > img,
  .showcase-live,
  .showcase-orbit,
  .ecosystem-rail > div,
  .study-art > img,
  .download-card > img {
    animation: none !important;
    transform: none !important;
  }

  .showcase-device > img {
    transform: translateX(-50%) !important;
  }

  .download-card > img {
    transform: translateX(var(--download-x)) !important;
  }
}

/* Version 1.4: interactive learning map and dedicated marketing pages. */
.level-journey {
  overflow: hidden;
  background:
    radial-gradient(circle at 86% 18%, rgba(118, 89, 232, 0.1), transparent 24%),
    linear-gradient(180deg, #f7f8fc 0%, #f3f5fa 100%);
}

.level-map-glow {
  position: absolute;
  right: 5%;
  top: 110px;
  width: 190px;
  height: 190px;
  border: 1px solid rgba(118, 89, 232, 0.12);
  border-radius: 50%;
  box-shadow: inset 0 0 0 12px rgba(255, 255, 255, 0.18), inset 0 0 0 13px rgba(118, 89, 232, 0.07);
}

.level-map-heading {
  max-width: 920px;
  margin: 0 auto 72px;
  text-align: center;
}

.level-map-heading .eyebrow {
  width: max-content;
  margin-inline: auto !important;
  padding: 10px 18px;
  border-radius: 999px;
  background: rgba(255, 100, 34, 0.1);
}

.level-map-heading .eyebrow::before {
  display: none;
}

.level-map-heading h2,
.resources-promo-heading h2,
.marketing-hero h1,
.page-feature-section h2,
.study-path h2,
.skill-section h2,
.method-section h2,
.resource-library h2,
.page-split-section h2,
.page-cta h2 {
  margin: 0;
  color: #18132a;
  font-size: clamp(48px, 4.6vw, 78px);
  font-weight: 730;
  line-height: 0.98;
  letter-spacing: -0.058em;
}

.level-map-heading h2 em,
.resources-promo-heading h2 em,
.marketing-hero h1 em,
.page-feature-section h2 em,
.study-path h2 em,
.skill-section h2 em,
.method-section h2 em,
.resource-library h2 em,
.page-split-section h2 em,
.page-cta h2 em {
  color: var(--orange);
  font-family: var(--mindset-hand);
  font-weight: 650;
  letter-spacing: -0.025em;
}

.level-map-heading > p:last-child,
.section-heading > p:last-child {
  max-width: 760px;
  margin: 26px auto 0;
  color: #6a6473;
  font-size: 18px;
  line-height: 1.75;
}

.level-map-layout {
  display: grid;
  grid-template-columns: minmax(290px, 0.72fr) minmax(520px, 1.28fr);
  gap: clamp(44px, 7vw, 130px);
  align-items: center;
  max-width: 1280px;
  margin: 0 auto;
}

.level-map-tabs {
  position: relative;
  display: grid;
  gap: 12px;
}

.level-map-tabs::before {
  position: absolute;
  z-index: 0;
  top: 34px;
  bottom: 34px;
  left: 35px;
  width: 3px;
  border-radius: 999px;
  background: #dfe4ee;
  content: "";
}

.level-map-tab {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 72px 1fr;
  gap: 18px;
  align-items: center;
  min-height: 76px;
  padding: 0;
  border: 0;
  color: #687186;
  background: transparent;
  text-align: left;
  cursor: pointer;
}

.level-map-code {
  width: 56px;
  height: 56px;
  display: grid;
  place-items: center;
  margin-left: 8px;
  border: 3px solid #dfe4ee;
  border-radius: 50%;
  color: #596276;
  background: #f7f8fc;
  font-size: 16px;
  font-weight: 800;
  transition: 220ms ease;
}

.level-map-label {
  display: grid;
  gap: 3px;
}

.level-map-label strong {
  font-size: 17px;
  font-weight: 700;
  transition: color 180ms ease, transform 180ms ease;
}

.level-map-label small {
  color: #a2a9b8;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.level-map-tab:hover .level-map-code,
.level-map-tab:focus-visible .level-map-code {
  border-color: rgba(255, 100, 34, 0.45);
  color: var(--orange);
}

.level-map-tab:focus-visible {
  outline: 3px solid rgba(118, 89, 232, 0.22);
  outline-offset: 5px;
  border-radius: 20px;
}

.level-map-tab.is-active .level-map-code {
  width: 70px;
  height: 70px;
  margin-left: 1px;
  border-color: var(--orange);
  color: #fff;
  background: linear-gradient(145deg, #ff7841, #f05118);
  box-shadow: 0 0 0 10px rgba(255, 100, 34, 0.12), 0 16px 38px rgba(230, 79, 15, 0.24);
}

.level-map-tab.is-active .level-map-label strong {
  color: var(--orange-dark);
  transform: translateX(4px);
}

.level-map-panels {
  position: relative;
  min-height: 540px;
}

.level-map-panel {
  min-height: 540px;
  padding: clamp(38px, 5vw, 72px);
  border: 1px solid #e1e6ef;
  border-radius: 32px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 28px 70px rgba(46, 57, 80, 0.1);
  animation: level-panel-in 350ms ease both;
}

.level-map-panel[hidden] {
  display: none;
}

.level-panel-kicker,
.resource-format {
  margin: 0 0 16px;
  color: var(--orange);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.level-map-panel h3 {
  max-width: 690px;
  margin: 0;
  color: #151126;
  font-size: clamp(31px, 3vw, 48px);
  line-height: 1.08;
  letter-spacing: -0.045em;
}

.level-panel-summary {
  max-width: 720px;
  margin: 24px 0 32px;
  color: #5e6372;
  font-size: 18px;
  font-style: italic;
  line-height: 1.72;
}

.level-facts {
  display: grid;
  gap: 12px;
  margin: 0 0 34px;
}

.level-facts > div {
  display: grid;
  grid-template-columns: 150px 1fr;
  gap: 20px;
  padding: 15px 0;
  border-top: 1px solid #edf0f5;
}

.level-facts dt {
  color: #9399a7;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.level-facts dd {
  margin: 0;
  color: #29243a;
  font-size: 14px;
  font-weight: 650;
  line-height: 1.55;
}

@keyframes level-panel-in {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}

.resources-promo {
  background: #fffdfb;
}

.resources-promo-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(300px, 0.75fr);
  gap: 80px;
  align-items: end;
  margin-bottom: 58px;
}

.resources-promo-heading h2 {
  font-size: clamp(46px, 4.2vw, 70px);
}

.resources-promo-heading > div:last-child > p {
  margin: 0 0 24px;
  color: #6c6574;
  line-height: 1.75;
}

.resources-promo-heading .text-link {
  color: var(--orange-dark);
  font-weight: 800;
}

.resource-card-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}

.resource-card {
  position: relative;
  min-height: 380px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 34px;
  overflow: hidden;
  border: 1px solid #eee8e4;
  border-radius: 28px;
  background: #fff;
  box-shadow: 0 22px 58px rgba(55, 37, 68, 0.07);
  transition: transform 220ms ease, box-shadow 220ms ease;
}

.resource-card::before {
  position: absolute;
  right: -60px;
  bottom: -70px;
  width: 220px;
  height: 220px;
  border-radius: 50%;
  background: var(--card-accent, var(--orange));
  content: "";
  opacity: 0.1;
}

.resource-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 28px 70px rgba(55, 37, 68, 0.12);
}

.resource-orange { --card-accent: #ff6422; }
.resource-purple { --card-accent: #7659e8; }
.resource-blue { --card-accent: #3587e8; }
.resource-green { --card-accent: #2ca97b; }

.resource-number {
  color: var(--card-accent);
  font-size: 15px;
  font-weight: 800;
}

.resource-card .resource-format {
  margin-top: 48px;
  color: var(--card-accent);
}

.resource-card h3 {
  max-width: 350px;
  margin: 0 0 16px;
  font-size: clamp(25px, 2vw, 34px);
  line-height: 1.08;
  letter-spacing: -0.035em;
}

.resource-card > p:not(.resource-format) {
  margin: 0 0 30px;
  color: #6e6876;
  font-size: 14px;
  line-height: 1.7;
}

.resource-card > a {
  position: relative;
  z-index: 1;
  display: flex;
  gap: 10px;
  align-items: center;
  margin-top: auto;
  color: #292238;
  font-size: 13px;
  font-weight: 800;
}

.resource-card > a span {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: var(--card-accent);
}

.mindset-marketing-page {
  background: #fffdfb;
}

.marketing-hero {
  position: relative;
  min-height: 820px;
  display: flex;
  align-items: center;
  padding: 170px 0 100px;
  overflow: hidden;
  background:
    radial-gradient(circle at 80% 24%, rgba(118, 89, 232, 0.14), transparent 29%),
    linear-gradient(135deg, #fff8f3 0%, #fffdfb 48%, #f4f0ff 100%);
}

.marketing-hero-study { background: linear-gradient(135deg, #f4fbff 0%, #fffdfb 50%, #f7f0ff 100%); }
.marketing-hero-ielts { background: linear-gradient(135deg, #f5f3ff 0%, #fffdfb 56%, #fff1e8 100%); }
.marketing-hero-resources { background: linear-gradient(135deg, #fff7ef 0%, #fffdfb 56%, #f2f8ff 100%); }
.marketing-hero-about { background: linear-gradient(135deg, #fff9f4 0%, #fffdfb 48%, #f4f1ff 100%); }

.marketing-hero-orb {
  position: absolute;
  left: -140px;
  bottom: -190px;
  width: 500px;
  height: 500px;
  border: 1px solid rgba(255, 100, 34, 0.16);
  border-radius: 50%;
  box-shadow: inset 0 0 0 40px rgba(255, 100, 34, 0.025), inset 0 0 0 41px rgba(255, 100, 34, 0.1);
}

.marketing-hero-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(480px, 0.94fr) minmax(520px, 1.06fr);
  gap: clamp(50px, 7vw, 120px);
  align-items: center;
}

.marketing-hero-copy {
  max-width: 780px;
}

.marketing-hero h1 {
  font-size: clamp(62px, 6.2vw, 104px);
}

.marketing-hero-copy > p:not(.eyebrow) {
  max-width: 680px;
  margin: 34px 0;
  color: #625b69;
  font-size: clamp(17px, 1.35vw, 21px);
  line-height: 1.75;
}

.marketing-hero-art {
  position: relative;
  min-height: 560px;
  display: grid;
  place-items: center;
}

.marketing-hero-art::before,
.marketing-hero-art::after {
  position: absolute;
  border-radius: 50%;
  content: "";
}

.marketing-hero-art::before {
  width: min(520px, 78%);
  aspect-ratio: 1;
  background: linear-gradient(145deg, rgba(255, 100, 34, 0.17), rgba(118, 89, 232, 0.2));
  filter: blur(2px);
}

.marketing-hero-art::after {
  width: min(610px, 92%);
  aspect-ratio: 1;
  border: 1px solid rgba(118, 89, 232, 0.18);
}

.marketing-hero-art img {
  position: relative;
  z-index: 2;
  width: min(720px, 100%);
  max-height: 620px;
  object-fit: contain;
  filter: drop-shadow(0 35px 45px rgba(55, 35, 70, 0.2));
  animation: marketing-float 6s ease-in-out infinite;
}

.marketing-hero-about .marketing-hero-art img {
  align-self: end;
  max-height: 680px;
}

.marketing-art-label {
  position: absolute;
  z-index: 3;
  right: 2%;
  bottom: 10%;
  max-width: 220px;
  padding: 15px 20px;
  border: 1px solid rgba(255, 255, 255, 0.9);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.88);
  box-shadow: 0 16px 38px rgba(48, 34, 63, 0.13);
  color: #31283d;
  font-size: 12px;
  font-weight: 800;
  text-align: center;
  backdrop-filter: blur(14px);
}

@keyframes marketing-float {
  0%, 100% { transform: translateY(0) rotate(-0.5deg); }
  50% { transform: translateY(-14px) rotate(0.5deg); }
}

.page-feature-section,
.skill-section,
.method-section,
.resource-library {
  background: #fffdfb;
}

.page-feature-section .section-heading,
.study-path .section-heading,
.skill-section .section-heading,
.method-section .section-heading,
.resource-library .section-heading {
  max-width: 900px;
  margin: 0 auto 62px;
  text-align: center;
}

.page-feature-section .eyebrow,
.study-path .eyebrow,
.skill-section .eyebrow,
.method-section .eyebrow,
.resource-library .eyebrow {
  justify-content: center;
}

.page-feature-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.page-feature-card {
  min-height: 300px;
  padding: 34px;
  border: 1px solid #ede6e3;
  border-radius: 28px;
  background: linear-gradient(145deg, #fff, #fffaf7);
  box-shadow: 0 20px 55px rgba(52, 37, 63, 0.06);
}

.page-feature-card > span {
  min-width: 52px;
  height: 52px;
  display: inline-grid;
  place-items: center;
  padding: 0 11px;
  border-radius: 17px;
  color: var(--orange);
  background: #fff0e8;
  font-size: 13px;
  font-weight: 800;
}

.page-feature-card h3,
.skill-card-grid h3,
.method-grid h3 {
  margin: 34px 0 14px;
  font-size: 26px;
  line-height: 1.12;
  letter-spacing: -0.035em;
}

.page-feature-card p,
.skill-card-grid p,
.method-grid p {
  margin: 0;
  color: #6e6876;
  font-size: 14px;
  line-height: 1.75;
}

.study-path {
  background: #f6f7fb;
}

.study-path-list {
  max-width: 1120px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
  margin: 0 auto;
  padding: 0;
  list-style: none;
}

.study-path-list li {
  min-height: 230px;
  display: grid;
  grid-template-columns: 68px 1fr;
  gap: 24px;
  padding: 36px;
  border: 1px solid #e2e6ef;
  border-radius: 28px;
  background: #fff;
}

.study-path-list li > span,
.method-grid article > span,
.skill-card-grid article > span {
  color: var(--orange);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.08em;
}

.study-path-list h3 {
  margin: 0 0 12px;
  font-size: 25px;
  letter-spacing: -0.03em;
}

.study-path-list p {
  margin: 0;
  color: #6c6774;
  font-size: 14px;
  line-height: 1.75;
}

.page-split-section {
  background: #fffdfb;
}

.page-split-card {
  display: grid;
  grid-template-columns: minmax(420px, 1fr) minmax(420px, 0.9fr);
  gap: clamp(50px, 8vw, 140px);
  align-items: center;
  padding: clamp(46px, 6vw, 90px);
  border-radius: 38px;
  color: #fff;
  background: linear-gradient(135deg, #21182f, #3b2853 56%, #6945a4);
  box-shadow: 0 35px 80px rgba(42, 24, 60, 0.2);
}

.page-split-card .eyebrow,
.page-split-card h2,
.page-split-card h2 em {
  color: #fff !important;
}

.page-split-card > div > p:not(.eyebrow) {
  max-width: 700px;
  margin: 28px 0 0;
  color: rgba(255, 255, 255, 0.72);
  font-size: 16px;
  line-height: 1.8;
}

.page-split-card .page-note {
  padding-left: 18px;
  border-left: 2px solid #ff8c54;
  font-size: 12px !important;
}

.page-check-list {
  display: grid;
  gap: 12px;
}

.page-check-list span {
  padding: 17px 20px 17px 48px;
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 17px;
  background: rgba(255, 255, 255, 0.08);
  font-size: 14px;
  font-weight: 650;
}

.page-check-list span::before {
  margin-left: -27px;
  margin-right: 12px;
  color: #ff9d6d;
  content: "✓";
}

.numbered-mini-list {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: practice-loop;
}

.numbered-mini-list li {
  display: grid;
  gap: 4px;
  padding: 18px 22px 18px 64px;
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.08);
  counter-increment: practice-loop;
}

.numbered-mini-list li::before {
  position: absolute;
  margin-left: -42px;
  color: #ff9d6d;
  font-size: 12px;
  font-weight: 800;
  content: "0" counter(practice-loop);
}

.numbered-mini-list b { font-size: 14px; }
.numbered-mini-list span { color: rgba(255, 255, 255, 0.65); font-size: 12px; line-height: 1.5; }

.skill-card-grid,
.method-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}

.skill-card-grid article,
.method-grid article {
  min-height: 300px;
  padding: 34px;
  border: 1px solid #ece6e3;
  border-radius: 26px;
  background: #fff;
  box-shadow: 0 18px 50px rgba(55, 37, 65, 0.06);
}

.method-grid {
  grid-template-columns: repeat(3, 1fr);
  max-width: 1180px;
  margin: 0 auto;
}

.resource-library {
  scroll-margin-top: 100px;
}

.resource-library-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 22px;
  max-width: 1320px;
  margin: 0 auto;
}

.resource-library-card {
  --card-accent: #ff6422;
  display: grid;
  grid-template-columns: 190px 1fr;
  gap: 32px;
  align-items: center;
  min-height: 330px;
  padding: 26px;
  border: 1px solid #ede7e4;
  border-radius: 30px;
  background: #fff;
  box-shadow: 0 22px 58px rgba(54, 37, 64, 0.07);
}

.resource-cover {
  aspect-ratio: 0.72;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 22px;
  border-radius: 20px;
  color: #fff;
  background: linear-gradient(155deg, var(--card-accent), #251b35);
  box-shadow: 0 20px 38px rgba(44, 30, 58, 0.2);
}

.resource-cover span {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.resource-cover strong {
  margin-top: auto;
  font-size: 52px;
  line-height: 1;
}

.resource-cover small {
  margin-top: 8px;
  color: rgba(255, 255, 255, 0.72);
  font-size: 10px;
  text-transform: uppercase;
}

.resource-library-card h3 {
  margin: 0 0 16px;
  font-size: 28px;
  line-height: 1.12;
  letter-spacing: -0.035em;
}

.resource-library-card > div:last-child > p:not(.resource-format) {
  margin: 0 0 24px;
  color: #6b6572;
  font-size: 13px;
  line-height: 1.7;
}

.resource-library-card .button {
  min-height: 46px;
  padding: 0 18px;
  font-size: 12px;
}

.resource-use-note {
  max-width: 900px;
  margin: 36px auto 0;
  color: #98919b;
  font-size: 11px;
  line-height: 1.7;
  text-align: center;
}

.page-cta {
  padding-top: 40px;
  background: #fffdfb;
}

.page-cta-card {
  min-height: 360px;
  display: flex;
  gap: 50px;
  align-items: center;
  justify-content: space-between;
  padding: clamp(48px, 6vw, 88px);
  border-radius: 38px;
  color: #fff;
  background: linear-gradient(135deg, #ff7536, #ed5317 60%, #cc3d0b);
  box-shadow: 0 32px 70px rgba(209, 66, 9, 0.23);
}

.page-cta-card .eyebrow,
.page-cta-card h2,
.page-cta-card h2 em {
  color: #fff !important;
}

.page-cta-card > div > p:last-child {
  max-width: 720px;
  margin: 26px 0 0;
  color: rgba(255, 255, 255, 0.78);
  line-height: 1.75;
}

.page-cta-card > .button {
  flex: 0 0 auto;
}

.mindset-marketing-empty {
  padding: 180px 0 100px;
}

@media (max-width: 1200px) {
  .marketing-hero-grid {
    grid-template-columns: minmax(400px, 0.9fr) minmax(400px, 1.1fr);
  }

  .page-feature-grid,
  .skill-card-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .resource-library-grid {
    grid-template-columns: 1fr;
    max-width: 780px;
  }
}

@media (max-width: 900px) {
  .level-map-layout,
  .marketing-hero-grid,
  .resources-promo-heading,
  .page-split-card {
    grid-template-columns: 1fr;
  }

  .level-map-layout {
    gap: 34px;
  }

  .level-map-tabs {
    grid-template-columns: repeat(6, 1fr);
    gap: 8px;
  }

  .level-map-tabs::before {
    top: 35px;
    right: 35px;
    bottom: auto;
    left: 35px;
    width: auto;
    height: 3px;
  }

  .level-map-tab {
    grid-template-columns: 1fr;
    gap: 8px;
    justify-items: center;
    text-align: center;
  }

  .level-map-code,
  .level-map-tab.is-active .level-map-code {
    margin-left: 0;
  }

  .level-map-label strong { font-size: 12px; }
  .level-map-label small { display: none; }
  .level-map-tab.is-active .level-map-label strong { transform: none; }
  .level-map-panels,
  .level-map-panel { min-height: 0; }

  .resource-card-grid {
    grid-template-columns: 1fr 1fr;
  }

  .resource-card:last-child {
    grid-column: 1 / -1;
  }

  .marketing-hero {
    min-height: 0;
    padding-top: 150px;
  }

  .marketing-hero-copy {
    max-width: 720px;
  }

  .marketing-hero-art {
    min-height: 500px;
  }

  .study-path-list,
  .method-grid {
    grid-template-columns: 1fr;
  }

  .method-grid article {
    min-height: 0;
  }

  .page-split-card {
    gap: 45px;
  }

  .page-cta-card {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 580px) {
  .level-map-heading {
    margin-bottom: 46px;
  }

  .level-map-heading h2,
  .resources-promo-heading h2,
  .page-feature-section h2,
  .study-path h2,
  .skill-section h2,
  .method-section h2,
  .resource-library h2,
  .page-split-section h2,
  .page-cta h2 {
    font-size: 42px;
  }

  .level-map-tabs {
    overflow-x: auto;
    grid-template-columns: repeat(6, 76px);
    justify-content: start;
    padding: 10px 4px 16px;
    scrollbar-width: thin;
  }

  .level-map-tabs::before { display: none; }
  .level-map-code { width: 52px; height: 52px; }
  .level-map-tab.is-active .level-map-code { width: 60px; height: 60px; }

  .level-map-panel {
    padding: 30px 22px;
    border-radius: 24px;
  }

  .level-map-panel h3 { font-size: 31px; }
  .level-panel-summary { font-size: 15px; }

  .level-facts > div {
    grid-template-columns: 1fr;
    gap: 7px;
  }

  .resources-promo-heading { gap: 28px; }
  .resource-card-grid { grid-template-columns: 1fr; }
  .resource-card:last-child { grid-column: auto; }
  .resource-card { min-height: 340px; padding: 28px; }

  .marketing-hero h1 { font-size: clamp(50px, 14vw, 66px); }
  .marketing-hero-copy .button-row { align-items: stretch; flex-direction: column; }
  .marketing-hero-copy .button { justify-content: center; }
  .marketing-hero-art { min-height: 390px; }
  .marketing-art-label { right: 0; bottom: 3%; }

  .page-feature-grid,
  .skill-card-grid,
  .study-path-list {
    grid-template-columns: 1fr;
  }

  .page-feature-card,
  .skill-card-grid article,
  .study-path-list li {
    min-height: 0;
    padding: 28px;
  }

  .study-path-list li {
    grid-template-columns: 44px 1fr;
    gap: 12px;
  }

  .page-split-card,
  .page-cta-card {
    padding: 36px 24px;
    border-radius: 26px;
  }

  .resource-library-card {
    grid-template-columns: 110px 1fr;
    gap: 18px;
    min-height: 0;
    padding: 16px;
    border-radius: 22px;
  }

  .resource-cover {
    padding: 14px;
    border-radius: 14px;
  }

  .resource-cover strong { font-size: 36px; }
  .resource-library-card h3 { font-size: 22px; }
  .resource-library-card .resource-format { font-size: 9px; }
}

@media (prefers-reduced-motion: reduce) {
  .level-map-panel,
  .marketing-hero-art img {
    animation: none !important;
  }
}

/* Version 1.5: founder-first homepage, strategy page, and verb guide. */
.founder-strategy-link {
  width: max-content;
  margin-top: 30px;
}

.marketing-hero-strategy {
  background: linear-gradient(135deg, #fff8f2 0%, #fffdfb 52%, #f1edff 100%);
}

.marketing-hero-verbs {
  background: linear-gradient(135deg, #f4f8ff 0%, #fffdfb 50%, #fff0e8 100%);
}

.strategy-origin,
.strategy-principles,
.verb-intro,
.verb-practice {
  background: #fffdfb;
}

.strategy-origin-grid {
  display: grid;
  grid-template-columns: minmax(430px, 0.9fr) minmax(500px, 1.1fr);
  gap: clamp(60px, 9vw, 160px);
  align-items: start;
}

.strategy-origin h2,
.strategy-framework h2,
.pattern-lab h2,
.strategy-principles h2,
.verb-intro h2,
.verb-guide h2,
.verb-practice h2 {
  margin: 0;
  color: var(--ink);
  font-size: clamp(48px, 4.8vw, 78px);
  font-weight: 730;
  line-height: 1;
  letter-spacing: -0.058em;
}

.strategy-origin h2 em,
.strategy-framework h2 em,
.pattern-lab h2 em,
.strategy-principles h2 em,
.verb-intro h2 em,
.verb-guide h2 em,
.verb-practice h2 em {
  color: var(--orange);
  font-family: var(--mindset-hand);
  font-weight: 650;
  letter-spacing: -0.025em;
}

.strategy-origin-grid > div:last-child > p {
  margin: 0 0 22px;
  color: #68616f;
  font-size: 17px;
  line-height: 1.85;
}

.strategy-origin blockquote {
  margin: 38px 0 0;
  padding: 28px 30px;
  border-left: 4px solid var(--orange);
  border-radius: 0 22px 22px 0;
  color: #2b2336;
  background: var(--peach);
  font-family: var(--mindset-hand);
  font-size: 30px;
  font-weight: 650;
  line-height: 1.25;
}

.strategy-framework,
.verb-guide {
  background: linear-gradient(180deg, #f6f7fb, #f2f4f9);
}

.strategy-framework .section-heading,
.strategy-principles .section-heading,
.verb-guide .section-heading,
.verb-practice .section-heading {
  max-width: 930px;
  margin: 0 auto 64px;
  text-align: center;
}

.strategy-framework .eyebrow,
.strategy-principles .eyebrow,
.verb-guide .eyebrow,
.verb-practice .eyebrow {
  justify-content: center;
}

.strategy-step-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 18px;
  max-width: 1400px;
  margin: 0 auto;
}

.strategy-step-grid article {
  min-height: 330px;
  grid-column: span 2;
  padding: 34px;
  border: 1px solid #e2e6ef;
  border-radius: 28px;
  background: #fff;
  box-shadow: 0 20px 54px rgba(50, 37, 66, 0.07);
}

.strategy-step-grid article:nth-child(4) {
  grid-column: 2 / span 2;
}

.strategy-step-grid article > .strategy-step-number,
.principle-grid article::before {
  color: var(--orange);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.09em;
}

.strategy-step-grid h3 {
  margin: 58px 0 16px;
  font-size: 27px;
  line-height: 1.1;
  letter-spacing: -0.035em;
}

.strategy-step-grid p {
  margin: 0;
  color: #6a6472;
  font-size: 14px;
  line-height: 1.75;
}

.pattern-lab {
  background: #fffdfb;
}

.pattern-lab-card {
  display: grid;
  grid-template-columns: minmax(400px, 0.85fr) minmax(520px, 1.15fr);
  gap: clamp(50px, 8vw, 140px);
  align-items: center;
  padding: clamp(50px, 7vw, 100px);
  border-radius: 40px;
  color: #fff;
  background: linear-gradient(135deg, #20172d, #38234e 55%, #7046a8);
  box-shadow: 0 35px 85px rgba(44, 28, 62, 0.2);
}

.pattern-lab h2,
.pattern-lab h2 em,
.pattern-lab .eyebrow {
  color: #fff !important;
}

.pattern-lab-card > div:first-child > p:last-child {
  margin: 26px 0 0;
  color: rgba(255, 255, 255, 0.7);
  line-height: 1.8;
}

.pattern-example {
  padding: 30px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 28px;
  background: rgba(255, 255, 255, 0.09);
  backdrop-filter: blur(14px);
}

.pattern-example > p {
  display: grid;
  gap: 8px;
  margin: 0 0 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

.pattern-example > p span {
  color: #ff9f70;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.pattern-example > p strong {
  font-size: 21px;
}

.pattern-example ul {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.pattern-example li {
  padding: 13px 15px;
  border-radius: 14px;
  color: rgba(255, 255, 255, 0.78);
  background: rgba(255, 255, 255, 0.06);
  font-size: 13px;
  line-height: 1.55;
}

.pattern-example li b {
  color: #fff;
}

.principle-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}

.principle-grid article {
  min-height: 250px;
  padding: 36px;
  border: 1px solid #eee6e3;
  border-radius: 28px;
  background: linear-gradient(150deg, #fff, #fff9f5);
  counter-increment: principle;
}

.principle-grid {
  counter-reset: principle;
}

.principle-grid article::before {
  content: "0" counter(principle);
}

.principle-grid strong {
  display: block;
  margin: 48px 0 14px;
  font-size: 25px;
  letter-spacing: -0.03em;
}

.principle-grid p {
  margin: 0;
  color: #706978;
  font-size: 14px;
  line-height: 1.75;
}

.strategy-ecosystem {
  padding-top: 30px;
  background: #fffdfb;
}

.verb-intro-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 22px;
}

.verb-intro-grid > article {
  min-height: 520px;
  padding: clamp(38px, 5vw, 72px);
  border: 1px solid #ece5e2;
  border-radius: 38px;
  background: linear-gradient(145deg, #fff5ed, #fff);
  box-shadow: 0 28px 70px rgba(56, 38, 68, 0.08);
}

.verb-intro-grid > article:nth-child(2) {
  background: linear-gradient(145deg, #f2efff, #fff);
}

.verb-intro-grid > article > span {
  display: inline-block;
  margin-bottom: 50px;
  padding: 9px 15px;
  border-radius: 999px;
  color: var(--orange-dark);
  background: rgba(255, 100, 34, 0.11);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.verb-intro-grid > article:nth-child(2) > span {
  color: #6547d5;
  background: rgba(118, 89, 232, 0.11);
}

.verb-intro-grid > article > p {
  max-width: 620px;
  margin: 28px 0;
  color: #6c6573;
  line-height: 1.8;
}

.verb-example {
  display: grid;
  gap: 10px;
  margin-top: 34px;
}

.verb-example b {
  padding: 14px 17px;
  border: 1px solid rgba(255, 100, 34, 0.15);
  border-radius: 15px;
  color: #372d3e;
  background: rgba(255, 255, 255, 0.72);
  font-size: 13px;
}

.verb-tab-list {
  width: max-content;
  max-width: 100%;
  display: flex;
  gap: 6px;
  margin: 0 auto 32px;
  padding: 6px;
  border: 1px solid #e0e4ed;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.8);
}

.verb-tab-list button {
  min-height: 46px;
  padding: 0 22px;
  border: 0;
  border-radius: 999px;
  color: #6b6575;
  background: transparent;
  font-size: 12px;
  font-weight: 750;
  cursor: pointer;
  transition: color 180ms ease, background 180ms ease, box-shadow 180ms ease;
}

.verb-tab-list button.is-active {
  color: #fff;
  background: linear-gradient(135deg, #ff7335, #ec5016);
  box-shadow: 0 10px 24px rgba(230, 79, 16, 0.22);
}

.verb-tab-list button:focus-visible {
  outline: 3px solid rgba(118, 89, 232, 0.25);
  outline-offset: 3px;
}

.verb-tab-panel {
  animation: level-panel-in 300ms ease both;
}

.verb-tab-panel[hidden] {
  display: none;
}

.verb-category-grid,
.meaning-switch-grid,
.verb-practice-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.verb-category-grid article,
.meaning-switch-grid article,
.verb-practice-grid article {
  min-height: 260px;
  padding: 32px;
  border: 1px solid #e1e5ed;
  border-radius: 26px;
  background: #fff;
  box-shadow: 0 18px 48px rgba(49, 38, 63, 0.06);
}

.verb-category-grid h3,
.meaning-switch-grid h3 {
  margin: 0 0 24px;
  font-size: 25px;
  letter-spacing: -0.035em;
}

.verb-category-grid p {
  margin: 0 0 22px;
  color: #2e2738;
  font-size: 15px;
  line-height: 1.75;
}

.verb-category-grid p strong {
  font-weight: 700;
}

.verb-category-grid small,
.meaning-switch-grid small {
  display: block;
  color: #817a88;
  font-size: 12px;
  line-height: 1.65;
}

.meaning-switch-grid article {
  min-height: 285px;
}

.meaning-switch-grid h3 {
  color: var(--orange-dark);
  font-size: 31px;
}

.meaning-switch-grid p {
  margin: 0 0 13px;
  padding: 14px;
  border-radius: 14px;
  color: #4e4656;
  background: #f7f7fa;
  font-size: 13px;
  line-height: 1.55;
}

.meaning-switch-grid p b {
  color: #211a2c;
}

.verb-rules {
  background: #fffdfb;
}

.verb-practice-grid article {
  min-height: 210px;
}

.verb-practice-grid article > p {
  margin: 0 0 34px;
  color: #6c6573;
  font-size: 15px;
}

.verb-practice-grid article > strong {
  display: block;
  margin-bottom: 8px;
  color: var(--orange-dark);
  font-size: 24px;
}

.verb-practice-grid article > small {
  color: #938b97;
  font-size: 11px;
}

@media (max-width: 1100px) {
  .strategy-origin-grid,
  .pattern-lab-card {
    grid-template-columns: 1fr;
  }

  .strategy-step-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .strategy-step-grid article,
  .strategy-step-grid article:nth-child(4) {
    grid-column: auto;
  }

  .strategy-step-grid article:last-child {
    grid-column: 1 / -1;
  }

  .principle-grid,
  .verb-category-grid,
  .meaning-switch-grid,
  .verb-practice-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 760px) {
  .strategy-origin h2,
  .strategy-framework h2,
  .pattern-lab h2,
  .strategy-principles h2,
  .verb-intro h2,
  .verb-guide h2,
  .verb-practice h2 {
    font-size: 44px;
  }

  .strategy-origin-grid,
  .verb-intro-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .strategy-step-grid,
  .principle-grid,
  .verb-category-grid,
  .meaning-switch-grid,
  .verb-practice-grid {
    grid-template-columns: 1fr;
  }

  .strategy-step-grid article:last-child {
    grid-column: auto;
  }

  .strategy-step-grid article,
  .principle-grid article,
  .verb-category-grid article,
  .meaning-switch-grid article,
  .verb-practice-grid article {
    min-height: 0;
  }

  .verb-intro-grid > article {
    min-height: 0;
    padding: 34px 24px;
    border-radius: 28px;
  }

  .verb-tab-list {
    width: 100%;
    overflow-x: auto;
    justify-content: flex-start;
    border-radius: 20px;
    scrollbar-width: thin;
  }

  .verb-tab-list button {
    flex: 0 0 auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  .verb-tab-panel {
    animation: none !important;
  }
}

/* Version 1.6: guaranteed How removal and pattern-first strategy system. */
body.home .how,
body.home .elementor-widget-mindset-how {
  display: none !important;
}

.strategy-pattern-discovery,
.tense-patterns,
.verb-form-reference {
  background: linear-gradient(180deg, #f7f8fc, #f1f3f8);
}

.constant-pattern-lab,
.strategy-ai-practice {
  background: #fffdfb;
}

.strategy-pattern-discovery h2,
.constant-pattern-lab h2,
.tense-patterns h2,
.strategy-ai-practice h2,
.verb-form-reference h2 {
  margin: 0;
  color: var(--ink);
  font-size: clamp(48px, 4.8vw, 78px);
  font-weight: 730;
  line-height: 1;
  letter-spacing: -0.058em;
}

.strategy-pattern-discovery h2 em,
.constant-pattern-lab h2 em,
.tense-patterns h2 em,
.strategy-ai-practice h2 em,
.verb-form-reference h2 em {
  color: var(--orange);
  font-family: var(--mindset-hand);
  font-weight: 650;
  letter-spacing: -0.025em;
}

.pattern-discovery-grid {
  display: grid;
  grid-template-columns: minmax(390px, 0.8fr) minmax(600px, 1.2fr);
  gap: clamp(50px, 7vw, 120px);
  align-items: center;
}

.pattern-discovery-copy > p:not(.eyebrow) {
  margin: 24px 0 0;
  color: #696270;
  font-size: 17px;
  line-height: 1.82;
}

.pattern-discovery-copy > p strong {
  color: var(--orange-dark);
}

.number-pattern-card {
  min-width: 0;
  padding: clamp(28px, 4vw, 52px);
  border: 1px solid #e1d9f4;
  border-radius: 36px;
  background: linear-gradient(145deg, #fff, #f8f4ff);
  box-shadow: 0 30px 75px rgba(61, 43, 83, 0.13);
}

.number-pattern-card header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  margin-bottom: 38px;
}

.number-pattern-card header span {
  padding: 8px 13px;
  border-radius: 999px;
  color: #704dde;
  background: rgba(112, 77, 222, 0.1);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.number-pattern-card header strong {
  color: #30263b;
  font-size: 16px;
}

.number-sequence {
  display: grid;
  grid-template-columns: repeat(11, max-content);
  gap: 10px;
  align-items: center;
  overflow-x: auto;
  padding: 8px 2px 18px;
  scrollbar-width: thin;
}

.number-sequence > span {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  position: relative;
  border: 1px solid #e2dce9;
  border-radius: 18px;
  color: #31283a;
  background: #fff;
  font-size: 22px;
  font-weight: 800;
  box-shadow: 0 10px 25px rgba(45, 34, 59, 0.06);
}

.number-sequence > b {
  color: #aaa0b7;
  font-size: 11px;
}

.number-sequence > .sequence-blank {
  border-color: rgba(255, 100, 34, 0.34);
  color: var(--orange-dark);
  background: #fff2eb;
  box-shadow: 0 13px 28px rgba(231, 79, 18, 0.1);
}

.sequence-reveal {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 10px;
  align-items: center;
  margin-top: 18px;
}

.sequence-reveal span {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border-radius: 14px;
  color: #716878;
  background: #fff;
  font-size: 11px;
  font-weight: 700;
}

.sequence-reveal span strong {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  color: #fff;
  background: linear-gradient(145deg, #ff7a3e, #e84d13);
  font-size: 17px;
}

.sequence-reveal > b {
  color: #a197aa;
  font-size: 9px;
  font-weight: 750;
  text-align: center;
}

.number-pattern-card footer {
  margin-top: 20px;
  padding: 17px 19px;
  border-radius: 16px;
  color: #6a6075;
  background: #f1edfa;
  font-size: 13px;
}

.number-pattern-card footer b {
  color: #3b2d4c;
}

.constant-pattern-lab .section-heading,
.tense-patterns .section-heading,
.verb-form-reference .section-heading {
  max-width: 950px;
  margin: 0 auto 58px;
  text-align: center;
}

.constant-pattern-lab .eyebrow,
.tense-patterns .eyebrow,
.verb-form-reference .eyebrow {
  justify-content: center;
}

.constant-pattern-layout {
  display: grid;
  grid-template-columns: minmax(500px, 1.2fr) minmax(280px, 0.8fr);
  gap: 22px;
  max-width: 1250px;
  margin: 0 auto;
  padding: clamp(32px, 5vw, 64px);
  border-radius: 38px;
  color: #fff;
  background: linear-gradient(135deg, #21172d, #3c2850 56%, #7447a5);
  box-shadow: 0 34px 80px rgba(51, 34, 70, 0.21);
}

.constant-formula {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 9px;
  margin-bottom: 12px;
  padding: 20px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.07);
}

.constant-formula span,
.constant-sentences span {
  padding: 10px 13px;
  border-radius: 11px;
  color: rgba(255, 255, 255, 0.82);
  background: rgba(255, 255, 255, 0.08);
  font-size: 13px;
  font-weight: 700;
}

.constant-formula b {
  color: rgba(255, 255, 255, 0.4);
}

.constant-formula .is-fixed,
.constant-sentences .is-fixed {
  color: #fff;
  background: #7552df;
}

.constant-formula .is-change,
.constant-sentences .is-change {
  color: #fff;
  background: var(--orange);
}

.constant-sentences {
  display: grid;
  gap: 12px;
}

.constant-sentences p {
  display: grid;
  grid-template-columns: 90px 80px 1fr;
  gap: 9px;
  align-items: center;
  margin: 0;
  padding: 12px;
  border: 1px solid rgba(255, 255, 255, 0.11);
  border-radius: 17px;
  background: rgba(255, 255, 255, 0.06);
}

.constant-pattern-layout aside {
  padding: 27px;
  border-radius: 22px;
  color: rgba(255, 255, 255, 0.72);
  background: rgba(15, 9, 21, 0.24);
}

.constant-pattern-layout aside strong {
  display: block;
  margin: 0 0 6px;
  color: #ffac84;
  font-size: 11px;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.constant-pattern-layout aside p {
  margin: 0 0 25px;
  line-height: 1.65;
}

.constant-pattern-layout aside p:last-child {
  margin-bottom: 0;
}

.master-sentence-frame {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 10px;
  max-width: 1100px;
  margin: 0 auto 28px;
  padding: 18px;
  border: 1px solid #ded8e8;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 14px 38px rgba(50, 39, 64, 0.06);
}

.master-sentence-frame span {
  padding: 10px 14px;
  border-radius: 11px;
  color: #4d4059;
  background: #f5f1fa;
  font-size: 12px;
  font-weight: 750;
}

.master-sentence-frame span:nth-of-type(2) {
  color: #fff;
  background: linear-gradient(135deg, #7552df, #5b38c6);
}

.master-sentence-frame b {
  color: #b1a7bb;
}

.tense-pattern-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 18px;
}

.tense-pattern-grid article {
  grid-column: span 2;
  min-height: 310px;
  position: relative;
  padding: 30px;
  border: 1px solid #e0e3eb;
  border-top: 5px solid #7452da;
  border-radius: 25px;
  background: #fff;
  box-shadow: 0 17px 46px rgba(48, 37, 61, 0.07);
}

.tense-pattern-grid article:nth-child(4) {
  grid-column: 2 / span 2;
}

.tense-pattern-grid article:nth-child(5) {
  border-top-color: var(--orange);
}

.tense-pattern-grid article > .tense-label {
  display: inline-block;
  max-width: calc(100% - 58px);
  padding: 7px 11px;
  border-radius: 999px;
  color: #6545cb;
  background: #f0ebff;
  font-size: 9px;
  font-weight: 850;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.tense-pattern-grid article > .strategy-step-icon {
  width: 44px;
  height: 44px;
  position: absolute;
  top: 23px;
  right: 23px;
  border-radius: 14px;
}

.tense-pattern-grid article > .strategy-step-icon svg {
  width: 22px;
  height: 22px;
}

.tense-pattern-grid h3 {
  min-height: 55px;
  margin: 24px 0 18px;
  color: #2d2436;
  font-size: 21px;
  line-height: 1.3;
  letter-spacing: -0.025em;
}

.tense-pattern-grid p {
  margin: 0 0 8px;
  padding: 10px 12px;
  border-radius: 11px;
  color: #6d6573;
  background: #f7f7fa;
  font-size: 13px;
}

.tense-pattern-grid p b {
  color: var(--orange-dark);
}

.tense-pattern-grid small {
  display: block;
  margin-top: 17px;
  color: #948c99;
  font-size: 11px;
  line-height: 1.5;
}

.strategy-step-grid article {
  position: relative;
}

.strategy-step-icon {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255, 100, 34, 0.18);
  border-radius: 18px;
  color: var(--orange-dark) !important;
  background: linear-gradient(145deg, #fff3eb, #ffe2d2);
  box-shadow: 0 12px 26px rgba(232, 79, 17, 0.13);
}

.strategy-step-icon svg {
  width: 28px;
  height: 28px;
}

.strategy-step-grid article:nth-child(2) .strategy-step-icon,
.strategy-step-grid article:nth-child(4) .strategy-step-icon,
.state-reference .strategy-step-icon {
  border-color: rgba(116, 82, 218, 0.2);
  color: #6744d0 !important;
  background: linear-gradient(145deg, #f2edff, #e6ddff);
  box-shadow: 0 12px 26px rgba(103, 68, 208, 0.12);
}

.strategy-step-number {
  position: absolute;
  top: 38px;
  right: 34px;
}

.strategy-step-grid h3 {
  margin-top: 45px;
}

.strategy-ai-card {
  display: grid;
  grid-template-columns: minmax(520px, 1.1fr) minmax(370px, 0.9fr);
  gap: clamp(45px, 7vw, 110px);
  align-items: center;
  padding: clamp(45px, 7vw, 90px);
  border-radius: 40px;
  color: #fff;
  background: radial-gradient(circle at 92% 10%, rgba(255, 117, 57, 0.32), transparent 30%), linear-gradient(135deg, #21172d, #3e2853 58%, #653f8e);
  box-shadow: 0 34px 85px rgba(49, 31, 68, 0.24);
}

.strategy-ai-card h2,
.strategy-ai-card h2 em,
.strategy-ai-card .eyebrow {
  color: #fff !important;
}

.strategy-ai-card > div > p:not(.eyebrow) {
  margin: 25px 0;
  color: rgba(255, 255, 255, 0.72);
  line-height: 1.75;
}

.ai-practice-prompt {
  margin: 30px 0;
  padding: 24px;
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.08);
}

.ai-practice-prompt span {
  display: block;
  margin-bottom: 9px;
  color: #ffae87;
  font-size: 9px;
  font-weight: 850;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.ai-practice-prompt p {
  margin: 0;
  color: rgba(255, 255, 255, 0.8);
  font-size: 13px;
  line-height: 1.7;
}

.strategy-ai-card .button.secondary {
  border-color: rgba(255, 255, 255, 0.24);
  color: #fff;
  background: rgba(255, 255, 255, 0.08);
}

.strategy-ai-card ol {
  display: grid;
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: ai-practice;
}

.strategy-ai-card li {
  display: grid;
  grid-template-columns: 54px 1fr;
  gap: 15px;
  align-items: center;
  padding: 20px;
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 19px;
  background: rgba(255, 255, 255, 0.07);
  counter-increment: ai-practice;
}

.strategy-ai-card li::before {
  width: 45px;
  height: 45px;
  display: grid;
  grid-row: 1 / span 2;
  place-items: center;
  border-radius: 14px;
  color: #fff;
  background: linear-gradient(145deg, #ff7a3e, #e34b12);
  content: "0" counter(ai-practice);
  font-size: 11px;
  font-weight: 850;
}

.strategy-ai-card li b,
.strategy-ai-card li span {
  grid-column: 2;
}

.strategy-ai-card li b {
  color: #fff;
  font-size: 15px;
}

.strategy-ai-card li span {
  color: rgba(255, 255, 255, 0.63);
  font-size: 12px;
  line-height: 1.55;
}

.verb-form-reference .section-heading > p:last-child {
  max-width: 800px;
  margin-right: auto;
  margin-left: auto;
}

.verb-reference-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
  align-items: start;
}

.verb-reference-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid #dfe3eb;
  border-radius: 30px;
  background: #fff;
  box-shadow: 0 24px 65px rgba(47, 36, 60, 0.09);
}

.verb-reference-card > header {
  display: flex;
  gap: 18px;
  align-items: center;
  padding: 28px;
  border-bottom: 1px solid #eceaf0;
  background: linear-gradient(145deg, #fff8f3, #fff);
}

.state-reference > header {
  background: linear-gradient(145deg, #f4f0ff, #fff);
}

.verb-reference-card > header .strategy-step-icon {
  flex: 0 0 54px;
}

.verb-reference-card > header span:not(.strategy-step-icon) {
  color: var(--orange-dark);
  font-size: 9px;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.state-reference > header span:not(.strategy-step-icon) {
  color: #6744d0;
}

.verb-reference-card h3 {
  margin: 5px 0 0;
  color: #2d2436;
  font-size: 20px;
  letter-spacing: -0.025em;
}

.verb-table-wrap {
  max-width: 100%;
  overflow-x: auto;
}

.verb-reference-card table {
  width: 100%;
  min-width: 540px;
  border-collapse: collapse;
  color: #5f5866;
  font-size: 12px;
}

.verb-reference-card th,
.verb-reference-card td {
  padding: 13px 16px;
  border-bottom: 1px solid #efedf2;
  text-align: left;
  vertical-align: middle;
}

.verb-reference-card th {
  color: #33293c;
  background: #f7f7fa;
  font-size: 11px;
}

.verb-reference-card th small {
  display: block;
  margin-top: 3px;
  color: #9a929f;
  font-size: 8px;
  font-weight: 600;
}

.verb-reference-card td strong {
  color: var(--orange-dark);
  font-size: 13px;
}

.state-reference td strong {
  color: #6543c8;
}

.verb-reference-card tbody tr:nth-child(even) td {
  background: #fcfbfd;
}

.verb-reference-card tbody tr:hover td {
  background: #fff5ef;
}

.state-reference tbody tr:hover td {
  background: #f5f1ff;
}

.verb-table-note {
  margin: 0;
  padding: 22px 26px;
  color: #685f6f;
  background: #faf9fb;
  font-size: 12px;
  line-height: 1.65;
}

.verb-reference-notes {
  display: grid;
  grid-template-columns: 1.4fr 0.6fr;
  gap: 14px;
  margin-top: 18px;
}

.verb-reference-notes p {
  margin: 0;
  padding: 19px 21px;
  border: 1px solid #e2e4eb;
  border-radius: 17px;
  color: #6b6471;
  background: rgba(255, 255, 255, 0.75);
  font-size: 12px;
  line-height: 1.65;
}

@media (max-width: 1180px) {
  .pattern-discovery-grid,
  .strategy-ai-card {
    grid-template-columns: 1fr;
  }

  .constant-pattern-layout {
    grid-template-columns: 1fr;
  }

  .constant-formula {
    grid-column: auto;
  }

  .tense-pattern-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .tense-pattern-grid article,
  .tense-pattern-grid article:nth-child(4) {
    grid-column: auto;
  }

  .tense-pattern-grid article:last-child {
    grid-column: 1 / -1;
  }

  .verb-reference-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .strategy-pattern-discovery h2,
  .constant-pattern-lab h2,
  .tense-patterns h2,
  .strategy-ai-practice h2,
  .verb-form-reference h2 {
    font-size: 44px;
  }

  .pattern-discovery-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .number-pattern-card,
  .constant-pattern-layout,
  .strategy-ai-card {
    padding: 28px 20px;
    border-radius: 27px;
  }

  .number-pattern-card header {
    align-items: flex-start;
    flex-direction: column;
  }

  .sequence-reveal {
    grid-template-columns: 1fr;
  }

  .constant-sentences p {
    grid-template-columns: 82px 67px minmax(125px, 1fr);
    overflow-x: auto;
  }

  .tense-pattern-grid,
  .verb-reference-notes {
    grid-template-columns: 1fr;
  }

  .tense-pattern-grid article:last-child {
    grid-column: auto;
  }

  .tense-pattern-grid article {
    min-height: 0;
  }

  .strategy-ai-card .button-row {
    align-items: stretch;
    flex-direction: column;
  }

  .strategy-ai-card .button {
    justify-content: center;
  }

  .verb-reference-card {
    border-radius: 23px;
  }

  .verb-reference-card > header {
    align-items: flex-start;
    padding: 22px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .number-pattern-card,
  .strategy-step-icon,
  .tense-pattern-grid article {
    animation: none !important;
    transition: none !important;
  }
}

/* Version 1.9: status-led App page built around the confirmed launch plan. */
.marketing-hero-app {
  min-height: 760px;
  padding-top: 145px;
  padding-bottom: 70px;
  background:
    radial-gradient(circle at 76% 42%, rgba(255, 106, 26, 0.17), transparent 33%),
    radial-gradient(circle at 15% 18%, rgba(116, 82, 218, 0.1), transparent 28%),
    #fffaf7;
}

.app-desktop-art {
  min-height: 540px;
  align-items: center;
  justify-content: center;
}

.app-desktop-art::before {
  inset: 2% -4% 1%;
  border-radius: 42px;
  background: linear-gradient(140deg, rgba(255, 255, 255, 0.92), rgba(244, 238, 251, 0.72));
  box-shadow: 0 35px 90px rgba(50, 33, 61, 0.13);
}

.app-desktop-preview {
  position: relative;
  z-index: 2;
  width: min(760px, 100%);
  min-height: 455px;
  display: grid;
  grid-template-columns: 126px minmax(0, 1fr) 150px;
  overflow: hidden;
  border: 6px solid #1c1821;
  border-radius: 24px;
  color: #26212a;
  background: #f8f8fb;
  box-shadow: 0 26px 75px rgba(31, 22, 40, 0.2);
  transform: perspective(1300px) rotateY(-2deg) rotateX(0.7deg);
}

.app-desktop-nav,
.app-desktop-side {
  min-width: 0;
  padding: 17px 11px;
  background: #fff;
}

.app-desktop-nav {
  display: flex;
  flex-direction: column;
  gap: 5px;
  border-right: 1px solid #ece9ef;
}

.app-desktop-nav > img {
  width: 67px;
  height: auto;
  margin: 1px auto 17px;
}

.app-desktop-nav > span {
  display: flex;
  align-items: center;
  gap: 7px;
  min-height: 34px;
  padding: 7px;
  border-radius: 9px;
  color: #6f6874;
  font-size: 7px;
  font-weight: 750;
  white-space: nowrap;
}

.app-desktop-nav > span.is-active {
  color: #e65111;
  background: #fff0e7;
}

.app-desktop-nav > span small {
  margin-left: auto;
  color: #e95d1d;
  font-size: 5px;
  font-weight: 900;
  text-transform: uppercase;
}

.app-desktop-nav .feature-card-icon {
  width: 17px;
  height: 17px;
  flex: 0 0 17px;
  border-radius: 5px;
  color: currentColor;
  background: transparent;
}

.app-desktop-nav .feature-card-icon svg {
  width: 12px;
  height: 12px;
}

.app-desktop-main {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 11px;
  padding: 19px;
}

.app-desktop-main > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.app-desktop-main > header span {
  display: grid;
  gap: 2px;
}

.app-desktop-main > header small {
  color: #a19ba5;
  font-size: 6px;
}

.app-desktop-main > header b {
  font-size: 13px;
  letter-spacing: -0.03em;
}

.app-desktop-main > header > i {
  padding: 6px 8px;
  border-radius: 999px;
  color: #6845c4;
  background: #eee8ff;
  font-size: 5px;
  font-style: normal;
  font-weight: 850;
  text-transform: uppercase;
}

.app-desktop-kanka {
  position: relative;
  min-height: 127px;
  overflow: hidden;
  padding: 23px 104px 21px 21px;
  border-radius: 17px;
  color: #fff;
  background:
    radial-gradient(circle at 72% 22%, rgba(255, 126, 54, 0.34), transparent 34%),
    linear-gradient(135deg, #1d1823, #3b2949);
}

.app-desktop-kanka small {
  color: #ffb68d;
  font-size: 6px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.app-desktop-kanka h3 {
  margin: 7px 0 6px;
  color: #fff;
  font-size: 18px;
  letter-spacing: -0.045em;
}

.app-desktop-kanka h3 em {
  color: #ff8d4d;
  font-family: var(--mindset-serif);
  font-weight: 400;
}

.app-desktop-kanka p {
  max-width: 285px;
  margin: 0;
  color: rgba(255, 255, 255, 0.62);
  font-size: 7px;
  line-height: 1.5;
}

.app-desktop-kanka img {
  position: absolute;
  right: 7px;
  bottom: -12px;
  width: 105px;
  height: 118px;
  object-fit: contain;
}

.app-desktop-actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
}

.app-desktop-actions article {
  min-width: 0;
  display: grid;
  grid-template-columns: 28px 1fr;
  gap: 7px;
  align-items: center;
  min-height: 58px;
  padding: 9px;
  border: 1px solid #eae6ed;
  border-radius: 12px;
  background: #fff;
}

.app-desktop-actions .feature-card-icon {
  width: 28px;
  height: 28px;
  border-radius: 9px;
}

.app-desktop-actions .feature-card-icon svg {
  width: 15px;
  height: 15px;
}

.app-desktop-actions span {
  min-width: 0;
  display: grid;
  gap: 3px;
}

.app-desktop-actions small {
  overflow: hidden;
  color: #8d8492;
  font-size: 5px;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

.app-desktop-actions b {
  overflow: hidden;
  font-size: 7px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.app-desktop-lesson {
  padding: 13px;
  border: 1px solid #eae6ed;
  border-radius: 14px;
  background: #fff;
}

.app-desktop-lesson > header {
  display: flex;
  justify-content: space-between;
  margin-bottom: 9px;
  font-size: 7px;
}

.app-desktop-lesson > header small {
  color: #958d99;
  font-size: 5px;
}

.app-desktop-lesson > div {
  display: grid;
  grid-template-columns: 44px 1fr 25px;
  gap: 9px;
  align-items: center;
  padding: 8px;
  border-radius: 10px;
  background: #faf7fc;
}

.app-desktop-lesson > div > i {
  width: 44px;
  height: 32px;
  border-radius: 8px;
  background:
    radial-gradient(circle at 65% 38%, #ff9e66 0 9%, transparent 10%),
    linear-gradient(135deg, #6d4bd0, #f07132);
}

.app-desktop-lesson > div > span {
  display: grid;
  gap: 4px;
}

.app-desktop-lesson > div b {
  font-size: 7px;
}

.app-desktop-lesson > div small {
  color: #908995;
  font-size: 5px;
}

.app-desktop-lesson > div strong {
  width: 25px;
  height: 25px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: #ff6a1a;
  font-size: 7px;
}

.app-desktop-side {
  display: flex;
  flex-direction: column;
  gap: 10px;
  border-left: 1px solid #ece9ef;
}

.app-desktop-side > div,
.app-desktop-status {
  display: grid;
  gap: 5px;
  padding: 13px;
  border: 1px solid #ece7ef;
  border-radius: 13px;
  background: #fff;
}

.app-desktop-status {
  position: relative;
  padding-left: 28px;
  background: #fff8f4;
}

.app-desktop-status > i {
  position: absolute;
  top: 15px;
  left: 13px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #55cf88;
  box-shadow: 0 0 0 4px rgba(85, 207, 136, 0.13);
}

.app-desktop-side small {
  color: #99919c;
  font-size: 5px;
  font-weight: 800;
  text-transform: uppercase;
}

.app-desktop-side b {
  font-size: 8px;
  line-height: 1.25;
}

.app-desktop-side p {
  margin: 0;
  color: #817a85;
  font-size: 6px;
  line-height: 1.5;
}

.app-truth-strip {
  color: #fff;
  background: #17141c;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.app-truth-strip .shell {
  min-height: 104px;
  display: grid;
  grid-template-columns: 1fr 1fr auto;
  align-items: center;
  gap: 34px;
}

.app-truth-strip .shell > div {
  display: flex;
  align-items: center;
  gap: 13px;
}

.app-truth-strip i,
.app-status-pill i {
  width: 9px;
  height: 9px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: #ff7428;
  box-shadow: 0 0 0 5px rgba(255, 116, 40, 0.12);
}

.app-truth-strip i.is-live,
.app-status-pill.is-live i {
  background: #54d38a;
  box-shadow: 0 0 0 5px rgba(84, 211, 138, 0.12);
}

.app-truth-strip span {
  display: grid;
  gap: 3px;
}

.app-truth-strip b {
  font-size: 14px;
}

.app-truth-strip small {
  color: rgba(255, 255, 255, 0.58);
  font-size: 11px;
  line-height: 1.45;
}

.app-truth-strip a {
  color: #ffac7c;
  font-size: 13px;
  font-weight: 800;
  white-space: nowrap;
}

.app-truth-strip a span {
  display: inline;
}

.app-status-section,
.app-access-section {
  padding: 100px 0;
  background: #f8f5f2;
}

.app-section-heading {
  max-width: 820px;
  margin: 0 auto 52px;
  text-align: center;
}

.app-section-heading .eyebrow {
  justify-content: center;
}

.app-section-heading h2,
.app-first-step h2,
.app-kanka-plan h2,
.app-audience-section h2 {
  margin: 16px 0 20px;
  font-size: clamp(46px, 5vw, 72px);
  line-height: 0.98;
  letter-spacing: -0.055em;
}

.app-section-heading h2 em,
.app-first-step h2 em,
.app-kanka-plan h2 em,
.app-audience-section h2 em {
  color: var(--orange);
  font-family: var(--mindset-serif);
  font-weight: 400;
}

.app-section-heading > p:last-child,
.app-first-step-grid > div > p,
.app-kanka-intro > p:not(.eyebrow),
.app-audience-card > div > p {
  color: #6e6876;
  font-size: 17px;
  line-height: 1.72;
}

.app-status-layout {
  display: grid;
  grid-template-columns: minmax(330px, 0.8fr) minmax(0, 1.35fr);
  gap: 22px;
  align-items: stretch;
}

.app-live-panel,
.app-launch-panel {
  padding: 34px;
  border-radius: 30px;
}

.app-live-panel {
  color: #fff;
  background:
    radial-gradient(circle at 85% 6%, rgba(84, 211, 138, 0.18), transparent 34%),
    linear-gradient(145deg, #17141d, #292130);
  box-shadow: 0 24px 70px rgba(30, 21, 37, 0.16);
}

.app-launch-panel {
  border: 1px solid #e8dfda;
  background: rgba(255, 255, 255, 0.88);
  box-shadow: 0 18px 55px rgba(52, 37, 63, 0.06);
}

.app-status-pill {
  width: fit-content;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 9px 13px;
  border: 1px solid rgba(255, 116, 40, 0.22);
  border-radius: 999px;
  color: #9d4519;
  background: #fff0e7;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.app-live-panel .app-status-pill {
  border-color: rgba(84, 211, 138, 0.22);
  color: #a7f1c6;
  background: rgba(84, 211, 138, 0.09);
}

.app-live-panel > h3 {
  max-width: 420px;
  margin: 25px 0 28px;
  font-size: 31px;
  line-height: 1.08;
  letter-spacing: -0.04em;
}

.app-live-list {
  display: grid;
  gap: 12px;
}

.app-live-list > div {
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 14px;
  padding: 18px;
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.05);
}

.app-live-list .feature-card-icon {
  width: 48px;
  height: 48px;
  border-radius: 15px;
  color: #acf1c9;
  background: rgba(84, 211, 138, 0.11);
}

.app-live-list .feature-card-icon svg {
  width: 23px;
  height: 23px;
}

.app-live-list span {
  min-width: 0;
}

.app-live-list b {
  font-size: 15px;
}

.app-live-list p {
  margin: 7px 0 10px;
  color: rgba(255, 255, 255, 0.61);
  font-size: 12px;
  line-height: 1.55;
}

.app-live-list a {
  color: #ffad7f;
  font-size: 11px;
  font-weight: 800;
}

.app-launch-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 22px;
}

.app-launch-panel-head p {
  margin: 0;
  color: #8a828d;
  font-size: 12px;
}

.app-launch-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 11px;
}

.app-launch-grid article {
  min-height: 194px;
  padding: 19px;
  border: 1px solid #eee6e2;
  border-radius: 20px;
  background: linear-gradient(150deg, #fff, #fffbf8);
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.app-launch-grid article:hover {
  transform: translateY(-3px);
  border-color: rgba(255, 106, 26, 0.25);
  box-shadow: 0 14px 35px rgba(53, 34, 62, 0.07);
}

.app-launch-grid .feature-card-icon {
  width: 42px;
  height: 42px;
  border-radius: 13px;
}

.app-launch-grid .feature-card-icon svg {
  width: 21px;
  height: 21px;
}

.app-launch-grid h3 {
  margin: 16px 0 8px;
  font-size: 16px;
  letter-spacing: -0.025em;
}

.app-launch-grid p {
  margin: 0;
  color: #77717b;
  font-size: 11px;
  line-height: 1.55;
}

.app-flow-section {
  padding: 105px 0;
  background: #fff;
}

.app-flow-tabs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 14px;
}

.app-flow-tabs button {
  min-width: 0;
  display: grid;
  grid-template-columns: 45px 1fr;
  gap: 12px;
  align-items: center;
  padding: 16px;
  border: 1px solid #e9e1dd;
  border-radius: 18px;
  color: #69626e;
  background: #fffaf7;
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: color 180ms ease, background 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.app-flow-tabs button:hover,
.app-flow-tabs button:focus-visible {
  transform: translateY(-2px);
  border-color: rgba(255, 106, 26, 0.3);
  outline: none;
}

.app-flow-tabs button.is-active {
  color: #fff;
  border-color: #1d1822;
  background: #1d1822;
}

.app-flow-tabs .feature-card-icon {
  width: 45px;
  height: 45px;
  border-radius: 14px;
}

.app-flow-tabs button.is-active .feature-card-icon {
  color: #ffc09b;
  background: rgba(255, 116, 40, 0.12);
}

.app-flow-tabs button > span {
  min-width: 0;
  display: grid;
  gap: 4px;
  font-size: 14px;
  font-weight: 850;
}

.app-flow-tabs button small {
  overflow: hidden;
  color: #a39ba6;
  font-size: 7px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

.app-flow-tabs button.is-active small {
  color: rgba(255, 255, 255, 0.52);
}

.app-flow-panels {
  min-height: 390px;
}

.app-flow-panel {
  min-height: 390px;
  display: grid;
  grid-template-columns: minmax(280px, 0.78fr) minmax(0, 1.22fr);
  gap: 55px;
  align-items: center;
  padding: 50px;
  overflow: hidden;
  border-radius: 31px;
  color: #fff;
  background:
    radial-gradient(circle at 90% 10%, rgba(255, 116, 40, 0.2), transparent 30%),
    radial-gradient(circle at 10% 90%, rgba(116, 82, 218, 0.18), transparent 30%),
    #1b1720;
  box-shadow: 0 24px 70px rgba(33, 23, 41, 0.16);
  animation: app-flow-enter 260ms ease both;
}

.app-flow-panel[hidden] {
  display: none;
}

.app-flow-copy .app-status-pill {
  color: #ffc09b;
  border-color: rgba(255, 116, 40, 0.2);
  background: rgba(255, 116, 40, 0.08);
}

.app-flow-copy .app-status-pill.is-live {
  color: #a8f0c6;
  border-color: rgba(84, 211, 138, 0.2);
  background: rgba(84, 211, 138, 0.08);
}

.app-flow-copy h3 {
  margin: 24px 0 15px;
  color: #fff;
  font-size: clamp(30px, 3vw, 45px);
  line-height: 1.04;
  letter-spacing: -0.045em;
}

.app-flow-copy > p {
  margin: 0;
  color: rgba(255, 255, 255, 0.61);
  font-size: 14px;
  line-height: 1.7;
}

.app-flow-feature-list {
  display: flex;
  flex-wrap: wrap;
  align-content: center;
  gap: 9px;
}

.app-flow-feature-list span {
  padding: 13px 15px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 14px;
  color: rgba(255, 255, 255, 0.82);
  background: rgba(255, 255, 255, 0.055);
  font-size: 11px;
  font-weight: 750;
}

.app-flow-note {
  max-width: 800px;
  margin: 18px auto 0;
  color: #98909c;
  font-size: 10px;
  line-height: 1.6;
  text-align: center;
}

@keyframes app-flow-enter {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

.app-first-step {
  padding: 105px 0;
  background: #fff;
}

.app-first-step-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(420px, 1.05fr);
  gap: 80px;
  align-items: center;
}

.app-first-step-grid > div > p {
  max-width: 590px;
  margin: 0 0 28px;
}

.app-first-step ol {
  position: relative;
  display: grid;
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.app-first-step ol::before {
  position: absolute;
  top: 34px;
  bottom: 34px;
  left: 31px;
  width: 2px;
  content: '';
  background: linear-gradient(#ff8c4b, #7d5bd7);
}

.app-first-step li {
  position: relative;
  display: grid;
  grid-template-columns: 62px 1fr;
  gap: 18px;
  align-items: center;
  padding: 20px;
  border: 1px solid #eee6e2;
  border-radius: 22px;
  background: #fffaf7;
}

.app-first-step li > span {
  z-index: 1;
  width: 62px;
  height: 62px;
  display: grid;
  place-items: center;
  border-radius: 18px;
  color: #fff;
  background: #19151e;
  font-size: 12px;
  font-weight: 900;
}

.app-first-step li b {
  font-size: 18px;
}

.app-first-step li p {
  margin: 6px 0 0;
  color: #77717b;
  font-size: 13px;
  line-height: 1.55;
}

.app-kanka-plan {
  padding: 105px 0;
  color: #fff;
  background:
    radial-gradient(circle at 8% 10%, rgba(255, 107, 28, 0.18), transparent 28%),
    radial-gradient(circle at 88% 80%, rgba(120, 82, 218, 0.16), transparent 28%),
    #17141c;
}

.app-kanka-plan > .shell {
  display: grid;
  grid-template-columns: minmax(300px, 0.78fr) minmax(0, 1.22fr);
  gap: 70px;
  align-items: center;
}

.app-kanka-intro .app-status-pill {
  color: #ffc09b;
  border-color: rgba(255, 116, 40, 0.23);
  background: rgba(255, 116, 40, 0.08);
}

.app-kanka-intro .eyebrow {
  margin-top: 24px;
  color: #ff9d66;
}

.app-kanka-plan h2 {
  color: #fff;
}

.app-kanka-intro > p:not(.eyebrow) {
  margin: 0 0 28px;
  color: rgba(255, 255, 255, 0.63);
}

.app-kanka-capabilities {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.app-kanka-capabilities article {
  display: grid;
  grid-template-columns: 46px 1fr;
  gap: 14px;
  padding: 21px;
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: 21px;
  background: rgba(255, 255, 255, 0.045);
}

.app-kanka-capabilities .feature-card-icon {
  width: 46px;
  height: 46px;
  border-radius: 14px;
  color: #ffc09b;
  background: rgba(255, 116, 40, 0.1);
}

.app-kanka-capabilities .feature-card-icon svg {
  width: 23px;
  height: 23px;
}

.app-kanka-capabilities h3 {
  margin: 1px 0 7px;
  font-size: 16px;
}

.app-kanka-capabilities p {
  margin: 0;
  color: rgba(255, 255, 255, 0.56);
  font-size: 11px;
  line-height: 1.55;
}

.app-access-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.app-access-grid article {
  min-height: 245px;
  display: grid;
  grid-template-columns: 58px 1fr;
  gap: 19px;
  align-content: start;
  padding: 30px;
  border: 1px solid #e9e0db;
  border-radius: 27px;
  background: #fff;
  box-shadow: 0 17px 48px rgba(52, 37, 63, 0.05);
}

.app-access-grid article:nth-child(2) .feature-card-icon {
  color: #6544cb;
  background: #f0ebff;
}

.app-access-grid article:nth-child(3) .feature-card-icon {
  color: #1d8e5c;
  background: #e8f8f0;
}

.app-access-grid small {
  color: var(--orange-dark);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.app-access-grid h3 {
  margin: 9px 0 12px;
  font-size: 25px;
  letter-spacing: -0.035em;
}

.app-access-grid p {
  margin: 0;
  color: #77717b;
  font-size: 13px;
  line-height: 1.65;
}

.app-audience-section {
  padding: 105px 0;
  background: #fff;
}

.app-audience-card {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(300px, 0.7fr);
  gap: 55px;
  align-items: center;
  padding: 56px;
  border: 1px solid #ece3df;
  border-radius: 36px;
  background:
    radial-gradient(circle at 9% 10%, rgba(255, 106, 26, 0.08), transparent 30%),
    linear-gradient(145deg, #fffaf7, #fff);
  box-shadow: 0 25px 75px rgba(52, 37, 63, 0.07);
}

.app-audience-card > div > p {
  max-width: 720px;
}

.app-audience-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 26px;
}

.app-audience-tags span {
  padding: 10px 14px;
  border: 1px solid #eadfd9;
  border-radius: 999px;
  color: #645e68;
  background: rgba(255, 255, 255, 0.78);
  font-size: 11px;
  font-weight: 750;
}

.app-audience-card aside {
  padding: 30px;
  border-radius: 27px;
  color: #fff;
  background: #1d1822;
}

.app-audience-card aside .feature-card-icon {
  color: #abf1c8;
  background: rgba(84, 211, 138, 0.11);
}

.app-audience-card aside h3 {
  margin: 24px 0 12px;
  font-size: 24px;
}

.app-audience-card aside p {
  margin: 0;
  color: rgba(255, 255, 255, 0.62);
  font-size: 13px;
  line-height: 1.65;
}

@media (max-width: 1100px) {
  .app-status-layout,
  .app-kanka-plan > .shell {
    grid-template-columns: 1fr;
  }

  .app-launch-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .app-first-step-grid {
    gap: 48px;
  }

  .app-access-grid {
    grid-template-columns: 1fr;
  }

  .app-access-grid article {
    min-height: 0;
  }
}

@media (max-width: 780px) {
  .marketing-hero-app {
    padding-top: 132px;
  }

  .app-truth-strip .shell {
    grid-template-columns: 1fr;
    gap: 18px;
    padding-top: 24px;
    padding-bottom: 24px;
  }

  .app-desktop-art {
    min-height: 510px;
  }

  .app-desktop-preview {
    grid-template-columns: 112px minmax(0, 1fr);
    min-height: 430px;
    transform: none;
  }

  .app-desktop-side {
    display: none;
  }

  .app-status-section,
  .app-first-step,
  .app-kanka-plan,
  .app-access-section,
  .app-audience-section {
    padding: 76px 0;
  }

  .app-launch-grid,
  .app-kanka-capabilities,
  .app-first-step-grid,
  .app-audience-card {
    grid-template-columns: 1fr;
  }

  .app-flow-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .app-flow-panel {
    grid-template-columns: 1fr;
    gap: 30px;
    padding: 34px 26px;
  }

  .app-first-step-grid,
  .app-kanka-plan > .shell,
  .app-audience-card {
    gap: 38px;
  }

  .app-audience-card {
    padding: 34px 24px;
    border-radius: 28px;
  }
}

@media (max-width: 520px) {
  .app-live-panel,
  .app-launch-panel {
    padding: 24px;
    border-radius: 25px;
  }

  .app-desktop-art {
    min-height: 440px;
  }

  .app-desktop-preview {
    min-height: 385px;
    grid-template-columns: minmax(0, 1fr);
    border-width: 4px;
    border-radius: 20px;
  }

  .app-desktop-nav {
    display: none;
  }

  .app-desktop-main {
    padding: 14px;
  }

  .app-launch-panel-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .app-launch-grid {
    grid-template-columns: 1fr;
  }

  .app-flow-tabs {
    grid-template-columns: 1fr;
  }

  .app-flow-tabs button {
    grid-template-columns: 40px 1fr;
  }

  .app-flow-tabs .feature-card-icon {
    width: 40px;
    height: 40px;
  }

  .app-launch-grid article {
    min-height: 0;
  }

  .app-first-step li {
    grid-template-columns: 52px 1fr;
    padding: 16px;
  }

  .app-first-step li > span {
    width: 52px;
    height: 52px;
  }

  .app-first-step ol::before {
    left: 41px;
  }

  .app-access-grid article {
    grid-template-columns: 48px 1fr;
    padding: 24px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .app-launch-grid article,
  .app-flow-panel,
  .app-flow-tabs button {
    animation: none !important;
    transition: none !important;
  }
}

@media (min-width: 901px) and (max-width: 1180px) {
  .site-header .site-nav {
    gap: clamp(10px, 1.2vw, 16px);
    font-size: 10px;
  }

  .site-header .nav-cta {
    padding-inline: 17px;
  }
}

/* Version 2.1: connected homepage story, early conversion, and unique media */

body.home .about {
  padding-top: clamp(54px, 5.4vw, 88px);
  padding-bottom: clamp(62px, 6vw, 104px);
}

body.home .about-grid {
  grid-template-columns: minmax(280px, 0.34fr) minmax(0, 0.66fr);
  align-items: start;
  gap: clamp(38px, 5vw, 78px);
}

body.home .founder-card {
  position: sticky;
  top: 128px;
  padding: 22px 20px 26px;
  border: 1px solid rgba(31, 25, 33, 0.08);
  border-radius: 30px;
  background: rgba(255, 255, 255, 0.72);
  box-shadow: 0 24px 70px rgba(45, 31, 50, 0.08);
  backdrop-filter: blur(18px);
}

.founder-story-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 30px;
}

.founder-story-block {
  min-width: 0;
  padding: clamp(22px, 2.1vw, 30px);
  border: 1px solid rgba(31, 25, 33, 0.08);
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.78);
  box-shadow: 0 16px 42px rgba(48, 32, 51, 0.045);
}

.founder-story-solution {
  background:
    radial-gradient(circle at 88% 10%, rgba(126, 96, 229, 0.14), transparent 34%),
    rgba(255, 255, 255, 0.82);
}

.founder-story-block > small {
  display: block;
  margin-bottom: 16px;
  color: var(--orange);
  font-size: 10px;
  font-weight: 820;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.founder-story-block .lead,
.founder-story-block .problem,
.founder-story-block > p {
  margin: 0;
}

.founder-story-block .lead {
  font-size: clamp(16px, 1.08vw, 20px);
  line-height: 1.48;
}

.founder-story-block .lead + p,
.founder-story-block .problem + p {
  margin-top: 17px;
  color: #5d5660;
  font-size: 13px;
  line-height: 1.7;
}

.founder-story-block .problem {
  gap: 6px;
  color: #625a64;
  font-size: 14px;
  line-height: 1.55;
}

.founder-story-close {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-top: 22px;
  padding: 20px 22px;
  border-radius: 20px;
  background: #1a171b;
}

.about-copy .founder-story-close .closing {
  margin: 0 !important;
  color: rgba(255, 255, 255, 0.68) !important;
  font-size: 13px;
}

.founder-story-close .founder-strategy-link {
  flex: 0 0 auto;
  border-color: rgba(255, 255, 255, 0.16);
  color: #fff;
  background: rgba(255, 255, 255, 0.08);
}

body.home .waitlist {
  padding-top: clamp(64px, 6.5vw, 105px);
  padding-bottom: clamp(70px, 7vw, 118px);
}

body.home .waitlist-card {
  border-color: rgba(255, 255, 255, 0.17);
  box-shadow: 0 42px 120px rgba(0, 0, 0, 0.34);
}

body.home .waitlist-form {
  border: 2px solid rgba(255, 111, 31, 0.28);
  box-shadow: 0 42px 95px rgba(0, 0, 0, 0.34), 0 0 0 8px rgba(255, 255, 255, 0.035);
}

body.home .home-chapters {
  border-top: 1px solid rgba(31, 25, 33, 0.06);
  box-shadow: 0 12px 34px rgba(40, 28, 44, 0.07);
}

.showcase-screen-stack {
  position: absolute;
  z-index: 3;
  inset: 6% 5% 7%;
}

.showcase-screen {
  position: absolute;
  width: min(52%, 365px);
  max-height: 620px;
  overflow: hidden;
  margin: 0;
  border: 5px solid rgba(255, 255, 255, 0.9);
  border-radius: 30px;
  background: #fff;
  box-shadow: 0 36px 72px rgba(0, 0, 0, 0.38);
  transition: transform 500ms cubic-bezier(.2, .75, .2, 1);
}

.showcase-screen-learn {
  top: 4%;
  left: 5%;
  transform: rotate(-6deg);
}

.showcase-screen-ai {
  top: 12%;
  right: 4%;
  transform: rotate(6deg);
}

.showcase-device:hover .showcase-screen-learn {
  transform: translate(-7px, -8px) rotate(-7deg);
}

.showcase-device:hover .showcase-screen-ai {
  transform: translate(7px, -12px) rotate(7deg);
}

.showcase-screen img {
  width: 100%;
  height: auto;
  display: block;
}

.showcase-screen figcaption {
  position: absolute;
  right: 12px;
  bottom: 12px;
  padding: 8px 11px;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 999px;
  color: #fff;
  background: rgba(19, 15, 24, 0.76);
  font-size: 9px;
  font-weight: 760;
  backdrop-filter: blur(10px);
}

.showcase-live {
  z-index: 5;
}

.download-card > img {
  --download-x: 0%;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  opacity: 0.94;
  filter: none;
  animation: none;
  transform: none;
}

.download-card::after {
  background:
    linear-gradient(90deg, rgba(6, 5, 9, 0.05) 0%, rgba(6, 5, 9, 0.26) 42%, rgba(6, 5, 9, 0.88) 66%, rgba(6, 5, 9, 0.92) 100%),
    linear-gradient(180deg, rgba(5, 4, 8, 0.05), rgba(5, 4, 8, 0.34));
}

.download-copy {
  margin-right: 6%;
}

@media (max-width: 1020px) {
  body.home .about-grid {
    grid-template-columns: 1fr;
  }

  body.home .founder-card {
    position: relative;
    top: auto;
    width: min(520px, 100%);
    margin: 0 auto;
  }

  .showcase-screen {
    width: min(50%, 350px);
  }
}

@media (max-width: 720px) {
  .founder-story-grid {
    grid-template-columns: 1fr;
  }

  .founder-story-close {
    align-items: flex-start;
    flex-direction: column;
  }

  .showcase-screen-stack {
    inset: 5% 3% 6%;
  }

  .showcase-screen {
    width: 56%;
    max-height: 380px;
    border-width: 3px;
    border-radius: 19px;
  }

  .showcase-screen-learn {
    left: 0;
  }

  .showcase-screen-ai {
    right: 0;
  }

  .download-card > img {
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0.72;
    object-position: 35% center;
    transform: none !important;
  }

  .download-card::after {
    background: linear-gradient(180deg, rgba(5, 4, 8, 0.1), rgba(5, 4, 8, 0.91) 63%);
  }
}

@media (prefers-reduced-motion: reduce) {
  .showcase-screen,
  .showcase-device:hover .showcase-screen-learn,
  .showcase-device:hover .showcase-screen-ai {
    transition: none !important;
  }
}

/* ==========================================================================\n   Elementor Free native editable layout (v3)\n   ========================================================================== */
.mindset-native-section > .elementor-container{max-width:1180px;margin:0 auto;padding-left:26px;padding-right:26px}
.mindset-native-section{padding:88px 0;background:#fff;color:#17151c;overflow:hidden}
.mindset-native-section .elementor-column>.elementor-widget-wrap{padding:18px}
.mindset-native-section h1,.mindset-native-section h2,.mindset-native-section h3{margin:0 0 20px;line-height:1.04;letter-spacing:-.035em;color:inherit}
.mindset-native-section h1{font-size:clamp(44px,6vw,80px)}
.mindset-native-section h2{font-size:clamp(36px,4.7vw,62px)}
.mindset-native-section h3{font-size:clamp(24px,2.6vw,34px)}
.mindset-native-section h1 span,.mindset-native-section h2 span{color:#ff6b00}
.mindset-native-section p{font-size:17px;line-height:1.75;color:#625f67}
.mindset-native-eyebrow{display:inline-flex!important;width:auto;align-items:center;gap:8px;margin:0 0 18px!important;padding:8px 13px;border:1px solid rgba(255,107,0,.32);border-radius:999px;color:#ff6b00!important;font-size:12px!important;font-weight:800;letter-spacing:.07em;text-transform:uppercase;background:rgba(255,255,255,.7)}
.mindset-native-lead p{font-size:19px;max-width:650px}
.mindset-native-primary .elementor-button{background:#ff6b00!important;color:#fff!important;border-radius:999px!important;padding:15px 24px!important;font-weight:800!important;border:1px solid #ff6b00!important}
.mindset-native-secondary .elementor-button{background:transparent!important;color:#ff6b00!important;border-radius:999px!important;padding:15px 24px!important;font-weight:800!important;border:1px solid rgba(255,107,0,.5)!important}
.mindset-native-primary,.mindset-native-secondary{display:inline-block;width:auto!important;margin:4px 8px 4px 0}
.mindset-native-hero{padding-top:54px;min-height:720px;background:radial-gradient(circle at 75% 28%,rgba(255,206,170,.48),transparent 34%),linear-gradient(135deg,#fff8f2 0%,#fff 58%,#fff1e8 100%)}
.mindset-native-hero>.elementor-container{align-items:center}
.mindset-native-hero-image img{max-height:650px;width:auto;object-fit:contain;filter:drop-shadow(0 30px 50px rgba(50,25,14,.12))}
.mindset-native-proof p{font-size:13px;line-height:1.8;color:#777}
.mindset-native-about{background:#fffaf6}
.mindset-native-founder-image img{max-height:570px;width:auto;object-fit:contain;margin:auto;display:block}
.mindset-native-waitlist{background:linear-gradient(135deg,#241748,#3a2368);color:#fff}
.mindset-native-waitlist p{color:rgba(255,255,255,.78)}
.mindset-native-form-card>.elementor-widget-wrap{background:#fff;border-radius:26px;padding:32px!important;box-shadow:0 24px 70px rgba(14,7,38,.25)}
.mindset-native-form-card h3{color:#17151c}.mindset-native-form-card p{color:#6c6873}
.mindset-native-waitlist-form form{display:grid;gap:12px}.mindset-native-waitlist-form input,.mindset-native-waitlist-form select{width:100%;min-height:48px;border:1px solid #ddd4e8;border-radius:12px;padding:10px 13px;background:#fff}.mindset-native-waitlist-form button{border:0;border-radius:999px;background:#ff6b00;color:#fff;padding:14px 20px;font-weight:800;cursor:pointer}
.mindset-native-dark{background:linear-gradient(135deg,#131018,#231b58);color:#fff}.mindset-native-dark p{color:rgba(255,255,255,.68)}
.mindset-native-center{text-align:center}.mindset-native-center .mindset-native-eyebrow{margin-left:auto!important;margin-right:auto!important}
.mindset-native-app-preview>.elementor-container{align-items:center}.mindset-native-app-preview img{border-radius:28px;box-shadow:0 24px 60px rgba(0,0,0,.32);max-height:590px;width:auto}.mindset-native-app-preview .elementor-column:nth-child(2){transform:translateY(34px)}
.mindset-native-soft{background:#fff8f2}
.mindset-native-levels{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.mindset-native-levels strong{display:grid;place-items:center;aspect-ratio:1;border-radius:22px;background:#fff;box-shadow:0 12px 30px rgba(50,25,14,.08);font-size:28px;color:#ff6b00}
.mindset-native-kanka{background:radial-gradient(circle at 82% 40%,rgba(255,117,16,.24),transparent 28%),#16121e;color:#fff}.mindset-native-kanka p{color:rgba(255,255,255,.74)}.mindset-native-kanka-image img{max-height:560px;width:auto;filter:drop-shadow(0 28px 55px rgba(255,107,0,.22))}
.mindset-native-card-row{padding-top:15px;padding-bottom:88px}.mindset-native-card>.elementor-widget-wrap{height:100%;background:#fff;border:1px solid #eee5de;border-radius:22px;padding:28px!important;box-shadow:0 14px 36px rgba(53,35,22,.06)}.mindset-native-card h3{font-size:25px}.mindset-native-card p{font-size:15px}.mindset-native-card-icon{width:46px;height:46px;display:grid!important;place-items:center;border-radius:14px;background:#fff1e7;color:#ff6b00!important;font-weight:900;font-size:16px!important}
.mindset-native-resources{background:#fff8f2}.mindset-native-resources .mindset-native-card>.elementor-widget-wrap{background:#fff}
.mindset-native-social{background:#fff}.mindset-native-social>.elementor-container{align-items:center}.mindset-native-social-card>.elementor-widget-wrap{padding:14px!important;border-radius:20px;background:#17141d}.mindset-native-social-card img{border-radius:14px}.mindset-native-social-card .elementor-button{width:100%;background:transparent;color:#fff;font-weight:800}
.mindset-native-final-cta{background:linear-gradient(120deg,#ff6b00,#ff8d3a);color:#fff}.mindset-native-final-cta p{color:rgba(255,255,255,.83)}.mindset-native-final-cta .mindset-native-eyebrow{color:#fff!important;border-color:rgba(255,255,255,.45);background:rgba(255,255,255,.12)}.mindset-native-final-cta .mindset-native-primary .elementor-button{background:#fff!important;color:#ff6b00!important;border-color:#fff!important}.mindset-native-final-cta img{border-radius:24px;box-shadow:0 18px 50px rgba(101,35,0,.22)}
.mindset-native-marketing-hero{padding-top:70px;background:radial-gradient(circle at 78% 22%,rgba(255,187,135,.42),transparent 30%),#fff8f2}.mindset-native-marketing-hero>.elementor-container{align-items:center}.mindset-native-marketing-image img{max-height:590px;width:auto;object-fit:contain;margin:auto;display:block}
@media(max-width:1024px){.mindset-native-section{padding:68px 0}.mindset-native-section>.elementor-container{padding-left:20px;padding-right:20px}.mindset-native-section .elementor-column{width:100%!important}.mindset-native-section>.elementor-container{flex-wrap:wrap}.mindset-native-hero-art,.mindset-native-hero-copy{width:100%!important}.mindset-native-hero-image img{max-height:520px}.mindset-native-app-preview .elementor-column:nth-child(2){transform:none}.mindset-native-card-row .elementor-column{width:50%!important}.mindset-native-social .elementor-column{width:50%!important}}
@media(max-width:767px){.mindset-native-section{padding:52px 0}.mindset-native-section>.elementor-container{padding-left:10px;padding-right:10px}.mindset-native-section .elementor-column>.elementor-widget-wrap{padding:12px}.mindset-native-section h1{font-size:42px}.mindset-native-section h2{font-size:35px}.mindset-native-section p{font-size:16px}.mindset-native-primary,.mindset-native-secondary{display:block;width:100%!important;margin:7px 0}.mindset-native-primary .elementor-button,.mindset-native-secondary .elementor-button{width:100%}.mindset-native-hero{min-height:0;padding-top:30px}.mindset-native-card-row .elementor-column,.mindset-native-social .elementor-column{width:100%!important}.mindset-native-levels{grid-template-columns:repeat(3,1fr)}.mindset-native-form-card>.elementor-widget-wrap{padding:22px!important}}


/* Version 3.0.2: keep the retired homepage chapter bar hidden and use one right-side back-to-top control. */
.home-chapters,
.elementor-widget-mindset-home-navigator,
.elementor-section.home-chapters-host,
.e-con.home-chapters-host,
body.home .elementor-section:has(.elementor-widget-mindset-home-navigator),
body.home .e-con:has(.elementor-widget-mindset-home-navigator) {
  display: none !important;
}

body.home :is(#about, #features, #app, #level-journey, #level-test, #kanka-ai, #resources, #community, #waitlist) {
  scroll-margin-top: 108px;
}

.mindset-back-to-top {
  position: fixed;
  z-index: 121;
  right: 24px;
  bottom: 96px;
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 14px 7px 7px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 999px;
  color: #fff;
  background: #19171a;
  box-shadow: 0 18px 44px rgba(25, 23, 26, 0.22);
  font: inherit;
  font-size: 11px;
  font-weight: 780;
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(12px);
  transition: opacity 180ms ease, visibility 180ms ease, transform 180ms ease, box-shadow 180ms ease;
}

.mindset-back-to-top span {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: var(--orange);
  font-size: 18px;
  line-height: 1;
}

.mindset-back-to-top.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}

.mindset-back-to-top:hover,
.mindset-back-to-top:focus-visible {
  color: #fff;
  box-shadow: 0 22px 54px rgba(25, 23, 26, 0.32);
  transform: translateY(-3px);
}

@media (max-width: 580px) {
  .mindset-back-to-top {
    right: 14px;
    bottom: 84px;
    width: 48px;
    min-height: 48px;
    padding: 7px;
    justify-content: center;
  }

  .mindset-back-to-top span {
    width: 34px;
    height: 34px;
  }

  .mindset-back-to-top b {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
  }
}

@media (prefers-reduced-motion: reduce) {
  .mindset-back-to-top {
    transition: none;
  }
}

/* v3.0.3: comfortable full-width Elementor editing for default legal pages. */
.mindset-legal-editor {
	max-width: 920px;
	padding-top: clamp(72px, 8vw, 124px);
	padding-bottom: clamp(72px, 8vw, 124px);
}
.mindset-legal-editor h1,
.mindset-legal-editor h2 {
	margin-top: 1.35em;
}
.mindset-legal-editor h1:first-child {
	margin-top: 0;
}

/* --------------------------------------------------------------------------
   v3.2.1 · Real Stories. Real Progress.
   -------------------------------------------------------------------------- */
.stories-heading {
  max-width: 780px;
  margin-inline: auto;
  text-align: center;
}

.stories-video-block,
.google-reviews-block {
  margin-top: clamp(34px, 5vw, 64px);
}

.stories-subheading {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 20px;
}

.stories-submark {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border-radius: 14px;
  color: #fff;
  background: linear-gradient(145deg, var(--orange), #ff9b55);
  box-shadow: 0 12px 26px rgba(255, 114, 0, 0.2);
  font-size: 13px;
}

.stories-subheading small,
.google-reviews-heading-row > div > small {
  display: block;
  margin-bottom: 3px;
  color: var(--orange);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.stories-subheading h3,
.google-reviews-heading-row h3 {
  margin: 0;
  color: var(--ink);
  font-size: clamp(22px, 2.2vw, 31px);
  line-height: 1.15;
}

.story-video-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(18px, 2vw, 28px);
  margin-top: 0;
}

.story-video-card {
  overflow: hidden;
  border: 1px solid #ece6ef;
  border-radius: 28px;
  background: #fff;
  box-shadow: 0 20px 54px rgba(47, 34, 56, 0.08);
}

.story-video-frame {
  position: relative;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #151218;
}

.story-video-frame iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.story-video-copy {
  padding: 23px 25px 26px;
}

.story-video-copy > span {
  color: var(--orange);
  font-size: 9px;
  font-weight: 850;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.story-video-copy h4 {
  margin: 7px 0 8px;
  color: var(--ink);
  font-size: 18px;
  line-height: 1.25;
}

.story-video-copy p {
  margin: 0 0 13px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.65;
}

.story-video-copy a {
  color: var(--orange);
  font-size: 11px;
  font-weight: 800;
}

.story-video-placeholder {
  min-height: 300px;
  display: grid;
  place-items: center;
  padding: 32px;
  border-style: dashed;
  background: linear-gradient(145deg, #fffaf7, #fff);
  text-align: center;
}

.story-video-placeholder > div {
  max-width: 330px;
  display: grid;
  justify-items: center;
  gap: 10px;
}

.story-video-placeholder b {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: var(--orange);
}

.story-video-placeholder strong {
  color: var(--ink);
  font-size: 17px;
}

.story-video-placeholder span {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.6;
}

.google-reviews-block {
  padding: clamp(28px, 4vw, 52px);
  border: 1px solid #ece6ef;
  border-radius: 34px;
  background:
    radial-gradient(circle at 90% 0%, rgba(255, 220, 194, 0.34), transparent 28%),
    #fff;
  box-shadow: 0 22px 60px rgba(47, 34, 56, 0.065);
}

.google-reviews-heading-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 28px;
  margin-bottom: 26px;
}

.google-reviews-heading-row > div:first-child {
  max-width: 620px;
}

.google-reviews-heading-row p {
  margin: 8px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.6;
}

.google-rating-summary {
  min-width: 180px;
  display: grid;
  justify-items: end;
  gap: 3px;
  padding: 14px 16px;
  border: 1px solid #eee7f0;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.88);
}

.google-rating-summary strong {
  color: var(--ink);
  font-size: 30px;
  line-height: 1;
}

.google-rating-summary .google-stars {
  color: #f5a623;
  font-size: 13px;
  letter-spacing: 0.08em;
}

.google-rating-summary small {
  color: var(--muted);
  font-size: 9px;
}

.google-review-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.google-review-card {
  min-height: 255px;
  display: flex;
  flex-direction: column;
  padding: 22px;
  border: 1px solid #eee8f0;
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 12px 34px rgba(47, 34, 56, 0.045);
}

.google-review-author {
  display: flex;
  align-items: center;
  gap: 11px;
}

.google-review-avatar {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  overflow: hidden;
  border-radius: 50%;
  color: #6f4a2f;
  background: linear-gradient(145deg, #ffe2ce, #f4a873);
  font-size: 13px;
  font-weight: 850;
}

.google-review-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.google-review-author > div {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.google-review-author strong {
  display: block;
  overflow: hidden;
  color: var(--ink);
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.google-review-author small {
  color: var(--muted);
  font-size: 9px;
}

.google-review-stars {
  display: flex;
  gap: 1px;
  margin-top: 13px;
  font-size: 12px;
  letter-spacing: 0.04em;
}

.google-review-stars span { color: #f5a623; }
.google-review-stars i { color: #e5e0e7; font-style: normal; }

.google-review-text {
  flex: 1;
  margin: 14px 0 18px;
  color: #514a54;
  font-size: 12px;
  line-height: 1.7;
}

.google-review-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 12px;
  padding-top: 12px;
  border-top: 1px solid #f0ebf2;
}

.google-review-meta small {
  color: var(--muted);
  font-size: 8px;
}

.google-review-meta a {
  margin-left: auto;
  color: #5e5e5e;
  font-size: 8px;
  font-weight: 750;
}

.google-reviews-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid #eee8f0;
}

.google-reviews-footer > div {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.google-maps-attribution {
  color: #5e5e5e;
  font-family: Roboto, Arial, sans-serif;
  font-size: 13px;
  font-style: normal;
  font-weight: 400;
  letter-spacing: normal;
  white-space: nowrap;
}

.google-reviews-footer small {
  color: var(--muted);
  font-size: 9px;
}

.google-reviews-button {
  flex: 0 0 auto;
}

.google-provider-attributions {
  display: flex;
  gap: 10px;
  margin-top: 10px;
  color: #5e5e5e;
  font-size: 9px;
}

.google-provider-attributions a { color: #5e5e5e; text-decoration: underline; }

.google-reviews-setup-note {
  padding: 25px;
  border: 1px dashed #e2d6e8;
  border-radius: 20px;
  background: #fffaf7;
}

.google-reviews-setup-note strong {
  display: block;
  color: var(--ink);
  font-size: 15px;
}

.google-reviews-setup-note p {
  margin: 7px 0 12px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.6;
}

.google-reviews-setup-note a {
  color: var(--orange);
  font-size: 11px;
  font-weight: 800;
}

.google-reviews-setup-note > small {
  display: block;
  margin-top: 12px;
  color: #985b5b;
  font-size: 9px;
}

.fallback-review-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 980px) {
  .google-review-grid,
  .fallback-review-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .story-video-grid,
  .google-review-grid,
  .fallback-review-grid {
    grid-template-columns: 1fr;
  }

  .google-reviews-heading-row,
  .google-reviews-footer {
    align-items: stretch;
    flex-direction: column;
  }

  .google-rating-summary {
    width: max-content;
    min-width: 0;
    justify-items: start;
  }

  .google-reviews-button {
    width: 100%;
    justify-content: center;
  }
}


/* v3.2.3 production font portability: never allow app emphasis text to depend on a missing custom/server font. */
.app-desktop-kanka h3 em,
.app-section-heading h2 em,
.app-first-step h2 em,
.app-kanka-plan h2 em,
.app-audience-section h2 em {
  font-family: var(--mindset-serif) !important;
  font-style: italic;
}

/* v3.2.7: bilingual verb support, guided sentence builder, and cross-device stability. */

/* Keep the V1/V2/V3 table structure unchanged for Elementor while showing a
   Turkish meaning beside every base verb. The translation lives in data-tr,
   so existing saved Elementor text slots are not disturbed. */
.verb-v1-bilingual {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px;
  max-width: 100%;
}

.verb-v1-bilingual::after {
  content: "· " attr(data-tr);
  color: #81798a;
  font-size: 0.78em;
  font-weight: 650;
  line-height: 1.35;
}

.verb-reference-card th:first-child small::after {
  content: " · Türkçe";
}

/* Guided Future-with-will practice. */
.strategy-guided-builder {
  overflow: hidden;
  background:
    radial-gradient(circle at 92% 8%, rgba(255, 100, 34, 0.11), transparent 28%),
    radial-gradient(circle at 8% 86%, rgba(118, 89, 232, 0.10), transparent 30%),
    #fffdfb;
}

.guided-builder-heading {
  max-width: 980px;
  margin: 0 auto 58px;
  text-align: center;
}

.guided-builder-heading .eyebrow {
  justify-content: center;
}

.strategy-guided-builder h2 {
  margin: 0;
  color: var(--ink);
  font-size: clamp(48px, 4.8vw, 78px);
  font-weight: 730;
  line-height: 1;
  letter-spacing: -0.058em;
}

.strategy-guided-builder h2 em {
  color: var(--orange);
  font-family: var(--mindset-serif);
  font-style: italic;
  font-weight: 650;
  letter-spacing: -0.025em;
}

.guided-builder-heading > p:last-child {
  max-width: 820px;
  margin: 24px auto 0;
  color: #68616f;
  font-size: 16px;
  line-height: 1.78;
}

.guided-builder-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  max-width: 1260px;
  margin: 0 auto;
}

.guided-builder-grid > article,
.guided-sentence-growth,
.guided-builder-rule {
  min-width: 0;
  border: 1px solid #e6e1e8;
  border-radius: 30px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 22px 60px rgba(50, 36, 63, 0.08);
}

.guided-builder-grid > article {
  padding: clamp(28px, 4vw, 44px);
}

.guided-step-tag {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 12px;
  border-radius: 999px;
  color: var(--orange-dark);
  background: #fff0e7;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.guided-builder-grid h3,
.guided-sentence-growth h3 {
  margin: 22px 0 14px;
  color: #2d2436;
  font-size: clamp(24px, 2.2vw, 34px);
  line-height: 1.12;
  letter-spacing: -0.04em;
}

.guided-builder-grid p,
.guided-sentence-growth p {
  margin: 0;
  color: #706978;
  font-size: 14px;
  line-height: 1.75;
}

.guided-verb-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin: 24px 0;
}

.guided-verb-chips span {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 0 15px;
  border: 1px solid rgba(255, 100, 34, 0.18);
  border-radius: 999px;
  color: var(--orange-dark);
  background: #fff7f2;
  font-size: 13px;
  font-weight: 800;
}

.guided-builder-start .button {
  margin-top: 25px;
}

.guided-question-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 24px;
}

.guided-question-grid > span {
  min-width: 0;
  display: grid;
  gap: 5px;
  padding: 15px 16px;
  border-radius: 16px;
  background: #f6f3fb;
}

.guided-question-grid > span:last-child {
  grid-column: 1 / -1;
}

.guided-question-grid b {
  color: #6240c9;
  font-size: 13px;
}

.guided-question-grid small {
  color: #81798a;
  font-size: 11px;
  line-height: 1.45;
}

.guided-sentence-growth {
  display: grid;
  grid-template-columns: minmax(280px, 0.75fr) minmax(520px, 1.25fr);
  gap: clamp(28px, 5vw, 70px);
  align-items: center;
  max-width: 1260px;
  margin: 20px auto 0;
  padding: clamp(30px, 5vw, 54px);
}

.guided-growth-list {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: guided-growth;
}

.guided-growth-list li {
  min-width: 0;
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  padding: 15px 17px;
  border: 1px solid #ece8ef;
  border-radius: 16px;
  background: #fbfafc;
  counter-increment: guided-growth;
}

.guided-growth-list small {
  color: #8c8492;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.guided-growth-list strong {
  min-width: 0;
  color: #3b3344;
  font-size: 14px;
  line-height: 1.55;
}

.guided-growth-list strong span {
  color: #fff;
  padding: 4px 8px;
  border-radius: 8px;
  background: #7552df;
  white-space: nowrap;
}

.guided-builder-rule {
  max-width: 1260px;
  margin: 20px auto 0;
  padding: 26px 30px;
  text-align: center;
  background: linear-gradient(135deg, #21172d, #402953 56%, #7046a0);
}

.guided-builder-rule > strong {
  display: block;
  margin-bottom: 14px;
  color: #ffb28d;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.guided-builder-rule > div {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 9px;
}

.guided-builder-rule > div span {
  padding: 10px 13px;
  border-radius: 11px;
  color: rgba(255, 255, 255, 0.88);
  background: rgba(255, 255, 255, 0.09);
  font-size: 12px;
  font-weight: 750;
}

.guided-builder-rule > div .is-fixed {
  color: #fff;
  background: #7552df;
}

.guided-builder-rule > div .is-change {
  color: #fff;
  background: var(--orange);
}

.guided-builder-rule > div b {
  color: rgba(255, 255, 255, 0.4);
}

.guided-builder-rule p {
  max-width: 760px;
  margin: 16px auto 0;
  color: rgba(255, 255, 255, 0.68);
  font-size: 12px;
  line-height: 1.65;
}

/* Cross-device stability layer. Prevent mobile browsers from auto-resizing
   typography or substituting emoji-style symbols, and keep every grid child
   inside its available width. */
html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

img,
svg,
video,
iframe {
  max-width: 100%;
}

svg {
  display: block;
}

.site-header > *,
.shell > *,
[class*="-grid"] > *,
[class*="-layout"] > *,
.elementor-section .elementor-column,
.elementor-container > .elementor-column,
.elementor-widget-container {
  min-width: 0;
}

.feature-card-icon,
.strategy-step-icon,
.mindset-native-card-icon,
.form-icon,
.kanka-label > span,
.call-icon,
.kanka-tools i,
.hero-badge,
.secure {
  flex: 0 0 auto;
  -webkit-font-smoothing: antialiased;
  font-family: Arial, "Helvetica Neue", sans-serif;
  font-variant-emoji: text;
  font-style: normal;
  line-height: 1;
}

.feature-card-icon svg,
.strategy-step-icon svg,
.form-icon svg {
  width: 100%;
  height: 100%;
  max-width: 28px;
  max-height: 28px;
  aspect-ratio: 1;
}

.button,
.elementor-button,
.site-nav a,
.verb-tab-list button {
  max-width: 100%;
}

.verb-table-wrap,
.number-sequence,
.verb-tab-list {
  -webkit-overflow-scrolling: touch;
}

@media (max-width: 1024px) {
  .shell {
    width: min(920px, calc(100% - 40px));
  }

  .section {
    padding: 84px 0;
  }

  .guided-sentence-growth {
    grid-template-columns: 1fr;
  }

  .guided-growth-copy {
    max-width: 720px;
  }

  .feature-card-icon,
  .strategy-step-icon {
    transform: none !important;
  }
}

@media (max-width: 767px) {
  .shell {
    width: calc(100% - 28px);
  }

  .section {
    padding: 64px 0;
  }

  .strategy-guided-builder h2,
  .strategy-pattern-discovery h2,
  .constant-pattern-lab h2,
  .tense-patterns h2,
  .strategy-ai-practice h2,
  .verb-form-reference h2,
  .strategy-origin h2,
  .strategy-framework h2,
  .strategy-principles h2,
  .verb-intro h2,
  .verb-guide h2,
  .verb-practice h2 {
    font-size: clamp(38px, 11.5vw, 50px);
    line-height: 1.02;
    overflow-wrap: anywhere;
  }

  .guided-builder-heading {
    margin-bottom: 36px;
  }

  .guided-builder-grid {
    grid-template-columns: 1fr;
  }

  .guided-builder-grid > article,
  .guided-sentence-growth,
  .guided-builder-rule {
    border-radius: 24px;
  }

  .guided-question-grid {
    grid-template-columns: 1fr;
  }

  .guided-question-grid > span:last-child {
    grid-column: auto;
  }

  .guided-growth-list li {
    grid-template-columns: 1fr;
    gap: 7px;
  }

  .guided-builder-start .button {
    width: 100%;
    justify-content: center;
  }

  .guided-builder-rule {
    padding: 24px 18px;
  }

  .guided-builder-rule > div {
    gap: 7px;
  }

  .verb-v1-bilingual {
    display: grid;
    gap: 2px;
  }

  .verb-v1-bilingual::after {
    content: attr(data-tr);
    font-size: 0.72em;
  }

  .verb-reference-card table {
    min-width: 620px;
  }

  .strategy-step-icon {
    width: 52px;
    height: 52px;
    border-radius: 16px;
  }

  .tense-pattern-grid article > .strategy-step-icon {
    width: 42px;
    height: 42px;
  }

  .constant-formula,
  .master-sentence-frame,
  .guided-builder-rule > div {
    justify-content: flex-start;
    overflow-x: auto;
    flex-wrap: nowrap;
    padding-bottom: 8px;
    scrollbar-width: thin;
  }

  .constant-formula span,
  .master-sentence-frame span,
  .guided-builder-rule > div span,
  .constant-formula b,
  .master-sentence-frame b,
  .guided-builder-rule > div b {
    flex: 0 0 auto;
    white-space: nowrap;
  }

  .site-header {
    max-width: calc(100vw - 24px);
  }

  .site-nav {
    max-height: calc(100vh - 100px);
    overflow-y: auto;
  }

  .button,
  .elementor-button {
    white-space: normal;
    text-align: center;
  }
}

@media (max-width: 480px) {
  .shell {
    width: calc(100% - 22px);
  }

  .section {
    padding: 54px 0;
  }

  .site-header {
    width: calc(100% - 16px);
    top: 8px;
    padding-left: 13px;
    padding-right: 8px;
  }

  .brand img {
    width: 102px;
    height: 38px;
  }

  .guided-builder-grid > article,
  .guided-sentence-growth {
    padding: 24px 18px;
  }

  .guided-verb-chips {
    gap: 7px;
  }

  .guided-verb-chips span {
    min-height: 36px;
    padding: 0 12px;
    font-size: 12px;
  }

  .guided-growth-list strong {
    font-size: 13px;
  }

  .strategy-step-grid article,
  .tense-pattern-grid article,
  .verb-category-grid article,
  .meaning-switch-grid article,
  .verb-practice-grid article {
    padding-right: 22px;
    padding-left: 22px;
  }

  .strategy-step-number {
    top: 30px;
    right: 24px;
  }

  .constant-sentences p {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    overflow: visible;
  }

  .constant-sentences p span {
    flex: 0 0 auto;
  }

  .constant-sentences p span:last-child {
    flex: 1 1 100%;
  }

  .number-pattern-card,
  .constant-pattern-layout,
  .strategy-ai-card {
    padding-right: 16px;
    padding-left: 16px;
  }
}

.guided-rule-examples {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 9px;
  margin: 18px auto 0;
}

.guided-rule-examples b {
  padding: 9px 12px;
  border-radius: 11px;
  color: #fff;
  background: linear-gradient(135deg, #7552df, #5b38c6);
  font-size: 12px;
  font-weight: 800;
}

.guided-rule-warning {
  max-width: 760px;
  margin: 12px auto 0 !important;
  padding: 11px 14px;
  border-radius: 12px;
  color: #985240 !important;
  background: #fff1eb;
  font-size: 12px !important;
  font-weight: 700;
}

.benefits > span,
.privacy-line {
  -webkit-font-smoothing: antialiased;
  font-variant-emoji: text;
}

@media (max-width: 767px) {
  .benefits {
    max-width: 100%;
  }

  .benefits > span {
    min-width: 0;
    overflow-wrap: anywhere;
  }

  .feature-card-icon,
  .strategy-step-icon,
  .form-icon,
  .kanka-tools i {
    flex-shrink: 0 !important;
  }
}

.verb-group-list {
  display: block;
}

.verb-group-list::after {
  content: attr(data-tr-list);
  display: block;
  margin-top: 9px;
  color: #8c8392;
  font-size: 0.78em;
  font-weight: 600;
  line-height: 1.65;
}

.verb-name-bilingual::after {
  content: " · " attr(data-tr);
  color: #84778f;
  font-size: 0.5em;
  font-weight: 650;
  letter-spacing: 0;
}

@media (max-width: 480px) {
  .verb-name-bilingual::after {
    display: block;
    margin-top: 4px;
  }
}

/* v3.2.8: Our Strategy chapters are independent Elementor rows for manual reordering. */


/* v3.2.10: preserve the handwritten Study Abroad heading while rendering the
   Turkish lira sign with a font that reliably contains U+20BA on Windows,
   macOS, Android and iOS. */
.marketing-hero-study h1 .mindset-lira-symbol {
  display: inline-block;
  font-family: "Segoe UI Symbol", "Segoe UI", "Arial Unicode MS", Arial, sans-serif !important;
  font-style: normal !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  line-height: 1;
  vertical-align: 0.04em;
}

/* v3.3.0 — MindSet Technique Practice Hub */
.marketing-hero-technique {
  background:
    radial-gradient(circle at 86% 20%, rgba(118, 89, 232, 0.11), transparent 28%),
    linear-gradient(180deg, #fffaf7 0%, #fffdfb 100%);
}

.strategy-technique-hub {
  padding-top: 56px;
  padding-bottom: 104px;
}

.strategy-technique-hub-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 48px;
  padding: clamp(34px, 5vw, 72px);
  border: 1px solid #eee4e0;
  border-radius: 34px;
  background: linear-gradient(135deg, #fff7f1, #fff 60%, #f4f0ff);
  box-shadow: var(--shadow);
}

.strategy-technique-hub-card > div:first-child {
  max-width: 920px;
}

.strategy-technique-hub-card h2 {
  margin: 0 0 18px;
  font-size: clamp(36px, 4.2vw, 72px);
  line-height: 0.98;
  letter-spacing: -0.055em;
}

.strategy-technique-hub-card h2 em {
  color: var(--orange);
  font-family: var(--mindset-serif);
  font-weight: 500;
}

.strategy-technique-hub-card p:not(.eyebrow) {
  max-width: 760px;
  color: var(--muted);
  font-size: 17px;
  line-height: 1.7;
}

.strategy-technique-hub-card .button-row {
  flex: 0 0 auto;
  justify-content: flex-end;
}

.technique-roadmap,
.technique-family-map,
.technique-verb-forms,
.technique-sentence-builder,
.technique-daily-practice {
  background: #fffdfb;
}

.technique-visualise,
.technique-tense-map,
.technique-vocabulary,
.technique-practice-lab,
.technique-switch-form {
  background: #fbf8f6;
}

.technique-roadmap .section-heading,
.technique-family-map .section-heading,
.technique-tense-map .section-heading,
.technique-switch-form .section-heading,
.technique-verb-forms .section-heading,
.technique-vocabulary .section-heading,
.technique-sentence-builder .section-heading,
.technique-practice-lab .section-heading,
.technique-daily-practice .section-heading {
  max-width: 980px;
}

.technique-roadmap-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 16px;
  margin-top: 54px;
}

.technique-roadmap-grid article,
.technique-family-grid article,
.technique-switch-grid article,
.technique-verb-form-grid article,
.technique-daily-grid article {
  min-width: 0;
  padding: 30px;
  border: 1px solid #ebe4e1;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 16px 48px rgba(38, 27, 46, 0.055);
}

.technique-roadmap-grid article > span,
.technique-daily-grid article > span {
  display: inline-flex;
  min-width: 42px;
  min-height: 32px;
  align-items: center;
  justify-content: center;
  margin-bottom: 28px;
  padding: 0 10px;
  border-radius: 999px;
  color: var(--orange);
  background: #fff0e8;
  font-size: 12px;
  font-weight: 850;
}

.technique-roadmap-grid h3,
.technique-family-grid h3,
.technique-switch-grid h3,
.technique-daily-grid h3 {
  margin: 0 0 12px;
  font-size: 21px;
  line-height: 1.15;
}

.technique-roadmap-grid p,
.technique-family-grid p,
.technique-switch-grid p,
.technique-daily-grid p {
  margin: 0 0 12px;
  color: #635d68;
  line-height: 1.58;
}

.technique-roadmap-grid small,
.technique-family-grid small,
.technique-switch-grid small,
.technique-daily-grid small {
  color: #978e98;
  font-size: 12px;
  line-height: 1.5;
}

.technique-visualise-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(440px, 0.78fr);
  gap: clamp(42px, 7vw, 110px);
  align-items: center;
}

.technique-visualise-copy h2 {
  margin: 0 0 28px;
  font-size: clamp(48px, 6vw, 94px);
  line-height: 0.92;
  letter-spacing: -0.065em;
}

.technique-visualise-copy h2 em {
  color: var(--orange);
  font-family: var(--mindset-serif);
  font-weight: 500;
}

.technique-visualise-copy > p:not(.eyebrow) {
  max-width: 770px;
  color: var(--muted);
  font-size: 18px;
  line-height: 1.75;
}

.technique-thought-switch {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 16px;
  align-items: center;
  margin: 34px 0 24px;
}

.technique-thought-switch > div {
  padding: 20px 22px;
  border: 1px solid #e9e2df;
  border-radius: 18px;
  background: #fff;
}

.technique-thought-switch > div.is-mindset {
  border-color: rgba(255, 100, 34, 0.28);
  background: #fff3ec;
}

.technique-thought-switch small {
  display: block;
  margin-bottom: 8px;
  color: #948b95;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.technique-thought-switch p {
  margin: 0 !important;
  color: var(--ink) !important;
  font-size: 16px !important;
  font-weight: 750;
  line-height: 1.4 !important;
}

.technique-thought-switch > b {
  color: var(--orange);
  font-size: 24px;
}

.technique-tr-note {
  padding: 18px 20px;
  border-left: 3px solid var(--orange);
  border-radius: 0 15px 15px 0;
  background: #fff;
  font-size: 15px !important;
}

.technique-visual-card {
  padding: 28px;
  border: 1px solid #ece2de;
  border-radius: 32px;
  background: #fff;
  box-shadow: var(--shadow);
}

.technique-visual-card img {
  display: block;
  width: 100%;
  border-radius: 24px;
}

.technique-word-card {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 18px;
}

.technique-word-card span {
  color: var(--orange);
  font-size: 28px;
  font-weight: 900;
  letter-spacing: 0.08em;
}

.technique-word-card small {
  color: #827986;
  font-size: 14px;
  font-weight: 700;
}

.technique-visual-card > p {
  margin: 20px 2px 2px;
  color: #615965;
  line-height: 1.65;
}

.technique-family-grid,
.technique-switch-grid,
.technique-verb-form-grid,
.technique-daily-grid {
  display: grid;
  gap: 18px;
  margin-top: 48px;
}

.technique-family-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.technique-family-grid article > span,
.technique-switch-grid article > span {
  display: inline-block;
  margin-bottom: 18px;
  color: var(--orange);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.12em;
}

.technique-family-grid article:nth-child(2),
.technique-family-grid article:nth-child(4) {
  background: #f7f3ff;
}

.technique-tense-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 54px;
}

.technique-tense-card {
  min-width: 0;
  padding: 28px;
  border: 1px solid #e8e0dd;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 14px 42px rgba(39, 28, 46, 0.05);
}

.technique-tense-card header {
  display: flex;
  flex-wrap: wrap;
  gap: 7px 12px;
  align-items: baseline;
  margin-bottom: 18px;
}

.technique-tense-card header span {
  color: var(--ink);
  font-size: 20px;
  font-weight: 850;
}

.technique-tense-card header small {
  color: var(--orange);
  font-size: 12px;
  font-weight: 750;
}

.technique-pattern-code {
  overflow-x: auto;
  margin-bottom: 18px;
  padding: 12px 14px;
  border-radius: 12px;
  color: #5d45bb;
  background: #f1edff;
  font-size: 13px;
  font-weight: 850;
  line-height: 1.4;
  white-space: nowrap;
}

.technique-tense-use {
  min-height: 48px;
  margin: 0 0 18px;
  color: #736c77;
  font-size: 14px;
  line-height: 1.55;
}

.technique-example-en {
  margin: 0 0 7px;
  color: var(--ink);
  font-size: 16px;
  line-height: 1.5;
}

.technique-example-tr {
  margin: 0 0 18px;
  color: #756b79;
  font-size: 14px;
  line-height: 1.5;
}

.technique-time-cue {
  display: block;
  padding-top: 14px;
  border-top: 1px solid #eee7e4;
  color: #9a909a;
  font-size: 11px;
  font-weight: 700;
}

.technique-switch-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.technique-switch-grid article p {
  padding: 10px 12px;
  border-radius: 11px;
  background: #faf8f7;
  color: #403a45;
  font-size: 14px;
}

.technique-switch-grid article p b {
  display: inline-block;
  width: 22px;
  color: var(--orange);
}

.technique-switch-rule {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 20px;
  padding: 22px 26px;
  border-radius: 18px;
  background: var(--ink);
  color: #fff;
}

.technique-switch-rule strong {
  color: #ff8e5d;
}

.technique-switch-rule span + span::before {
  content: "•";
  margin-right: 12px;
  color: #8d8393;
}

.technique-verb-form-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.technique-verb-form-grid article > span {
  color: var(--orange);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.12em;
}

.technique-verb-form-grid h3 {
  margin: 12px 0 2px;
  font-size: 34px;
  letter-spacing: -0.04em;
}

.technique-verb-form-grid small {
  display: block;
  min-height: 34px;
  color: #8a7f8d;
  font-weight: 650;
}

.technique-verb-form-grid p {
  margin: 18px 0 0;
  color: #6a626d;
  font-size: 14px;
  line-height: 1.55;
}

.technique-link-panel {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  margin-top: 20px;
  padding: 26px 30px;
  border-radius: 20px;
  background: #f4f0ff;
}

.technique-link-panel strong {
  font-size: 18px;
}

.technique-link-panel p {
  margin: 5px 0 0;
  color: #6d6472;
  line-height: 1.5;
}

.technique-vocab-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 50px;
}

.technique-vocab-grid article {
  min-width: 0;
  padding: 28px;
  border: 1px solid #e9e2df;
  border-radius: 24px;
  background: #fff;
}

.technique-vocab-grid h3 {
  margin: 0 0 18px;
  font-size: 19px;
}

.technique-vocab-grid ul {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.technique-vocab-grid li {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  padding: 9px 0;
  border-bottom: 1px solid #f0ebe8;
  color: #39333d;
  font-size: 14px;
  font-weight: 700;
}

.technique-vocab-grid li:last-child {
  border-bottom: 0;
}

.technique-vocab-grid li span {
  max-width: 52%;
  color: #8a7f8c;
  font-weight: 550;
  text-align: right;
}

.technique-builder-layout {
  display: grid;
  grid-template-columns: 0.42fr 1fr;
  gap: 28px;
  margin-top: 50px;
}

.technique-builder-questions {
  display: grid;
  align-content: start;
  gap: 10px;
}

.technique-builder-questions span {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 16px 18px;
  border-radius: 14px;
  color: #fff;
  background: var(--ink);
  font-size: 13px;
  font-weight: 850;
  letter-spacing: 0.05em;
}

.technique-builder-questions small {
  color: #c7bdcc;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
}

.technique-sentence-ladder {
  display: grid;
  gap: 10px;
}

.technique-sentence-ladder p {
  display: grid;
  grid-template-columns: 34px 1fr minmax(220px, 0.55fr);
  gap: 14px;
  align-items: center;
  margin: 0;
  padding: 16px 18px;
  border: 1px solid #e9e1de;
  border-radius: 16px;
  background: #fff;
}

.technique-sentence-ladder p > b {
  display: inline-flex;
  width: 30px;
  height: 30px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: var(--orange);
  background: #fff0e8;
  font-size: 12px;
}

.technique-sentence-ladder p > span {
  color: #302a34;
  font-size: 15px;
  font-weight: 650;
  line-height: 1.5;
}

.technique-sentence-ladder p > span strong {
  color: var(--orange);
}

.technique-sentence-ladder p > small {
  color: #8c828f;
  font-size: 12px;
  line-height: 1.45;
}

.technique-builder-rule {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 22px;
  padding: 18px;
  overflow-x: auto;
  border-radius: 16px;
  background: #f1edff;
  color: #5c44b7;
  font-size: 13px;
  font-weight: 850;
  white-space: nowrap;
}

.technique-practice-card {
  max-width: 1120px;
  margin: 50px auto 0;
  padding: clamp(24px, 4vw, 48px);
  border: 1px solid #e9e0dc;
  border-radius: 30px;
  background: #fff;
  box-shadow: var(--shadow);
}

.technique-practice-controls {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}

.technique-practice-controls label span {
  display: block;
  margin-bottom: 9px;
  color: #6e6571;
  font-size: 12px;
  font-weight: 800;
}

.technique-practice-controls select {
  width: 100%;
  min-height: 52px;
  padding: 0 44px 0 16px;
  border: 1px solid #ded5d2;
  border-radius: 14px;
  background: #fff;
  color: var(--ink);
  font-size: 14px;
  font-weight: 700;
}

.technique-practice-prompt {
  margin-top: 24px;
  padding: 26px;
  border-radius: 20px;
  background: #f7f3ff;
}

.technique-practice-prompt > small,
.technique-model > small {
  display: block;
  margin-bottom: 8px;
  color: #8a7f91;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.technique-practice-prompt > strong {
  display: block;
  color: #5842b0;
  font-size: clamp(18px, 2.5vw, 27px);
  line-height: 1.35;
}

.technique-practice-prompt > p {
  margin: 20px 0 12px;
  color: #5d5562;
}

.technique-prompt-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.technique-prompt-chips span {
  padding: 8px 12px;
  border-radius: 999px;
  color: #fff;
  background: var(--ink);
  font-size: 12px;
  font-weight: 800;
}

.technique-speak-first {
  margin-bottom: 0 !important;
  color: var(--orange) !important;
  font-weight: 750;
}

.technique-practice-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

.technique-practice-actions button {
  cursor: pointer;
}

.technique-model {
  margin-top: 18px;
  padding: 22px;
  border: 1px solid rgba(255, 100, 34, 0.22);
  border-radius: 18px;
  background: #fff7f2;
}

.technique-model[hidden] {
  display: none !important;
}

.technique-model p {
  margin: 0 0 7px;
  color: var(--ink);
  font-size: 21px;
  font-weight: 800;
  line-height: 1.4;
}

.technique-model span {
  color: #8d7f89;
  font-size: 13px;
  font-weight: 650;
}

.technique-daily-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

@media (max-width: 1180px) {
  .technique-roadmap-grid,
  .technique-daily-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .technique-family-grid,
  .technique-verb-form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .technique-tense-grid,
  .technique-vocab-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .technique-visualise-grid {
    grid-template-columns: 1fr 0.85fr;
  }

  .strategy-technique-hub-card {
    align-items: flex-start;
    flex-direction: column;
  }

  .strategy-technique-hub-card .button-row {
    justify-content: flex-start;
  }
}

@media (max-width: 767px) {
  .technique-roadmap-grid,
  .technique-family-grid,
  .technique-tense-grid,
  .technique-switch-grid,
  .technique-verb-form-grid,
  .technique-vocab-grid,
  .technique-daily-grid,
  .technique-visualise-grid,
  .technique-builder-layout,
  .technique-practice-controls {
    grid-template-columns: 1fr;
  }

  .technique-roadmap-grid,
  .technique-family-grid,
  .technique-tense-grid,
  .technique-vocab-grid,
  .technique-daily-grid {
    margin-top: 34px;
  }

  .technique-visualise-copy h2 {
    font-size: clamp(44px, 14vw, 68px);
  }

  .technique-thought-switch {
    grid-template-columns: 1fr;
  }

  .technique-thought-switch > b {
    transform: rotate(90deg);
    justify-self: center;
  }

  .technique-visual-card {
    padding: 18px;
  }

  .technique-sentence-ladder p {
    grid-template-columns: 34px 1fr;
  }

  .technique-sentence-ladder p > small {
    grid-column: 2;
  }

  .technique-builder-rule {
    justify-content: flex-start;
  }

  .technique-link-panel {
    align-items: flex-start;
    flex-direction: column;
  }

  .strategy-technique-hub {
    padding-top: 34px;
    padding-bottom: 70px;
  }

  .strategy-technique-hub-card {
    gap: 24px;
    border-radius: 24px;
  }
}

@media (max-width: 480px) {
  .technique-roadmap-grid article,
  .technique-family-grid article,
  .technique-switch-grid article,
  .technique-verb-form-grid article,
  .technique-daily-grid article,
  .technique-tense-card,
  .technique-vocab-grid article {
    padding: 22px 18px;
  }

  .technique-tense-card header span {
    font-size: 18px;
  }

  .technique-pattern-code {
    font-size: 12px;
  }

  .technique-word-card {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
  }

  .technique-builder-questions span {
    padding: 14px;
  }

  .technique-sentence-ladder p {
    padding: 14px;
  }

  .technique-practice-card {
    padding: 18px;
    border-radius: 22px;
  }

  .technique-practice-prompt {
    padding: 18px;
  }

  .technique-practice-actions .button {
    width: 100%;
  }
}

/* SEO discovery links: visible, useful crawl paths without disturbing the visual footer. */
.mindset-seo-discovery{max-width:1180px;margin:18px auto 0;padding:18px 24px;border-top:1px solid rgba(255,255,255,.12);display:flex;flex-wrap:wrap;align-items:center;gap:9px 16px;font-size:13px;line-height:1.45}
.mindset-seo-discovery>span{font-weight:800;opacity:.72;text-transform:uppercase;letter-spacing:.08em}
.mindset-seo-discovery a{color:inherit;opacity:.82;text-decoration:none}
.mindset-seo-discovery a:hover,.mindset-seo-discovery a:focus-visible{opacity:1;text-decoration:underline;text-underline-offset:3px}
@media(max-width:767px){.mindset-seo-discovery{padding:16px 20px;gap:8px 12px;font-size:12px}.mindset-seo-discovery>span{flex-basis:100%}}

/* --------------------------------------------------------------------------
   v3.4.3 · Google-linked Reviews slider
   Only the Real Stories Google-review presentation is changed here.
   -------------------------------------------------------------------------- */
.google-review-slider {
  position: relative;
  min-width: 0;
}

.google-review-track {
  display: flex;
  gap: 16px;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -ms-overflow-style: none;
  padding: 2px 2px 10px;
  outline: none;
}

.google-review-track::-webkit-scrollbar {
  display: none;
}

.google-review-track .google-review-card {
  flex: 0 0 calc((100% - 32px) / 3);
  scroll-snap-align: start;
  scroll-snap-stop: always;
}

.google-review-slider-controls {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-top: 18px;
}

.google-review-slider-dots {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px;
}

.google-review-slider-dots button {
  width: 8px;
  height: 8px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: #d9d2dc;
  cursor: pointer;
  transition: width .2s ease, background-color .2s ease;
}

.google-review-slider-dots button.is-active {
  width: 24px;
  background: var(--orange);
}

.google-review-slider-buttons {
  display: flex;
  gap: 8px;
  flex: 0 0 auto;
}

.google-review-slider-buttons button {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  margin: 0;
  padding: 0;
  border: 1px solid #e9e2ec;
  border-radius: 50%;
  color: var(--ink);
  background: #fff;
  box-shadow: 0 8px 22px rgba(47, 34, 56, .06);
  cursor: pointer;
  font: inherit;
  font-size: 17px;
  transition: transform .2s ease, border-color .2s ease, color .2s ease;
}

.google-review-slider-buttons button:hover,
.google-review-slider-buttons button:focus-visible {
  border-color: rgba(255, 106, 26, .5);
  color: var(--orange);
  transform: translateY(-1px);
}

.google-review-rating-only {
  color: var(--muted);
  font-style: italic;
}

.google-reviews-live-note {
  padding: 22px 24px;
  border: 1px dashed #e2d6e8;
  border-radius: 20px;
  background: #fffaf7;
}

.google-reviews-live-note strong {
  display: block;
  color: var(--ink);
  font-size: 14px;
}

.google-reviews-live-note p {
  margin: 7px 0 0;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.6;
}

@media (max-width: 980px) {
  .google-review-track .google-review-card {
    flex-basis: calc((100% - 16px) / 2);
  }
}

@media (max-width: 720px) {
  .google-review-track {
    gap: 12px;
  }

  .google-review-track .google-review-card {
    flex-basis: 100%;
  }

  .google-review-slider-controls {
    align-items: center;
  }

  .google-review-slider-buttons button {
    width: 40px;
    height: 40px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .google-review-track {
    scroll-behavior: auto;
  }
  .google-review-slider-dots button,
  .google-review-slider-buttons button {
    transition: none;
  }
}

/* --------------------------------------------------------------------------
   v3.4.3 · Google-linked reviews without a Places API key
   -------------------------------------------------------------------------- */
.google-reviews-no-api-footer {
  align-items: center;
  gap: 18px;
}
.google-reviews-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 10px;
}
.google-linked-review-card .google-review-meta {
  margin-top: auto;
}
.google-linked-review-card .google-review-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: inherit;
}
@media (max-width: 720px) {
  .google-reviews-no-api-footer {
    align-items: flex-start;
    flex-direction: column;
  }
  .google-reviews-actions {
    width: 100%;
    justify-content: flex-start;
  }
  .google-reviews-actions .button {
    flex: 1 1 210px;
    text-align: center;
  }
}

/* --------------------------------------------------------------------------
   v3.4.4 · Loader + simple dashboard-managed review feed
   -------------------------------------------------------------------------- */
.mindset-review-admin-hint{margin:0 0 18px;padding:14px 16px;border-left:4px solid var(--orange);background:#fff7f1;color:#4c4351;font-size:13px;line-height:1.6}

/* --------------------------------------------------------------------------
   v3.4.5 · Sharp written-review presentation
   Only the written Google-linked review block is restyled here.
   Video reviews and every other site section remain unchanged.
   -------------------------------------------------------------------------- */
.google-reviews-block {
  padding: clamp(18px, 3vw, 34px) 0 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.google-reviews-heading-row {
  display: block;
  margin-bottom: clamp(28px, 4vw, 44px);
  text-align: center;
}

.google-reviews-heading-row > div:first-child {
  max-width: 820px;
  margin: 0 auto;
}

.google-reviews-heading-row > div > small {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 12px;
  padding: 6px 13px;
  border: 1px solid rgba(255, 114, 0, .12);
  border-radius: 999px;
  color: var(--orange);
  background: rgba(255, 114, 0, .055);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.google-reviews-heading-row h3 {
  margin: 0;
  color: #102b4d;
  font-size: clamp(30px, 4.1vw, 46px);
  font-weight: 780;
  letter-spacing: -.035em;
  line-height: 1.08;
}

.google-reviews-heading-row p {
  max-width: 760px;
  margin: 16px auto 0;
  color: #627087;
  font-size: clamp(14px, 1.45vw, 18px);
  line-height: 1.6;
}

.google-reviews-heading-row .google-rating-summary {
  display: none;
}

.google-review-slider {
  max-width: 1180px;
  margin: 0 auto;
}

.google-review-track {
  gap: 18px;
  padding: 4px 2px 12px;
}

.google-review-track .google-review-card {
  flex: 0 0 100%;
}

.google-review-card.google-review-card-sharp {
  min-height: clamp(280px, 29vw, 334px);
  padding: clamp(30px, 3.5vw, 46px) clamp(28px, 4.2vw, 52px);
  border: 1px solid rgba(255, 114, 0, .18);
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 18px 46px rgba(16, 43, 77, .055);
}

.google-review-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.google-review-card-sharp .google-review-stars {
  margin: 0;
  gap: 2px;
  font-size: clamp(15px, 1.45vw, 19px);
  letter-spacing: .075em;
}

.google-review-card-sharp .google-review-stars span {
  color: #f7a11a;
}

.google-review-source {
  flex: 0 0 auto;
  color: #8a95a7;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
}

.google-review-source:hover,
.google-review-source:focus-visible {
  color: #102b4d;
}

.google-review-card-sharp .google-review-text {
  flex: 1;
  max-width: 1030px;
  margin: clamp(26px, 3vw, 34px) 0 clamp(34px, 4vw, 48px);
  color: #53627a;
  font-size: clamp(16px, 1.65vw, 20px);
  font-style: italic;
  font-weight: 450;
  line-height: 1.7;
}

.google-review-card-sharp .google-review-author {
  margin-top: auto;
  gap: 14px;
}

.google-review-card-sharp .google-review-avatar {
  width: 54px;
  height: 54px;
  color: #fff;
  background: #102f54;
  box-shadow: none;
  font-size: 14px;
}

.google-review-card-sharp .google-review-author strong {
  color: #102b4d;
  font-size: 16px;
  font-weight: 800;
  letter-spacing: -.01em;
}

.google-review-card-sharp .google-review-author small {
  margin-top: 3px;
  color: #8490a2;
  font-size: 13px;
  line-height: 1.4;
}

.google-review-card-sharp .google-review-meta {
  display: none;
}

.google-review-slider-controls {
  justify-content: flex-start;
  max-width: 1180px;
  margin: 18px auto 0;
}

.google-review-slider-dots {
  gap: 9px;
}

.google-review-slider-dots button {
  width: 11px;
  height: 11px;
  background: #e1e8f0;
  transition: width .2s ease, background-color .2s ease;
}

.google-review-slider-dots button.is-active {
  width: 31px;
  background: var(--orange);
}

.google-review-slider-buttons {
  display: none;
}

.google-reviews-summary-card {
  max-width: 920px;
  min-height: 138px;
  margin: clamp(38px, 5vw, 56px) auto 0;
  padding: 24px 30px;
  border: 1px solid #dfe7f0;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 16px 42px rgba(16, 43, 77, .045);
}

.google-summary-brand {
  display: flex;
  align-items: center;
  gap: 18px;
}

.google-g-mark {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 34px;
  font-weight: 800;
  line-height: 1;
  background: conic-gradient(from -35deg, #4285f4 0 24%, #34a853 24% 43%, #fbbc05 43% 63%, #ea4335 63% 79%, #4285f4 79% 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.google-summary-copy {
  display: grid;
  gap: 4px;
}

.google-summary-copy > strong {
  color: #102b4d;
  font-size: 20px;
  font-weight: 800;
  letter-spacing: -.015em;
}

.google-summary-rating {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}

.google-summary-rating b {
  color: #102b4d;
  font-size: 17px;
  font-weight: 850;
}

.google-summary-rating span {
  color: #f7a11a;
  font-size: 16px;
  letter-spacing: .08em;
}

.google-summary-copy small {
  color: #66758b;
  font-size: 12px;
}

.google-reviews-summary-card .google-reviews-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 13px;
}

.google-reviews-summary-card .google-reviews-button {
  min-width: 176px;
  min-height: 50px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 24px;
  border: 2px solid #102f54;
  border-radius: 10px;
  color: #102f54;
  background: #fff;
  box-shadow: none;
  font-size: 14px;
  font-weight: 800;
}

.google-reviews-summary-card .google-reviews-button:hover,
.google-reviews-summary-card .google-reviews-button:focus-visible {
  color: #fff;
  background: #102f54;
}

.google-leave-review-link {
  color: #66758b;
  font-size: 11px;
  font-weight: 750;
  text-decoration: none;
  white-space: nowrap;
}

.google-leave-review-link:hover,
.google-leave-review-link:focus-visible {
  color: var(--orange);
  text-decoration: underline;
  text-underline-offset: 3px;
}

@media (max-width: 980px) {
  .google-review-track .google-review-card {
    flex-basis: 100%;
  }

  .google-reviews-summary-card {
    max-width: 100%;
  }
}

@media (max-width: 720px) {
  .google-reviews-block {
    padding-top: 10px;
  }

  .google-reviews-heading-row {
    margin-bottom: 24px;
  }

  .google-review-card.google-review-card-sharp {
    min-height: 0;
    padding: 25px 22px 26px;
    border-radius: 20px;
  }

  .google-review-card-sharp .google-review-text {
    margin: 24px 0 30px;
    font-size: 15px;
    line-height: 1.65;
  }

  .google-review-card-sharp .google-review-avatar {
    width: 48px;
    height: 48px;
  }

  .google-review-card-sharp .google-review-author strong {
    font-size: 14px;
  }

  .google-review-card-sharp .google-review-author small {
    font-size: 11px;
  }

  .google-review-slider-controls {
    margin-top: 14px;
  }

  .google-reviews-summary-card {
    min-height: 0;
    align-items: flex-start;
    flex-direction: column;
    margin-top: 34px;
    padding: 22px;
    border-radius: 18px;
  }

  .google-reviews-summary-card .google-reviews-actions {
    width: 100%;
    align-items: stretch;
    flex-direction: column;
  }

  .google-reviews-summary-card .google-reviews-button {
    width: 100%;
    min-width: 0;
  }

  .google-leave-review-link {
    text-align: center;
  }
}

@media (max-width: 420px) {
  .google-review-card-top {
    gap: 12px;
  }

  .google-review-source {
    font-size: 11px;
  }

  .google-summary-brand {
    gap: 13px;
  }

  .google-g-mark {
    width: 36px;
    height: 36px;
    font-size: 29px;
  }

  .google-summary-copy > strong {
    font-size: 17px;
  }

  .google-summary-rating b,
  .google-summary-rating span {
    font-size: 14px;
  }
}

/* --------------------------------------------------------------------------
   v3.4.6 · Carousel-only reviews + MindSet palette refinement
   Removes the duplicate Google heading below the videos and keeps only the
   written review carousel. No other homepage section is changed.
   -------------------------------------------------------------------------- */
.google-reviews-carousel-only {
  margin-top: clamp(28px, 4vw, 52px);
  padding-top: 0;
}

.google-reviews-carousel-only .google-review-card.google-review-card-sharp {
  border-color: var(--line);
  background: #fff;
  box-shadow: 0 18px 52px rgba(23, 19, 38, .065);
}

.google-reviews-carousel-only .google-review-card-sharp .google-review-stars span,
.google-reviews-carousel-only .google-summary-rating span {
  color: var(--orange);
}

.google-reviews-carousel-only .google-review-source {
  color: #8b8790;
}

.google-reviews-carousel-only .google-review-source:hover,
.google-reviews-carousel-only .google-review-source:focus-visible {
  color: var(--orange-dark);
}

.google-reviews-carousel-only .google-review-card-sharp .google-review-text {
  color: #5f5a66;
}

.google-reviews-carousel-only .google-review-card-sharp .google-review-avatar {
  color: #fff;
  background: var(--ink);
}

.google-reviews-carousel-only .google-review-card-sharp .google-review-author strong,
.google-reviews-carousel-only .google-summary-copy > strong,
.google-reviews-carousel-only .google-summary-rating b {
  color: var(--ink);
}

.google-reviews-carousel-only .google-review-card-sharp .google-review-author small,
.google-reviews-carousel-only .google-summary-copy small,
.google-reviews-carousel-only .google-leave-review-link {
  color: var(--muted);
}

.google-reviews-carousel-only .google-review-slider-dots button {
  background: #e9e4e1;
}

.google-reviews-carousel-only .google-review-slider-dots button.is-active {
  background: var(--orange);
}

.google-reviews-carousel-only .google-reviews-summary-card {
  border-color: var(--line);
  box-shadow: 0 15px 44px rgba(23, 19, 38, .05);
}

.google-reviews-carousel-only .google-reviews-summary-card .google-reviews-button {
  border-color: var(--ink);
  color: var(--ink);
}

.google-reviews-carousel-only .google-reviews-summary-card .google-reviews-button:hover,
.google-reviews-carousel-only .google-reviews-summary-card .google-reviews-button:focus-visible {
  border-color: var(--ink);
  color: #fff;
  background: var(--ink);
}

/* --------------------------------------------------------------------------
   v3.4.14 · Persistent-header internal page transitions
   The fixed navigation remains visually stationary while only #primary changes.
   Modern browsers use cross-document View Transitions; fallback browsers fade
   only the live main content before normal WordPress navigation.
   -------------------------------------------------------------------------- */
html {
  scroll-behavior: smooth;
  scroll-padding-top: 92px;
}

/* Opt same-origin navigations into the browser's native cross-document
   transition system. This keeps real WordPress URLs, history, SEO and Elementor. */
@view-transition {
  navigation: auto;
}

.site-header,
.layered-hero-header {
  view-transition-name: mindset-persistent-header;
}

#primary.mindset-site-main {
  view-transition-name: mindset-page-content;
}

/* Do not cross-fade the whole document. Only the page body beneath the header
   changes, which gives the same visual logic as an app shell. */
::view-transition-old(root),
::view-transition-new(root) {
  animation: none;
  mix-blend-mode: normal;
}

/* The header snapshot does not animate at all: it stays in exactly the same
   viewport position while the destination page is changing underneath it. */
::view-transition-group(mindset-persistent-header) {
  z-index: 2147482000;
  animation-duration: 0s;
}

::view-transition-old(mindset-persistent-header),
::view-transition-new(mindset-persistent-header) {
  animation: none;
  opacity: 1;
  mix-blend-mode: normal;
}

::view-transition-group(mindset-page-content) {
  animation-duration: 440ms;
  animation-timing-function: cubic-bezier(.22,.61,.36,1);
}

::view-transition-old(mindset-page-content) {
  animation: mindset-content-out 260ms cubic-bezier(.4,0,.2,1) both;
  mix-blend-mode: normal;
}

::view-transition-new(mindset-page-content) {
  animation: mindset-content-in 420ms cubic-bezier(.22,.61,.36,1) 50ms both;
  mix-blend-mode: normal;
}

@keyframes mindset-content-out {
  from { opacity: 1; transform: translateY(0); }
  to { opacity: 0; transform: translateY(-3px); }
}

@keyframes mindset-content-in {
  from { opacity: 0; transform: translateY(5px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Fallback browsers: header stays live and only #primary fades. */
#primary.mindset-site-main {
  opacity: 1;
  transition: opacity 300ms cubic-bezier(.4,0,.2,1), transform 300ms cubic-bezier(.4,0,.2,1);
}

#primary.mindset-site-main.mindset-main-leaving {
  opacity: 0;
  transform: translateY(-3px);
  pointer-events: none;
}

/* Sections are rendered before the visitor reaches them, so fast scrolling
   never waits for an entrance animation to reveal content. */
.section-reveal,
.section-reveal.is-visible {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}

/* Pause only decorative CSS animation work far outside the viewport. */
.mindset-motion-paused *,
.mindset-motion-paused *::before,
.mindset-motion-paused *::after {
  animation-play-state: paused !important;
}

/* Touch devices keep important interactions but skip costly ambient loops. */
@media (max-width: 900px) {
  .hero-landscape,
  .hero-orb,
  .hero-art-glow,
  .kanka-bot-glow,
  .level-test-ambient i,
  .level-orbit {
    animation: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  #primary.mindset-site-main,
  #primary.mindset-site-main.mindset-main-leaving {
    opacity: 1;
    transform: none;
    transition: none;
    pointer-events: auto;
  }
}

