/** Shopify CDN: Minification failed

Line 7129:0 All "@import" rules must come first

**/
/* SHOPIFY_STYLESHEETS_VERSION: 1.0 */


/* CSS from section stylesheet tags */
/* START_SECTION:thinkly-about-page (INDEX:51) */
.t-eye {
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  font-weight: 700;
  color: var(--gold);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 16px;
  display: block;
}

/* HERO */
.a-hero {
  background: #fff;
  position: relative;
  overflow: hidden;
}

.a-hero::before {
  content: '';
  position: absolute;
  top: -200px;
  left: 50%;
  transform: translateX(-50%);
  width: 800px;
  height: 600px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(245,166,35,0.06) 0%, transparent 70%);
  pointer-events: none;
}

.a-hero__inner {
  padding: 120px 64px 100px;
  max-width: 1000px;
  margin: 0 auto;
  text-align: center;
  position: relative;
}

.a-hero__h1 {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(40px, 6vw, 80px);
  font-weight: 400;
  color: var(--navy);
  line-height: 1.06;
  letter-spacing: -0.03em;
  max-width: 820px;
  margin: 0 auto 24px;
}

.a-hero__h1 p { margin: 0; }
.a-hero__h1 em {
  font-style: italic;
  color: var(--gold);
}

.a-hero__sub {
  font-family: 'Source Serif 4', serif;
  font-size: clamp(16px, 2vw, 20px);
  color: var(--muted);
  max-width: 540px;
  margin: 0 auto;
  line-height: 1.75;
  font-style: italic;
}

/* LETTER */
.a-letter {
  padding: 100px 64px;
  background: var(--bg-warm);
}

.a-letter__inner {
  max-width: 680px;
  margin: 0 auto;
}

.a-letter__quote {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(22px, 3vw, 34px);
  font-weight: 400;
  color: var(--navy);
  line-height: 1.3;
  margin-bottom: 36px;
  padding-left: 28px;
  border-left: 4px solid var(--gold);
}

.a-letter__inner p {
  font-family: 'Source Serif 4', serif;
  font-size: 17px;
  color: var(--muted);
  line-height: 1.95;
  margin-bottom: 20px;
}

.a-letter__inner p strong {
  color: var(--text);
  font-weight: 600;
}

.a-letter__sig {
  font-family: 'DM Serif Display', serif;
  font-size: 22px;
  font-weight: 400;
  color: var(--navy);
  margin-top: 40px;
  margin-bottom: 4px;
}

.a-letter__sig-sub {
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  color: var(--muted);
  letter-spacing: 0.04em;
}

/* CONTRAST */
.a-contrast {
  padding: 100px 64px;
  background: #fff;
}

.a-contrast__inner {
  max-width: 1000px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 96px;
  align-items: center;
}

.a-contrast__h2 {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(26px, 3.2vw, 40px);
  font-weight: 400;
  color: var(--navy);
  line-height: 1.15;
  margin-bottom: 28px;
}

.a-cg {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.a-cr {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.a-cb {
  padding: 18px 20px;
  border-radius: 12px;
}

.a-cb--bad {
  background: #F5F4F2;
  border: 1px solid #E5E3E0;
}

.a-cb--good {
  background: rgba(27,46,94,0.05);
  border: 1px solid rgba(27,46,94,0.1);
}

.a-cl {
  font-family: 'Inter', sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-bottom: 8px;
}

.a-cb--bad .a-cl { color: #AAA; }
.a-cb--good .a-cl { color: var(--gold); }

.a-cb p {
  font-family: 'Source Serif 4', serif;
  font-size: 13px;
  line-height: 1.6;
}

.a-cb--bad p { color: #999; }
.a-cb--good p { color: var(--navy); font-weight: 600; }

.a-cs-stmt {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(18px, 2.2vw, 26px);
  font-weight: 400;
  color: var(--navy);
  line-height: 1.6;
  margin-bottom: 24px;
}

.a-cs-stmt em {
  font-style: italic;
  color: var(--gold);
}

.a-cs-body {
  font-family: 'Source Serif 4', serif;
  font-size: 16px;
  color: var(--muted);
  line-height: 1.85;
}

/* BUILD */
.a-build {
  padding: 100px 64px;
  background: var(--navy);
}

.a-build__inner {
  max-width: 1000px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 96px;
  align-items: center;
}

.a-build__h2 {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(26px, 3vw, 40px);
  font-weight: 400;
  color: #fff;
  line-height: 1.15;
  margin-bottom: 24px;
}

.a-build__inner p {
  font-family: 'Source Serif 4', serif;
  font-size: 16px;
  color: rgba(255,255,255,0.6);
  line-height: 1.9;
  margin-bottom: 16px;
}

.a-build__inner p strong {
  color: #fff;
  font-weight: 600;
}

.a-eng-list {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.a-ei {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px 18px;
  background: rgba(255,255,255,0.06);
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,0.08);
}

.a-ei__icon {
  font-size: 22px;
  flex-shrink: 0;
}

.a-ei__title {
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 700;
  color: #fff;
  display: block;
  margin-bottom: 3px;
}

.a-ei__sub {
  font-family: 'Source Serif 4', serif;
  font-size: 12px;
  color: rgba(255,255,255,0.5);
}

/* ── CAROUSEL WRAPPER (Values + Engineering) ──
   Passthrough on desktop; becomes a swipe carousel under 960px (see media query).
   Arrows are hidden here and shown only in the mobile/tablet block.
   TO REMOVE THE ARROWS: set `.a-carousel-arrow { display: none; }` inside the
   @media (max-width: 960px) block below — swipe still works without them. */
/* min-width:0 is essential — without it the horizontal scroll track expands
   its grid/flex parent to the full width of all cards, pushing the whole
   section off-screen (this was the broken "How we built it" layout). */
.a-carousel-wrap { position: relative; min-width: 0; }
.a-carousel-arrow { display: none; }

/* FOUNDERS */
.a-founders {
  padding: 100px 64px;
  background: var(--bg-section);
}

.a-founders__inner {
  max-width: 1000px;
  margin: 0 auto;
}

.a-founders__head {
  text-align: center;
  margin-bottom: 56px;
}

.a-founders__h2 {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(28px, 3.5vw, 44px);
  font-weight: 400;
  color: var(--navy);
  letter-spacing: -0.02em;
}

.a-founders__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
}

/* Mobile-only flip card — hidden on desktop */
.a-founders__flip-wrap { display: none; }

.a-fc {
  background: #fff;
  border-radius: 20px;
  overflow: hidden;
  border: 1.5px solid var(--border);
}

.a-fc__photo {
  aspect-ratio: 4 / 3;
  display: flex;
  align-items: flex-end;
  padding: 24px;
  position: relative;
  background-size: cover;
  background-position: center;
}

/* Change #1: compact name box pinned to the bottom-RIGHT so it clears faces.
   Box shrinks to its content width; keep the Role field short (e.g. just
   "Father of Angad") for the smallest possible box. */
.a-fc__overlay {
  background: rgba(27,46,94,0.85);
  backdrop-filter: blur(8px);
  border-radius: 10px;
  padding: 8px 13px;
  position: absolute;
  bottom: 0;
  right: 12px;
  transform: translateY(50%);
  z-index: 2;
  max-width: calc(100% - 24px);
}

.a-fc__name {
  font-family: 'DM Serif Display', serif;
  font-size: 18px;
  font-weight: 400;
  color: #fff;
  line-height: 1.2;
}

.a-fc__role {
  font-family: 'Inter', sans-serif;
  font-size: 10.5px;
  color: rgba(255,255,255,0.85);
  margin-top: 2px;
  letter-spacing: 0.04em;
}

.a-fc__body {
  padding: 48px 28px 28px;
}

.a-fc__body p {
  font-family: 'Source Serif 4', serif;
  font-size: 15px;
  color: var(--muted);
  line-height: 1.85;
  margin-bottom: 14px;
}

.a-fc__body p strong {
  color: var(--text);
  font-weight: 600;
}

.a-fc__body p:last-child {
  margin-bottom: 0;
}

/* VALUES */
.a-values {
  padding: 100px 64px;
  background: var(--navy);
}

.a-values__inner {
  max-width: 1000px;
  margin: 0 auto;
}

.a-values__head {
  text-align: center;
  margin-bottom: 56px;
}

.a-values__h2 {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(28px, 3.5vw, 44px);
  font-weight: 400;
  color: #fff;
  letter-spacing: -0.02em;
  margin-bottom: 12px;
}

.a-values__head p {
  font-family: 'Source Serif 4', serif;
  font-size: 16px;
  color: rgba(255,255,255,0.5);
  font-style: italic;
}

.a-vg {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.a-vc {
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 16px;
  padding: 32px 26px;
}

.a-vc__icon {
  font-size: 32px;
  margin-bottom: 20px;
  display: block;
}

.a-vc__title {
  font-family: 'DM Serif Display', serif;
  font-size: 22px;
  font-weight: 400;
  color: #fff;
  margin-bottom: 12px;
}

.a-vc__text {
  font-family: 'Source Serif 4', serif;
  font-size: 14px;
  color: rgba(255,255,255,0.55);
  line-height: 1.85;
}

.a-vc__text strong {
  color: rgba(255,255,255,0.85);
  font-weight: 600;
}

/* MISSION */
.a-mission {
  padding: 90px 64px;
  background: var(--bg-warm);
  text-align: center;
}

.a-mission__inner {
  max-width: 1000px;
  margin: 0 auto;
}

.a-mission__h2 {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(26px, 3.8vw, 50px);
  font-weight: 400;
  color: var(--navy);
  line-height: 1.2;
  max-width: 760px;
  margin: 0 auto 20px;
  letter-spacing: -0.02em;
}

.a-mission__h2 p { margin: 0; }
.a-mission__h2 em {
  font-style: italic;
  color: var(--gold);
}

.a-mission__inner p {
  font-family: 'Source Serif 4', serif;
  font-size: 17px;
  color: var(--muted);
  max-width: 520px;
  margin: 0 auto 36px;
  line-height: 1.75;
  font-style: italic;
}

/* CTA */
.a-cta {
  padding: 120px 64px;
  background: var(--navy);
  text-align: center;
  position: relative;
  overflow: hidden;
}

.a-cta::before {
  content: '';
  position: absolute;
  top: -300px;
  left: 50%;
  transform: translateX(-50%);
  width: 900px;
  height: 600px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(245,166,35,0.07) 0%, transparent 70%);
  pointer-events: none;
}

.a-cta__inner {
  max-width: 1000px;
  margin: 0 auto;
  position: relative;
}

.a-cta__h2 {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(30px, 4vw, 52px);
  font-weight: 400;
  color: #fff;
  letter-spacing: -0.01em;
  margin-bottom: 16px;
  line-height: 1.15;
}

.a-cta__h2 p { margin: 0; }
.a-cta__h2 em {
  font-style: italic;
  color: var(--gold);
}

.a-cta__inner p {
  font-family: 'Source Serif 4', serif;
  font-size: 17px;
  color: rgba(255,255,255,0.5);
  margin-bottom: 40px;
  font-style: italic;
}

.a-cta__btns {
  display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap;
}

/* TABLET */
@media (max-width: 960px) {
  .a-hero__inner { padding: 80px 40px 60px; }
  .a-letter,
  .a-contrast,
  .a-build,
  .a-founders,
  .a-values,
  .a-mission,
  .a-cta { padding: 64px 40px; }
  .a-contrast__inner,
  .a-build__inner { grid-template-columns: 1fr; gap: 40px; }

  /* Tighten the section heads a touch so the carousel arrows have clean space */
  .a-values__head,
  .a-founders__head { margin-bottom: 28px; }

  /* ── Change #2: contrast rows stay 2×2 on mobile ──
     (base .a-cr already has two columns — we simply no longer override to 1fr) */

  /* ── Change #3: VALUES + ENGINEERING become swipe carousels ── */
  .a-carousel-wrap { padding-top: 46px; }   /* room for the arrows above the track */

  .a-carousel-arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 4px;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(255,255,255,0.10);
    border: 1px solid rgba(255,255,255,0.18);
    color: #fff;
    font-size: 18px;
    cursor: pointer;
    z-index: 3;
    transition: background 0.2s;
  }
  .a-carousel-arrow:hover { background: rgba(255,255,255,0.2); }
  .a-carousel-arrow--prev { right: 60px; }
  .a-carousel-arrow--next { right: 16px; }

  /* Values track */
  .a-vg {
    display: flex;
    flex-wrap: nowrap;
    grid-template-columns: none;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    gap: 16px;
  }
  .a-vg::-webkit-scrollbar { display: none; }
  .a-vc {
    flex: 0 0 auto;
    width: 80%;
    max-width: 340px;
    scroll-snap-align: start;
  }

  /* Engineering track */
  .a-eng-list {
    flex-direction: row;
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
  }
  .a-eng-list::-webkit-scrollbar { display: none; }
  .a-ei {
    flex: 0 0 auto;
    width: 80%;          /* one card per screen (with a hint of the next) */
    max-width: 340px;
    scroll-snap-align: start;
    flex-direction: column;
    align-items: flex-start;
  }
  .a-ei__icon { font-size: 30px; margin-bottom: 4px; }

  /* Neutralize the reveal entrance transform inside carousels so a swipe drags
     the row instead of nudging a single card up/into view. */
  .a-vg .a-vc,
  .a-eng-list .a-ei {
    opacity: 1 !important;
    transform: none !important;
  }

  /* ── Change #4: FOUNDERS become one vertical-axis flip card ── */
  .a-founders__grid { display: none; }
  .a-founders__flip-wrap { display: block; max-width: 440px; margin: 0 auto; }

  .a-fflip { perspective: 1400px; cursor: pointer; overflow: hidden; transition: height 0.6s ease; }
  .a-fflip__inner {
    display: grid;                 /* stacks both faces in one cell = height of the taller bio */
    transition: transform 0.6s cubic-bezier(0.4, 0.2, 0.2, 1);
    transform-style: preserve-3d;
  }
  .a-fflip.flipped .a-fflip__inner { transform: rotateY(180deg); }
  .a-fflip__face {
    grid-area: 1 / 1;
    align-self: start;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
  }
  .a-fflip__face--back {
    transform: rotateY(180deg);
    opacity: 0;
  }
  /* iOS Safari doesn't reliably hide the away face via backface-visibility
     inside a preserve-3d grid, so both founders overlap. Also toggle opacity,
     switched at the midpoint of the flip (card edge-on) so it still reads as
     a clean flip on Chrome/Android too. */
  .a-fflip__face--front,
  .a-fflip__face--back { transition: opacity 0s linear 0.3s; }
  .a-fflip.flipped .a-fflip__face--front { opacity: 0; }
  .a-fflip.flipped .a-fflip__face--back  { opacity: 1; }

  .a-fflip__hint {
    text-align: center;
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.04em;
    color: var(--muted);
    margin: 0 0 20px;   /* sits above the card, just under the section heading */
  }
  /* Per-founder photo position, mobile flip card only — desktop grid is
     unaffected since it doesn't use these face classes. */
  .a-fflip__face--front .a-fc__photo { background-position: center calc(50% - 15px); }
  .a-fflip__face--back  .a-fc__photo { background-position: center calc(50% + 15px); }
}

/* MOBILE */
@media (max-width: 768px) {
  .a-hero::before { display: none; }
  .a-cta::before { display: none; }
  .a-hero__inner { padding: 60px 20px 48px; }
  .a-letter,
  .a-contrast,
  .a-build,
  .a-founders,
  .a-values,
  .a-mission,
  .a-cta { padding: 56px 20px; }
  .a-fc__photo { aspect-ratio: 16 / 9; }
  .a-cta__btns { flex-direction: column; gap: 12px; }
  .a-cta__btns a { width: 100%; text-align: center; }

  /* Change #2: keep two columns readable on small phones */
  .a-cr { gap: 8px; }
  .a-cb { padding: 14px 13px; }
  .a-cb p { font-size: 12px; }
  .a-cb .a-cl { margin-bottom: 6px; }

  /* Carousel cards on a narrow screen: values stay one prominent card,
     engineering stays two-up. */
  .a-vc,
  .a-ei { width: 84%; }
}
/* END_SECTION:thinkly-about-page */

/* START_SECTION:thinkly-builds-page (INDEX:52) */
/* HERO */
.builds-hero-section { background: var(--bg); padding: 100px 64px 80px; }
.builds-hero { max-width: 1000px; margin: 0 auto; }
.builds-eye {
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  font-weight: 700;
  color: var(--gold);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 16px;
  display: block;
}
.builds-hero__h1 {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(36px, 5vw, 64px);
  font-weight: 400;
  color: var(--navy);
  line-height: 1.08;
  letter-spacing: -0.02em;
  margin-bottom: 20px;
}
.builds-hero__h1 p { margin: 0; }
.builds-hero__h1 em { font-style: italic; color: var(--gold); }
.builds-hero-sub {
  font-family: 'Source Serif 4', serif;
  font-size: 18px;
  color: var(--muted);
  line-height: 1.8;
  max-width: 640px;
}

/* PLAY LOOP */
.play-loop { background: var(--navy); padding: 80px 64px; }
.play-loop-inner { max-width: 1000px; margin: 0 auto; }
.play-loop-eye {
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  font-weight: 700;
  color: var(--gold);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 16px;
  display: block;
}
.play-loop h2 {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(28px, 3.5vw, 44px);
  font-weight: 400;
  color: #fff;
  line-height: 1.15;
  margin-bottom: 48px;
}
.loop-steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  position: relative;
}
.loop-steps::before {
  content: '';
  position: absolute;
  top: 28px;
  left: calc(33.33% - 20px);
  right: calc(33.33% - 20px);
  height: 1px;
  background: rgba(245,166,35,0.3);
  z-index: 0;
}
.loop-step { text-align: center; position: relative; z-index: 1; padding: 0 24px; }
.step-num {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: var(--gold);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 20px;
  font-family: 'DM Serif Display', serif;
  font-size: 24px;
  color: var(--navy);
  font-weight: 400;
}
.step-title {
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  margin-bottom: 10px;
}
.step-body {
  font-family: 'Source Serif 4', serif;
  font-size: 15px;
  color: rgba(255,255,255,0.6);
  line-height: 1.7;
}
.loop-note {
  margin-top: 48px;
  text-align: center;
  font-family: 'Source Serif 4', serif;
  font-size: 16px;
  font-style: italic;
  color: rgba(255,255,255,0.4);
}
.loop-note strong { color: rgba(255,255,255,0.7); font-style: normal; }

/* BUILD IDEAS GRID */
.build-ideas { padding: 100px 64px; background: var(--bg-section); }
.build-ideas-inner { max-width: 1000px; margin: 0 auto; }
.bi-head { margin-bottom: 60px; }
.bi-eye {
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  font-weight: 700;
  color: var(--gold);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 16px;
  display: block;
}
.bi-head h2 {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(28px, 3.5vw, 44px);
  font-weight: 400;
  color: var(--navy);
  line-height: 1.15;
  margin-bottom: 12px;
}
.bi-head p {
  font-family: 'Source Serif 4', serif;
  font-size: 16px;
  color: var(--muted);
  font-style: italic;
  line-height: 1.7;
}
.builds-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.build-card {
  background: #fff;
  border-radius: 16px;
  border: 1px solid var(--border);
  overflow: hidden;
  transition: transform 0.25s, box-shadow 0.25s;
  cursor: none;
}
.build-card:hover { transform: translateY(-6px); box-shadow: 0 20px 56px rgba(27,46,94,0.1); }
.build-img {
  width: 100%;
  aspect-ratio: 4/3;
  background: var(--bg-warm);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
}
.build-img-placeholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  opacity: 0.35;
}
.build-img-placeholder-icon { font-size: 36px; }
.build-img-placeholder-text {
  font-family: 'Inter', sans-serif;
  font-size: 10px;
  font-weight: 600;
  color: var(--navy);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.build-img-label {
  position: absolute;
  top: 14px;
  left: 14px;
  background: rgba(27,46,94,0.08);
  border-radius: 20px;
  padding: 4px 12px;
  font-family: 'Inter', sans-serif;
  font-size: 10px;
  font-weight: 700;
  color: var(--navy);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.build-body { padding: 22px 20px; }
.build-name {
  font-family: 'DM Serif Display', serif;
  font-size: 20px;
  font-weight: 400;
  color: var(--navy);
  margin-bottom: 6px;
  line-height: 1.2;
}
.build-desc {
  font-family: 'Source Serif 4', serif;
  font-size: 14px;
  color: var(--muted);
  line-height: 1.7;
  margin-bottom: 16px;
}
.build-footer { display: flex; align-items: center; justify-content: space-between; }
.build-diff-label {
  font-family: 'Inter', sans-serif;
  font-size: 10px;
  font-weight: 600;
  color: var(--muted);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  margin-bottom: 4px;
}
.build-dots { display: flex; gap: 4px; }
.bd { width: 7px; height: 7px; border-radius: 50%; }
.bd-on { background: var(--navy); }
.bd-off { background: var(--tan); }
.build-tag {
  font-family: 'Inter', sans-serif;
  font-size: 10px;
  font-weight: 700;
  color: var(--gold);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  background: rgba(245,166,35,0.1);
  padding: 4px 10px;
  border-radius: 20px;
}

/* PHYSICS STRIP */
.physics-strip { background: var(--navy); padding: 64px; }
.physics-strip-inner { max-width: 800px; margin: 0 auto; text-align: center; }
.physics-strip-inner p {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(20px, 2.5vw, 30px);
  font-weight: 400;
  color: #fff;
  line-height: 1.6;
  font-style: italic;
  margin: 0;
}
.physics-strip-inner em { color: var(--gold); font-style: italic; }

/* CTA */
.builds-cta { padding: 100px 64px; background: var(--bg-warm); text-align: center; }
.builds-cta h2 {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(28px, 3.5vw, 44px);
  font-weight: 400;
  color: var(--navy);
  margin-bottom: 14px;
  line-height: 1.15;
}
.builds-cta p {
  font-family: 'Source Serif 4', serif;
  font-size: 17px;
  color: var(--muted);
  font-style: italic;
  margin-bottom: 36px;
  line-height: 1.7;
}
.btn-gold {
  background: var(--gold);
  color: var(--navy-deep);
  font-family: 'Inter', sans-serif;
  font-size: 15px;
  font-weight: 700;
  padding: 16px 38px;
  border-radius: 50px;
  border: none;
  cursor: none;
  transition: all 0.2s;
  display: inline-block;
  text-decoration: none;
}
.btn-gold:hover { background: var(--gold-light); transform: translateY(-2px); }

/* TABLET */
@media (max-width: 960px) {
  .builds-grid { grid-template-columns: 1fr 1fr; gap: 20px; }
  .builds-hero-section, .build-ideas, .builds-cta { padding-left: 40px; padding-right: 40px; }
  .play-loop { padding: 64px 40px; }
}

/* MOBILE */
@media (max-width: 768px) {
  .builds-hero-section { padding: 60px 20px 48px; }
  .play-loop { padding: 56px 20px; }
  .loop-steps { grid-template-columns: 1fr; gap: 32px; }
  .loop-steps::before { display: none; }
  .build-ideas { padding: 56px 20px; }
  .builds-grid { grid-template-columns: 1fr; }
  .build-img { aspect-ratio: 16/9; max-height: 200px; }
  .physics-strip { padding: 48px 20px; }
  .builds-cta { padding: 60px 20px; }
  .btn-gold { width: 100%; text-align: center; }
}
/* END_SECTION:thinkly-builds-page */

/* START_SECTION:thinkly-cart (INDEX:53) */
:root{
  --navy:#1B2E5E;
  --navy-soft:rgba(27,46,94,0.06);
  --gold:#F5A623;
  --gold-soft:rgba(245,166,35,0.12);
  --ink:#1B2E5E;
  --ink-soft:rgba(27,46,94,0.62);
  --line:rgba(27,46,94,0.12);
  --white:#fff;
}

.t-cart-page{ max-width:1120px; margin:0 auto; padding:64px 48px 120px; font-family:'Source Serif 4',serif; color:var(--ink); }
@media (max-width:860px){ .t-cart-page{ padding:40px 20px 90px; } }

.t-cart-eyebrow{ font-family:'Inter',sans-serif; font-size:11px; font-weight:700; color:var(--gold);
  letter-spacing:.14em; text-transform:uppercase; margin-bottom:10px; }
.t-cart-title{ font-family:'DM Serif Display',serif; font-size:clamp(28px,3.4vw,42px); font-weight:400;
  color:var(--navy); margin:0 0 40px; }

.t-cart-grid{ display:grid; grid-template-columns:1fr 380px; gap:56px; align-items:start; }
@media (max-width:900px){ .t-cart-grid{ grid-template-columns:1fr; } }

.t-cart-items{ display:flex; flex-direction:column; }
.t-item{ display:grid; grid-template-columns:104px 1fr auto; gap:24px; padding:28px 0;
  border-bottom:1px solid var(--line); align-items:flex-start; }
.t-item:first-child{ padding-top:0; }
.t-item-img{ width:104px; height:104px; border-radius:10px; overflow:hidden; background:var(--navy-soft);
  display:flex; align-items:center; justify-content:center; }
.t-item-img img{ width:100%; height:100%; object-fit:cover; }
.t-item-name{ font-family:'DM Serif Display',serif; font-size:19px; color:var(--navy); margin:0 0 4px; }
.t-item-name a{ color:inherit; text-decoration:none; }
.t-item-meta{ font-family:'Inter',sans-serif; font-size:12px; color:var(--ink-soft); margin:0 0 14px; }
.t-item-actions{ display:flex; align-items:center; gap:18px; }
.t-qty{ display:flex; align-items:center; border:1px solid var(--line); border-radius:30px; overflow:hidden; }
.t-qty button{ width:32px; height:32px; background:none; border:none; font-size:16px; color:var(--navy);
  display:flex; align-items:center; justify-content:center; cursor:pointer; font-family:inherit; }
.t-qty button:hover{ background:var(--gold-soft); }
.t-qty-value{ width:28px; text-align:center; font-family:'Inter',sans-serif; font-size:13px; font-weight:600; display:inline-block; }
.t-remove{ font-family:'Inter',sans-serif; font-size:12px; color:var(--ink-soft); border-bottom:1px solid transparent; text-decoration:none; }
.t-remove:hover{ color:var(--navy); border-color:var(--navy); }
.t-item-price{ font-family:'Inter',sans-serif; font-weight:700; font-size:16px; color:var(--navy); text-align:right; white-space:nowrap; }
.t-item-price .t-strike{ display:block; font-weight:400; font-size:12px; color:var(--ink-soft); text-decoration:line-through; margin-bottom:2px; }

@media (max-width:560px){
  .t-item{ grid-template-columns:76px 1fr; }
  .t-item-img{ width:76px; height:76px; }
  .t-item-price{ grid-column:2; text-align:left; margin-top:12px; }
}

.t-continue{ margin-top:32px; font-family:'Inter',sans-serif; font-size:13px; font-weight:600; color:var(--navy);
  display:inline-flex; align-items:center; gap:6px; text-decoration:none; }
.t-continue:hover{ color:var(--gold); }

.t-summary{ background:var(--navy); border-radius:18px; padding:36px 32px; color:#fff; position:sticky; top:24px; }
.t-summary h3{ font-family:'DM Serif Display',serif; font-weight:400; font-size:22px; margin:0 0 24px; color:#fff; }
.t-summary-row{ display:flex; justify-content:space-between; font-family:'Inter',sans-serif; font-size:14px;
  color:rgba(255,255,255,0.75); padding:10px 0; }
.t-summary-row.total{ border-top:1px solid rgba(255,255,255,0.16); margin-top:8px; padding-top:18px;
  font-size:16px; font-weight:700; color:#fff; }
.t-summary-row .t-tag{ color:var(--gold); font-weight:600; }
.t-checkout{ width:100%; margin-top:24px; background:var(--gold); color:var(--navy); border:none;
  font-family:'Inter',sans-serif; font-weight:700; font-size:14px; padding:16px; border-radius:30px; cursor:pointer; }
.t-checkout:hover{ background:#ffb945; }
.t-checkout-note{ font-family:'Inter',sans-serif; font-size:11px; color:rgba(255,255,255,0.55); text-align:center; margin:10px 0 0; }
.t-trust{ margin-top:22px; display:flex; flex-direction:column; gap:10px; font-family:'Inter',sans-serif;
  font-size:12px; color:rgba(255,255,255,0.6); padding:0; }
.t-trust li{ list-style:none; display:flex; gap:8px; align-items:center; }
.t-trust li::before{ content:'✓'; color:var(--gold); font-weight:700; }

/* PRE-LAUNCH (temporary): lets the hidden attribute win over the display rules above */
.t-checkout[hidden],
.t-checkout-note[hidden]{ display:none; }

.t-crosssell{ margin-top:64px; padding-top:48px; border-top:1px solid var(--line); }
.t-crosssell-head{ font-family:'Inter',sans-serif; font-size:11px; font-weight:700; letter-spacing:.12em;
  text-transform:uppercase; color:var(--ink-soft); margin-bottom:18px; }
.t-cross-list{ display:flex; flex-direction:column; gap:14px; }
.t-cross-card{ display:flex; align-items:center; gap:20px; background:var(--white); border:1px solid var(--line);
  border-radius:16px; padding:18px 22px; }
.t-cross-card img{ width:72px; height:72px; border-radius:10px; object-fit:cover; background:var(--navy-soft); }
.t-cross-name{ font-family:'DM Serif Display',serif; font-size:17px; color:var(--navy); margin:0 0 4px; }
.t-cross-desc{ font-family:'Inter',sans-serif; font-size:12px; color:var(--ink-soft); margin:0; }
.t-cross-add{ margin-left:auto; font-family:'Inter',sans-serif; font-size:13px; font-weight:700; color:var(--navy);
  border:1px solid var(--navy); background:none; padding:9px 18px; border-radius:30px; white-space:nowrap; cursor:pointer; }
.t-cross-add:hover{ background:var(--navy); color:#fff; }
.t-cross-add.added{ background:var(--gold); border-color:var(--gold); color:var(--navy); }
@media (max-width:560px){ .t-cross-card{ flex-wrap:wrap; } .t-cross-add{ margin-left:0; } }

.t-empty{ text-align:center; padding:80px 20px 40px; }
.t-empty-dot{ width:14px; height:14px; border-radius:50%; background:var(--gold); margin:0 auto 28px; }
.t-empty h2{ font-family:'DM Serif Display',serif; font-size:clamp(24px,3vw,32px); color:var(--navy); margin:0 0 14px; }
.t-empty p{ font-family:'Source Serif 4',serif; font-size:16px; color:var(--ink-soft); max-width:420px;
  margin:0 auto 32px; line-height:1.7; }
.t-empty-links{ display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }
.t-empty-links a{ font-family:'Inter',sans-serif; font-size:13px; font-weight:700; padding:13px 24px; border-radius:30px; text-decoration:none; }
.t-empty-links a.primary{ background:var(--navy); color:#fff; }
.t-empty-links a.secondary{ border:1px solid var(--navy); color:var(--navy); }
/* END_SECTION:thinkly-cart */

/* START_SECTION:thinkly-classroom (INDEX:54) */
.t-classroom {
  padding: 72px 64px;
  background: var(--navy);
}

.t-classroom__inner {
  max-width: 720px;
  margin: 0 auto;
  text-align: center;
}

.t-classroom .t-eye {
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  font-weight: 700;
  color: var(--gold);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 18px;
  display: block;
}

.t-classroom__h2 {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(24px, 2.8vw, 34px);
  font-weight: 400;
  color: #fff;
  line-height: 1.25;
  letter-spacing: -0.01em;
  margin: 0 0 18px;
}

.t-classroom__body {
  font-family: 'Source Serif 4', serif;
  font-size: 16px;
  color: rgba(255, 255, 255, 0.65);
  line-height: 1.85;
  margin: 0;
  font-style: italic;
}

/* Name row (optional): tiny, all-caps, muted so a partial list still
   reads as respectful rather than boastful. Uses translucent white on
   navy so it stays legible without competing with the headline. */
.t-classroom__names {
  margin-top: 26px;
  padding-top: 22px;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  display: flex;
  flex-wrap: wrap;
  gap: 10px 28px;
  justify-content: center;
  align-items: center;
}

.t-classroom__name {
  font-family: 'Inter', sans-serif;
  font-size: 10.5px;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.7);
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

/* TABLET */
@media (max-width: 1024px) {
  .t-classroom { padding: 60px 40px; }
}

/* MOBILE */
@media (max-width: 768px) {
  .t-classroom { padding: 48px 20px; }
  .t-classroom__h2 { font-size: clamp(20px, 5.5vw, 26px); }
  .t-classroom__body { font-size: 15px; }
  .t-classroom__names { gap: 8px 18px; }
  .t-classroom__name { font-size: 10px; letter-spacing: 0.12em; }
}
/* END_SECTION:thinkly-classroom */

/* START_SECTION:thinkly-contact-page (INDEX:55) */
.page-outer {
  display: grid;
  grid-template-columns: 350px 1fr;
  min-height: 80vh;
  align-items: start;
  max-width: 1200px;
  margin: 0 auto;
  width: 100%;
}

.sidebar {
  position: sticky;
  top: 72px;
  height: calc(100vh - 72px);
  overflow-y: auto;
  padding: 52px 28px 52px 48px;
  border-right: 1px solid var(--border);
  background: var(--bg-warm);
  display: flex;
  flex-direction: column;
  gap: 28px;
}

.sidebar-eyebrow {
  font-family: 'Inter', sans-serif;
  font-size: 10px;
  font-weight: 700;
  color: var(--gold);
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.sidebar-title {
  font-family: 'DM Serif Display', serif;
  font-size: 26px;
  font-weight: 400;
  color: var(--navy);
  line-height: 1.2;
  margin-top: 6px;
}

.sidebar-tagline {
  font-family: 'Source Serif 4', serif;
  font-size: 14px;
  color: var(--muted);
  line-height: 1.7;
  margin-top: 4px;
  font-style: italic;
}

.sidebar-direct { display: flex; flex-direction: column; gap: 10px; padding-top: 4px; }

.sidebar-direct-title {
  font-family: 'Inter', sans-serif;
  font-size: 10px;
  font-weight: 700;
  color: var(--navy);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-bottom: 6px;
  opacity: 0.4;
}

.sidebar-contact-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 12px 14px;
  background: #fff;
  border-radius: 10px;
  border: 1.5px solid var(--border);
  cursor: none;
  transition: border-color 0.2s;
  text-decoration: none;
}

.sidebar-contact-item:hover { border-color: var(--gold); }

.sci-icon { font-size: 18px; flex-shrink: 0; margin-top: 1px; }

.sci-label {
  font-family: 'Inter', sans-serif;
  font-size: 10px;
  font-weight: 700;
  color: var(--navy);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  display: block;
  margin-bottom: 3px;
  opacity: 0.6;
}

.sci-val {
  font-family: 'Source Serif 4', serif;
  font-size: 13px;
  color: var(--navy);
  display: block;
  font-weight: 600;
}

.sci-sub {
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  color: var(--muted);
  display: block;
  margin-top: 2px;
}

.sidebar-contact-item > div { min-width: 0; flex: 1; }
.sci-val a { color: var(--navy); transition: opacity 0.2s; }
.sci-val a:hover { opacity: 0.7; }
.sci-sub a { color: var(--navy); font-weight: 600; transition: opacity 0.2s; }
.sci-sub a:hover { opacity: 0.7; }

.sidebar-collapsible-wrapper { display: flex; flex-direction: column; gap: 28px; }
.sidebar-direct-more { display: flex; flex-direction: column; gap: 10px; }

.sidebar-toggle-btn {
  display: none;
  background: none;
  border: 1.5px dashed var(--border);
  border-radius: 10px;
  color: var(--navy);
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 600;
  padding: 12px 16px;
  width: 100%;
  text-align: center;
  cursor: none;
  transition: all 0.2s ease;
  align-items: center;
  justify-content: center;
  gap: 8px;
  outline: none;
}

.sidebar-toggle-btn:hover { border-color: var(--gold); color: var(--gold); }
.toggle-arrow { font-size: 9px; transition: transform 0.2s ease; display: inline-block; }

.contact-content { padding: 64px 80px 100px 72px; }

.contact-eye {
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  font-weight: 700;
  color: var(--gold);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 14px;
}

.contact-h1 {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(36px, 3.5vw, 54px);
  font-weight: 400;
  color: var(--navy);
  line-height: 1.05;
  letter-spacing: -0.02em;
  margin-bottom: 12px;
}

.contact-sub {
  font-family: 'Source Serif 4', serif;
  font-size: 17px;
  color: var(--muted);
  line-height: 1.75;
  margin-bottom: 52px;
  padding-bottom: 36px;
  border-bottom: 1px solid var(--border);
  font-style: italic;
}

.topic-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 52px; }

.topic-card {
  background: var(--bg-warm);
  border-radius: 14px;
  padding: 22px 20px;
  border: 1.5px solid var(--border);
  cursor: none;
  transition: border-color 0.2s, transform 0.2s;
}

.topic-card:hover { border-color: var(--gold); transform: translateY(-2px); }
.topic-card.active { border-color: var(--navy); background: #fff; }

.tc-icon { font-size: 22px; margin-bottom: 10px; display: block; }

.tc-title {
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 700;
  color: var(--navy);
  display: block;
  margin-bottom: 4px;
}

.tc-desc { font-family: 'Source Serif 4', serif; font-size: 13px; color: var(--muted); line-height: 1.55; }

.form-section { margin-bottom: 48px; }

.form-section h2 {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(22px, 2.2vw, 28px);
  font-weight: 400;
  color: var(--navy);
  margin-bottom: 8px;
  line-height: 1.2;
}

.form-section > p {
  font-family: 'Source Serif 4', serif;
  font-size: 15px;
  color: var(--muted);
  margin-bottom: 28px;
  line-height: 1.7;
}

.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.form-group { display: flex; flex-direction: column; gap: 7px; }
.form-group.full { grid-column: 1/-1; }

#order-number-group {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transition: max-height 0.35s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.35s ease;
  display: none;
}

#order-number-group.visible { max-height: 90px; opacity: 1; display: flex; }

.form-label {
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  font-weight: 700;
  color: var(--navy);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.7;
}

.form-input {
  font-family: 'Source Serif 4', serif;
  font-size: 15px;
  color: var(--text);
  background: var(--bg);
  border: 1.5px solid var(--border);
  border-radius: 10px;
  padding: 13px 16px;
  transition: border-color 0.2s, box-shadow 0.2s;
  outline: none;
  width: 100%;
  cursor: none;
}

.form-input:focus { border-color: var(--navy); box-shadow: 0 0 0 3px rgba(27,46,94,0.08); }
.form-input::placeholder { color: rgba(107,101,96,0.5); }
textarea.form-input { resize: vertical; min-height: 140px; font-family: 'Source Serif 4', serif; }

.form-select {
  font-family: 'Source Serif 4', serif;
  font-size: 15px;
  color: var(--text);
  background: var(--bg);
  border: 1.5px solid var(--border);
  border-radius: 10px;
  padding: 13px 16px;
  transition: border-color 0.2s;
  outline: none;
  width: 100%;
  cursor: none;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236B6560' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
}

.form-select:focus { border-color: var(--navy); }

.form-submit {
  display: inline-block;
  font-family: 'Inter', sans-serif;
  font-size: 15px;
  font-weight: 700;
  color: #fff;
  background: var(--navy);
  padding: 16px 40px;
  border-radius: 50px;
  cursor: none;
  transition: all 0.2s;
  letter-spacing: 0.02em;
  border: none;
  margin-top: 8px;
}

.form-submit:hover { background: var(--navy-mid); transform: translateY(-2px); box-shadow: 0 8px 28px rgba(27,46,94,0.2); }
.form-submit.sent { background: #2D8A4E; }

.form-note {
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  color: var(--muted);
  margin-top: 14px;
  line-height: 1.6;
}

.form-note a { color: var(--navy); font-weight: 600; border-bottom: 1px solid var(--gold); }

.form-success {
  display: none;
  background: rgba(45,138,78,0.06);
  border: 1.5px solid rgba(45,138,78,0.2);
  border-radius: 14px;
  padding: 28px;
  text-align: center;
  margin-top: 24px;
}

.form-success.visible { display: block; }
.form-success-icon { font-size: 32px; margin-bottom: 10px; display: block; }

.form-success h3 { font-family: 'DM Serif Display', serif; font-size: 22px; color: #1A5C30; margin-bottom: 8px; }
.form-success p { font-family: 'Source Serif 4', serif; font-size: 14px; color: var(--muted); line-height: 1.7; }

.quick-answers { margin-bottom: 56px; }

.quick-answers h2 {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(20px, 2vw, 26px);
  font-weight: 400;
  color: var(--navy);
  margin-bottom: 20px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--border);
}

.qa-list { display: flex; flex-direction: column; gap: 0; }
.qa-item { padding: 18px 0; border-bottom: 1px solid rgba(27,46,94,0.07); cursor: none; }
.qa-item:last-child { border-bottom: none; }

.qa-q {
  font-family: 'Source Serif 4', serif;
  font-size: 15px;
  font-weight: 600;
  color: var(--navy);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
}

.qa-icon {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: rgba(27,46,94,0.07);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  flex-shrink: 0;
  transition: transform 0.2s, background 0.2s;
  font-family: 'Inter', sans-serif;
}

.qa-a {
  font-family: 'Source Serif 4', serif;
  font-size: 14px;
  color: var(--muted);
  line-height: 1.8;
  margin-top: 10px;
  display: none;
}

.qa-a a { color: var(--navy); font-weight: 600; border-bottom: 1px solid var(--gold); text-decoration: none; }
.qa-item.open .qa-a { display: block; }
.qa-item.open .qa-icon { transform: rotate(45deg); background: var(--gold); color: #fff; }

/* TABLET */
@media (max-width: 1024px) {
  .page-outer { grid-template-columns: 320px 1fr; }
  .sidebar { padding: 40px 20px 40px 28px; }
  .sidebar-title { font-size: 22px; }
  .contact-content { padding: 48px 40px 80px 40px; }
  .topic-cards { grid-template-columns: 1fr 1fr; }
}

/* MOBILE */
@media (max-width: 768px) {
  .page-outer { display: block; }
  .sidebar {
    position: relative;
    top: auto;
    height: auto;
    padding: 28px 16px 24px;
    border-right: none;
    border-bottom: 1px solid var(--border);
    gap: 20px;
  }
  .sidebar-toggle-btn { display: flex; }
  .sidebar-collapsible-wrapper { display: none; gap: 20px; }
  .sidebar-collapsible-wrapper.open { display: flex; }
  .sidebar-title { font-size: 24px; }
  .contact-content { padding: 32px 16px 72px; }
  .topic-cards { grid-template-columns: 1fr 1fr; gap: 10px; }
  .form-grid { grid-template-columns: 1fr; }
  .form-group.full { grid-column: 1; }
}

@media (max-width: 380px) {
  .topic-cards {
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }
  .topic-card { padding: 16px 14px; }
  .tc-title { font-size: 12px; }
  .tc-desc { font-size: 12px; }
}
/* END_SECTION:thinkly-contact-page */

/* START_SECTION:thinkly-enemy-section (INDEX:56) */
.t-enemy {
  padding: 110px 64px;
  background: var(--bg);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 96px;
  align-items: center;
}

.t-enemy__h2 {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(28px, 3.2vw, 44px);
  font-weight: 400;
  color: var(--navy);
  line-height: 1.2;
  margin-bottom: 36px;
}

.t-contrast-grid {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.t-contrast-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.t-c-box {
  height: 110px;
  perspective: 800px;
  cursor: none;
}

.t-c-box-inner {
  position: relative;
  width: 100%;
  height: 100%;
  transform-style: preserve-3d;
  transition: transform 0.55s cubic-bezier(0.4, 0.2, 0.2, 1);
}

@media (hover: hover) {
  .t-c-box:hover .t-c-box-inner {
    transform: rotateX(180deg);
  }
}

.t-c-box.tapped .t-c-box-inner {
  transform: rotateX(180deg);
}

.t-c-front,
.t-c-back {
  position: absolute;
  inset: 0;
  padding: 16px 18px;
  border-radius: 12px;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.t-c-back {
  transform: rotateX(180deg);
}

.t-c-bad .t-c-front,
.t-c-bad .t-c-back {
  background: #F5F4F2;
  border: 1px solid #E5E3E0;
}

.t-c-good .t-c-front {
  background: rgba(27, 46, 94, 0.05);
  border: 1px solid rgba(27, 46, 94, 0.1);
}

.t-c-good .t-c-back {
  background: var(--navy);
  border: 1px solid var(--navy);
}

.t-c-label {
  font-family: 'Inter', sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-bottom: 7px;
}

.t-c-bad .t-c-label { color: #AAAAAA; }
.t-c-good .t-c-label { color: var(--gold); }
.t-c-good .t-c-back .t-c-label { color: rgba(255, 255, 255, 0.4); }

.t-c-front p,
.t-c-back p {
  font-family: 'Source Serif 4', serif;
  font-size: 13px;
  line-height: 1.6;
  margin: 0;
}

.t-c-bad .t-c-front p { color: #999; }
.t-c-bad .t-c-back p { color: var(--muted); font-style: italic; }
.t-c-good .t-c-front p { color: var(--navy); font-weight: 600; }
.t-c-good .t-c-back p { color: rgba(255, 255, 255, 0.85); font-style: italic; font-size: 12px; }

.t-enemy-stmt {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(20px, 2.4vw, 28px);
  font-weight: 400;
  color: var(--navy);
  margin-bottom: 28px;
}

.t-enemy-stmt p {
  line-height: 1.8;
  margin: 0 0 16px;
}

.t-enemy-stmt p:last-child { margin-bottom: 0; }

.t-enemy-stmt em {
  font-style: italic;
  color: var(--gold);
}

.t-enemy-body {
  font-family: 'Source Serif 4', serif;
  font-size: 16px;
  color: var(--muted);
  line-height: 1.85;
}

/* "Touch a card to flip it" hint — mobile/touch only, hidden on desktop by default */
.t-c-hint {
  display: none;
}

/* Collapsible toggle — hidden by default (desktop never shows it) */
.t-enemy-toggle {
  display: none;
}

@media (max-width: 900px) {
  .t-enemy {
    grid-template-columns: 1fr;
    gap: 56px;
    padding: 72px 24px;
  }

  .t-c-box {
    height: auto;
    min-height: 110px;
  }

  .t-c-box.tapped .t-c-box-inner {
    transform: rotateX(180deg);
  }

  /* Collapsible statement + body — collapsed by default, expands on toggle click */
  .t-enemy-collapse {
    max-height: 160px;
    overflow: hidden;
    position: relative;
    transition: max-height 0.4s ease;
  }

  .t-enemy-collapse::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 48px;
    background: linear-gradient(to bottom, rgba(255,255,255,0), var(--bg));
    pointer-events: none;
    transition: opacity 0.3s ease;
  }

  .t-enemy-collapse.expanded {
    max-height: 2000px;
  }

  .t-enemy-collapse.expanded::after {
    opacity: 0;
  }

  .t-enemy-toggle {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 12px;
    background: none;
    border: none;
    padding: 0;
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 700;
    color: var(--navy);
    letter-spacing: 0.02em;
    cursor: pointer;
  }

  .t-enemy-toggle-icon {
    font-size: 11px;
    transition: transform 0.3s ease;
  }

  .t-enemy-toggle[aria-expanded="true"] .t-enemy-toggle-icon {
    transform: rotate(180deg);
  }
}

@media (max-width: 768px) {
  .t-enemy {
    padding: 48px 20px;
    gap: 36px;
  }

  .t-enemy__h2 {
    margin-bottom: 24px;
  }

  .t-contrast-row { grid-template-columns: 1fr 1fr; }

  .t-c-box {
    height: auto;
    min-height: 128px; /* was 96px — gives the longer "what this creates" text room to breathe */
  }

  .t-c-front, .t-c-back {
    padding: 14px 14px; /* was 12px 14px — a little extra vertical bleed room */
  }

  .t-c-front p, .t-c-back p {
    font-size: 12px;     /* was 12.5px — condensed slightly so text fits comfortably */
    line-height: 1.45;   /* was 1.5 — tightened to match the smaller size */
  }

  .t-c-label {
    margin-bottom: 5px; /* was 7px — reclaim a touch of vertical space for the body text */
  }

  /* Mobile-only hint below the flip cards */
  .t-c-hint {
    display: block;
    text-align: center;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.04em;
    color: var(--muted);
    opacity: 0.6;
    margin: 14px 0 0;
  }

  .t-enemy-stmt {
    font-size: clamp(17px, 5vw, 20px);
    margin-bottom: 18px;
  }

  .t-enemy-stmt p {
    margin-bottom: 6px;
  }

  /* Merge "Most toys give children the answer..." and "Thinkly doesn't."
     into one flowing block on mobile instead of two separate stacked
     statements with a large gap between them. Desktop layout (2-column,
     flip cards matched height with text) is untouched. */
  .t-enemy-stmt p:nth-child(1) {
    display: inline;
    margin-bottom: 0;
  }

  .t-enemy-stmt p:nth-child(2) {
    display: inline;
    margin-bottom: 0;
  }

  .t-enemy-stmt p:nth-child(1)::after {
    content: ' ';
  }

  .t-enemy-stmt p:nth-child(3),
  .t-enemy-stmt p:nth-child(4) {
    display: block;
    margin-top: 14px;
  }

  .t-enemy-body {
    font-size: 14.5px;
    line-height: 1.7;
  }
}
/* END_SECTION:thinkly-enemy-section */

/* START_SECTION:thinkly-faq-page (INDEX:57) */
.t-eye {
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  font-weight: 700;
  color: var(--gold);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 16px;
  display: block;
}

.t-faqpage-hero {
  padding: 100px 64px 80px;
  background: #fff;
  text-align: center;
  position: relative;
  overflow: hidden;
}

.t-faqpage-hero::before {
  content: '';
  position: absolute;
  top: -200px;
  left: 50%;
  transform: translateX(-50%);
  width: 700px;
  height: 500px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(245,166,35,0.05) 0%, transparent 70%);
  pointer-events: none;
}

.t-faqpage-hero__inner { max-width: 1200px; margin: 0 auto; position: relative; }

.t-faqpage-hero__h1 {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(36px, 5vw, 64px);
  font-weight: 400;
  color: var(--navy);
  line-height: 1.1;
  letter-spacing: -0.02em;
  margin-bottom: 20px;
}

.t-faqpage-hero__h1 p { margin: 0; }
.t-faqpage-hero__h1 em { font-style: italic; color: var(--gold); }

.t-faqpage-hero__sub {
  font-family: 'Source Serif 4', serif;
  font-size: clamp(15px, 2vw, 18px);
  color: var(--muted);
  max-width: 500px;
  margin: 0 auto 40px;
  line-height: 1.75;
  font-style: italic;
}

.t-faqpage-hero__sub a { color: inherit; text-decoration: none; border-bottom: 1px solid var(--gold); font-weight: 600; }

.t-faqpage-search { margin-top: 24px; display: flex; justify-content: center; position: relative; z-index: 10; }

.t-faqpage-search__wrap {
  display: flex;
  align-items: center;
  width: 100%;
  max-width: 500px;
  background: rgba(255,255,255,0.85);
  border: 1.5px solid var(--border);
  border-radius: 50px;
  padding: 6px 16px;
  box-shadow: 0 4px 16px rgba(27,46,94,0.04);
  transition: all 0.3s cubic-bezier(0.22, 1, 0.36, 1);
}

.t-faqpage-search__wrap:hover { background: #fff; border-color: rgba(27,46,94,0.2); box-shadow: 0 6px 20px rgba(27,46,94,0.08); }
.t-faqpage-search__wrap:focus-within { background: #fff; border-color: var(--navy); box-shadow: 0 8px 24px rgba(27,46,94,0.12); }
.t-faqpage-search__icon { font-size: 16px; margin-right: 12px; color: var(--muted); opacity: 0.7; }

#faq-search {
  flex: 1;
  border: none;
  background: transparent;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  color: var(--text);
  outline: none;
  padding: 8px 0;
  width: 100%;
}

#faq-search::placeholder { color: var(--muted); opacity: 0.65; }

#search-clear {
  background: transparent;
  border: none;
  font-size: 16px;
  color: var(--muted);
  cursor: pointer;
  padding: 4px 8px;
  opacity: 0.5;
  transition: opacity 0.2s;
}

#search-clear:hover { opacity: 1; }

.t-faqpage-main { padding: 0 64px 100px; background: #fff; }

.t-faqpage-layout {
  display: grid;
  grid-template-columns: 320px 1fr;
  gap: 64px;
  align-items: start;
  max-width: 1200px;
  margin: 0 auto;
  padding-top: 64px;
}

.t-faqpage-sidebar { position: sticky; top: 100px; }

.t-faqpage-sidebar__title {
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  font-weight: 700;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: 16px;
}

.t-faqpage-sidebar__nav { display: flex; flex-direction: column; gap: 4px; }

.t-faqpage-sidebar__link {
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 500;
  color: var(--muted);
  text-decoration: none;
  padding: 8px 12px;
  border-radius: 8px;
  transition: all 0.2s;
  border-left: 2px solid transparent;
}

.t-faqpage-sidebar__link:hover,
.t-faqpage-sidebar__link.active {
  color: var(--navy);
  background: var(--bg-warm);
  border-left-color: var(--gold);
}

.t-faqpage-section { margin-bottom: 64px; scroll-margin-top: 100px; }
.t-faqpage-section:last-child { margin-bottom: 0; }

.t-faqpage-section__title {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(22px, 2.5vw, 30px);
  font-weight: 400;
  color: var(--navy);
  margin-bottom: 24px;
  padding-bottom: 16px;
  border-bottom: 2px solid var(--border);
}

.t-faqpage-item { border-bottom: 1px solid var(--border); }
.t-faqpage-item:last-child { border-bottom: none; }

.t-faqpage-q {
  font-family: 'Source Serif 4', serif;
  font-size: 16px;
  font-weight: 600;
  color: var(--navy);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 22px 0;
  cursor: pointer;
  width: 100%;
  background: none;
  border: none;
  text-align: left;
  font-family: inherit;
}

.t-faqpage-icon {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: rgba(27,46,94,0.07);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  flex-shrink: 0;
  transition: transform 0.25s, background 0.25s;
  font-family: 'Inter', sans-serif;
  font-weight: 300;
  line-height: 1;
}

.t-faqpage-a {
  font-family: 'Source Serif 4', serif;
  font-size: 15px;
  color: var(--muted);
  line-height: 1.85;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s cubic-bezier(0.4, 0, 0.2, 1), padding-bottom 0.3s;
  padding-bottom: 0;
}

.t-faqpage-a strong { color: var(--text); font-weight: 600; }
.t-faqpage-a a { color: var(--navy); font-weight: 600; text-decoration: none; border-bottom: 1px solid var(--gold); }
.t-faqpage-item.open .t-faqpage-a { max-height: 600px; padding-bottom: 22px; }
.t-faqpage-item.open .t-faqpage-icon { transform: rotate(45deg); background: var(--gold); color: #fff; }

.t-faqpage-noresults {
  background: var(--bg-warm);
  border: 1.5px solid var(--border);
  border-radius: 14px;
  padding: 48px 24px;
  text-align: center;
  margin-top: 16px;
}

.t-faqpage-noresults__icon { font-size: 32px; margin-bottom: 12px; display: block; }
.t-faqpage-noresults h3 { font-family: 'DM Serif Display', serif; font-size: 22px; color: var(--navy); margin-bottom: 8px; }
.t-faqpage-noresults p { font-family: 'Source Serif 4', serif; font-size: 15px; color: var(--muted); line-height: 1.7; }

.t-faqpage-contact { padding: 80px 64px; background: var(--bg-warm); }
.t-faqpage-contact__inner { max-width: 680px; margin: 0 auto; text-align: center; }
.t-faqpage-contact__inner h2 { font-family: 'DM Serif Display', serif; font-size: clamp(26px, 3vw, 38px); font-weight: 400; color: var(--navy); margin-bottom: 14px; }
.t-faqpage-contact__inner p { font-family: 'Source Serif 4', serif; font-size: 16px; color: var(--muted); margin-bottom: 28px; line-height: 1.75; font-style: italic; }
.t-faqpage-contact__cards { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }

.t-faqpage-contact-card {
  background: #fff;
  border-radius: 14px;
  padding: 24px;
  border: 1.5px solid var(--border);
  text-align: left;
  transition: transform 0.2s, box-shadow 0.2s;
  text-decoration: none;
  display: block;
}

.t-faqpage-contact-card:hover { transform: translateY(-3px); box-shadow: 0 12px 32px rgba(27,46,94,0.08); }
.t-faqpage-contact-card__icon { font-size: 24px; margin-bottom: 12px; display: block; }
.t-faqpage-contact-card__title { font-family: 'Inter', sans-serif; font-size: 14px; font-weight: 700; color: var(--navy); margin-bottom: 6px; }
.t-faqpage-contact-card__text { font-family: 'Source Serif 4', serif; font-size: 13px; color: var(--muted); line-height: 1.6; margin-bottom: 12px; }
.t-faqpage-contact-card__link { font-family: 'Inter', sans-serif; font-size: 12px; font-weight: 700; color: var(--navy); border-bottom: 1px solid var(--gold); padding-bottom: 1px; letter-spacing: 0.02em; }

.t-faqpage-cta { padding: 100px 64px; background: var(--navy); text-align: center; position: relative; overflow: hidden; }

.t-faqpage-cta::before {
  content: '';
  position: absolute;
  top: -300px;
  left: 50%;
  transform: translateX(-50%);
  width: 800px;
  height: 600px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(245,166,35,0.07) 0%, transparent 70%);
  pointer-events: none;
}

.t-faqpage-cta__inner { position: relative; }

.t-faqpage-cta__h2 {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(28px, 4vw, 48px);
  font-weight: 400;
  color: #fff;
  letter-spacing: -0.01em;
  margin-bottom: 14px;
  line-height: 1.15;
}

.t-faqpage-cta__h2 p { margin: 0; }
.t-faqpage-cta__h2 em { font-style: italic; color: var(--gold); }

.t-faqpage-cta p {
  font-family: 'Source Serif 4', serif;
  font-size: 16px;
  color: rgba(255,255,255,0.5);
  margin-bottom: 36px;
  font-style: italic;
}

.t-faqpage-cta__btns { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }

@media (max-width: 960px) {
  .t-faqpage-hero, .t-faqpage-main, .t-faqpage-contact, .t-faqpage-cta { padding: 60px 24px; }
  .t-faqpage-layout { grid-template-columns: 1fr; gap: 32px; }
  .t-faqpage-sidebar {
    position: sticky;
    top: 72px;
    background: #fff;
    z-index: 100;
    padding: 12px 0;
    margin: 0 0 16px 0;
    border-bottom: 1px solid var(--border);
    width: 100%;
    overflow: hidden;
  }
  .t-faqpage-sidebar__title { display: none; }
  .t-faqpage-sidebar__nav { flex-direction: row; overflow-x: auto; -webkit-overflow-scrolling: touch; gap: 8px; padding-bottom: 2px; }
  .t-faqpage-sidebar__link { white-space: nowrap; border: 1.5px solid var(--border); border-radius: 40px; padding: 6px 16px; font-size: 12px; }
  .t-faqpage-sidebar__link:hover, .t-faqpage-sidebar__link.active { background: var(--navy); color: #fff; border-color: var(--navy); }
  .t-faqpage-contact__cards { grid-template-columns: 1fr; }
}

@media (max-width: 768px) {
  .t-faqpage-hero, .t-faqpage-main, .t-faqpage-contact, .t-faqpage-cta { padding: 56px 20px; }
  .t-faqpage-sidebar { top: 60px; padding: 12px 0; margin: 0 0 16px 0; }
}
/* END_SECTION:thinkly-faq-page */

/* START_SECTION:thinkly-faq (INDEX:58) */
.t-faq-wrap {
  padding: 110px 64px;
  background: #FFFFFF;
}
.t-faq {
  max-width: 720px;
  margin: 0 auto;
}
.t-faq__head { margin-bottom: 48px; }
.t-faq__h2 {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(28px, 3.5vw, 44px);
  font-weight: 400;
  color: #1B2E5E;
  margin: 0;
}
.t-faq-item {
  border-bottom: 1px solid rgba(27,46,94,0.1);
  padding: 24px 0;
  cursor: none;
}
.t-faq-q {
  font-family: 'Source Serif 4', serif;
  font-size: 16px;
  font-weight: 600;
  color: #1B2E5E;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  user-select: none;
}
.t-faq-icon {
  width: 26px; height: 26px;
  border-radius: 50%;
  background: rgba(27,46,94,0.07);
  display: flex; align-items: center; justify-content: center;
  font-size: 16px; flex-shrink: 0;
  transition: transform 0.2s, background 0.2s;
  font-family: 'Inter', sans-serif;
  font-weight: 400;
  line-height: 1;
}
.t-faq-a {
  font-family: 'Source Serif 4', serif;
  font-size: 15px;
  color: #6B6560;
  line-height: 1.8;
  margin-top: 14px;
  display: none;
}
.t-faq-item.open .t-faq-a { display: block; }
.t-faq-item.open .t-faq-icon {
  transform: rotate(45deg);
  background: #F5A623;
  color: #fff;
}
.t-faq__more {
  text-align: center;
  margin-top: 40px;
  padding-top: 32px;
  border-top: 1px solid rgba(27,46,94,0.08);
}
.t-faq__more a {
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: #1B2E5E;
  opacity: 0.55;
  letter-spacing: 0.04em;
  transition: opacity 0.2s;
  text-decoration: none;
}
.t-faq__more a:hover { opacity: 1; }

@media (max-width: 768px) {
  .t-faq-wrap { padding: 64px 20px; }
  .t-faq-q { font-size: 15px; }
  .t-faq-item { padding: 14px 0; }        /* ← add this */
  .t-faq__head { margin-bottom: 28px; }   /* ← and this */
}
/* END_SECTION:thinkly-faq */

/* START_SECTION:thinkly-final-cta-v2 (INDEX:59) */
.t-final-cta-v2 {
  padding: 120px 64px;
  background: var(--navy);
  text-align: center;
  position: relative;
  overflow: hidden;
}

.t-final-cta-v2::before {
  content: '';
  position: absolute;
  top: -300px;
  left: 50%;
  transform: translateX(-50%);
  width: 900px;
  height: 600px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(245, 166, 35, 0.08) 0%, transparent 70%);
  pointer-events: none;
}

.t-final-cta-v2__inner {
  max-width: 800px;
  margin: 0 auto;
  position: relative;
}

.t-h2-wrap {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(32px, 4.4vw, 56px);
  font-weight: 400;
  color: #fff;
  line-height: 1.12;
  letter-spacing: -0.01em;
  margin: 0 auto 22px;
}

.t-h2-wrap p { margin: 0; }
.t-h2-wrap em {
  font-style: italic;
  color: var(--gold);
}

.t-final-cta-v2__body {
  font-family: 'Source Serif 4', serif;
  font-size: 17px;
  font-style: italic;
  color: rgba(255, 255, 255, 0.55);
  margin: 0 0 42px;
  line-height: 1.7;
}

.t-final-cta-v2__actions {
  display: flex;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
}

.t-final-cta-v2__note {
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.4);
  margin: 32px 0 0;
  letter-spacing: 0.02em;
}

/* Button styles — mirrors your existing --gold and --ghost patterns
   so they blend with the rest of the site rather than looking bespoke */
.t-final-cta-v2 .t-btn--gold {
  display: inline-block;
  background: var(--gold);
  color: var(--navy-deep, #0F1F42);
  padding: 15px 32px;
  border-radius: 50px;
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-decoration: none;
  transition: all 0.2s;
}

.t-final-cta-v2 .t-btn--gold:hover {
  background: var(--gold-light, #FBBF4A);
  transform: translateY(-1px);
}

.t-final-cta-v2 .t-btn--ghost {
  display: inline-block;
  background: transparent;
  color: #fff;
  border: 2px solid rgba(255, 255, 255, 0.35);
  padding: 13px 30px;
  border-radius: 50px;
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-decoration: none;
  transition: all 0.2s;
}

.t-final-cta-v2 .t-btn--ghost:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.6);
}

/* TABLET */
@media (max-width: 1024px) {
  .t-final-cta-v2 { padding: 90px 40px; }
}

/* MOBILE */
@media (max-width: 768px) {
  .t-final-cta-v2 { padding: 72px 20px; }
  .t-final-cta-v2::before { display: none; }
  .t-final-cta-v2__body { font-size: 15px; margin-bottom: 32px; }
  .t-final-cta-v2__actions { flex-direction: column; gap: 12px; }
  .t-final-cta-v2__actions a { width: 100%; text-align: center; }
}
/* END_SECTION:thinkly-final-cta-v2 */

/* START_SECTION:thinkly-final-cta (INDEX:60) */
.fcta {
  padding: 130px 64px;
  background: var(--navy);
  text-align: center;
  position: relative;
  overflow: hidden;
}

.fcta::before {
  content: '';
  position: absolute;
  top: -300px;
  left: 50%;
  transform: translateX(-50%);
  width: 900px;
  height: 600px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(245,166,35,0.07) 0%, transparent 70%);
  pointer-events: none;
}

.fcta h2 {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(30px, 4.5vw, 58px);
  font-weight: 400;
  color: #fff;
  letter-spacing: -0.01em;
  margin-bottom: 14px;
  position: relative;
  line-height: 1.15;
}

.fcta h2 em { font-style: italic; color: var(--gold); }

.fcta-sub {
  font-family: 'Source Serif 4', serif;
  font-size: 17px;
  color: rgba(255,255,255,0.5);
  margin-bottom: 16px;
  line-height: 1.75;
  position: relative;
  font-style: italic;
}

.fcta-choice {
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  color: rgba(255,255,255,0.4);
  margin-bottom: 40px;
  letter-spacing: 0.04em;
  position: relative;
}

.fcta-btns {
  display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 24px;
  position: relative;
}

.fcta .btn-gold {
  background: var(--gold);
  color: var(--navy-deep);
  font-family: 'Inter', sans-serif;
  font-size: 15px;
  font-weight: 700;
  padding: 16px 38px;
  border-radius: 50px;
  border: none;
  cursor: none;
  transition: all 0.2s;
  text-decoration: none;
  display: inline-block;
}

.fcta .btn-gold:hover { background: var(--gold-light); transform: translateY(-2px); }

.fcta .btn-ghost {
  background: transparent;
  color: #fff;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  font-weight: 600;
  padding: 15px 30px;
  border-radius: 50px;
  border: 2px solid rgba(255,255,255,0.25);
  cursor: none;
  transition: all 0.2s;
  text-decoration: none;
  display: inline-block;
}

.fcta .btn-ghost:hover {
  border-color: rgba(255,255,255,0.6);
  background: rgba(255,255,255,0.05);
}

.fcta-note {
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  color: rgba(255,255,255,0.28);
  position: relative;
  letter-spacing: 0.04em;
}

.fcta-divider {
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  color: rgba(255,255,255,0.3);
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 8px;
}

.fcta-divider::before,
.fcta-divider::after {
  content: '';
  flex: 1;
  height: 1px;
  background: rgba(255,255,255,0.1);
  width: 40px;
}

/* TABLET */
@media (max-width: 960px) {
  .fcta { padding: 90px 40px; }
}

/* MOBILE */
@media (max-width: 768px) {
  .fcta { padding: 64px 20px; }
  .fcta h2 { font-size: clamp(26px, 7vw, 36px); }
  .fcta-sub { font-size: 15px; }
  .fcta-btns { flex-direction: column; gap: 12px; }
  .fcta-divider { margin: 4px 0; }
  .fcta-divider::before,
  .fcta-divider::after { width: 30px; }
  .fcta .btn-gold,
  .fcta .btn-ghost { width: 100%; text-align: center; }
}
/* END_SECTION:thinkly-final-cta */

/* START_SECTION:thinkly-fit-product (INDEX:61) */
/* ═══════════════════════ HERO + BUY ═══════════════════════ */
.t-fitp-hero {
  padding: 80px 64px;
  background: linear-gradient(135deg, #EEF0F8 0%, #E4E8F4 100%);
}

.t-fitp-hero__inner {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 72px;
  align-items: start;
}

.t-fitp-hero__media {
  position: sticky;
  top: 100px;
}

.t-fitp-hero__img-wrap {
  background: #fff;
  border-radius: 20px;
  aspect-ratio: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px;
  box-shadow: 0 16px 56px rgba(114, 132, 184, 0.18);
  margin-bottom: 16px;
  overflow: hidden;
}

.t-fitp-hero__img,
.t-fitp-hero__img-wrap svg {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.t-fitp-hero__thumbs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}

.t-fitp-hero__thumb {
  background: #fff;
  border-radius: 10px;
  padding: 10px;
  aspect-ratio: 1;
  cursor: pointer;
  border: 2px solid transparent;
  transition: border-color 0.2s;
}

.t-fitp-hero__thumb:hover {
  border-color: #7284B8;
}

.t-fitp-hero__thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* Buy panel */
.t-fitp-hero__eye {
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  color: #7284B8;
  text-transform: uppercase;
  margin-bottom: 16px;
}

.t-fitp-hero__h1 {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(32px, 4.4vw, 52px);
  font-weight: 400;
  color: var(--navy);
  line-height: 1.1;
  letter-spacing: -0.02em;
  margin: 0 0 18px;
}

.t-fitp-hero__h1 em {
  color: #7284B8;
  font-style: italic;
}

.t-fitp-hero__tag {
  font-family: 'Source Serif 4', serif;
  font-size: 18px;
  font-style: italic;
  color: var(--muted);
  line-height: 1.6;
  margin: 0 0 30px;
}

.t-fitp-hero__facts {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-bottom: 32px;
}

.t-fitp-hero__fact {
  background: rgba(114, 132, 184, 0.14);
  padding: 16px 12px;
  border-radius: 10px;
  text-align: center;
}

.t-fitp-hero__fact-n {
  font-family: 'DM Serif Display', serif;
  font-size: 32px;
  color: var(--navy);
  line-height: 1;
}

.t-fitp-hero__fact-l {
  font-family: 'Inter', sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.12em;
  color: var(--muted);
  text-transform: uppercase;
  margin-top: 6px;
}

.t-fitp-hero__price {
  font-family: 'Inter', sans-serif;
  font-size: 34px;
  font-weight: 800;
  color: var(--navy);
  margin-bottom: 24px;
}

.t-fitp-hero__price-note {
  font-size: 14px;
  font-weight: 400;
  color: var(--muted);
  margin-left: 8px;
}

.t-fitp-hero__buttons {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 24px;
}

.t-fitp-hero__buy-btn {
  background: var(--navy);
  color: #fff;
  padding: 16px 24px;
  border-radius: 50px;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.04em;
  border: none;
  cursor: pointer;
  transition: all 0.2s;
}

.t-fitp-hero__buy-btn:hover {
  background: var(--navy-mid, #243870);
  transform: translateY(-1px);
}

.t-fitp-hero__buy-btn.added {
  background: #2D8A4E;
  pointer-events: none;
}

.t-fitp-hero__try-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: transparent;
  color: var(--navy);
  border: 2px solid rgba(114, 132, 184, 0.4);
  padding: 14px 24px;
  border-radius: 50px;
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-decoration: none;
  transition: all 0.2s;
}

.t-fitp-hero__try-btn:hover {
  border-color: #7284B8;
  background: rgba(114, 132, 184, 0.08);
}

.t-fitp-hero__arrow {
  font-size: 16px;
  line-height: 1;
}

.t-fitp-hero__trust {
  border-top: 1px solid rgba(27, 46, 94, 0.12);
  padding-top: 20px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.t-fitp-hero__trust-item {
  font-family: 'Inter', sans-serif;
  font-size: 12.5px;
  color: var(--muted);
  display: flex;
  align-items: center;
  gap: 8px;
}

.t-fitp-hero__trust-icon {
  color: var(--gold);
  font-weight: 700;
}

/* ═══════════════════════ WHAT'S IN THE BOX ═══════════════════════ */
.t-fitp-box {
  padding: 100px 64px;
  background: var(--bg);
}

.t-fitp-box__inner {
  max-width: 1100px;
  margin: 0 auto;
}

.t-fitp-box__head {
  text-align: center;
  margin-bottom: 56px;
}

.t-fitp-box .t-eye {
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  font-weight: 700;
  color: var(--gold);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 16px;
  display: block;
}

.t-fitp-box__h2 {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(28px, 3.4vw, 40px);
  font-weight: 400;
  color: var(--navy);
  line-height: 1.15;
  letter-spacing: -0.02em;
  margin: 0;
}

.t-fitp-box__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.t-fitp-box__card {
  background: var(--bg-warm);
  border-radius: 14px;
  padding: 30px 22px;
  text-align: center;
  border: 1px solid var(--border);
}

.t-fitp-box__icon {
  font-size: 30px;
  margin-bottom: 14px;
  line-height: 1;
}

.t-fitp-box__card-title {
  font-family: 'DM Serif Display', serif;
  font-size: 20px;
  color: var(--navy);
  margin-bottom: 8px;
}

.t-fitp-box__card-desc {
  font-family: 'Source Serif 4', serif;
  font-size: 13px;
  color: var(--muted);
  line-height: 1.7;
}

/* ═══════════════════════ WHAT IT UNLOCKS ═══════════════════════ */
.t-fitp-unlocks {
  padding: 100px 64px;
  background: var(--bg-section);
}

.t-fitp-unlocks__inner {
  max-width: 1100px;
  margin: 0 auto;
}

.t-fitp-unlocks__head {
  text-align: center;
  margin-bottom: 56px;
  max-width: 680px;
  margin-left: auto;
  margin-right: auto;
}

.t-fitp-unlocks .t-eye {
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  font-weight: 700;
  color: var(--gold);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 16px;
  display: block;
}

.t-fitp-unlocks__h2 {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(28px, 3.6vw, 44px);
  font-weight: 400;
  color: var(--navy);
  line-height: 1.15;
  letter-spacing: -0.02em;
  margin: 0 0 18px;
}

.t-fitp-unlocks__h2 em {
  color: #7284B8;
  font-style: italic;
}

.t-fitp-unlocks__sub {
  font-family: 'Source Serif 4', serif;
  font-size: 17px;
  font-style: italic;
  color: var(--muted);
  margin: 0;
  line-height: 1.7;
}

.t-fitp-unlocks__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}

.t-fitp-unlocks__card {
  background: #fff;
  border-radius: 16px;
  padding: 34px 30px;
  border: 1px solid var(--border);
  border-top: 3px solid #7284B8;
}

.t-fitp-unlocks__card-icon {
  font-size: 28px;
  margin-bottom: 16px;
  line-height: 1;
}

.t-fitp-unlocks__card-h {
  font-family: 'DM Serif Display', serif;
  font-size: 22px;
  font-weight: 400;
  color: var(--navy);
  line-height: 1.2;
  margin: 0 0 12px;
}

.t-fitp-unlocks__card-body {
  font-family: 'Source Serif 4', serif;
  font-size: 15px;
  color: var(--muted);
  line-height: 1.8;
  margin-bottom: 14px;
}

.t-fitp-unlocks__card-body strong {
  color: var(--text);
  font-weight: 600;
}

.t-fitp-unlocks__research {
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  color: rgba(27, 46, 94, 0.55);
  font-style: italic;
  border-top: 1px dashed rgba(27, 46, 94, 0.14);
  padding-top: 12px;
  line-height: 1.6;
}

/* ═══════════════════════ TRY THE GAME ═══════════════════════ */
.t-fitp-game {
  padding: 100px 64px;
  background: var(--navy);
  color: #fff;
  position: relative;
  overflow: hidden;
}

.t-fitp-game::before {
  content: '';
  position: absolute;
  top: -200px;
  right: -100px;
  width: 500px;
  height: 500px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(114, 132, 184, 0.14) 0%, transparent 70%);
  pointer-events: none;
}

.t-fitp-game__inner {
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: center;
  position: relative;
}

.t-fitp-game__h2 {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(30px, 4vw, 46px);
  font-weight: 400;
  color: #fff;
  line-height: 1.1;
  letter-spacing: -0.02em;
  margin: 0 0 20px;
}

.t-fitp-game__h2 em {
  color: #7284B8;
  font-style: italic;
}

.t-fitp-game__body {
  font-family: 'Source Serif 4', serif;
  font-size: 16px;
  color: rgba(255, 255, 255, 0.7);
  line-height: 1.85;
  margin-bottom: 28px;
}

.t-fitp-game__body p { margin: 0 0 14px; }
.t-fitp-game__body p:last-child { margin-bottom: 0; }
.t-fitp-game__body strong {
  color: #fff;
  font-weight: 600;
}

.t-fitp-game__cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--gold);
  color: var(--navy-deep, #0F1F42);
  padding: 15px 32px;
  border-radius: 50px;
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-decoration: none;
  transition: all 0.2s;
}

.t-fitp-game__cta:hover {
  background: var(--gold-light, #FBBF4A);
  transform: translateY(-1px);
}

.t-fitp-game__arrow {
  font-size: 16px;
}

.t-fitp-game__hint {
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.4);
  margin: 14px 0 0;
  letter-spacing: 0.02em;
}

/* Faux animated game preview */
.t-fitp-game__visual {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.t-fitp-game__preview {
  position: relative;
  width: 100%;
  max-width: 380px;
  aspect-ratio: 1;
  background: rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  padding: 20px;
  border: 1px solid rgba(255, 255, 255, 0.12);
}

.t-fitp-game__grid {
  width: 100%;
  height: 100%;
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  grid-template-rows: repeat(8, 1fr);
  gap: 2px;
}

.t-fitp-game__grid div {
  background: rgba(255, 255, 255, 0.04);
  border-radius: 2px;
}

.t-fitp-game__piece {
  position: absolute;
  border-radius: 4px;
  animation: fitpPulse 3s ease-in-out infinite;
}

.t-fitp-game__piece--1 {
  top: 20px;
  left: 20px;
  width: 35%;
  height: 12%;
  background: var(--gold);
  animation-delay: 0s;
}

.t-fitp-game__piece--2 {
  top: 22%;
  right: 20px;
  width: 20%;
  height: 30%;
  background: #7284B8;
  animation-delay: 0.6s;
}

.t-fitp-game__piece--3 {
  bottom: 20px;
  left: 30%;
  width: 40%;
  height: 15%;
  background: #D46B54;
  animation-delay: 1.2s;
}

@keyframes fitpPulse {
  0%, 100% { transform: scale(1); opacity: 0.9; }
  50% { transform: scale(1.03); opacity: 1; }
}

.t-fitp-game__preview-label {
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  font-weight: 700;
  color: #7284B8;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-top: 14px;
}

/* ═══════════════════════ FAQ ═══════════════════════ */
.t-fitp-faq {
  padding: 100px 64px;
  background: var(--bg);
}

.t-fitp-faq__inner {
  max-width: 800px;
  margin: 0 auto;
}

.t-fitp-faq__head {
  text-align: center;
  margin-bottom: 44px;
}

.t-fitp-faq .t-eye {
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  font-weight: 700;
  color: var(--gold);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 16px;
  display: block;
}

.t-fitp-faq__h2 {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(26px, 3.2vw, 38px);
  font-weight: 400;
  color: var(--navy);
  line-height: 1.15;
  letter-spacing: -0.02em;
  margin: 0;
}

.t-fitp-faq__list {
  border-top: 1px solid var(--border);
}

.t-fitp-faq__item {
  border-bottom: 1px solid var(--border);
}

.t-fitp-faq__q {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 22px 4px;
  cursor: pointer;
  font-family: 'DM Serif Display', serif;
  font-size: 18px;
  color: var(--navy);
  list-style: none;
}

.t-fitp-faq__q::-webkit-details-marker { display: none; }

.t-fitp-faq__chevron {
  font-family: 'Inter', sans-serif;
  font-size: 22px;
  color: var(--gold);
  transition: transform 0.2s;
  line-height: 1;
}

.t-fitp-faq__item[open] .t-fitp-faq__chevron {
  transform: rotate(45deg);
}

.t-fitp-faq__a {
  padding: 0 4px 22px;
  font-family: 'Source Serif 4', serif;
  font-size: 15px;
  color: var(--muted);
  line-height: 1.8;
}

.t-fitp-faq__a p { margin: 0 0 12px; }
.t-fitp-faq__a p:last-child { margin: 0; }
.t-fitp-faq__a a {
  color: var(--navy);
  font-weight: 600;
  border-bottom: 1px solid var(--gold);
  text-decoration: none;
}

/* ═══════════════════════ FINAL CTA ═══════════════════════ */
.t-fitp-final {
  padding: 120px 64px;
  background: var(--navy);
  color: #fff;
  text-align: center;
  position: relative;
  overflow: hidden;
}

.t-fitp-final::before {
  content: '';
  position: absolute;
  top: -300px;
  left: 50%;
  transform: translateX(-50%);
  width: 900px;
  height: 600px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(245, 166, 35, 0.08) 0%, transparent 70%);
  pointer-events: none;
}

.t-fitp-final__inner {
  max-width: 720px;
  margin: 0 auto;
  position: relative;
}

.t-fitp-final__h2 {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(32px, 4.4vw, 52px);
  font-weight: 400;
  color: #fff;
  line-height: 1.15;
  letter-spacing: -0.02em;
  margin: 0 0 22px;
}

.t-fitp-final__h2 p { margin: 0; }
.t-fitp-final__h2 em {
  font-style: italic;
  color: #7284B8;
}

.t-fitp-final__sub {
  font-family: 'Source Serif 4', serif;
  font-size: 17px;
  font-style: italic;
  color: rgba(255, 255, 255, 0.55);
  margin: 0 0 40px;
  line-height: 1.7;
}

.t-fitp-final__actions {
  display: flex;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
}

.t-fitp-final__buy-btn {
  background: var(--gold);
  color: var(--navy-deep, #0F1F42);
  padding: 16px 36px;
  border-radius: 50px;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.04em;
  border: none;
  cursor: pointer;
  transition: all 0.2s;
}

.t-fitp-final__buy-btn:hover {
  background: var(--gold-light, #FBBF4A);
  transform: translateY(-1px);
}

.t-fitp-final__buy-btn.added {
  background: #2D8A4E;
  color: #fff;
  pointer-events: none;
}

.t-fitp-final__try-btn {
  display: inline-block;
  background: transparent;
  color: #fff;
  border: 2px solid rgba(255, 255, 255, 0.35);
  padding: 14px 32px;
  border-radius: 50px;
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-decoration: none;
  transition: all 0.2s;
}

.t-fitp-final__try-btn:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.6);
}

/* ═══════════════════════ TABLET ═══════════════════════ */
@media (max-width: 1024px) {
  .t-fitp-hero,
  .t-fitp-box,
  .t-fitp-unlocks,
  .t-fitp-game,
  .t-fitp-faq,
  .t-fitp-final { padding: 72px 40px; }

  .t-fitp-hero__inner { gap: 48px; }
  .t-fitp-box__grid { grid-template-columns: 1fr 1fr; }
  .t-fitp-game__inner { gap: 40px; }
}

/* ═══════════════════════ MOBILE ═══════════════════════ */
@media (max-width: 768px) {
  .t-fitp-hero,
  .t-fitp-box,
  .t-fitp-unlocks,
  .t-fitp-game,
  .t-fitp-faq,
  .t-fitp-final { padding: 56px 20px; }

  .t-fitp-hero__inner {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .t-fitp-hero__media {
    position: static;
  }

  .t-fitp-hero__img-wrap { padding: 24px; }
  .t-fitp-hero__fact-n { font-size: 26px; }
  .t-fitp-hero__price { font-size: 28px; }

  .t-fitp-box__grid,
  .t-fitp-unlocks__grid { grid-template-columns: 1fr; }

  .t-fitp-game__inner {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .t-fitp-final::before { display: none; }

  .t-fitp-final__actions { flex-direction: column; gap: 12px; }
  .t-fitp-final__actions button,
  .t-fitp-final__actions a { width: 100%; text-align: center; }
}
/* END_SECTION:thinkly-fit-product */

/* START_SECTION:thinkly-fit-spotlight (INDEX:62) */
.t-fitspot {
  padding: 110px 64px;
  background: linear-gradient(135deg, #EEF0F8 0%, #E4E8F4 100%);
}

.t-fitspot__inner {
  max-width: 1000px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: center;
}

/* Visual side */
.t-fitspot__visual {
  background: #fff;
  border-radius: 16px;
  aspect-ratio: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 32px;
  box-shadow: 0 12px 48px rgba(114, 132, 184, 0.18);
  overflow: hidden;
}

.t-fitspot__img,
.t-fitspot__svg {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

/* Text side */
.t-fitspot__eye {
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  color: #7284B8;
  text-transform: uppercase;
  margin-bottom: 16px;
}

.t-fitspot__h {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(28px, 3.4vw, 40px);
  color: var(--navy);
  font-weight: 400;
  line-height: 1.15;
  letter-spacing: -0.02em;
  margin: 0 0 22px;
}

.t-fitspot__h em {
  color: #7284B8;
  font-style: italic;
}

.t-fitspot__body {
  font-family: 'Source Serif 4', serif;
  font-size: 16px;
  color: var(--muted);
  line-height: 1.85;
  margin-bottom: 28px;
}

.t-fitspot__body p { margin: 0 0 14px; }
.t-fitspot__body p:last-child { margin-bottom: 0; }
.t-fitspot__body strong {
  color: var(--text);
  font-weight: 600;
}

/* Stat cards */
.t-fitspot__facts {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-bottom: 30px;
}

.t-fitspot__fact {
  background: rgba(114, 132, 184, 0.12);
  padding: 16px;
  border-radius: 10px;
  text-align: center;
}

.t-fitspot__fact-n {
  font-family: 'DM Serif Display', serif;
  font-size: 36px;
  color: var(--navy);
  line-height: 1;
}

.t-fitspot__fact-l {
  font-family: 'Inter', sans-serif;
  font-size: 10px;
  letter-spacing: 0.14em;
  color: var(--muted);
  margin-top: 6px;
  font-weight: 700;
  text-transform: uppercase;
}

/* CTA */
.t-fitspot__cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--navy);
  color: #fff;
  padding: 14px 32px;
  border-radius: 25px;
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  letter-spacing: 0.03em;
  transition: background 0.2s, transform 0.2s;
}

.t-fitspot__cta:hover {
  background: var(--navy-mid, #243870);
  transform: translateY(-1px);
}

.t-fitspot__arrow {
  font-size: 16px;
  line-height: 1;
}

/* TABLET */
@media (max-width: 1024px) {
  .t-fitspot { padding: 80px 40px; }
  .t-fitspot__inner { gap: 40px; }
}

/* MOBILE */
@media (max-width: 768px) {
  .t-fitspot { padding: 64px 20px; }
  .t-fitspot__inner {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .t-fitspot__visual { padding: 20px; }
  .t-fitspot__h { font-size: 26px; }
  .t-fitspot__body { font-size: 15px; }
  .t-fitspot__fact-n { font-size: 30px; }
  .t-fitspot__cta { width: 100%; justify-content: center; }
}
/* END_SECTION:thinkly-fit-spotlight */

/* START_SECTION:thinkly-flow-series (INDEX:63) */
.t-kits {
  padding: 110px 64px;
  background: var(--bg-section);
  scroll-margin-top: -150px;
}

.t-kits-head {
  text-align: center;
  margin-bottom: 60px;
}

/* ── COMPARISON TABLE ── */
.t-kit-table {
  margin-bottom: 64px;
}

.t-kit-table-head {
  text-align: center;
  margin-bottom: 24px;
}

.t-kt-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border-radius: 16px;
  border: 1.5px solid var(--border);
  box-shadow: 0 8px 30px rgba(27, 46, 94, 0.03);
}

.t-kt {
  width: 100%;
  border-collapse: collapse;
  font-family: 'Inter', sans-serif;
  background: #fff;
  border-radius: 16px;
  overflow: hidden;
}

.t-kt thead tr {
  border-bottom: 2px solid var(--border);
}

.t-kt th {
  padding: 20px 20px 16px;
  text-align: center;
  vertical-align: bottom;
  width: 24%;
}

.t-kt th:first-child {
  text-align: left;
  width: 28%;
  padding-left: 24px;
}

.t-kt-kit-name {
  display: block;
  font-size: 14px;
  font-weight: 700;
  color: var(--navy);
  margin-bottom: 4px;
}

.t-kt th.t-kt-featured {
  background: var(--navy);
}

.t-kt th.t-kt-featured .t-kt-kit-name {
  color: #fff;
}

.t-kt tbody tr {
  border-bottom: 1px solid var(--border);
}

.t-kt tbody tr:last-child {
  border-bottom: none;
}

.t-kt tbody tr:hover td:not(.t-kt-featured) {
  background: var(--bg-warm);
}

.t-kt td {
  padding: 14px 20px;
  font-size: 13px;
  color: var(--muted);
  text-align: center;
  vertical-align: middle;
  line-height: 1.5;
  transition: all 0.2s ease;
}

.t-kt td.t-kt-label {
  text-align: left;
  font-weight: 600;
  color: var(--navy);
  padding-left: 24px;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.t-kt td.t-kt-featured {
  background: rgba(27, 46, 94, 0.04);
  font-weight: 600;
  color: var(--navy);
}

.t-kt-yes {
  color: var(--gold);
  font-size: 16px;
  font-weight: 700;
}

/* Add to cart row — buttons matching the featured column's visual weight */
.t-kt-action-row td {
  padding: 22px 14px 24px;
  vertical-align: middle;
}

.t-kt-add {
  display: inline-block;
  width: 100%;
  max-width: 180px;
  padding: 11px 20px;
  font-family: 'Inter', sans-serif;
  font-size: 12.5px;
  font-weight: 700;
  color: #fff;
  background: var(--navy);
  border: none;
  border-radius: 50px;
  cursor: pointer;
  letter-spacing: 0.02em;
  transition: all 0.2s;
}

.t-kt-add:hover {
  background: var(--navy-mid);
  transform: translateY(-1px);
}

.t-kt-add--feat {
  background: var(--gold);
  color: var(--navy-deep);
}

.t-kt-add--feat:hover {
  background: var(--gold-light);
  color: var(--navy-deep);
}

.t-kt-add.added {
  background: #2D8A4E;
  color: #fff;
  pointer-events: none;
}

/* ── TOOLTIP (i) PATTERN — shared by table block-types AND kit card descriptions ── */
.t-kt-tooltip-wrap {
  position: relative;
  display: inline-block;
}

.t-kt-tooltip-trigger {
  background: none;
  border: none;
  padding: 0;
  margin: 0;
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: var(--muted);
  cursor: help;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  line-height: 1.4;
  text-align: center;
}

.t-kt-featured .t-kt-tooltip-trigger {
  color: var(--navy);
  font-weight: 700;
}

.t-kt-info {
  font-size: 12px;
  opacity: 0.6;
  flex-shrink: 0;
}

.t-kt-tooltip-bubble {
  position: absolute;
  bottom: calc(100% + 10px);
  left: 50%;
  transform: translateX(-50%) translateY(4px);
  width: 220px;
  background: var(--navy);
  color: #fff;
  font-family: 'Source Serif 4', serif;
  font-size: 12.5px;
  line-height: 1.55;
  padding: 12px 14px;
  border-radius: 10px;
  text-align: left;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s, transform 0.2s;
  z-index: 20;
  box-shadow: 0 8px 24px rgba(27, 46, 94, 0.25);
}

.t-kt-tooltip-bubble::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 6px solid transparent;
  border-top-color: var(--navy);
}

.t-kt-tooltip-wrap:hover .t-kt-tooltip-bubble,
.t-kt-tooltip-wrap.t-kt-tooltip-open .t-kt-tooltip-bubble {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
  pointer-events: auto;
}

/* Kit-card-specific tooltip placement: left-aligned (not centered like the table)
   since it sits inside a vertical card body, not a narrow table column */
.t-kit-desc {
  margin-bottom: 12px;
}

.t-kit-desc-trigger {
  font-size: 13px;
  text-align: left;
  white-space: normal;
}

.t-kit-desc .t-kt-tooltip-bubble {
  left: 0;
  transform: translateY(4px);
  width: 240px;
}

.t-kit-desc .t-kt-tooltip-bubble::after {
  left: 20px;
  transform: none;
}

.t-kit-desc .t-kt-tooltip-wrap:hover .t-kt-tooltip-bubble,
.t-kit-desc .t-kt-tooltip-wrap.t-kt-tooltip-open .t-kt-tooltip-bubble {
  transform: translateY(0);
}

/* ── KIT CARDS ── */
.t-kits-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-bottom: 28px;
}

.t-kit {
  background: #fff;
  border-radius: 20px;
  overflow: hidden;
  border: 1.5px solid var(--border);
  transition: transform 0.25s, box-shadow 0.25s;
  position: relative;
  display: flex;
  flex-direction: column;
  cursor: none;
}

.t-kit:hover {
  transform: translateY(-8px);
  box-shadow: 0 24px 64px rgba(27, 46, 94, 0.1);
}

.t-kit--feat {
  border-color: var(--gold);
  box-shadow: 0 8px 40px rgba(245, 166, 35, 0.14);
}

.t-kit-badge {
  position: absolute;
  top: 14px;
  right: 14px;
  font-family: 'Inter', sans-serif;
  font-size: 10px;
  font-weight: 700;
  padding: 5px 12px;
  border-radius: 20px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  z-index: 2;
}

.t-b-e {
  background: rgba(27, 46, 94, 0.07);
  color: var(--navy);
}

.t-b-p {
  background: var(--gold);
  color: var(--navy-deep);
}

.t-b-m {
  background: rgba(27, 46, 94, 0.05);
  color: var(--navy);
}

.t-kit-img {
  height: 240px;
  overflow: hidden;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
}

.t-kit-img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: transform 0.4s;
}

.t-kit:hover .t-kit-img img {
  transform: scale(1.04);
}

.t-kit-body {
  padding: 26px;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.t-kit-name {
  font-family: 'DM Serif Display', serif;
  font-size: 24px;
  font-weight: 400;
  color: var(--navy);
  margin-bottom: 6px;
}

.t-kit-emotion {
  font-family: 'Source Serif 4', serif;
  font-size: 14px;
  font-style: italic;
  color: var(--muted);
  margin-bottom: 10px;
}

.t-kit-age {
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  font-weight: 600;
  color: var(--navy);
  opacity: 0.6;
  margin-bottom: 18px;
  letter-spacing: 0.04em;
}

.t-kit-price {
  font-family: 'Inter', sans-serif;
  font-size: 28px;
  font-weight: 800;
  color: var(--navy);
  margin-bottom: 16px;
  margin-top: auto;
}

.t-kit-price span {
  font-size: 13px;
  font-weight: 400;
  color: var(--muted);
}

.t-kit-btn {
  width: 100%;
  padding: 13px;
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 700;
  border-radius: 50px;
  border: none;
  cursor: none;
  transition: all 0.2s;
  letter-spacing: 0.02em;
  text-align: center;
  display: block;
  text-decoration: none;
}

.t-kb-p {
  background: var(--navy);
  color: #fff;
}

.t-kb-p:hover {
  background: var(--navy-mid);
  color: #fff;
}

.t-kb-o {
  background: transparent;
  color: var(--navy);
  border: 2px solid rgba(27, 46, 94, 0.2);
}

.t-kb-o:hover {
  background: var(--navy);
  color: #fff;
  border-color: var(--navy);
}

.t-kits-note {
  text-align: center;
  font-family: 'Source Serif 4', serif;
  font-size: 15px;
  color: var(--muted);
  font-style: italic;
  margin-top: 40px;
}

.t-kits-note a {
  color: var(--navy);
  font-style: normal;
  font-weight: 600;
  text-decoration: none;
  border-bottom: none; /* underline removed on all devices — was 1px solid gold */
}

/* ── RESPONSIVE ── */
@media (max-width: 1100px) {
  .t-kits-grid {
    grid-template-columns: 1fr 1fr;
    gap: 20px;
  }
}

@media (max-width: 768px) {
  .t-kits {
    padding: 72px 20px;
  }

  .t-kit-table {
    margin-bottom: 40px;
  }

  .t-kt th,
  .t-kt td {
    padding: 12px 10px;
    font-size: 12px;
  }

  .t-kt-action-row td {
    padding: 16px 6px 18px;
  }

  .t-kt-add {
    font-size: 11px;
    padding: 10px 8px;
    max-width: 100%;
    white-space: nowrap;
  }

  .t-kt th:first-child,
  .t-kt td.t-kt-label {
    padding-left: 14px;
    font-size: 11px;
  }

  .t-kt-kit-name {
    font-size: 13px;
  }

  .t-kt-tooltip-trigger {
    font-size: 11.5px;
  }

  .t-kt-tooltip-bubble {
    width: 180px;
    font-size: 11.5px;
    left: auto;
    right: -10px;
    transform: translateY(4px);
  }

  .t-kt-tooltip-bubble::after {
    left: auto;
    right: 16px;
    transform: none;
  }

  .t-kt-tooltip-wrap:hover .t-kt-tooltip-bubble,
  .t-kt-tooltip-wrap.t-kt-tooltip-open .t-kt-tooltip-bubble {
    transform: translateY(0);
  }

  /* Kit card tooltip keeps its left-aligned bubble on mobile too */
  .t-kit-desc-trigger {
    font-size: 12.5px;
  }

  .t-kit-desc .t-kt-tooltip-bubble {
    left: 0;
    right: auto;
    width: 220px;
  }

  .t-kit-desc .t-kt-tooltip-bubble::after {
    left: 20px;
    right: auto;
  }

  .t-kits-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .t-kit-img {
    height: 200px;
  }

  .t-kit-body {
    padding: 20px;
  }

  .t-kit-name {
    font-size: 22px;
  }

  .t-kit-price {
    font-size: 24px;
  }

  .t-kits-note {
    font-size: 14px;
  }
}
/* END_SECTION:thinkly-flow-series */

/* START_SECTION:thinkly-founder (INDEX:65) */
.t-founder {
  padding: 110px 64px;
  background: #F4EFE4;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 96px;
  align-items: center;
}
.t-founder__eyebrow {
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  font-weight: 700;
  color: #F5A623;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 24px;
}
.t-founder__hook {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(20px, 2.4vw, 28px);
  font-weight: 400;
  color: #1B2E5E;
  line-height: 1.45;
  margin-bottom: 28px;
  padding-left: 24px;
  border-left: 3px solid #F5A623;
}
.t-founder__body {
  font-family: 'Source Serif 4', serif;
  font-size: 16px;
  color: #6B6560;
  line-height: 1.9;
  margin-bottom: 24px;
}
.t-founder__body p { margin-bottom: 16px; }
.t-founder__body p:last-child { margin-bottom: 0; }
.t-founder__body em { font-style: italic; color: #1B2E5E; }
.t-founder__sig {
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: #1B2E5E;
  margin-bottom: 28px;
}
.t-founder__sig span { font-weight: 400; color: #6B6560; }
.t-founder__link {
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 700;
  color: #1B2E5E;
  text-decoration: none;
  border-bottom: 2px solid #F5A623;
  padding-bottom: 2px;
  letter-spacing: 0.04em;
}
.t-founder__link:hover { color: #F5A623; }
.t-founder__photos {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.t-founder__photo {
  border-radius: 16px;
  aspect-ratio: 3/4;
  background: linear-gradient(145deg, #E8DFC8, #F7F2E8);
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  padding: 6px;
  position: relative;
  /* overflow:hidden moved to .t-founder__photo-img below, so the label
     can now sit above the rounded corner instead of being clipped by it */
}
.t-founder__photo-img {
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
  border-radius: 16px;
  overflow: hidden;
}
.t-founder__photo-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.t-founder__photo-label {
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  font-weight: 700;
  color: #fff;
  background: rgba(27,46,94,0.7);
  padding: 4px 8px;
  border-radius: 7px;
  backdrop-filter: blur(4px);
  position: relative;
  z-index: 2;
  margin: -14px -14px 0 0;
}
.t-founder__photo-label span {
  display: block;
  font-size: 9px;
  font-weight: 400;
  color: rgba(255,255,255,0.7);
  margin-top: 1px;
}
@media (max-width: 1100px) { .t-founder { gap: 48px; padding: 80px 40px; } }
@media (max-width: 768px) {
  .t-founder { grid-template-columns: 1fr; padding: 56px 20px; gap: 36px; }
  .t-founder__photos { grid-template-columns: 1fr 1fr; gap: 12px; }
  .t-founder__photo { aspect-ratio: 1/1; }
  .t-founder__hook { font-size: clamp(18px, 5vw, 24px); }
  .t-founder__body { font-size: 15px; }
}
/* END_SECTION:thinkly-founder */

/* START_SECTION:thinkly-gifting-page (INDEX:66) */
.t-eye {
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  font-weight: 700;
  color: var(--gold);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 20px;
  display: block;
}

/* HERO */
.gf-hero {
  min-height: 88vh;
  padding: 80px 64px;
  background: var(--navy);
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
}

.gf-hero::before {
  content: '';
  position: absolute;
  bottom: -300px;
  right: -200px;
  width: 700px;
  height: 700px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(245,166,35,0.06) 0%, transparent 70%);
  pointer-events: none;
}

.gf-hero__inner {
  max-width: 1000px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: center;
  width: 100%;
  position: relative;
}

.gf-hero__h1 {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(38px, 5vw, 62px);
  font-weight: 400;
  color: #fff;
  line-height: 1.08;
  letter-spacing: -0.02em;
  margin-bottom: 20px;
}

.gf-hero__h1 em { font-style: italic; color: var(--gold); }
.gf-hero__h1 p { margin: 0; }

.gf-hero__sub {
  font-family: 'Source Serif 4', serif;
  font-size: clamp(15px, 1.8vw, 18px);
  color: rgba(255,255,255,0.65);
  line-height: 1.8;
  margin-bottom: 36px;
}

.gf-hero__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 36px;
}

.gf-tag {
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  font-weight: 600;
  color: rgba(255,255,255,0.6);
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.12);
  padding: 5px 12px;
  border-radius: 20px;
  letter-spacing: 0.04em;
}

.gf-hero__img {
  border-radius: 20px;
  overflow: hidden;
  background: var(--bg-warm);
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1 / 1;
  padding: 32px;
}

.gf-hero__img img { width: 100%; height: 100%; object-fit: contain; }

/* NOT JUST FOR KIDS */
.gf-notkids {
  padding: 100px 64px;
  background: #fff;
  display: flex;
  align-items: center;
}

.gf-notkids__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 96px;
  align-items: center;
  max-width: 1000px;
  margin: 0 auto;
  width: 100%;
}

.gf-notkids__h2 {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(28px, 3.5vw, 46px);
  font-weight: 400;
  color: var(--navy);
  line-height: 1.15;
  margin-bottom: 24px;
}

.gf-notkids__h2 em { font-style: italic; color: var(--gold); }

.gf-notkids__inner p {
  font-family: 'Source Serif 4', serif;
  font-size: 16px;
  color: var(--muted);
  line-height: 1.9;
  margin-bottom: 18px;
}

.gf-notkids__inner p strong { color: var(--text); font-weight: 600; }

.gf-compare-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 14px;
}

.gf-compare-card {
  background: var(--bg-section);
  border-radius: 14px;
  padding: 20px 18px;
  text-align: center;
}

.gf-compare-num {
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  font-weight: 700;
  color: var(--gold);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-bottom: 12px;
}

.gf-compare-title {
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 700;
  color: var(--navy);
  margin-bottom: 6px;
}

.gf-compare-text {
  font-family: 'Source Serif 4', serif;
  font-size: 12px;
  color: var(--muted);
  line-height: 1.6;
}

/* YOUR BRAND */
.gf-brand {
  padding: 100px 64px;
  background: var(--bg-section);
}

.gf-brand__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 96px;
  align-items: center;
  max-width: 1000px;
  margin: 0 auto;
}

.gf-brand__h2 {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(28px, 3.2vw, 42px);
  font-weight: 400;
  color: var(--navy);
  line-height: 1.15;
  margin-bottom: 24px;
}

.gf-brand__inner p {
  font-family: 'Source Serif 4', serif;
  font-size: 16px;
  color: var(--muted);
  line-height: 1.9;
  margin-bottom: 18px;
}

.gf-brand__inner p strong { color: var(--text); font-weight: 600; }

.gf-options-list {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.gf-option {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 18px 20px;
  background: #fff;
  border-radius: 14px;
  border: 1.5px solid var(--border);
}

.gf-option__icon { font-size: 22px; flex-shrink: 0; margin-top: 2px; }

.gf-option__title {
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 700;
  color: var(--navy);
  display: block;
  margin-bottom: 4px;
}

.gf-option__text {
  font-family: 'Source Serif 4', serif;
  font-size: 13px;
  color: var(--muted);
  line-height: 1.6;
}

/* VALUES */
.gf-values { padding: 80px 64px; background: var(--navy); }
.gf-values__inner { max-width: 1000px; margin: 0 auto; }
.gf-values__head { text-align: center; margin-bottom: 56px; }

.gf-values__head h2 {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(26px, 3.5vw, 42px);
  font-weight: 400;
  color: #fff;
  letter-spacing: -0.02em;
  margin-bottom: 12px;
}

.gf-values__head p {
  font-family: 'Source Serif 4', serif;
  font-size: 16px;
  color: rgba(255,255,255,0.5);
  font-style: italic;
}

.gf-values__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.gf-value-card {
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 16px;
  padding: 32px 26px;
}

.gf-value-card__icon { font-size: 28px; margin-bottom: 18px; display: block; }

.gf-value-card__title {
  font-family: 'DM Serif Display', serif;
  font-size: 20px;
  font-weight: 400;
  color: #fff;
  margin-bottom: 12px;
}

.gf-value-card__text {
  font-family: 'Source Serif 4', serif;
  font-size: 14px;
  color: rgba(255,255,255,0.55);
  line-height: 1.85;
}

.gf-value-card__text strong { color: rgba(255,255,255,0.85); font-weight: 600; }

/* WHO ORDERS */
.gf-who { padding: 100px 64px; background: #fff; }
.gf-who__inner { max-width: 1000px; margin: 0 auto; }
.gf-who__head { text-align: center; margin-bottom: 56px; }

.gf-who__head h2 {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(26px, 3.5vw, 42px);
  font-weight: 400;
  color: var(--navy);
  letter-spacing: -0.02em;
  margin-bottom: 12px;
}

.gf-who__head p {
  font-family: 'Source Serif 4', serif;
  font-size: 16px;
  color: var(--muted);
  font-style: italic;
}

.gf-who__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.gf-who-card {
  background: var(--bg-section);
  border-radius: 14px;
  padding: 28px 22px;
  text-align: center;
}

.gf-who-card__icon { font-size: 28px; margin-bottom: 14px; display: block; }

.gf-who-card__title {
  font-family: 'DM Serif Display', serif;
  font-size: 18px;
  font-weight: 400;
  color: var(--navy);
  margin-bottom: 8px;
}

.gf-who-card__text {
  font-family: 'Source Serif 4', serif;
  font-size: 13px;
  color: var(--muted);
  line-height: 1.7;
}

/* ENQUIRY FORM */
.gf-enquiry {
  padding: 100px 64px;
  background: var(--navy);
  position: relative;
  overflow: hidden;
  scroll-margin-top: 100px;
}

.gf-enquiry::before {
  content: '';
  position: absolute;
  top: -300px;
  left: 50%;
  transform: translateX(-50%);
  width: 900px;
  height: 600px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(245,166,35,0.06) 0%, transparent 70%);
  pointer-events: none;
}

.gf-enquiry__inner { max-width: 700px; margin: 0 auto; position: relative; }
.gf-enquiry__head { text-align: center; margin-bottom: 48px; }

.gf-enquiry__head h2 {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(28px, 3.5vw, 44px);
  font-weight: 400;
  color: #fff;
  letter-spacing: -0.02em;
  margin-bottom: 12px;
}

.gf-enquiry__head h2 em { font-style: italic; color: var(--gold); }

.gf-enquiry__head p {
  font-family: 'Source Serif 4', serif;
  font-size: 16px;
  color: rgba(255,255,255,0.5);
  font-style: italic;
  line-height: 1.7;
}

.gf-form-card {
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 20px;
  padding: 48px;
}

.gf-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 20px; }
.gf-form-row--full { grid-template-columns: 1fr; }
.gf-form-group { display: flex; flex-direction: column; gap: 8px; }

.gf-form-label {
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  font-weight: 600;
  color: rgba(255,255,255,0.7);
  letter-spacing: 0.04em;
}

.gf-req { color: var(--gold); margin-left: 3px; }

.gf-form-input {
  background: rgba(255,255,255,0.07);
  border: 1.5px solid rgba(255,255,255,0.12);
  border-radius: 10px;
  padding: 13px 16px;
  font-family: 'Source Serif 4', serif;
  font-size: 15px;
  color: #fff;
  outline: none;
  transition: border-color 0.2s, background 0.2s;
  width: 100%;
}

.gf-form-input::placeholder { color: rgba(255,255,255,0.3); }
.gf-form-input:focus { border-color: rgba(245,166,35,0.6); background: rgba(255,255,255,0.1); }

.gf-form-select {
  background: rgba(255,255,255,0.07);
  border: 1.5px solid rgba(255,255,255,0.12);
  border-radius: 10px;
  padding: 13px 16px;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  color: #fff;
  outline: none;
  transition: border-color 0.2s;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1L6 7L11 1' stroke='rgba(255,255,255,0.5)' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  width: 100%;
}

.gf-form-select:focus { border-color: rgba(245,166,35,0.6); }
.gf-form-select option { background: var(--navy-deep); color: #fff; }

.gf-form-textarea {
  background: rgba(255,255,255,0.07);
  border: 1.5px solid rgba(255,255,255,0.12);
  border-radius: 10px;
  padding: 13px 16px;
  font-family: 'Source Serif 4', serif;
  font-size: 15px;
  color: #fff;
  outline: none;
  transition: border-color 0.2s;
  resize: vertical;
  min-height: 100px;
  line-height: 1.6;
  width: 100%;
}

.gf-form-textarea::placeholder { color: rgba(255,255,255,0.3); }
.gf-form-textarea:focus { border-color: rgba(245,166,35,0.6); background: rgba(255,255,255,0.1); }

.gf-form-submit {
  width: 100%;
  padding: 16px;
  background: var(--gold);
  color: var(--navy-deep);
  font-family: 'Inter', sans-serif;
  font-size: 16px;
  font-weight: 700;
  border: none;
  border-radius: 50px;
  cursor: pointer;
  letter-spacing: 0.02em;
  transition: all 0.2s;
  margin-top: 8px;
}

.gf-form-submit:hover { background: var(--gold-light); transform: translateY(-2px); }

.gf-form-note {
  font-family: 'Source Serif 4', serif;
  font-size: 13px;
  color: rgba(255,255,255,0.35);
  text-align: center;
  margin-top: 16px;
  font-style: italic;
  line-height: 1.6;
}

.gf-form-success { display: none; text-align: center; padding: 48px 32px; }
.gf-form-success__icon { font-size: 48px; margin-bottom: 20px; display: block; }

.gf-form-success h3 {
  font-family: 'DM Serif Display', serif;
  font-size: 28px;
  font-weight: 400;
  color: #fff;
  margin-bottom: 12px;
}

.gf-form-success p {
  font-family: 'Source Serif 4', serif;
  font-size: 16px;
  color: rgba(255,255,255,0.6);
  line-height: 1.7;
  font-style: italic;
}

/* PROMISE */
.gf-promise { padding: 80px 64px; background: var(--bg-section); }
.gf-promise__inner { max-width: 1000px; margin: 0 auto; }
.gf-promise__head { text-align: center; margin-bottom: 48px; }

.gf-promise__head h2 {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(24px, 3vw, 38px);
  font-weight: 400;
  color: var(--navy);
  letter-spacing: -0.02em;
}

.gf-promise__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.gf-promise-item {
  text-align: center;
  padding: 28px 20px;
  background: #fff;
  border-radius: 14px;
  border: 1.5px solid var(--border);
}

.gf-promise-item__icon { font-size: 28px; margin-bottom: 12px; display: block; }

.gf-promise-item__label {
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  font-weight: 700;
  color: var(--navy);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 8px;
}

.gf-promise-item__text {
  font-family: 'Source Serif 4', serif;
  font-size: 13px;
  color: var(--muted);
  line-height: 1.6;
}

/* TABLET */
@media (max-width: 960px) {
  .gf-hero, .gf-notkids, .gf-brand, .gf-values, .gf-who, .gf-enquiry, .gf-promise {
    padding: 64px 24px;
  }
  .gf-hero__inner, .gf-notkids__inner, .gf-brand__inner { grid-template-columns: 1fr; gap: 40px; }
  .gf-hero__img { max-width: 360px; margin: 0 auto; }
  .gf-values__grid, .gf-who__grid, .gf-promise__grid { grid-template-columns: 1fr 1fr; }
  .gf-compare-grid { grid-template-columns: 1fr; }
  .gf-form-row { grid-template-columns: 1fr; }
  .gf-form-card { padding: 28px 24px; }
}

/* MOBILE */
@media (max-width: 768px) {
  .gf-hero::before { display: none; }
  .gf-enquiry::before { display: none; }
  .gf-hero, .gf-notkids, .gf-brand, .gf-values, .gf-who, .gf-enquiry, .gf-promise {
    padding: 56px 20px;
  }
  .gf-values__grid, .gf-who__grid, .gf-promise__grid { grid-template-columns: 1fr; }
}
/* END_SECTION:thinkly-gifting-page */

/* START_SECTION:thinkly-gifting (INDEX:67) */
.t-gifting-strip {
  background: #121F42;
  padding: 48px 64px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 48px;
  align-items: center;
}
.t-gifting-strip__eye {
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  font-weight: 700;
  color: #F5A623;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 12px;
}
.t-gifting-strip__h3 {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(22px, 2.8vw, 34px);
  font-weight: 400;
  color: #fff;
  line-height: 1.2;
  margin-bottom: 10px;
}
.t-gifting-strip__body {
  font-family: 'Source Serif 4', serif;
  font-size: 15px;
  color: rgba(255,255,255,0.55);
  line-height: 1.7;
  margin: 0;
}
@media (max-width: 768px) {
  .t-gifting-strip {
    grid-template-columns: 1fr;
    padding: 40px 20px;
    gap: 24px;
    text-align: center;
  }
  .t-btn--gifting { width: 100%; text-align: center; }
}
/* END_SECTION:thinkly-gifting */

/* START_SECTION:thinkly-header (INDEX:68) */
/* Hide Dawn's default header-group so ours takes over */
.shopify-section-group-header-group {
  display: none !important;
}

/* ── HEADER ACTIONS WRAPPER ── */
.t-header__actions {
  display: flex;
  align-items: center;
  gap: 14px;
}

/* ── CART DROPDOWN ──
   (icon button + badge styling reuse the existing
   .t-header__cart / .t-cart-badge rules already in thinkly-theme.css) */
.t-cart {
  position: relative;
}

.t-cart__dropdown {
  position: absolute;
  top: calc(100% + 12px);
  right: 0;
  width: 360px;
  max-width: 90vw;
  background: #fff;
  border-radius: 16px;
  border: 1px solid rgba(27,46,94,0.08);
  box-shadow: 0 16px 48px rgba(27,46,94,0.18);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
  z-index: 500;
  overflow: hidden;
}
.t-cart__dropdown.open {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.t-cart__header {
  font-family: 'DM Serif Display', serif;
  font-size: 18px;
  color: #1B2E5E;
  padding: 20px 20px 14px;
  border-bottom: 1px solid rgba(27,46,94,0.08);
}
.t-cart__items {
  max-height: 340px;
  overflow-y: auto;
  padding: 6px 16px;
}
.t-cart__loading,
.t-cart__empty {
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  color: #6B6560;
  text-align: center;
  padding: 32px 12px;
  line-height: 1.6;
}
.t-cart__empty a {
  color: #1B2E5E;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.t-cart__item {
  display: flex;
  gap: 12px;
  padding: 14px 4px;
  border-bottom: 1px solid rgba(27,46,94,0.06);
  align-items: center;
}
.t-cart__item:last-child {
  border-bottom: none;
}
.t-cart__item-img {
  width: 56px;
  height: 56px;
  border-radius: 10px;
  background: #F7F2E8;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.t-cart__item-img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.t-cart__item-body {
  flex: 1;
  min-width: 0;
}
.t-cart__item-name {
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 700;
  color: #1B2E5E;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.t-cart__item-variant {
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  color: #6B6560;
  margin-top: 2px;
}
.t-cart__item-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 8px;
}
.t-cart__qty {
  display: flex;
  align-items: center;
  gap: 8px;
  border: 1px solid rgba(27,46,94,0.15);
  border-radius: 50px;
  padding: 2px 8px;
}
.t-cart__qty-btn {
  background: none;
  border: none;
  color: #1B2E5E;
  font-size: 14px;
  font-weight: 700;
  cursor: none;
  width: 18px;
  height: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}
.t-cart__qty-val {
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  font-weight: 700;
  color: #1B2E5E;
  min-width: 12px;
  text-align: center;
}
.t-cart__item-price {
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 800;
  color: #1B2E5E;
}
.t-cart__item-remove {
  background: none;
  border: none;
  color: #6B6560;
  font-size: 13px;
  cursor: none;
  padding: 4px;
  flex-shrink: 0;
  transition: color 0.2s;
}
.t-cart__item-remove:hover {
  color: #C0392B;
}
.t-cart__footer {
  padding: 16px 20px 20px;
  border-top: 1px solid rgba(27,46,94,0.08);
}
.t-cart__footer--empty {
  display: none;
}
.t-cart__subtotal {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-family: 'Inter', sans-serif;
  margin-bottom: 14px;
}
.t-cart__subtotal span:first-child {
  font-size: 13px;
  color: #6B6560;
}
.t-cart__subtotal span:last-child {
  font-size: 18px;
  font-weight: 800;
  color: #1B2E5E;
}
.t-cart__checkout-btn {
  display: block;
  width: 100%;
  text-align: center;
  background: #F5A623;
  color: #121F42;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  font-weight: 700;
  padding: 14px;
  border-radius: 50px;
  text-decoration: none;
  margin-bottom: 10px;
  transition: all 0.2s;
}
.t-cart__checkout-btn:hover {
  background: #FBBF4A;
  transform: translateY(-1px);
}
.t-cart__view-link {
  display: block;
  text-align: center;
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  color: #1B2E5E;
  text-decoration: underline;
  text-underline-offset: 3px;
  opacity: 0.7;
}
.t-cart__view-link:hover {
  opacity: 1;
}

/* ── MOBILE ── */
@media (max-width: 900px) {
  .t-header__actions {
    gap: 10px;
  }
}

@media (max-width: 768px) {
  .t-header__actions {
    gap: 8px;
  }
}

@media (max-width: 480px) {
  .t-header {
    /* backdrop-filter creates a containing block for position:fixed
       descendants, which was trapping the cart dropdown near the header
       instead of the real viewport. Disabling it here fixes that. */
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    background: rgba(255, 255, 255, 0.99) !important;
  }

  .t-cart__dropdown {
    position: fixed;
    top: auto;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    max-width: none;
    max-height: 80vh;
    display: flex;
    flex-direction: column;
    border-radius: 20px 20px 0 0;
  }
  .t-cart__header {
    flex-shrink: 0;
  }
  .t-cart__items {
    flex: 1;
    min-height: 0;
    max-height: none;
  }
  .t-cart__footer {
    flex-shrink: 0;
  }
}
/* END_SECTION:thinkly-header */

/* START_SECTION:thinkly-hero-video-v2 (INDEX:69) */
.t-hero-v2 {
  position: relative;
  min-height: 640px;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: var(--navy);
}

.t-hero-v2__media {
  position: absolute;
  inset: 0;
  z-index: 1;
}

.t-hero-v2__slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 0.6s ease;
  pointer-events: none;
}

.t-hero-v2__slide.is-active {
  opacity: 1;
  pointer-events: auto;
}

.t-hero-v2__video,
.t-hero-v2__poster {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.t-hero-v2__placeholder {
  width: 100%;
  height: 100%;
  min-height: 640px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--navy);
  color: rgba(255, 255, 255, 0.4);
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  letter-spacing: 0.06em;
}

.t-hero-v2__slide-label {
  position: absolute;
  bottom: 24px;
  left: 24px;
  z-index: 3;
  background: rgba(27, 46, 94, 0.75);
  backdrop-filter: blur(8px);
  color: #fff;
  padding: 7px 14px;
  border-radius: 20px;
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.t-hero-v2__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(15, 31, 66, 0.55) 0%, rgba(15, 31, 66, 0.35) 40%, rgba(15, 31, 66, 0.65) 100%);
  z-index: 2;
  pointer-events: none;
}

/* Carousel controls */
.t-hero-v2__arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 4;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.15);
  border: 1px solid rgba(255, 255, 255, 0.28);
  color: #fff;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  backdrop-filter: blur(8px);
  transition: background 0.2s;
  display: flex;
  align-items: center;
  justify-content: center;
}

.t-hero-v2__arrow:hover {
  background: rgba(255, 255, 255, 0.28);
}

.t-hero-v2__arrow--prev { left: 24px; }
.t-hero-v2__arrow--next { right: 24px; }

.t-hero-v2__dots {
  position: absolute;
  bottom: 28px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 4;
  display: flex;
  gap: 8px;
  align-items: center;
}

.t-hero-v2__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.4);
  border: none;
  padding: 0;
  cursor: pointer;
  transition: all 0.3s;
}

.t-hero-v2__dot.is-active {
  background: var(--gold);
  width: 26px;
  border-radius: 4px;
}

/* Content */
.t-hero-v2__content {
  position: relative;
  z-index: 3;
  width: 100%;
  padding: 100px 64px;
  color: #fff;
}

.t-hero-v2__inner {
  max-width: 720px;
  margin: 0 auto;
  text-align: center;
}

.t-hero-v2__eyebrow {
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.15em;
  color: var(--gold);
  text-transform: uppercase;
  margin-bottom: 20px;
}

.t-hero-v2__title {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(36px, 5.4vw, 64px);
  font-weight: 400;
  line-height: 1.08;
  letter-spacing: -0.02em;
  margin: 0 0 24px;
  color: #fff;
}

.t-hero-v2__title p { margin: 0; }
.t-hero-v2__title em {
  font-style: italic;
  color: var(--gold);
}

.t-hero-v2__subtitle {
  font-family: 'Source Serif 4', serif;
  font-style: italic;
  font-size: clamp(15px, 1.4vw, 18px);
  color: rgba(255, 255, 255, 0.82);
  max-width: 560px;
  margin: 0 auto 36px;
  line-height: 1.7;
}

.t-hero-v2__cta {
  display: inline-block;
  background: var(--gold);
  color: var(--navy-deep, #0F1F42);
  padding: 15px 34px;
  border-radius: 50px;
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-decoration: none;
  transition: all 0.2s;
}

.t-hero-v2__cta:hover {
  background: var(--gold-light, #FBBF4A);
  transform: translateY(-1px);
}

/* TABLET */
@media (max-width: 1024px) {
  .t-hero-v2 { min-height: 560px; }
  .t-hero-v2__content { padding: 80px 40px; }
  .t-hero-v2__arrow { width: 40px; height: 40px; }
  .t-hero-v2__arrow--prev { left: 16px; }
  .t-hero-v2__arrow--next { right: 16px; }
}

/* MOBILE */
@media (max-width: 768px) {
  .t-hero-v2 { min-height: 520px; }
  .t-hero-v2__content { padding: 60px 20px 80px; }
  .t-hero-v2__arrow {
    width: 36px;
    height: 36px;
    font-size: 18px;
    top: auto;
    bottom: 24px;
    transform: none;
  }
  .t-hero-v2__arrow--prev { left: 20px; }
  .t-hero-v2__arrow--next { right: 20px; }
  .t-hero-v2__dots { bottom: 34px; }
  .t-hero-v2__slide-label { bottom: 88px; left: 20px; font-size: 10px; padding: 6px 12px; }
  .t-hero-v2__eyebrow { font-size: 10px; margin-bottom: 16px; }
  .t-hero-v2__title { font-size: clamp(28px, 8vw, 40px); }
  .t-hero-v2__subtitle { font-size: 14px; margin-bottom: 28px; }
}
/* END_SECTION:thinkly-hero-video-v2 */

/* START_SECTION:thinkly-hero (INDEX:70) */
/* ── SECTION LAYOUT ── */
.t-hero {
  min-height: 88vh;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  padding: 40px 64px 52px;
  gap: 56px;
  background: #fff;
  position: relative;
  overflow: hidden;
}

.t-hero::after {
  content: '';
  position: absolute;
  top: -300px; right: -200px;
  width: 700px; height: 700px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(245,166,35,0.05) 0%, transparent 70%);
  pointer-events: none;
}

/* ── BADGE ── */
.t-hero__badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(245,166,35,0.1);
  border: 1px solid rgba(245,166,35,0.28);
  border-radius: 40px;
  padding: 6px 16px;
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  font-weight: 700;
  color: #F5A623;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-bottom: 24px;
}

.t-hero__badge-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: #F5A623;
  animation: thinklyBlink 1.6s ease-in-out infinite;
  flex-shrink: 0;
}

@keyframes thinklyBlink {
  0%, 100% { opacity: 1; }
  50%       { opacity: 0.2; }
}

/* ── HEADING ──
   font-weight: 700 forces browser to synthesize bold on DM Serif Display
   (which only has weight 400) — this matches how the HTML file rendered it.
   Each word is a display:block span so line-height is precisely controlled
   per-line, eliminating the extra inline-box gap that <br> tags caused. ── */
.t-hero__heading {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  font-family: 'DM Serif Display', Georgia, serif !important;
  font-size: clamp(54px, 5.8vw, 76px) !important;
  font-weight: 400 !important;
  color: #1B2E5E !important;
  letter-spacing: -0.025em !important;
  margin: 0 0 20px !important;
  padding: 0 !important;
  line-height: 1 !important;
}

.t-hero__line {
  display: block !important;
  line-height: 1.0 !important;
  font-weight: 400 !important;
  font-style: normal !important;
  color: #1B2E5E !important;
}

.t-hero__line--em {
  font-style: italic !important;
  color: #F5A623 !important;
}

/* ── HOOK (italic muted subtitle) ── */
.t-hero__hook {
  font-family: 'Source Serif 4', Georgia, serif !important;
  font-size: clamp(20px, 1.8vw, 20px) !important;
  font-weight: 400 !important;
  color: #6B6560 !important;
  line-height: 1.5 !important;
  max-width: 380px;
  margin: 0 0 6px !important;
  font-style: italic !important;
  padding: 0 !important;
  letter-spacing: normal !important;
}

/* ── PAYOFF (bold dark closing line) ── */
.t-hero__payoff {
  font-family: 'Source Serif 4', Georgia, serif !important;
  font-size: clamp(20px, 1.8vw, 20px) !important;
  font-weight: 600 !important;
  color: #1B2E5E !important;
  line-height: 1.5 !important;
  margin: 0 0 36px !important;
  font-style: normal !important;
  padding: 0 !important;
  letter-spacing: normal !important;
}

/* ── CTA BUTTON ── */
.t-hero__btns {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 36px;
  align-items: flex-start;
}

.t-hero__btns .t-btn {
  padding: 12px 32px !important;
  font-size: 14px !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 700 !important;
  border-radius: 50px !important;
  background: #1B2E5E !important;
  color: #fff !important;
  text-decoration: none !important;
  display: inline-block !important;
  letter-spacing: 0.02em !important;
  line-height: 1.4 !important;
  border: none !important;
  transition: background 0.2s !important;
  box-shadow: none !important;
}

.t-hero__btns .t-btn:hover {
  background: #243870 !important;
  transform: none !important;
}

.t-hero__price-note {
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  color: #6B6560;
  letter-spacing: 0.02em;
  padding-left: 2px;
}

/* ── SOCIAL PROOF ── */
.t-hero__proof {
  display: flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
}

.t-hero__avatars {
  display: flex;
}

.t-hero__av {
  width: 30px !important;
  height: 30px !important;
  border-radius: 50% !important;
  background: #E8DFC8 !important;
  border: 2px solid #fff !important;
  margin-left: -7px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  color: #1B2E5E !important;
  flex-shrink: 0;
  line-height: 1 !important;
  text-decoration: none !important;
}

.t-hero__av:first-child { margin-left: 0 !important; }

.t-hero__proof-txt {
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  color: #6B6560;
}

.t-hero__proof-txt strong {
  color: #1A1A1A;
  font-weight: 600;
  display: block;
}

.t-hero__proof-link {
  color: #1B2E5E;
  text-decoration: underline;
  font-weight: 600;
  margin-top: 2px;
  font-size: 11px;
  display: block;
}

/* ── MEDIA ── */
.t-hero__media {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

.t-hero__media-wrap {
  width: 100%;
  max-width: 580px;
  aspect-ratio: 1 / 1;
  border-radius: 28px;
  overflow: hidden;
  background: #F7F2E8;
  position: relative;
}

.t-hero__media-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.t-hero__media-wrap video {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
}

.t-hero__placeholder {
  width: 100%; height: 100%;
}

/* ── FLOATING CARDS ── */
.t-hero__float {
  position: absolute;
  border-radius: 14px;
  padding: 10px 14px;
  display: flex;
  align-items: center;
  gap: 10px;
  box-shadow: 0 8px 32px rgba(27,46,94,0.14);
  white-space: nowrap;
}

.t-hero__float--light {
  bottom: 24px;
  left: -16px;
  background: #fff;
}

.t-hero__float--dark {
  top: 24px;
  right: -12px;
  background: #1B2E5E;
}

.t-hero__float-icon {
  width: 32px; height: 32px;
  border-radius: 8px;
  background: rgba(245,166,35,0.12);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  flex-shrink: 0;
}

.t-hero__float-strong {
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  font-weight: 700;
  color: #1B2E5E;
  display: block;
  line-height: 1.8;
}

.t-hero__float-strong--dark { color: #fff; }

.t-hero__float-sub {
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  color: #6B6560;
  line-height: 1.8;
  display: block;
}

.t-hero__float-sub--dark { color: rgba(255,255,255,0.55); }

/* ── MOBILE ── */
@media (max-width: 768px) {
  .t-hero {
    grid-template-columns: 1fr;
    padding: 28px 20px 44px;
    min-height: auto;
    gap: 28px;
  }

  .t-hero__media { order: -1; }

  .t-hero__media-wrap {
    max-width: 100%;
    aspect-ratio: 4 / 3;
    border-radius: 20px;
  }

  .t-hero__float { display: none !important; }

  .t-hero__heading {
    font-size: clamp(40px, 10vw, 54px) !important;
    margin-bottom: 14px !important;
  }

  .t-hero__hook {
    font-size: 16px !important;
    max-width: 100%;
    margin-bottom: 4px !important;
  }

  .t-hero__payoff {
    font-size: 16px !important;
    margin-bottom: 24px !important;
  }

  .t-hero__btns {
    align-items: stretch;
    margin-bottom: 28px;
  }

  .t-hero__btns .t-btn {
    width: 100% !important;
    text-align: center !important;
  }

  .t-hero__price-note { text-align: center; }

  .t-hero__proof {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
}
/* END_SECTION:thinkly-hero */

/* START_SECTION:thinkly-marbles-product (INDEX:71) */
.tp-breadcrumb {
  padding: 14px 64px;
  background: #F4EFE4;
  border-bottom: 1px solid rgba(27,46,94,0.08);
}
.tp-breadcrumb__inner {
  display: flex; align-items: center; gap: 8px;
  font-family: 'Inter', sans-serif; font-size: 12px; color: #6B6560;
}
.tp-breadcrumb a { color: #1B2E5E; text-decoration: none; }
.tp-breadcrumb a:hover { color: #F5A623; }
.tp-breadcrumb__sep { opacity: 0.4; }
.tp-breadcrumb__current { color: #1B2E5E; font-weight: 600; }

.mp-hero {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 70vh;
  background: #fff;
}

.mp-img-side {
  position: sticky;
  top: 0;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px 32px 40px 64px;
  background: #F7F2E8;
}

.mp-main-img {
  width: 100%;
  max-width: 480px;
  aspect-ratio: 1 / 1;
  border-radius: 20px;
  overflow: hidden;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}

.mp-main-img img { width: 100%; height: 100%; object-fit: contain; }

.mp-buy-side {
  padding: 64px 64px 64px 52px;
  display: flex;
  flex-direction: column;
}

.mp-eye {
  font-family: 'Inter', sans-serif; font-size: 11px; font-weight: 700;
  color: #F5A623; letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: 10px;
}

.mp-name {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(32px, 3.8vw, 48px);
  font-weight: 400; color: #1B2E5E;
  line-height: 1.08; letter-spacing: -0.02em; margin-bottom: 12px;
}

.mp-emotion {
  font-family: 'Source Serif 4', serif; font-size: 16px; font-style: italic;
  color: #6B6560; margin-bottom: 28px; line-height: 1.6;
}

.mp-variant-pills { display: flex; gap: 10px; margin-bottom: 24px; }

.mp-vpill {
  flex: 1;
  font-family: 'Inter', sans-serif; font-size: 13px; font-weight: 700;
  padding: 14px 16px; border-radius: 14px;
  border: 2px solid rgba(27,46,94,0.15); color: #1B2E5E;
  cursor: pointer; transition: all 0.2s;
  display: flex; flex-direction: column; align-items: center; gap: 4px;
  text-align: center;
}

.mp-vpill-input { display: none; }
.mp-vpill:hover { border-color: #1B2E5E; }
.mp-vpill.active { background: #1B2E5E; color: #fff; border-color: #1B2E5E; }
.mp-vpill-price { font-size: 12px; font-weight: 500; opacity: 0.75; }

.mp-price-wrap {
  margin-bottom: 22px; padding: 18px 22px;
  background: #F7F2E8; border-radius: 14px;
}

.mp-price {
  font-family: 'Inter', sans-serif; font-size: 32px;
  font-weight: 800; color: #1B2E5E; line-height: 1;
}

.mp-price-sub { font-family: 'Inter', sans-serif; font-size: 13px; color: #6B6560; margin-top: 5px; }
.mp-price-shipping { font-family: 'Inter', sans-serif; font-size: 12px; color: #2D8A4E; font-weight: 600; margin-top: 4px; }

.mp-buy-btn {
  width: 100%; padding: 18px; font-family: 'Inter', sans-serif;
  font-size: 16px; font-weight: 700; border: none; border-radius: 50px;
  cursor: pointer; letter-spacing: 0.02em; transition: all 0.25s;
  margin-bottom: 24px; background: #1B2E5E; color: #fff;
}

.mp-buy-btn:hover { background: #243870; transform: translateY(-2px); }

.mp-desc {
  font-family: 'Source Serif 4', serif; font-size: 14px; color: #6B6560;
  line-height: 1.8;
}

.mp-zone-eye {
  font-family: 'Inter', sans-serif; font-size: 11px; font-weight: 700;
  color: #F5A623; letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: 16px;
}

/* COMPATIBILITY */
.mp-compat { padding: 80px 64px; background: #F4EFE4; }
.mp-compat__inner { max-width: 760px; margin: 0 auto; text-align: center; }
.mp-compat__h2 {
  font-family: 'DM Serif Display', serif; font-size: clamp(24px, 3vw, 36px);
  font-weight: 400; color: #1B2E5E; margin-bottom: 32px; line-height: 1.2;
}
.mp-compat-grid {
  display: flex; justify-content: center; gap: 24px; margin-bottom: 24px; flex-wrap: wrap;
}
.mp-compat-item {
  display: flex; align-items: center; gap: 8px;
  font-family: 'Inter', sans-serif; font-size: 14px; font-weight: 700; color: #1B2E5E;
  background: #fff; padding: 12px 20px; border-radius: 50px; border: 1px solid rgba(27,46,94,0.1);
}
.mp-compat-check { color: #F5A623; font-weight: 700; }
.mp-compat-note {
  font-family: 'Source Serif 4', serif; font-size: 15px; color: #6B6560;
  font-style: italic; line-height: 1.7;
}

/* CARE */
.mp-care { padding: 80px 64px; background: #fff; }
.mp-care__inner { max-width: 900px; margin: 0 auto; text-align: center; }
.mp-care__h2 {
  font-family: 'DM Serif Display', serif; font-size: clamp(24px, 3vw, 36px);
  font-weight: 400; color: #1B2E5E; margin-bottom: 40px; line-height: 1.2;
}
.mp-care-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; text-align: left;
}
.mp-care-item {
  background: #F7F2E8; border-radius: 16px; padding: 24px;
}
.mp-care-icon { font-size: 26px; margin-bottom: 14px; display: block; }
.mp-care-title {
  font-family: 'Inter', sans-serif; font-size: 13px; font-weight: 700; color: #1B2E5E; margin-bottom: 8px;
}
.mp-care-text {
  font-family: 'Source Serif 4', serif; font-size: 13px; color: #6B6560; line-height: 1.65;
}

@media (max-width: 1024px) {
  .mp-hero { grid-template-columns: 1fr; min-height: auto; }
  .mp-img-side { position: relative; height: auto; padding: 40px 32px; }
  .mp-buy-side { padding: 40px 32px; }
  .tp-breadcrumb { padding: 12px 32px; }
  .mp-care-grid { grid-template-columns: 1fr; }
}

@media (max-width: 768px) {
  .tp-breadcrumb { padding: 10px 16px; }
  .mp-img-side { padding: 24px 16px; }
  .mp-buy-side { padding: 24px 16px; }
  .mp-name { font-size: clamp(26px, 8vw, 36px); }
  .mp-compat, .mp-care { padding: 56px 20px; }
  .mp-compat-grid { gap: 12px; }
}
/* END_SECTION:thinkly-marbles-product */

/* START_SECTION:thinkly-owned-section (INDEX:72) */
.t-owned {
  padding: 90px 64px;
  background: var(--navy);
}

.t-owned__inner {
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: center;
}

.t-owned__inner.has-no-media {
  grid-template-columns: 1fr;
  text-align: center;
}

.t-owned__inner.has-no-media .t-owned__text {
  max-width: 680px;
  margin: 0 auto;
}

.t-owned-h2-wrap {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(26px, 3.8vw, 50px);
  font-weight: 400;
  color: #fff;
  line-height: 1.2;
  letter-spacing: -0.01em;
  margin: 0 0 20px;
}

.t-owned-h2-wrap p {
  margin: 0;
}

.t-owned-h2-wrap em {
  font-style: italic;
  color: var(--gold);
}

.t-owned-sub {
  font-family: 'Source Serif 4', serif;
  font-size: 15px;
  color: rgba(255, 255, 255, 0.5);
  margin: 0 0 8px;
  line-height: 1.75;
  font-style: italic;
}

.t-owned-sub--muted {
  margin-top: 20px;
  color: rgba(255, 255, 255, 0.4);
}

.t-owned__media {
  display: flex;
  align-items: center;
  justify-content: center;
}

.t-owned__media img {
  width: 100%;
  height: auto;
  max-width: 500px;
  display: block;
}

@media (max-width: 900px) {
  .t-owned__inner {
    grid-template-columns: 1fr;
    gap: 40px;
    text-align: center;
  }
  .t-owned__text {
    max-width: 620px;
    margin: 0 auto;
  }
  .t-owned__media img {
    max-width: 380px;
    margin: 0 auto;
  }
}

@media (max-width: 768px) {
  .t-owned {
    padding: 64px 20px;
  }

  .t-owned__media img {
    max-width: 320px;
  }
}
/* END_SECTION:thinkly-owned-section */

/* START_SECTION:thinkly-privacy (INDEX:73) */
.t-policy-breadcrumb {
  padding: 14px 64px;
  background: var(--bg-warm);
  border-bottom: 1px solid var(--border);
}

.t-policy-breadcrumb__inner {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  color: var(--muted);
}

.t-policy-breadcrumb a {
  color: var(--navy);
  text-decoration: none;
}

.t-policy-breadcrumb a:hover {
  color: var(--gold);
}

.t-policy-breadcrumb__sep {
  opacity: 0.4;
}

.t-policy-breadcrumb__current {
  color: var(--navy);
  font-weight: 600;
}

.t-policy-wrap {
  max-width: 760px;
  margin: 0 auto;
  padding: 80px 64px 100px;
  background: #fff;
}

.t-policy-h1 {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(32px, 4.2vw, 48px);
  font-weight: 400;
  color: var(--navy);
  line-height: 1.1;
  letter-spacing: -0.02em;
  margin-bottom: 12px;
}

.t-policy-date {
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  color: var(--muted);
  opacity: 0.7;
  margin-bottom: 48px;
  line-height: 1.6;
}

/* TABLE OF CONTENTS */
.t-policy-toc {
  background: var(--bg-warm);
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 24px 28px;
  margin-bottom: 56px;
}

.t-policy-toc__title {
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  font-weight: 700;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: 14px;
}

.t-policy-toc__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px 24px;
}

.t-policy-toc__list li {
  list-style: none;
}

.t-policy-toc__list a {
  font-family: 'Inter', sans-serif;
  font-size: 13.5px;
  font-weight: 500;
  color: var(--navy);
  text-decoration: none;
  display: block;
  padding: 6px 0;
  border-bottom: 1px solid transparent;
  transition: border-color 0.2s, color 0.2s;
}

.t-policy-toc__list a:hover {
  color: var(--gold);
  border-bottom-color: var(--gold);
}

/* POLICY SECTIONS */
.t-policy-section {
  margin-bottom: 44px;
  padding-bottom: 44px;
  border-bottom: 1px solid var(--border);
  scroll-margin-top: 100px;
}

.t-policy-section:last-of-type {
  border-bottom: none;
  padding-bottom: 0;
}

.t-policy-section h2 {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(20px, 2.2vw, 26px);
  font-weight: 400;
  color: var(--navy);
  line-height: 1.3;
  margin-bottom: 16px;
}

.t-policy-section p {
  font-family: 'Source Serif 4', serif;
  font-size: 15.5px;
  color: var(--muted);
  line-height: 1.85;
  margin-bottom: 14px;
}

.t-policy-section p:last-child {
  margin-bottom: 0;
}

.t-policy-section p strong {
  color: var(--text);
  font-weight: 600;
}

.t-policy-section ul {
  margin: 0 0 16px;
  padding-left: 0;
  list-style: none;
}

.t-policy-section ul li {
  font-family: 'Source Serif 4', serif;
  font-size: 15px;
  color: var(--muted);
  line-height: 1.8;
  padding: 10px 0 10px 24px;
  border-bottom: 1px solid var(--border);
  position: relative;
}

.t-policy-section ul li:last-child {
  border-bottom: none;
}

.t-policy-section ul li::before {
  content: '\2192';
  position: absolute;
  left: 0;
  color: var(--gold);
  font-weight: 700;
}

.t-policy-section ul li strong {
  color: var(--navy);
  font-weight: 600;
}

.t-policy-highlight {
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  color: var(--muted);
  padding: 14px 18px;
  background: var(--bg-warm);
  border-radius: 10px;
  border-left: 3px solid var(--gold);
  line-height: 1.65;
  margin-top: 16px;
}

/* CONTACT BOX */
.t-policy-contact-box {
  margin-top: 24px;
  padding: 32px;
  background: var(--navy);
  border-radius: 16px;
  text-align: center;
}

.t-policy-contact-box h3 {
  font-family: 'DM Serif Display', serif;
  font-size: 22px;
  font-weight: 400;
  color: #fff;
  margin-bottom: 8px;
}

.t-policy-contact-box p {
  font-family: 'Source Serif 4', serif;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.6);
  font-style: italic;
  margin-bottom: 18px;
}

.t-policy-contact-box__cta {
  display: inline-block;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  font-weight: 700;
  color: var(--navy-deep);
  background: var(--gold);
  padding: 12px 28px;
  border-radius: 50px;
  text-decoration: none;
  transition: background 0.2s, transform 0.2s;
}

.t-policy-contact-box__cta:hover {
  background: var(--gold-light);
  transform: translateY(-2px);
}

/* RESPONSIVE */
@media (max-width: 960px) {
  .t-policy-breadcrumb {
    padding: 12px 32px;
  }

  .t-policy-wrap {
    padding: 56px 32px 72px;
  }
}

@media (max-width: 768px) {
  .t-policy-breadcrumb {
    padding: 10px 20px;
  }

  .t-policy-wrap {
    padding: 48px 20px 56px;
  }

  .t-policy-date {
    margin-bottom: 32px;
  }

  .t-policy-toc {
    padding: 20px 18px;
    margin-bottom: 40px;
  }

  .t-policy-toc__list {
    grid-template-columns: 1fr;
  }

  .t-policy-section {
    margin-bottom: 32px;
    padding-bottom: 32px;
  }

  .t-policy-section p,
  .t-policy-section ul li {
    font-size: 14.5px;
  }

  .t-policy-contact-box {
    padding: 24px 20px;
  }
}
/* END_SECTION:thinkly-privacy */

/* START_SECTION:thinkly-product-care (INDEX:74) */
.tp-zone-eye { font-family: 'Inter', sans-serif; font-size: 11px; font-weight: 700; color: #F5A623; letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: 16px; }
.tp-care { padding: 64px; background: #F7F2E8; display: flex; align-items: flex-start; justify-content: space-between; gap: 64px; }
.tp-care__left { max-width: 380px; flex-shrink: 0; }
.tp-care__left h3 { font-family: 'DM Serif Display', serif; font-size: clamp(22px,2.5vw,30px); font-weight: 400; color: #1B2E5E; margin-bottom: 10px; line-height: 1.3; }
.tp-care__left p { font-family: 'Source Serif 4', serif; font-size: 15px; color: #6B6560; line-height: 1.75; }

/* ── Base (mobile + tablet): horizontal carousel ── */
.tp-care-carousel-wrap { position: relative; flex: 1; max-width: 720px; }

.tp-care-items {
  display: flex;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  gap: 16px;
  padding-bottom: 4px;
}
.tp-care-items::-webkit-scrollbar { display: none; }

.tp-care-item {
  flex: 0 0 60%;
  background: #fff;
  border-radius: 14px;
  padding: 24px;
  border: 1.5px solid rgba(27,46,94,0.09);
  display: flex;
  flex-direction: column;
}
.tp-care-item-title { font-family: 'Inter', sans-serif; font-size: 11px; font-weight: 700; color: #1B2E5E; letter-spacing: 0.1em; text-transform: uppercase; margin-bottom: 10px; display: flex; flex-direction: column; gap: 8px; }
.tp-care-item-title::before { content: ''; display: block; width: 16px; height: 2px; background: #1B2E5E; opacity: 0.8; }
.tp-care-item-text { font-family: 'Source Serif 4', serif; font-size: 12px; color: #6B6560; line-height: 1.6; }

.tp-care-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: -50px;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: rgba(27,46,94,0.06);
  border: 1px solid rgba(27,46,94,0.15);
  color: #1B2E5E;
  font-size: 18px;
  cursor: pointer;
  transition: background 0.2s;
}
.tp-care-arrow:hover { background: rgba(27,46,94,0.12); }
.tp-care-arrow--prev { right: 46px; }
.tp-care-arrow--next { right: 0; }

@media (min-width: 481px) and (max-width: 1024px) {
  .tp-care-item { flex: 0 0 46%; }
}

@media (max-width: 1024px) {
  .tp-care { flex-direction: column; gap: 32px; padding: 64px 32px; }
  .tp-care-carousel-wrap { width: 100%; max-width: none; }
  .tp-care-arrow { top: auto; bottom: -50px; }
  .tp-care-arrow--prev { right: 46px; left: auto; }
}

@media (max-width: 768px) {
  .tp-care { padding: 48px 16px; }
}

/* ── Desktop (>1024px): static side-by-side row, no carousel ── */
@media (min-width: 1025px) {
  .tp-care-items {
    overflow-x: visible;
  }
  .tp-care-item { flex: 1; }
  .tp-care-arrow { display: none; }
}
/* END_SECTION:thinkly-product-care */

/* START_SECTION:thinkly-product-comparison (INDEX:75) */
.tp-zone-eye { font-family: 'Inter', sans-serif; font-size: 11px; font-weight: 700; color: #F5A623; letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: 16px; }
.tp-comparison { padding: 96px 64px; background: #fff; }
.tp-comparison h2 { font-family: 'DM Serif Display', serif; font-size: clamp(28px,3.5vw,44px); font-weight: 400; color: #1B2E5E; line-height: 1.15; margin-bottom: 10px; }
.tp-comparison__sub { font-family: 'Source Serif 4', serif; font-size: 16px; color: #6B6560; font-style: italic; margin-bottom: 48px; }
.tp-kt-wrap { overflow-x: auto; border-radius: 16px; border: 1.5px solid rgba(27,46,94,0.09); box-shadow: 0 8px 30px rgba(27,46,94,0.03); }
.tp-kt { width: 100%; border-collapse: collapse; font-family: 'Inter', sans-serif; background: #fff; }
.tp-kt thead tr { border-bottom: 2px solid rgba(27,46,94,0.09); }
.tp-kt th { padding: 20px 20px 16px; text-align: center; vertical-align: bottom; width: 24%; }
.tp-kt th:first-child { text-align: left; width: 28%; padding-left: 24px; }
.tp-kt-name { display: block; font-size: 14px; font-weight: 700; color: #1B2E5E; margin-bottom: 4px; text-decoration: none; }
.tp-kt-featured { background: #1B2E5E !important; }
.tp-kt-featured .tp-kt-name { color: #fff; }
.tp-kt tbody tr { border-bottom: 1px solid rgba(27,46,94,0.09); }
.tp-kt tbody tr:last-child { border-bottom: none; }
.tp-kt tbody tr:hover td:not(.tp-kt-featured-cell) { background: #F7F2E8; }
.tp-kt td { padding: 14px 20px; font-size: 13px; color: #6B6560; text-align: center; vertical-align: middle; line-height: 1.5; }
.tp-kt-label { text-align: left !important; font-weight: 600; color: #1B2E5E !important; padding-left: 24px !important; font-size: 12px !important; text-transform: uppercase; letter-spacing: 0.06em; }
.tp-kt-featured-cell { background: rgba(27,46,94,0.04) !important; font-weight: 600 !important; color: #1B2E5E !important; }
.tp-ct-badge { font-family: 'Inter', sans-serif; font-size: 9px; font-weight: 700; color: #1B2E5E; background: #F5A623; padding: 2px 8px; border-radius: 10px; letter-spacing: 0.06em; text-transform: uppercase; margin-left: 8px; display: inline-block; vertical-align: middle; }

/* ── (i) TOOLTIP PATTERN — same mechanic as the homepage Flow Series table ── */
.tp-kt-tooltip-wrap { position: relative; display: inline-block; }
.tp-kt-tooltip-trigger {
  background: none; border: none; padding: 0; margin: 0;
  font-family: 'Inter', sans-serif; font-size: 13px; font-weight: 600;
  color: #6B6560; cursor: help; display: inline-flex; align-items: center;
  gap: 4px; line-height: 1.4; text-align: center;
}
.tp-kt-featured-cell .tp-kt-tooltip-trigger { color: #1B2E5E; font-weight: 700; }
.tp-kt-info { font-size: 12px; opacity: 0.6; flex-shrink: 0; }
.tp-kt-tooltip-bubble {
  position: absolute; bottom: calc(100% + 10px); left: 50%;
  transform: translateX(-50%) translateY(4px);
  width: 220px; background: #1B2E5E; color: #fff;
  font-family: 'Source Serif 4', serif; font-size: 12.5px; line-height: 1.55;
  padding: 12px 14px; border-radius: 10px; text-align: left;
  opacity: 0; pointer-events: none; transition: opacity 0.2s, transform 0.2s;
  z-index: 20; box-shadow: 0 8px 24px rgba(27,46,94,0.25);
}
.tp-kt-tooltip-bubble::after {
  content: ''; position: absolute; top: 100%; left: 50%;
  transform: translateX(-50%); border: 6px solid transparent; border-top-color: #1B2E5E;
}
.tp-kt-tooltip-wrap:hover .tp-kt-tooltip-bubble,
.tp-kt-tooltip-wrap.tp-kt-tooltip-open .tp-kt-tooltip-bubble {
  opacity: 1; transform: translateX(-50%) translateY(0); pointer-events: auto;
}

@media (max-width: 1024px) { .tp-comparison { padding: 72px 32px; } }
@media (max-width: 768px) {
  .tp-comparison { padding: 56px 16px; }

  .tp-kt th,
  .tp-kt td {
    padding: 12px 10px;
    font-size: 12px;
  }

  .tp-kt th:first-child,
  .tp-kt td.tp-kt-label {
    padding-left: 14px;
    font-size: 11px;
  }

  .tp-kt-name { font-size: 13px; }

  .tp-kt-tooltip-trigger { font-size: 11.5px; }
  .tp-kt-tooltip-bubble {
    width: 180px; font-size: 11.5px;
    left: auto; right: -10px; transform: translateY(4px);
  }
  .tp-kt-tooltip-bubble::after { left: auto; right: 16px; transform: none; }
  .tp-kt-tooltip-wrap:hover .tp-kt-tooltip-bubble,
  .tp-kt-tooltip-wrap.tp-kt-tooltip-open .tp-kt-tooltip-bubble { transform: translateY(0); }
}
/* END_SECTION:thinkly-product-comparison */

/* START_SECTION:thinkly-product-final-cta (INDEX:76) */
/* ── FINAL CTA ── */
.tp-final-cta { padding: 80px 64px; background: #1B2E5E; text-align: center; position: relative; overflow: hidden; }
.tp-final-cta::before { content: ''; position: absolute; top: -200px; left: 50%; transform: translateX(-50%); width: 700px; height: 500px; border-radius: 50%; background: radial-gradient(circle, rgba(245,166,35,0.07) 0%, transparent 70%); pointer-events: none; }
.tp-final-cta h2 { font-family: 'DM Serif Display', serif; font-size: clamp(26px, 3.5vw, 44px); font-weight: 400; color: #fff; margin-bottom: 12px; position: relative; line-height: 1.2; }
.tp-final-cta h2 em { font-style: italic; color: #F5A623; }
.tp-final-cta__sub { font-family: 'Source Serif 4', serif; font-size: 16px; color: rgba(255,255,255,0.5); margin-bottom: 32px; font-style: italic; position: relative; }
.tp-final-btn { display: inline-block; font-family: 'Inter', sans-serif; font-size: 16px; font-weight: 700; padding: 18px 48px; border-radius: 50px; transition: all 0.2s; cursor: none; position: relative; letter-spacing: 0.02em; border: none; }
.tp-final-btn--master { background: #F5A623; color: #121F42; }
.tp-final-btn--master:hover { background: #FBBF4A; transform: translateY(-2px); }
.tp-final-btn.is-loading { opacity: 0.7; cursor: default; }
.tp-final-note { font-family: 'Inter', sans-serif; font-size: 12px; color: rgba(255,255,255,0.28); margin-top: 20px; position: relative; letter-spacing: 0.04em; }


@media (max-width: 1024px) {
  .tp-final-cta { padding: 72px 32px; }
}

@media (max-width: 768px) {
  .tp-final-cta { padding: 56px 16px; }
}
/* END_SECTION:thinkly-product-final-cta */

/* START_SECTION:thinkly-product-hero (INDEX:77) */
/* ── VARIABLES (reuse from thinkly-theme.css) ── */
.tp-breadcrumb {
  padding: 14px 64px;
  background: #F4EFE4;
  border-bottom: 1px solid rgba(27,46,94,0.08);
}
.tp-breadcrumb__inner {
  display: flex; align-items: center; gap: 8px;
  font-family: 'Inter', sans-serif; font-size: 12px; color: #6B6560;
}
.tp-breadcrumb a { color: #1B2E5E; text-decoration: none; }
.tp-breadcrumb a:hover { color: #F5A623; }
.tp-breadcrumb__sep { opacity: 0.4; }
.tp-breadcrumb__current { color: #1B2E5E; font-weight: 600; }

/* ── HERO LAYOUT ── */
.tp-hero {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 90vh;
  background: #fff;
}

/* ── IMAGE SIDE ── */
.tp-img-side {
  position: sticky;
  top: 0;
  height: 100vh;
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 40px 32px 40px 64px;
  background: #F7F2E8;
  overflow: hidden;
}
.tp-product-badge {
  display: inline-block;
  font-family: 'Inter', sans-serif;
  font-size: 11px; font-weight: 800;
  padding: 6px 14px; border-radius: 20px;
  letter-spacing: 0.06em; text-transform: uppercase;
  transition: all 0.3s;
  align-self: flex-start;
}
.tp-badge-starter, .tp-badge-explorer { background: rgba(27,46,94,0.08); color: #1B2E5E; }
.tp-badge-master { background: #F5A623; color: #121F42; }
.tp-main-img {
  position: relative;
  flex: 1;
  border-radius: 20px;
  overflow: hidden;
  background: #fff;
}
.tp-slider {
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  height: 100%;
  scrollbar-width: none;
}
.tp-slider::-webkit-scrollbar { display: none; }
.tp-slide {
  flex: 0 0 100%;
  scroll-snap-align: start;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}
.tp-slide img { width: 100%; height: 100%; object-fit: contain; transition: opacity 0.25s; }
.tp-slide img.fading { opacity: 0; }
.tp-gallery-arrow {
  position: absolute; top: 50%; transform: translateY(-50%);
  width: 40px; height: 40px; border-radius: 50%;
  background: rgba(255,255,255,0.85); border: 1px solid rgba(27,46,94,0.09);
  backdrop-filter: blur(8px); display: flex; align-items: center; justify-content: center;
  color: #1B2E5E; cursor: none; z-index: 10; transition: all 0.2s; padding: 0;
}
.tp-gallery-arrow:hover { background: #fff; color: #F5A623; }
.tp-gallery-arrow.prev { left: 12px; }
.tp-gallery-arrow.next { right: 12px; }
.tp-thumbs { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }
.tp-thumb {
  width: 64px; height: 64px; border-radius: 10px;
  background: #fff; border: 2px solid rgba(27,46,94,0.09);
  overflow: hidden; cursor: none; transition: border-color 0.2s;
  display: flex; align-items: center; justify-content: center; padding: 6px;
}
.tp-thumb.active { border-color: #F5A623; }
.tp-thumb img { width: 100%; height: 100%; object-fit: contain; }

/* ── BUY SIDE ── */
.tp-buy-side {
  padding: 48px 64px 48px 52px;
  display: flex; flex-direction: column; overflow-y: auto;
}
.tp-context {
  font-family: 'Source Serif 4', serif; font-size: 15px; font-style: italic;
  color: #1B2E5E; margin-bottom: 24px; line-height: 1.7;
  border-left: 3px solid #F5A623; padding: 14px 20px;
  background: rgba(245,166,35,0.06); border-radius: 0 8px 8px 0;
}
.tp-context__sub {
  font-style: normal; display: block; margin-top: 10px;
  font-weight: 500; font-size: 14.5px; color: #243870;
  font-family: 'Inter', sans-serif; opacity: 0.9;
}
.tp-eye {
  font-family: 'Inter', sans-serif; font-size: 11px; font-weight: 700;
  color: #F5A623; letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: 10px;
}
.tp-v { transition: opacity 0.2s ease, transform 0.2s ease; }
.tp-v.fading { opacity: 0; transform: translateY(4px); }
.tp-name {
  font-family: 'DM Serif Display', serif !important;
  font-size: clamp(32px, 3.8vw, 50px) !important;
  font-weight: 400 !important; color: #1B2E5E !important;
  line-height: 1.08 !important; letter-spacing: -0.02em !important; margin-bottom: 6px !important;
}
.tp-emotion {
  font-family: 'Source Serif 4', serif; font-size: 17px; font-style: italic;
  color: #6B6560; margin-bottom: 20px; line-height: 1.5;
}
.tp-rating { display: flex; align-items: center; gap: 10px; margin-bottom: 24px; }
.tp-stars { color: #F5A623; font-size: 14px; letter-spacing: 2px; }
.tp-rating-text { font-family: 'Inter', sans-serif; font-size: 13px; color: #6B6560; }
.tp-rating-text a { color: #1B2E5E; font-weight: 600; }

/* ── VARIANT PILLS ── */
.tp-variant-selector { margin-bottom: 24px; }
.tp-variant-header {
  display: flex; justify-content: space-between; align-items: baseline;
  flex-wrap: wrap; gap: 8px; margin-bottom: 10px;
}
.tp-variant-label {
  font-family: 'Inter', sans-serif; font-size: 11px; font-weight: 700;
  color: #1B2E5E; letter-spacing: 0.1em; text-transform: uppercase; opacity: 0.6;
}
.tp-compare-link {
  font-family: 'Inter', sans-serif; font-size: 11px; font-weight: 600;
  color: #1B2E5E; text-decoration: underline; text-underline-offset: 3px;
  opacity: 0.6; transition: opacity 0.2s;
}
.tp-compare-link:hover { opacity: 1; color: #F5A623; }
.tp-variant-pills { display: flex; gap: 8px; }
.tp-vpill {
  font-family: 'Inter', sans-serif; font-size: 13px; font-weight: 700;
  padding: 7px 20px; border-radius: 50px;
  border: 2px solid rgba(27,46,94,0.2); color: #1B2E5E;
  background: transparent; cursor: none; transition: all 0.2s;
  display: flex; flex-direction: column; align-items: center; gap: 1px; flex: 1;
  text-decoration: none;
}
.tp-vpill:hover { border-color: #1B2E5E; background: rgba(27,46,94,0.04); }
.tp-vpill.active { background: #1B2E5E; color: #fff; border-color: #1B2E5E; }
.tp-vpill-price { font-size: 10.5px; font-weight: 500; opacity: 0.7; }
.tp-vpill.active .tp-vpill-price { opacity: 0.8; }

/* ── CRAFT ROW ── */
.tp-craft-row {
  display: flex; justify-content: space-between; align-items: center;
  background: #F7F2E8; border: 1px solid rgba(27,46,94,0.07);
  border-radius: 12px; padding: 10px 16px; margin-bottom: 20px; gap: 8px;
}
.tp-craft-item {
  display: flex; align-items: center; gap: 6px;
  font-family: 'Inter', sans-serif; font-size: 10px; font-weight: 700;
  color: #1B2E5E; letter-spacing: 0.02em; text-transform: uppercase;
}
.tp-craft-icon { font-size: 13px; }

/* ── PRICE ── */
.tp-price-wrap {
  margin-bottom: 22px; padding: 18px 22px;
  background: #F7F2E8; border-radius: 14px;
}
.tp-price {
  font-family: 'Inter', sans-serif; font-size: 36px;
  font-weight: 800; color: #1B2E5E; line-height: 1;
}
.tp-price-sub { font-family: 'Inter', sans-serif; font-size: 13px; color: #6B6560; margin-top: 5px; }
.tp-price-shipping { font-family: 'Inter', sans-serif; font-size: 12px; color: #2D8A4E; font-weight: 600; margin-top: 4px; }

/* ── INCLUDED ── */
.tp-included { margin-bottom: 20px; }
.tp-included-title {
  font-family: 'Inter', sans-serif; font-size: 11px; font-weight: 700;
  color: #1B2E5E; letter-spacing: 0.1em; text-transform: uppercase; margin-bottom: 12px;
}
.tp-included-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.tp-included-item {
  display: flex; align-items: center; gap: 10px;
  padding: 11px 13px; background: #fff;
  border: 1px solid rgba(27,46,94,0.09); border-radius: 10px;
}
.tp-included-icon {
  width: 30px; height: 30px; border-radius: 7px;
  background: rgba(245,166,35,0.1); display: flex; align-items: center;
  justify-content: center; font-size: 16px; flex-shrink: 0; color: #1B2E5E;
}
.tp-included-label { font-family: 'Inter', sans-serif; font-size: 12px; font-weight: 700; color: #1B2E5E; display: block; }
.tp-included-sub { font-family: 'Inter', sans-serif; font-size: 10px; color: #6B6560; display: block; margin-top: 1px; }

/* ── ACCESSORY BUMP ── */
.tp-bump {
  background: rgba(27,46,94,0.03); border: 1px solid rgba(27,46,94,0.1);
  border-radius: 12px; padding: 14px 18px; margin-bottom: 20px;
}
.tp-bump__top { margin-bottom: 0; }
.tp-bump__label { display: flex; align-items: flex-start; gap: 12px; cursor: none; user-select: none; width: 100%; }
.tp-bump-checkbox { display: none; }
.tp-bump-box {
  width: 20px; height: 20px; border-radius: 6px;
  border: 2px solid rgba(27,46,94,0.25); background: #fff;
  position: relative; flex-shrink: 0; margin-top: 2px; transition: all 0.2s;
}
.tp-bump-checkbox:checked + .tp-bump-box { background: #1B2E5E; border-color: #1B2E5E; }
.tp-bump-checkbox:checked + .tp-bump-box::after {
  content: ''; position: absolute; left: 6px; top: 2px;
  width: 5px; height: 9px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg);
}
.tp-bump-content { flex: 1; display: flex; flex-direction: column; gap: 3px; }
.tp-bump-title-row { display: flex; justify-content: space-between; align-items: center; }
.tp-bump-name { font-family: 'Inter', sans-serif; font-size: 13px; font-weight: 700; color: #1B2E5E; }
.tp-bump-price { font-family: 'Inter', sans-serif; font-size: 13px; font-weight: 800; color: #1B2E5E; }
.tp-bump-desc { font-family: 'Source Serif 4', serif; font-size: 11.5px; color: #6B6560; line-height: 1.4; }
.tp-bump-alone-link { color: #1B2E5E; font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }
.tp-bump-alone-link:hover { color: #F5A623; }
.tp-bump-pills { display: flex; gap: 6px; margin-top: 14px; border-top: 1px solid rgba(27,46,94,0.06); padding-top: 12px; }
.tp-bump-pill {
  flex: 1; background: #fff; border: 1.5px solid rgba(27,46,94,0.15);
  border-radius: 10px; padding: 8px 6px;
  font-family: 'Inter', sans-serif; font-size: 11.5px; font-weight: 700; color: #1B2E5E;
  cursor: none; transition: all 0.2s; display: flex; flex-direction: column; align-items: center; gap: 2px;
}
.tp-bump-pill.active { background: #1B2E5E; color: #fff; border-color: #1B2E5E; }
.tp-bump-pill-sub { font-size: 9.5px; font-weight: 500; opacity: 0.7; }

/* ── BUY BUTTON ── */
.tp-buy-btn {
  width: 100%; padding: 18px; font-family: 'Inter', sans-serif;
  font-size: 16px; font-weight: 700; border: none; border-radius: 50px;
  cursor: none; letter-spacing: 0.02em; transition: all 0.25s;
  margin-bottom: 16px; display: block; text-align: center; color: #fff;
}
.tp-buy-btn--starter, .tp-buy-btn--explorer { background: #1B2E5E; color: #fff; }
.tp-buy-btn--starter:hover, .tp-buy-btn--explorer:hover { background: #243870; transform: translateY(-2px); }
.tp-buy-btn--master { background: #F5A623; color: #121F42; }
.tp-buy-btn--master:hover { background: #FBBF4A; transform: translateY(-2px); box-shadow: 0 8px 32px rgba(245,166,35,0.35); }
.tp-buy-btn.is-loading { opacity: 0.7; cursor: default; }

/* ── COMPAT NOTE ── */
.tp-compat { padding: 14px 16px; background: rgba(27,46,94,0.04); border-radius: 10px; border: 1px solid rgba(27,46,94,0.08); }
.tp-compat-title { font-family: 'Inter', sans-serif; font-size: 10px; font-weight: 700; color: #1B2E5E; letter-spacing: 0.08em; text-transform: uppercase; margin-bottom: 5px; }
.tp-compat-text { font-family: 'Source Serif 4', serif; font-size: 13px; color: #6B6560; line-height: 1.6; }
.tp-compat-text strong { color: #1A1A1A; font-weight: 600; }

/* ── ZONE EYEBROW ── */
.tp-zone-eye { font-family: 'Inter', sans-serif; font-size: 11px; font-weight: 700; color: #F5A623; letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: 16px; }
.tp-zone-eye--muted { color: rgba(255,255,255,0.5); }

/* ══════════════════════════════
   TABLET
══════════════════════════════ */
@media (max-width: 1024px) {
  .tp-hero { grid-template-columns: 1fr; min-height: auto; }
  .tp-img-side { position: relative; height: auto; padding: 40px 32px; }
  .tp-buy-side { padding: 40px 32px; }
  .tp-breadcrumb { padding: 12px 32px; }
  .tp-vpill { flex: 0 0 calc(33% - 6px); }
  .tp-gallery-arrow { display: none !important; }
}

/* ══════════════════════════════
   MOBILE
══════════════════════════════ */
@media (max-width: 768px) {
  .tp-breadcrumb { padding: 10px 16px; }
  .tp-img-side { padding: 24px 16px; gap: 12px; }
  .tp-buy-side { padding: 24px 16px; }
  .tp-name { font-size: clamp(28px, 9vw, 40px) !important; }
  .tp-emotion { font-size: 16px; margin-bottom: 16px; }
  .tp-vpill { flex: 1; padding: 8px 8px; font-size: 11px; }
  .tp-vpill-price { font-size: 10px; }
  .tp-included-grid { grid-template-columns: 1fr 1fr; }
  .tp-buy-btn { font-size: 15px; padding: 16px; }
  .tp-craft-row { flex-wrap: wrap; justify-content: center; }
}

@media (max-width: 380px) {
  .tp-included-grid { grid-template-columns: 1fr 1fr; gap: 6px; }
  .tp-included-item { padding: 10px; gap: 8px; }
  .tp-included-icon { width: 26px; height: 26px; font-size: 14px; }
}
/* END_SECTION:thinkly-product-hero */

/* START_SECTION:thinkly-product-howitworks (INDEX:78) */
.tp-zone-eye { font-family: 'Inter', sans-serif; font-size: 11px; font-weight: 700; color: #F5A623; letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: 16px; }
.tp-opening { padding: 96px 64px; background: #1B2E5E; }
.tp-opening-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
.tp-opening-text h2 { font-family: 'DM Serif Display', serif; font-size: clamp(26px,3vw,38px); font-weight: 400; color: #fff; line-height: 1.2; margin-bottom: 20px; }

/* richtext output wraps in <p> tags — style those instead of <p> directly */
.tp-opening-body { font-family: 'Source Serif 4', serif; font-size: 16px; color: rgba(255,255,255,0.7); line-height: 1.85; margin-bottom: 16px; }
.tp-opening-body p { margin: 0; }
.tp-opening-body strong { color: #fff; font-weight: 600; }
.tp-opening-body em { font-style: italic; color: #F5A623; }

.tp-steps { display: flex; flex-direction: column; gap: 0; }
.tp-step { display: flex; align-items: flex-start; gap: 20px; padding: 16px 0; border-bottom: 1px solid rgba(255,255,255,0.12); }
.tp-step:last-child { border-bottom: none; }
.tp-step-num { width: 44px; height: 44px; border-radius: 50%; border: 2px solid #F5A623; display: flex; align-items: center; justify-content: center; font-family: 'DM Serif Display', serif; font-size: 20px; color: #F5A623; flex-shrink: 0; }
.tp-step-body h4 { font-family: 'Inter', sans-serif; font-size: 13px; font-weight: 700; color: #F5A623; letter-spacing: 0.04em; margin-bottom: 5px; }
.tp-step-body p { font-family: 'Source Serif 4', serif; font-size: 14px; color: rgba(255,255,255,0.65); line-height: 1.7; margin: 0; }

/* Toggle button — hidden by default on desktop */
.tp-steps-toggle { display: none; }

@media (max-width: 1024px) {
  .tp-opening { padding: 72px 32px; }
  .tp-opening-grid { grid-template-columns: 1fr; gap: 40px; }

  /* Collapsible steps on tablet/mobile */
  .tp-steps {
    max-height: 100px;
    overflow: hidden;
    position: relative;
    transition: max-height 0.4s ease;
  }

  .tp-steps::after {
    content: '';
    position: absolute;
    bottom: 0; left: 0; right: 0;
    height: 48px;
    background: linear-gradient(to bottom, rgba(27,46,94,0), #1B2E5E);
    pointer-events: none;
    transition: opacity 0.3s ease;
  }

  .tp-steps.expanded { max-height: 2000px; }
  .tp-steps.expanded::after { opacity: 0; }

  .tp-steps-toggle {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 16px;
    background: none;
    border: 1px solid rgba(245,166,35,0.4);
    padding: 8px 16px;
    border-radius: 50px;
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    font-weight: 700;
    color: #F5A623;
    letter-spacing: 0.04em;
    cursor: pointer;
    transition: border-color 0.2s;
  }

  .tp-steps-toggle:hover { border-color: #F5A623; }

  .tp-steps-toggle-icon {
    font-size: 11px;
    transition: transform 0.3s ease;
  }

  .tp-steps-toggle[aria-expanded="true"] .tp-steps-toggle-icon {
    transform: rotate(180deg);
  }
}

@media (max-width: 768px) { .tp-opening { padding: 56px 16px; } }
/* END_SECTION:thinkly-product-howitworks */

/* START_SECTION:thinkly-product-sticky-bar (INDEX:79) */
.tp-sticky { position: fixed; bottom: 0; left: 0; right: 0; background: rgba(255,255,255,0.97); backdrop-filter: blur(16px); border-top: 1px solid rgba(27,46,94,0.09); padding: 12px 64px; display: flex; align-items: center; justify-content: space-between; z-index: 150; box-shadow: 0 -4px 24px rgba(27,46,94,0.08); transform: translateY(100%); transition: transform 0.3s cubic-bezier(0.22,1,0.36,1); }
.tp-sticky.visible { transform: translateY(0); }
.tp-sticky__left { display: flex; align-items: center; gap: 16px; }
.tp-sticky__thumb { width: 44px; height: 44px; border-radius: 8px; overflow: hidden; background: #F7F2E8; padding: 4px; }
.tp-sticky__thumb img { width: 100%; height: 100%; object-fit: contain; }
.tp-sticky__name { font-family: 'DM Serif Display', serif; font-size: 17px; font-weight: 400; color: #1B2E5E; }
.tp-sticky__price { font-family: 'Inter', sans-serif; font-size: 15px; font-weight: 800; color: #1B2E5E; }
.tp-sticky__right { display: flex; align-items: center; gap: 12px; }
.tp-sticky__pills { display: flex; gap: 6px; }
.tp-sticky-pill { font-family: 'Inter', sans-serif; font-size: 11px; font-weight: 600; padding: 6px 12px; border-radius: 50px; border: 1.5px solid rgba(27,46,94,0.15); color: #6B6560; background: transparent; cursor: none; transition: all 0.15s; text-decoration: none; display: inline-block; }
.tp-sticky-pill.active { background: #1B2E5E; color: #fff; border-color: #1B2E5E; }
.tp-sticky__btn { color: #fff; font-family: 'Inter', sans-serif; font-size: 13px; font-weight: 700; padding: 12px 28px; border-radius: 50px; cursor: none; letter-spacing: 0.02em; transition: all 0.2s; white-space: nowrap; display: inline-block; text-align: center; border: none; }
.tp-sticky__btn--starter, .tp-sticky__btn--explorer { background: #1B2E5E; }
.tp-sticky__btn--master { background: #F5A623; color: #121F42; }
.tp-sticky__btn.is-loading { opacity: 0.7; cursor: default; }

@media (max-width: 1024px) {
  .tp-sticky { padding: 12px 32px; }
}

@media (max-width: 768px) {
  .tp-sticky { padding: 10px 16px; }
  .tp-sticky__pills { display: none; }
}
/* END_SECTION:thinkly-product-sticky-bar */

/* START_SECTION:thinkly-product-unlocks (INDEX:80) */
/* ── ZONE EYEBROW ── */
.tp-zone-eye { font-family: 'Inter', sans-serif; font-size: 11px; font-weight: 700; color: #F5A623; letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: 16px; }
.tp-zone-eye--muted { color: rgba(255,255,255,0.5); }

/* ── KIT UNLOCKS ── */
.tp-unlocks { padding: 96px 64px; background: #F4EFE4; }
.tp-unlocks__h2 { font-family: 'DM Serif Display', serif; font-size: clamp(28px, 3.5vw, 44px); font-weight: 400; color: #1B2E5E; line-height: 1.15; margin-bottom: 16px; }

/* ── COLLAPSE / EXPAND ──
   Desktop shows everything by default — no height cap, no fade, no toggle.
   The collapse behavior only kicks in on tablet/mobile, inside the
   @media (max-width:1024px) block further down. */
.tp-unlocks-collapse {
  position: relative;
}
.tp-unlocks-toggle {
  display: none;
}

.tp-unlocks-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: start; margin-top: 40px; }
/* Left column stays pinned while the taller right column scrolls past it.
   `align-self: start` keeps this column at its own natural height (rather than
   stretching to fill the grid row) so it has room to travel and stick.
   `top` should clear any sticky site header. */
.tp-ku-blocks { display: flex; flex-direction: column; gap: 14px; position: sticky; top: 100px; align-self: start; }
.tp-ku-block { display: flex; align-items: center; gap: 16px; padding: 18px 20px; background: #fff; border-radius: 14px; border: 1.5px solid rgba(27,46,94,0.09); transition: border-color 0.2s, transform 0.2s; }
.tp-ku-block:hover { border-color: #F5A623; transform: translateY(-2px); }
.tp-ku-block-icon { font-size: 24px; flex-shrink: 0; width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; color: #243870; }
.tp-ku-block-name { font-family: 'Inter', sans-serif; font-size: 13px; font-weight: 700; color: #1B2E5E; display: block; margin-bottom: 3px; }
.tp-ku-block-desc { font-family: 'Source Serif 4', serif; font-size: 12px; color: #6B6560; line-height: 1.5; display: block; }
.tp-ku-right { display: flex; flex-direction: column; gap: 20px; }
.tp-longevity-box { background: #1B2E5E; border-radius: 16px; padding: 28px; }
.tp-longevity-box h4 { font-family: 'DM Serif Display', serif; font-size: 22px; font-weight: 400; color: #fff; margin-bottom: 12px; line-height: 1.3; }
.tp-longevity-box p { font-family: 'Source Serif 4', serif; font-size: 14px; color: rgba(255,255,255,0.65); line-height: 1.8; }
.tp-longevity-box p strong { color: #fff; font-weight: 600; }
.tp-age-timeline { background: #F7F2E8; border: 1.5px solid rgba(27,46,94,0.09); border-radius: 16px; padding: 28px; }
.tp-timeline-title { font-family: 'Inter', sans-serif; font-size: 11px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: #243870; margin-bottom: 24px; }
.tp-timeline-items { position: relative; padding-left: 24px; border-left: 2px solid rgba(27,46,94,0.08); display: flex; flex-direction: column; gap: 20px; }
.tp-timeline-item { position: relative; }
.tp-timeline-item::before { content: ''; position: absolute; left: -31px; top: 3px; width: 12px; height: 12px; border-radius: 50%; background: #F7F2E8; border: 3px solid #243870; transition: all 0.2s; }
.tp-timeline-item:hover::before { background: #F5A623; border-color: #F5A623; transform: scale(1.2); }
.tp-timeline-age { font-family: 'Inter', sans-serif; font-size: 13.5px; font-weight: 700; color: #1B2E5E; margin-bottom: 3px; }
.tp-timeline-desc { font-family: 'Inter', sans-serif; font-size: 13px; color: #6B6560; line-height: 1.5; }
.tp-upgrade-path { background: #fff; border-radius: 16px; padding: 24px; border: 1.5px solid rgba(27,46,94,0.09); }
.tp-upgrade-title { font-family: 'Inter', sans-serif; font-size: 11px; font-weight: 700; color: #1B2E5E; letter-spacing: 0.1em; text-transform: uppercase; margin-bottom: 16px; opacity: 0.6; }
.tp-upgrade-steps { display: flex; align-items: center; gap: 0; }
.tp-us-item { flex: 1; text-align: center; padding: 12px 8px; border-radius: 10px; transition: background 0.2s; text-decoration: none; display: block; }
.tp-us-item.current { background: #F7F2E8; }
.tp-us-name { font-family: 'Inter', sans-serif; font-size: 12px; font-weight: 700; color: #1B2E5E; display: block; }
.tp-us-price { font-family: 'Inter', sans-serif; font-size: 11px; color: #6B6560; display: block; margin-top: 2px; }
.tp-us-arrow { color: #F5A623; font-size: 18px; opacity: 0.5; padding: 0 4px; }
.tp-compat-note { font-family: 'Source Serif 4', serif; font-size: 13px; color: #6B6560; margin-top: 14px; line-height: 1.6; }
.tp-compat-note strong { color: #1A1A1A; }


@media (max-width: 1024px) {
  .tp-unlocks { padding: 72px 32px; }
  /* margin-top trimmed from the base 40px to close the gap between the
     heading and the first card in the stacked layout. */
  .tp-unlocks-grid { grid-template-columns: 1fr; gap: 32px; margin-top: 16px; }

  /* Single-column stacked layout — turn the sticky pin off so the cards
     flow normally. (Sticky would break here anyway once the collapse
     wrapper below gets overflow:hidden.) */
  .tp-ku-blocks { position: static; top: auto; }

  /* Collapse/expand only applies at tablet and mobile widths.
     max-height raised so the whole first card is visible before the toggle.
     If your first card wraps to extra lines and gets clipped, nudge this up. */
  .tp-unlocks-collapse {
    max-height: 155px;
    overflow: hidden;
    transition: max-height 0.45s ease;
  }
  .tp-unlocks-collapse.expanded {
    max-height: 3000px;
  }
  /* Shorter fade so it hints at more content below without covering the first card. */
  .tp-unlocks-collapse:not(.expanded)::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 55px;
    background: linear-gradient(to bottom, rgba(244,239,228,0) 0%, #F4EFE4 82%);
    pointer-events: none;
  }
  .tp-unlocks-toggle {
    display: block;
    margin: 28px auto 0;
    background: transparent;
    border: 2px solid rgba(27,46,94,0.2);
    color: #1B2E5E;
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 700;
    padding: 10px 28px;
    border-radius: 50px;
    cursor: pointer;
    transition: all 0.2s;
  }
  .tp-unlocks-toggle:hover {
    border-color: #1B2E5E;
    background: rgba(27,46,94,0.04);
  }
}

@media (max-width: 768px) {
  .tp-unlocks { padding: 56px 16px; }
  .tp-unlocks-grid { grid-template-columns: 1fr; gap: 24px; }
}
/* END_SECTION:thinkly-product-unlocks */

/* START_SECTION:thinkly-product-urgency-proof (INDEX:81) */
.tp-urgency { background: #F7F2E8; border-top: 1px solid #E8DFC8; border-bottom: 1px solid #E8DFC8; padding: 32px 64px; }
.tp-urgency__inner { display: flex; align-items: center; justify-content: space-between; gap: 48px; max-width: 900px; margin: 0 auto; }
.tp-urgency__label { font-family: 'Inter', sans-serif; font-size: 10px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: #F5A623; display: block; margin-bottom: 10px; }
.tp-urgency__text p { font-family: 'Source Serif 4', serif; font-size: 15px; color: #6B6560; line-height: 1.8; margin: 0; }
.tp-urgency__cta { font-family: 'Inter', sans-serif; font-size: 13px; font-weight: 700; color: #1B2E5E; border: 2px solid #1B2E5E; padding: 12px 28px; border-radius: 50px; white-space: nowrap; transition: all 0.2s; flex-shrink: 0; text-decoration: none; }
.tp-urgency__cta:hover { background: #1B2E5E; color: #fff; }
.tp-proof-strip { background: #121F42; padding: 80px 32px; text-align: center; }
.tp-proof-inner { max-width: 800px; margin: 0 auto; display: flex; flex-direction: column; gap: 24px; }
.tp-proof-line { font-family: 'Source Serif 4', serif; font-size: clamp(18px,2.8vw,26px); line-height: 1.4; color: rgba(255,255,255,0.85); font-style: italic; }
.tp-proof-line strong { font-weight: 600; color: #FBBF4A; font-style: normal; }
@media (max-width: 1024px) { .tp-urgency { padding: 32px; } }
@media (max-width: 768px) {
  .tp-urgency { padding: 28px 16px; }
  .tp-urgency__inner { flex-direction: column; gap: 20px; }
  .tp-urgency__cta { width: 100%; text-align: center; }
}
/* END_SECTION:thinkly-product-urgency-proof */

/* START_SECTION:thinkly-product-wood (INDEX:82) */
.tp-zone-eye { font-family: 'Inter', sans-serif; font-size: 11px; font-weight: 700; color: #F5A623; letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: 16px; }
.tp-zone-eye--muted { color: rgba(255,255,255,0.5); }
.tp-wood { padding: 96px 64px; background: #1B2E5E; }
.tp-wood__h2 { font-family: 'DM Serif Display', serif; font-size: clamp(28px,3.5vw,44px); font-weight: 400; color: #fff; line-height: 1.15; margin-bottom: 12px; }
.tp-wood__sub { font-family: 'Source Serif 4', serif; font-size: 16px; color: rgba(255,255,255,0.55); max-width: 560px; line-height: 1.75; margin-bottom: 40px; font-style: italic; }

/* ── Base (mobile + tablet): horizontal carousel ── */
.tp-wood-carousel-wrap { position: relative; }

.tp-wood-grid {
  display: flex;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  gap: 16px;
  padding-bottom: 4px;
}
.tp-wood-grid::-webkit-scrollbar { display: none; }

.tp-wood-card {
  flex: 0 0 60%;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 16px;
  padding: 22px 20px;
  transition: background 0.3s, transform 0.2s;
}
.tp-wood-card:hover { background: rgba(255,255,255,0.1); transform: translateY(-4px); }
.tp-wood-icon { margin-bottom: 10px; display: inline-flex; align-items: center; justify-content: center; color: #F5A623; font-size: 22px; }
.tp-wood-title { font-family: 'Inter', sans-serif; font-size: 13px; font-weight: 700; color: #fff; margin-bottom: 6px; letter-spacing: 0.02em; }
.tp-wood-text { font-family: 'Source Serif 4', serif; font-size: 12.5px; color: rgba(255,255,255,0.55); line-height: 1.55; }
.tp-wood-text strong { color: rgba(255,255,255,0.9); font-weight: 600; }

.tp-wood-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: -56px;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.15);
  color: #fff;
  font-size: 18px;
  cursor: pointer;
  transition: background 0.2s;
}
.tp-wood-arrow:hover { background: rgba(255,255,255,0.16); }
.tp-wood-arrow--prev { right: 46px; }
.tp-wood-arrow--next { right: 0; }

@media (min-width: 481px) and (max-width: 1024px) {
  .tp-wood { padding: 72px 32px; }
  .tp-wood-card { flex: 0 0 46%; }
}

@media (max-width: 768px) {
  .tp-wood { padding: 56px 16px; }
}

/* ── Desktop (>1024px): original static grid, no carousel ── */
@media (min-width: 1025px) {
  .tp-wood-carousel-wrap { margin-top: 8px; }

  .tp-wood-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    overflow-x: visible;
  }

  .tp-wood-card { flex: none; }

  .tp-wood-arrow { display: none; }
}
/* END_SECTION:thinkly-product-wood */

/* START_SECTION:thinkly-puzzle-game (INDEX:83) */
@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display&family=Inter:wght@400;500;600;700;800&display=swap');

:root {
  --paper: #F7F5F0;
  --ink: #1C1B18;
  --grid-line: #B9B5AA;
  --card: #FFFFFF;
  --gold: #C98A2C;
  --muted: #6B675E;
  --fixed-block: #3A362F;
  --sage: #9CC9A1;
  --periwinkle: #8FB7E8;
  --coral: #F29B9B;
}

* { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }

html, body {
  margin: 0;
  padding: 0;
  height: 100%;
  background: var(--paper);
  color: var(--ink);
  font-family: 'Inter', -apple-system, sans-serif;
  overscroll-behavior: none;
  touch-action: manipulation;
  user-select: none;
  -webkit-user-select: none;
}

#app {
  max-width: 480px;
  margin: 0 auto;
  height: calc(100dvh - 86px);
  display: flex;
  flex-direction: column;
  background: var(--paper);
  position: relative;
  overflow: hidden;
  /* This page (the puzzle) intentionally opts out of the site-wide gold
     marble cursor used on Flow product pages -- force a normal cursor
     everywhere inside the app, then re-affirm the specific interactive
     cursors below with !important so they win regardless of how the
     global cursor rule is scoped/specified. */
  cursor: auto !important;
}
#app * {
  cursor: inherit;
}

.view { display: none; flex-direction: column; height: 100%; }
.view.active {
  display: flex;
  /* Single, whole-view scroll fallback. Previously only the small tray
     region scrolled internally, and since that same area also handles
     piece drag gestures, a scroll attempt there would frequently get
     misread as picking up a piece. Sizing below aims to fit everything
     without needing to scroll at all; this is just the safety net for
     short viewports, and it scrolls the whole view together rather than
     a cramped inner region. */
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
}

/* ---------- Header ---------- */
.header {
  display: flex;
  align-items: center;
  padding: 10px 8px;
  background: var(--paper);
  flex-shrink: 0;
}
.header .wordmark { font-family: 'DM Serif Display', serif; font-size: 22px; color: var(--ink); }
.header-btn {
  width: 44px; height: 44px;
  display: flex; align-items: center; justify-content: center;
  border-radius: 50%;
  background: none; border: none;
  cursor: pointer !important;
  color: var(--ink);
  flex-shrink: 0;
}
.header-btn:active { background: rgba(0,0,0,0.06); }
.header-title { flex: 1; font-weight: 700; font-size: 17px; padding: 0 4px; }
.header-actions { display: flex; align-items: center; gap: 2px; }
.streak-pill { display: flex; align-items: center; gap: 3px; font-weight: 700; margin-right: 4px; }

/* ---------- Level select ---------- */
.level-select-scroll { flex: 1; overflow-y: auto; padding: 8px 12px 24px; }
.level-select-intro { padding: 8px 4px 14px; }
.level-select-intro h1 { font-size: 22px; margin: 0 0 4px; font-weight: 800; }
.level-select-intro p { margin: 0; color: var(--muted); font-size: 14px; }
.level-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 8px;
}
.level-tile {
  position: relative;
  aspect-ratio: 1;
  border-radius: 14px;
  cursor: pointer !important;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
}
.level-tile.locked { background: rgba(107,103,94,0.12); cursor: default !important; }
.level-tile .lvl-num {
  font-size: 11px; font-weight: 700; padding: 5px;
}
.level-tile svg { position: absolute; inset: 7px; }
.level-tile .lock-icon { margin: auto; color: var(--muted); }

/* ---------- How-to strip (static, always visible, replaces onboarding) ---------- */
.howto-strip {
  display: flex;
  align-items: center;
  gap: 14px;
  overflow-x: auto;
  white-space: nowrap;
  padding: 0 16px 4px;
  flex-shrink: 0;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.howto-strip::-webkit-scrollbar { display: none; }
.howto-item {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 12px;
  font-weight: 600;
  color: var(--muted);
  flex-shrink: 0;
}
.howto-icon { font-size: 13px; }

/* ---------- Game screen status row ---------- */
.status-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 4px 16px;
  flex-shrink: 0;
  min-height: 28px;
}
.timer-text { font-weight: 600; color: var(--muted); font-variant-numeric: tabular-nums; }
.hint-chip {
  display: flex; align-items: center; gap: 6px;
  background: rgba(201,138,44,0.18);
  color: var(--gold);
  font-weight: 700;
  border-radius: 50px;
  padding: 8px 14px;
  border: none;
  cursor: pointer !important;
  font-family: inherit;
  font-size: 14px;
}

/* ---------- Responsive game layout ---------- */
/* Mobile default: board stacked above tray, tray fits without scrolling
   wherever possible (board is capped by vh, not just width, so it can't
   eat the vertical space the tray needs). */
.game-layout {
  flex: 1;
  display: flex;
  flex-direction: column;
}
.game-board-col { flex-shrink: 0; display: flex; flex-direction: column; }
.game-tray-col { display: flex; flex-direction: column; }

/* ---------- Board ---------- */
.board-wrap { flex-shrink: 0; padding: 0 16px; }
.board {
  position: relative;
  width: min(100%, 40vh);
  margin: 0 auto;
  aspect-ratio: 1;
  background: var(--paper);
  border-radius: 4px;
  touch-action: none;
}
/* Background cells (one per grid square) replace the old repeating-gradient
   grid lines. That gradient tiled every 12.5% starting from the left/top
   edge of each cell, so it never drew a line at the final 100% mark --
   which is exactly why the right and bottom board edges were missing.
   Explicit cells render every square including the last one, and also
   match the rounded, filled-cell look of the Android app. */
.board-cell {
  position: absolute;
  border-radius: 10%;
  background: rgba(28,27,24,0.07);
}
#app .board-cell:empty {
  display: block !important;
}
.block {
  position: absolute;
  border-radius: 10%;
  transition: transform 0.18s cubic-bezier(0.34, 1.56, 0.64, 1), left 0.22s cubic-bezier(0.34, 1.2, 0.64, 1), top 0.22s cubic-bezier(0.34, 1.2, 0.64, 1);
}
/* Dawn's base.css hides any element matching :empty { display:none }.
   Our block/piece divs are pure JS-created boxes styled only via
   `background` -- no text/children -- so they match :empty and get
   hidden by that rule unless we override it here, scoped to #app. */
#app .block:empty {
  display: block !important;
}
.block.fixed { background: var(--fixed-block); transition: none; }
.block.dragging { transition: none; z-index: 50; box-shadow: 0 8px 20px rgba(0,0,0,0.25); }
.block.preview-valid { background: rgba(111,175,124,0.55) !important; }
.block.preview-invalid { background: rgba(214,96,90,0.55) !important; }
.block.just-placed { animation: pop-in 0.32s cubic-bezier(0.34,1.56,0.64,1); }
@keyframes pop-in { from { transform: scale(0.85); } to { transform: scale(1); } }

/* ---------- Return zone ---------- */
.return-zone {
  margin: 6px 16px 4px;
  height: 52px;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  color: rgba(107,103,94,0.6);
  font-size: 12px;
  flex-shrink: 0;
  background: rgba(107,103,94,0.06);
}
.return-zone.highlighted { background: rgba(107,103,94,0.10); color: var(--muted); }
.return-zone.hovering { background: rgba(214,96,90,0.18); color: #D6605A; }

/* ---------- Tray ---------- */
/* No overflow/scroll here on purpose -- this region also handles piece
   drag gestures, and an inner scroll here fights with that (a scroll
   attempt gets misread as picking up a piece). It sizes to its natural
   content height; .view.active above is the single scroll fallback if
   the total content is taller than the screen. */
.tray-scroll { flex-shrink: 0; padding: 0 12px 12px; }
.tray-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
}
.tray-piece {
  aspect-ratio: 1;
  border-radius: 16px;
  background: var(--card);
  box-shadow: 0 1px 3px rgba(28,27,24,0.10);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  cursor: grab !important;
  touch-action: none;
  position: relative;
}
.tray-piece .shape-icon { border-radius: 3px; }
#app .shape-icon:empty {
  display: block !important;
}
.tray-piece .size-label { font-size: 10px; color: var(--muted); margin-top: 4px; font-weight: 600; }

/* ---------- Ghost (dragged piece) ---------- */
.ghost {
  position: fixed;
  pointer-events: none;
  border-radius: 10%;
  z-index: 200;
  transition: width 0.12s, height 0.12s, opacity 0.12s;
}
#app .ghost:empty {
  display: block !important;
}
.ghost.preview-valid { background: rgba(111,175,124,0.75) !important; }
.ghost.preview-invalid { background: rgba(214,96,90,0.75) !important; }

/* ---------- Buttons ---------- */
.btn {
  height: 48px;
  border-radius: 24px;
  border: none;
  font-family: inherit;
  font-weight: 600;
  font-size: 15px;
  padding: 0 24px;
  cursor: pointer !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
}
.btn-filled { background: var(--ink); color: var(--paper); }
.btn-outline { background: transparent; color: var(--ink); }

/* ---------- Solved overlay ---------- */
.overlay {
  position: absolute;
  inset: 0;
  background: rgba(28,27,24,0.45);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 100;
}
.overlay.active { display: flex; }
.solved-card {
  background: var(--card);
  border-radius: 24px;
  padding: 28px;
  margin: 32px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  max-width: 340px;
  animation: card-in 0.35s cubic-bezier(0.34,1.56,0.64,1);
  position: relative;
  overflow: hidden;
}
@keyframes card-in { from { transform: scale(0.85); opacity: 0; } to { transform: scale(1); opacity: 1; } }
.solved-check {
  width: 64px; height: 64px; border-radius: 32px;
  background: rgba(201,138,44,0.18);
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 16px;
}
.solved-card h2 { font-family: 'DM Serif Display', serif; font-size: 30px; margin: 0 0 4px; }
.solved-card .sub { color: var(--muted); margin: 0 0 18px; font-size: 15px; }
.chip-row {
  display: flex; gap: 8px; overflow-x: auto; max-width: 100%;
  padding-bottom: 4px; margin-bottom: 6px;
}
.chip {
  background: var(--paper);
  border-radius: 50px;
  padding: 5px 12px;
  font-size: 13px;
  font-weight: 600;
  white-space: nowrap;
  flex-shrink: 0;
}
.achievement-banner {
  background: rgba(201,138,44,0.12);
  border-radius: 14px;
  padding: 12px;
  margin-top: 12px;
  text-align: left;
  width: 100%;
}
.achievement-banner .title { color: var(--gold); font-weight: 700; font-size: 13px; }
.achievement-banner .item { font-size: 13px; margin-top: 3px; }
.solved-actions { display: flex; gap: 12px; margin-top: 22px; }
.share-link { margin-top: 10px; color: var(--muted); font-weight: 600; font-size: 14px; cursor: pointer !important; padding: 8px; }
.confetti-canvas { position: absolute; inset: 0; pointer-events: none; z-index: 10; }

/* ---------- Stats screen ---------- */
.stats-scroll { flex: 1; overflow-y: auto; padding: 20px; }
.stat-row { display: flex; gap: 12px; margin-bottom: 12px; }
.stat-card { flex: 1; background: var(--card); border-radius: 14px; padding: 16px; }
.stat-card .value { font-size: 20px; font-weight: 800; }
.stat-card .label { font-size: 13px; color: var(--muted); margin-top: 2px; }
.section-title { font-weight: 800; font-size: 17px; margin: 24px 0 4px; }
.section-sub { color: var(--muted); font-size: 13px; margin: 0 0 12px; }
.insight-row { background: rgba(201,138,44,0.12); border-radius: 12px; padding: 14px; margin-bottom: 8px; font-size: 14px; }
.skill-row { margin-bottom: 12px; }
.skill-head { display: flex; justify-content: space-between; font-weight: 600; font-size: 14px; margin-bottom: 4px; }
.skill-head .score { color: var(--gold); font-weight: 800; }
.skill-bar-bg { height: 8px; border-radius: 4px; background: rgba(107,103,94,0.15); overflow: hidden; }
.skill-bar-fill { height: 100%; border-radius: 4px; background: var(--gold); }
.skill-desc { font-size: 13px; color: var(--muted); margin-top: 4px; }
.achv-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.achv-badge {
  background: var(--card); border-radius: 14px; padding: 10px;
  display: flex; flex-direction: column; align-items: center; text-align: center;
}
.achv-badge.locked { background: rgba(107,103,94,0.08); }
.achv-icon {
  width: 40px; height: 40px; border-radius: 50%;
  background: rgba(201,138,44,0.2);
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 6px;
}
.achv-badge.locked .achv-icon { background: rgba(107,103,94,0.12); }
.achv-title { font-size: 12px; font-weight: 700; }
.achv-desc { font-size: 10px; color: var(--muted); margin-top: 2px; }
.empty-note { color: var(--muted); font-size: 15px; padding: 12px 0; }

/* ---------- How-to-play modal ---------- */
.modal-backdrop {
  position: absolute; inset: 0; background: rgba(28,27,24,0.5);
  display: none; align-items: flex-end; z-index: 150;
}
.modal-backdrop.active { display: flex; }
.modal-sheet {
  background: var(--paper); border-radius: 24px 24px 0 0;
  padding: 24px; width: 100%; max-height: 80%; overflow-y: auto;
}
.modal-sheet h2 { font-family: 'DM Serif Display', serif; font-size: 24px; margin: 0 0 16px; }
.modal-sheet .rule { display: flex; gap: 12px; margin-bottom: 16px; align-items: flex-start; }
.modal-sheet .rule .icon { font-size: 20px; }
.modal-sheet .rule .text b { display: block; margin-bottom: 2px; }
.modal-sheet .rule .text span { color: var(--muted); font-size: 14px; }
.modal-close-btn { width: 100%; margin-top: 8px; }

.install-banner {
  position: absolute; left: 12px; right: 12px; bottom: 12px;
  background: var(--ink); color: var(--paper);
  border-radius: 16px; padding: 14px 16px;
  display: none; align-items: center; justify-content: space-between; gap: 12px;
  z-index: 180;
  font-size: 13px;
}
.install-banner.active { display: flex; }
.install-banner button {
  background: var(--gold); color: var(--ink); border: none; border-radius: 20px;
  padding: 8px 14px; font-weight: 700; font-family: inherit; cursor: pointer !important; flex-shrink: 0;
}
.install-dismiss { background: none !important; color: var(--paper) !important; font-weight: 400 !important; padding: 8px !important; }

/* ============================================================
   RESPONSIVE: tablet + desktop -- board and tray sit side by
   side so the whole game fits on screen without scrolling to
   find pieces, and the section uses the full page width.
   ============================================================ */
@media (min-width: 768px) {
  #app {
    max-width: 1100px;
    height: calc(100dvh - 86px);
  }
  .header {
    padding-top: 22px;
  }
  .howto-strip {
    justify-content: center;
    padding: 4px 24px 10px;
  }
  .howto-item { font-size: 13px; }
  .game-layout {
    flex-direction: row;
    gap: 32px;
    padding: 0 24px 24px;
    align-items: flex-start;
  }
  .game-board-col {
    width: min(52vh, 520px);
  }
  .board-wrap { padding: 0; }
  .board { width: 100%; }
  .game-tray-col {
    flex: 1;
    align-self: stretch;
  }
  .tray-scroll {
    padding: 0;
  }
  .tray-grid {
    /* Fixed-size tiles instead of 1fr -- on a wide desktop column, 1fr
       stretched each cell to fill the space, leaving pieces stranded in
       huge empty boxes. minmax caps how big a tile can get regardless of
       column width. */
    grid-template-columns: repeat(auto-fill, minmax(96px, 116px));
    gap: 10px;
    justify-content: flex-start;
  }
  .tray-piece {
    padding: 6px;
  }
  .tray-piece .size-label { font-size: 12px; }
}
/* END_SECTION:thinkly-puzzle-game */

/* START_SECTION:thinkly-research-page (INDEX:84) */
.t-eye {
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  font-weight: 700;
  color: var(--gold);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 16px;
  display: block;
}

#read-progress {
  position: fixed;
  top: 0;
  left: 0;
  height: 4px;
  width: 0%;
  background: var(--gold);
  box-shadow: 0 0 6px rgba(245,166,35,0.6);
  z-index: 9999;
  transition: width 0.1s linear;
}

/* HERO */
.r-hero {
  padding: 110px 64px 90px;
  background: #fff;
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  gap: 56px;
}

.r-hero::before {
  content: '';
  position: absolute;
  top: -200px;
  right: -200px;
  width: 700px;
  height: 700px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(245,166,35,0.05) 0%, transparent 70%);
  pointer-events: none;
}

.r-hero__inner {
  max-width: 760px;
  position: relative;
  flex: 1 1 560px;
}

/* Hero image (added via the page editor — hidden automatically if none set) */
.r-hero__media {
  flex: 1 1 380px;
  position: relative;
}

.r-hero__media img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 20px;
}

.r-hero__h1 {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(32px, 5.2vw, 60px);
  font-weight: 400;
  color: var(--navy);
  line-height: 1.1;
  letter-spacing: -0.02em;
  margin-bottom: 24px;
}

.r-hero__h1 p { margin: 0; }
.r-hero__h1 em {
  font-style: italic;
  color: var(--gold);
}

.r-hero__intro {
  font-family: 'Source Serif 4', serif;
  font-size: 16px;
  color: var(--muted);
  line-height: 1.75;
  margin-bottom: 28px;
  font-style: italic;
  max-width: 620px;
}

.r-hero__readtime {
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  color: var(--muted);
  letter-spacing: 0.04em;
  margin-bottom: 24px;
  opacity: 0.7;
}

.r-hero__note {
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  color: var(--muted);
  padding: 14px 18px;
  background: var(--bg-warm);
  border-radius: 10px;
  border-left: 3px solid var(--gold);
  line-height: 1.65;
  max-width: 560px;
}

.r-hero__note strong {
  color: var(--text);
  font-weight: 600;
}

/* SUMMARY STRIP */
.r-summary {
  background: var(--bg-warm);
  border-top: 1px solid var(--tan);
  border-bottom: 1px solid var(--tan);
  padding: 48px 64px;
}

.r-summary__inner {
  max-width: 680px;
  margin: 0 auto;
}

.r-summary__label {
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 20px;
}

.r-summary__list {
  list-style: none;
  margin-bottom: 24px;
  padding-left: 0;
}

.r-summary__list li {
  font-family: 'Source Serif 4', serif;
  font-size: 15px;
  color: var(--navy);
  line-height: 1.7;
  padding: 8px 0 8px 24px;
  border-bottom: 1px solid var(--tan);
  position: relative;
  list-style: none;
}

.r-summary__list li::before {
  content: '\2713';
  position: absolute;
  left: 0;
  color: var(--gold);
  font-weight: 700;
}

.r-summary__list li:last-child { border-bottom: none; }

.r-summary__link {
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: var(--navy);
  border-bottom: 1px solid var(--gold);
  text-decoration: none;
}

/* LAYOUT */
.r-main {
  padding: 0 64px 100px;
  background: #fff;
}

.r-layout {
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 80px;
  align-items: start;
  max-width: 1060px;
  margin: 0 auto;
  padding-top: 64px;
}

.r-sidebar {
  position: sticky;
  top: 100px;
}

.r-sb__title {
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  font-weight: 700;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: 16px;
}

.r-sb__link {
  display: block;
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 500;
  color: var(--muted);
  text-decoration: none;
  padding: 8px 12px;
  border-radius: 8px;
  cursor: none;
  transition: all 0.2s;
  border-left: 2px solid transparent;
  margin-bottom: 3px;
}

.r-sb__link:hover,
.r-sb__link.active {
  color: var(--navy);
  background: var(--bg-warm);
  border-left-color: var(--gold);
}

/* ARTICLE SECTIONS */
.r-section {
  margin-bottom: 80px;
  padding-bottom: 80px;
  border-bottom: 1px solid var(--border);
  scroll-margin-top: 100px;
}

.r-section:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}

.r-section__num {
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  font-weight: 700;
  color: var(--gold);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 12px;
}

.r-section h2 {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(24px, 2.5vw, 32px);
  font-weight: 400;
  color: var(--navy);
  line-height: 1.2;
  margin-bottom: 24px;
}

.r-section p {
  font-family: 'Source Serif 4', serif;
  font-size: 15px;
  color: var(--muted);
  line-height: 1.8;
  margin-bottom: 20px;
}

.r-section p strong {
  color: var(--text);
  font-weight: 600;
}

.r-section p em {
  font-style: italic;
}

/* Collapsible toggle — hidden by default, only shown on mobile/tablet (see media query) */
.r-toggle {
  display: none;
}

/* PULL QUOTE */
.r-pullquote {
  margin: 36px 0;
  padding: 28px 36px;
  background: var(--bg-warm);
  border-radius: 16px;
  border-left: 4px solid var(--gold);
}

.r-pullquote__text {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(18px, 2.2vw, 24px);
  font-weight: 400;
  color: var(--navy);
  line-height: 1.5;
  margin-bottom: 12px;
  font-style: italic;
}

.r-pullquote__source {
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  color: var(--muted);
  letter-spacing: 0.04em;
}

/* KEY FINDING */
.r-keyfinding {
  margin: 28px 0;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 16px;
  align-items: start;
  padding: 20px 24px;
  background: rgba(27,46,94,0.04);
  border-radius: 12px;
  border: 1px solid rgba(27,46,94,0.08);
}

.r-keyfinding__icon {
  width: 36px;
  height: 36px;
  border-radius: 9px;
  background: rgba(245,166,35,0.12);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  flex-shrink: 0;
  margin-top: 2px;
}

.r-keyfinding__text {
  font-family: 'Source Serif 4', serif;
  font-size: 15px;
  color: var(--navy);
  font-weight: 600;
  line-height: 1.6;
}

.r-keyfinding__sub {
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  color: var(--muted);
  margin-top: 4px;
  line-height: 1.5;
}

/* THINKLY CONNECTION BOX */
.r-thinklybox {
  margin: 36px 0;
  padding: 32px;
  background: var(--navy);
  border-radius: 16px;
}

.r-thinklybox__label {
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  font-weight: 700;
  color: var(--gold);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 14px;
}

.r-thinklybox__text {
  font-family: 'Source Serif 4', serif;
  font-size: 16px;
  line-height: 1.85;
}

/* Force all Thinkly-box copy (incl. paragraphs and bold) to white — the
   .r-section p / .r-section p strong rules above would otherwise dim it. */
.r-thinklybox__text,
.r-thinklybox__text p,
.r-thinklybox__text strong,
.r-thinklybox__text p strong {
  color: #ffffff !important;
}

/* PARENT EXAMPLE */
.parent-example {
  margin: 28px 0;
  padding: 24px 28px;
  background: var(--bg-section);
  border-radius: 14px;
  border: 1px solid var(--tan);
}

.pe-label {
  font-family: 'Inter', sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 16px;
}

.pe-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.pe-col {
  font-family: 'Source Serif 4', serif;
  font-size: 14px;
  color: var(--muted);
  line-height: 1.7;
}

.pe-col p { margin-bottom: 8px; }

.pe-tag {
  font-family: 'Inter', sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 50px;
  display: inline-block;
  margin-bottom: 12px;
}

.pe-tag.bad { background: #F0EEEB; color: #999; }
.pe-tag.good { background: rgba(245,166,35,0.12); color: var(--gold); }
.pe-response { font-style: italic; }
.pe-outcome { font-weight: 600; color: var(--navy); font-size: 13px; }

/* REFERENCES */
.r-references {
  padding: 80px 64px;
  background: var(--bg-section);
}

.r-references__inner {
  max-width: 760px;
  margin: 0 auto;
}

.r-references__inner h2 {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(22px, 2.5vw, 30px);
  font-weight: 400;
  color: var(--navy);
  margin-bottom: 28px;
}

.r-ref {
  font-family: 'Source Serif 4', serif;
  font-size: 14px;
  color: var(--muted);
  line-height: 1.7;
  padding: 14px 0;
  border-bottom: 1px solid var(--border);
}

.r-ref:last-child { border-bottom: none; }

.r-ref a {
  color: var(--navy);
  border-bottom: 1px solid var(--gold);
  text-decoration: none;
  transition: opacity 0.2s;
}

.r-ref a:hover { opacity: 0.7; }

.r-ref strong {
  color: var(--text);
  font-weight: 600;
}

/* CTA */
.r-cta {
  padding: 100px 64px;
  background: var(--navy);
  text-align: center;
  position: relative;
  overflow: hidden;
}

.r-cta::before {
  content: '';
  position: absolute;
  top: -300px;
  left: 50%;
  transform: translateX(-50%);
  width: 800px;
  height: 600px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(245,166,35,0.07) 0%, transparent 70%);
  pointer-events: none;
}

.r-cta__h2 {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(28px, 3.5vw, 40px);
  font-weight: 400;
  color: #fff;
  letter-spacing: -0.01em;
  margin-bottom: 14px;
  position: relative;
  line-height: 1.15;
}

.r-cta__h2 p { margin: 0; }
.r-cta__h2 em {
  font-style: italic;
  color: var(--gold);
}

.r-cta p {
  font-family: 'Source Serif 4', serif;
  font-size: 15px;
  color: rgba(255,255,255,0.5);
  margin-bottom: 36px;
  font-style: italic;
  position: relative;
}

.r-cta__btns {
  display: flex;
  gap: 14px;
  justify-content: center;
  flex-wrap: wrap;
  position: relative;
}

/* TABLET */
@media (max-width: 960px) {
  .r-hero,
  .r-main,
  .r-references,
  .r-cta { padding: 80px 48px; }
  .r-layout { grid-template-columns: 1fr; gap: 32px; padding-top: 32px; }
  .r-sidebar { display: none; }
  .r-cta__btns a { width: 100%; text-align: center; }

  /* Hero stacks: text first, image below (no empty side to fill on narrow screens) */
  .r-hero { flex-direction: column; align-items: flex-start; gap: 32px; }
  .r-hero__media { width: 100%; }

  /* Accordion: each section's body shows a short teaser (1-2 lines) with a
     fade-out gradient, then expands fully on tap — desktop is untouched */
  .r-section-body {
    max-height: 90px;
    overflow: hidden;
    position: relative;
    transition: max-height 0.4s ease;
  }

  .r-section-body::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 48px;
    background: linear-gradient(to bottom, rgba(255,255,255,0), #fff);
    pointer-events: none;
    transition: opacity 0.3s ease;
  }

  .r-section-body.expanded {
    max-height: 4000px;
  }

  .r-section-body.expanded::after {
    opacity: 0;
  }

  /* References sit on a tinted background, so the fade must match it, not white */
  .r-references-body::after {
    background: linear-gradient(to bottom, rgba(0,0,0,0), var(--bg-section));
  }

  .r-toggle {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 4px 0 20px;
    background: none;
    border: none;
    padding: 0;
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 700;
    color: var(--navy);
    letter-spacing: 0.02em;
    cursor: pointer;
  }

  .r-toggle-icon {
    font-size: 11px;
    transition: transform 0.3s ease;
  }

  .r-toggle[aria-expanded="true"] .r-toggle-icon {
    transform: rotate(180deg);
  }
}

/* MOBILE */
@media (max-width: 768px) {
  .r-hero { padding: 60px 20px 40px; }
  .r-hero__h1 { font-size: clamp(28px, 6.5vw, 38px); margin-bottom: 16px; }
  .r-hero__intro { font-size: 15px; line-height: 1.7; margin-bottom: 20px; }
  .r-hero__note { font-size: 12.5px; padding: 12px 14px; }
  .r-summary { padding: 32px 20px; }
  .r-main { padding: 0 20px 60px; }
  .r-layout { padding-top: 16px; }
  .r-section { margin-bottom: 48px; padding-bottom: 48px; }
  .r-section h2 { font-size: 22px; margin-bottom: 16px; }
  .r-section p { font-size: 15px; line-height: 1.75; margin-bottom: 16px; }
  .r-pullquote { margin: 24px 0; padding: 20px; border-radius: 12px; }
  .r-pullquote__text { font-size: clamp(16px, 5vw, 19px); line-height: 1.45; }
  .r-keyfinding { margin: 20px 0; padding: 16px; gap: 12px; }
  .r-thinklybox { margin: 24px 0; padding: 20px; border-radius: 12px; }
  .r-thinklybox__text { font-size: 14.5px; line-height: 1.7; }
  .parent-example { margin: 20px 0; padding: 16px; }
  .pe-row { grid-template-columns: 1fr; gap: 16px; }
  .r-references { padding: 60px 20px; }
  .r-references__inner h2 { margin-bottom: 20px; }
  .r-cta { padding: 68px 20px; }
  .r-cta__btns { flex-direction: column; width: 100%; gap: 10px; }
}
/* END_SECTION:thinkly-research-page */

/* START_SECTION:thinkly-return-refund (INDEX:85) */
.t-policy-breadcrumb {
  padding: 14px 64px;
  background: var(--bg-warm);
  border-bottom: 1px solid var(--border);
}

.t-policy-breadcrumb__inner {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  color: var(--muted);
}

.t-policy-breadcrumb a {
  color: var(--navy);
  text-decoration: none;
}

.t-policy-breadcrumb a:hover {
  color: var(--gold);
}

.t-policy-breadcrumb__sep {
  opacity: 0.4;
}

.t-policy-breadcrumb__current {
  color: var(--navy);
  font-weight: 600;
}

.t-policy-wrap {
  max-width: 760px;
  margin: 0 auto;
  padding: 80px 64px 100px;
  background: #fff;
}

.t-policy-h1 {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(32px, 4.2vw, 48px);
  font-weight: 400;
  color: var(--navy);
  line-height: 1.1;
  letter-spacing: -0.02em;
  margin-bottom: 12px;
}

.t-policy-date {
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  color: var(--muted);
  opacity: 0.7;
  margin-bottom: 48px;
}

/* PROMISE BOX — hero statement unique to the Returns page */
.t-policy-promise {
  background: var(--navy);
  border-radius: 16px;
  padding: 36px 32px;
  margin-bottom: 56px;
  text-align: center;
}

.t-policy-promise h2 {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(22px, 2.8vw, 32px);
  font-weight: 400;
  color: #fff;
  line-height: 1.25;
  margin-bottom: 14px;
}

.t-policy-promise p {
  font-family: 'Source Serif 4', serif;
  font-size: 15px;
  color: rgba(255, 255, 255, 0.7);
  line-height: 1.75;
  max-width: 480px;
  margin: 0 auto;
}

.t-policy-promise p strong {
  color: #fff;
  font-weight: 600;
}

/* NUMBERED STEPS — unique to the Returns page */
.t-policy-steps {
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin-top: 8px;
}

.t-policy-step {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 18px;
  align-items: start;
}

.t-policy-step__circle {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: var(--gold);
  color: var(--navy-deep);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  font-weight: 800;
  flex-shrink: 0;
}

.t-policy-step__body h4 {
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  font-weight: 700;
  color: var(--navy);
  margin-bottom: 6px;
  line-height: 1.4;
}

.t-policy-step__body p {
  font-family: 'Source Serif 4', serif;
  font-size: 14.5px;
  color: var(--muted);
  line-height: 1.75;
  margin: 0;
}

.t-policy-step__body p strong {
  color: var(--text);
  font-weight: 600;
}

/* POLICY SECTIONS */
.t-policy-section {
  margin-bottom: 44px;
  padding-bottom: 44px;
  border-bottom: 1px solid var(--border);
}

.t-policy-section:last-of-type {
  border-bottom: none;
  padding-bottom: 0;
}

.t-policy-section h2 {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(20px, 2.2vw, 26px);
  font-weight: 400;
  color: var(--navy);
  line-height: 1.3;
  margin-bottom: 16px;
}

.t-policy-section p {
  font-family: 'Source Serif 4', serif;
  font-size: 15.5px;
  color: var(--muted);
  line-height: 1.85;
  margin-bottom: 14px;
}

.t-policy-section p:last-child {
  margin-bottom: 0;
}

.t-policy-section p strong {
  color: var(--text);
  font-weight: 600;
}

.t-policy-section ul {
  margin: 0 0 16px;
  padding-left: 0;
  list-style: none;
}

.t-policy-section ul li {
  font-family: 'Source Serif 4', serif;
  font-size: 15px;
  color: var(--muted);
  line-height: 1.8;
  padding: 10px 0 10px 24px;
  border-bottom: 1px solid var(--border);
  position: relative;
}

.t-policy-section ul li:last-child {
  border-bottom: none;
}

.t-policy-section ul li::before {
  content: '\2192';
  position: absolute;
  left: 0;
  color: var(--gold);
  font-weight: 700;
}

.t-policy-section ul li strong {
  color: var(--navy);
  font-weight: 600;
}

.t-policy-highlight {
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  color: var(--muted);
  padding: 14px 18px;
  background: var(--bg-warm);
  border-radius: 10px;
  border-left: 3px solid var(--gold);
  line-height: 1.65;
  margin-top: 16px;
}

/* CONTACT BOX */
.t-policy-contact-box {
  margin-top: 24px;
  padding: 32px;
  background: var(--navy);
  border-radius: 16px;
  text-align: center;
}

.t-policy-contact-box h3 {
  font-family: 'DM Serif Display', serif;
  font-size: 22px;
  font-weight: 400;
  color: #fff;
  margin-bottom: 8px;
}

.t-policy-contact-box p {
  font-family: 'Source Serif 4', serif;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.6);
  font-style: italic;
  margin-bottom: 18px;
}

.t-policy-contact-box__cta {
  display: inline-block;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  font-weight: 700;
  color: var(--navy-deep);
  background: var(--gold);
  padding: 12px 28px;
  border-radius: 50px;
  text-decoration: none;
  transition: background 0.2s, transform 0.2s;
}

.t-policy-contact-box__cta:hover {
  background: var(--gold-light);
  transform: translateY(-2px);
}

/* RESPONSIVE */
@media (max-width: 960px) {
  .t-policy-breadcrumb {
    padding: 12px 32px;
  }

  .t-policy-wrap {
    padding: 56px 32px 72px;
  }
}

@media (max-width: 768px) {
  .t-policy-breadcrumb {
    padding: 10px 20px;
  }

  .t-policy-wrap {
    padding: 48px 20px 56px;
  }

  .t-policy-date {
    margin-bottom: 32px;
  }

  .t-policy-promise {
    padding: 28px 22px;
    margin-bottom: 40px;
  }

  .t-policy-step {
    gap: 14px;
  }

  .t-policy-step__circle {
    width: 28px;
    height: 28px;
    font-size: 12.5px;
  }

  .t-policy-section {
    margin-bottom: 32px;
    padding-bottom: 32px;
  }

  .t-policy-section p,
  .t-policy-section ul li,
  .t-policy-step__body p {
    font-size: 14.5px;
  }

  .t-policy-contact-box {
    padding: 24px 20px;
  }
}
/* END_SECTION:thinkly-return-refund */

/* START_SECTION:thinkly-reviews (INDEX:86) */
.t-reviews {
  padding: 110px 64px;
  background: #fff;
}
.t-reviews__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 48px;
}
.t-reviews__head-left { text-align: left; }
.t-reviews__h2 {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(28px, 3.5vw, 44px);
  font-weight: 400;
  color: #1B2E5E;
  margin: 0;
}
.t-rev-arrows { display: flex; gap: 12px; margin-bottom: 4px; }
.t-rev-arrow {
  width: 44px; height: 44px;
  border-radius: 50%;
  border: 1.5px solid rgba(27,46,94,0.09);
  background: transparent;
  color: #1B2E5E;
  display: flex; align-items: center; justify-content: center;
  cursor: none;
  transition: all 0.25s cubic-bezier(0.16,1,0.3,1);
}
.t-rev-arrow:hover { border-color: #1B2E5E; background: #1B2E5E; color: #fff; }

.t-rev-grid {
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  gap: 24px;
  padding: 16px 4px 40px;
  scroll-behavior: smooth;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.t-rev-grid::-webkit-scrollbar { display: none; }

.t-rev {
  flex: 0 0 380px;
  scroll-snap-align: start;
  background: #fff;
  border-radius: 16px;
  padding: 28px;
  border: 1.5px solid rgba(27,46,94,0.09);
  transition: transform 0.2s, box-shadow 0.2s;
  box-sizing: border-box;
}
.t-rev:hover { transform: translateY(-4px); box-shadow: 0 16px 40px rgba(27,46,94,0.08); }
.t-rev__stars { color: #F5A623; font-size: 12px; margin-bottom: 16px; letter-spacing: 3px; }
.t-rev__text {
  font-family: 'Source Serif 4', serif;
  font-size: 15px; color: #6B6560;
  line-height: 1.8; margin-bottom: 20px; font-style: italic;
}
.t-rev__author { font-family: 'Inter', sans-serif; font-weight: 700; font-size: 13px; color: #1B2E5E; }
.t-rev__loc { font-family: 'Inter', sans-serif; font-size: 11px; color: #6B6560; margin-top: 2px; }

@media (max-width: 1100px) { .t-reviews { padding: 80px 40px; } .t-rev { flex: 0 0 320px; padding: 24px; } }
@media (max-width: 768px) {
  .t-reviews { padding: 56px 20px; }
  .t-reviews__head { margin-bottom: 24px; }
  .t-rev { flex: 0 0 280px; padding: 20px; }
  .t-rev__text { font-size: 14px; }
}
/* END_SECTION:thinkly-reviews */

/* START_SECTION:thinkly-shipping-policy (INDEX:87) */
.t-policy-breadcrumb {
  padding: 14px 64px;
  background: var(--bg-warm);
  border-bottom: 1px solid var(--border);
}

.t-policy-breadcrumb__inner {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  color: var(--muted);
}

.t-policy-breadcrumb a {
  color: var(--navy);
  text-decoration: none;
}

.t-policy-breadcrumb a:hover {
  color: var(--gold);
}

.t-policy-breadcrumb__sep {
  opacity: 0.4;
}

.t-policy-breadcrumb__current {
  color: var(--navy);
  font-weight: 600;
}

.t-policy-wrap {
  max-width: 760px;
  margin: 0 auto;
  padding: 80px 64px 100px;
  background: #fff;
}

.t-policy-h1 {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(32px, 4.2vw, 48px);
  font-weight: 400;
  color: var(--navy);
  line-height: 1.1;
  letter-spacing: -0.02em;
  margin-bottom: 12px;
}

.t-policy-date {
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  color: var(--muted);
  opacity: 0.7;
  margin-bottom: 48px;
}

/* INFO CARDS */
.t-policy-info-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-bottom: 56px;
}

.t-policy-info-card {
  display: flex;
  flex-direction: column;
  background: var(--bg-warm);
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 22px 20px;
}

.t-policy-info-card__icon {
  font-size: 22px;
  margin-bottom: 12px;
}

.t-policy-info-card__title {
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  font-weight: 700;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 6px;
}

.t-policy-info-card__val {
  font-family: 'DM Serif Display', serif;
  font-size: 22px;
  font-weight: 400;
  color: var(--navy);
  margin-bottom: 6px;
}

.t-policy-info-card__sub {
  font-family: 'Source Serif 4', serif;
  font-size: 12.5px;
  color: var(--muted);
  line-height: 1.5;
}

/* POLICY SECTIONS */
.t-policy-section {
  margin-bottom: 44px;
  padding-bottom: 44px;
  border-bottom: 1px solid var(--border);
}

.t-policy-section:last-of-type {
  border-bottom: none;
  padding-bottom: 0;
}

.t-policy-section h2 {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(20px, 2.2vw, 26px);
  font-weight: 400;
  color: var(--navy);
  line-height: 1.3;
  margin-bottom: 16px;
}

.t-policy-section p {
  font-family: 'Source Serif 4', serif;
  font-size: 15.5px;
  color: var(--muted);
  line-height: 1.85;
  margin-bottom: 14px;
}

.t-policy-section p:last-child {
  margin-bottom: 0;
}

.t-policy-section p strong {
  color: var(--text);
  font-weight: 600;
}

.t-policy-section ul {
  margin: 0 0 16px;
  padding-left: 0;
  list-style: none;
}

.t-policy-section ul li {
  font-family: 'Source Serif 4', serif;
  font-size: 15px;
  color: var(--muted);
  line-height: 1.8;
  padding: 10px 0 10px 24px;
  border-bottom: 1px solid var(--border);
  position: relative;
}

.t-policy-section ul li:last-child {
  border-bottom: none;
}

.t-policy-section ul li::before {
  content: '\2192';
  position: absolute;
  left: 0;
  color: var(--gold);
  font-weight: 700;
}

.t-policy-section ul li strong {
  color: var(--navy);
  font-weight: 600;
}

.t-policy-highlight {
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  color: var(--muted);
  padding: 14px 18px;
  background: var(--bg-warm);
  border-radius: 10px;
  border-left: 3px solid var(--gold);
  line-height: 1.65;
  margin-top: 16px;
}

/* CONTACT BOX */
.t-policy-contact-box {
  margin-top: 24px;
  padding: 32px;
  background: var(--navy);
  border-radius: 16px;
  text-align: center;
}

.t-policy-contact-box h3 {
  font-family: 'DM Serif Display', serif;
  font-size: 22px;
  font-weight: 400;
  color: #fff;
  margin-bottom: 8px;
}

.t-policy-contact-box p {
  font-family: 'Source Serif 4', serif;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.6);
  font-style: italic;
  margin-bottom: 18px;
}

.t-policy-contact-box a {
  display: inline-block;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  font-weight: 700;
  color: var(--navy-deep);
  background: var(--gold);
  padding: 12px 28px;
  border-radius: 50px;
  text-decoration: none;
  transition: background 0.2s, transform 0.2s;
}

.t-policy-contact-box a:hover {
  background: var(--gold-light);
  transform: translateY(-2px);
}

/* RESPONSIVE */
@media (max-width: 960px) {
  .t-policy-breadcrumb {
    padding: 12px 32px;
  }

  .t-policy-wrap {
    padding: 56px 32px 72px;
  }

  .t-policy-info-cards {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .t-policy-breadcrumb {
    padding: 10px 20px;
  }

  .t-policy-wrap {
    padding: 48px 20px 56px;
  }

  .t-policy-date {
    margin-bottom: 32px;
  }

  .t-policy-info-cards {
    margin-bottom: 40px;
  }

  .t-policy-section {
    margin-bottom: 32px;
    padding-bottom: 32px;
  }

  .t-policy-section p,
  .t-policy-section ul li {
    font-size: 14.5px;
  }

  .t-policy-contact-box {
    padding: 24px 20px;
  }
}
/* END_SECTION:thinkly-shipping-policy */

/* START_SECTION:thinkly-skills-section-v2 (INDEX:88) */
.t-skills-v2 {
  padding: 110px 64px;
  background: #FFFFFF;
}

.t-skills-v2__head {
  text-align: center;
  margin-bottom: 60px;
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}

.t-skills-v2 .t-eye {
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  font-weight: 700;
  color: var(--gold);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 16px;
  display: block;
}

.t-skills-v2__h2 {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(28px, 3.6vw, 44px);
  font-weight: 400;
  color: var(--navy);
  line-height: 1.15;
  letter-spacing: -0.02em;
  margin: 0 0 20px;
}

.t-skills-v2__h2 em {
  font-style: italic;
  color: var(--gold);
}

.t-skills-v2__sub {
  font-family: 'Source Serif 4', serif;
  font-style: italic;
  font-size: 17px;
  color: var(--muted);
  margin: 0;
  line-height: 1.7;
}

.t-skills-v2__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  max-width: 1100px;
  margin: 0 auto;
}

.t-skills-v2__card {
  background: var(--bg-warm);
  border-radius: 14px;
  padding: 28px 22px;
  text-align: left;
  position: relative;
  border: 1px solid var(--border);
}

/* Territory-specific accent — a thin top border pulling in each product's color */
.t-skills-v2__card--flow { border-top: 3px solid var(--gold); }
.t-skills-v2__card--fit  { border-top: 3px solid #7284B8; }
.t-skills-v2__card--both { border-top: 3px solid rgba(27, 46, 94, 0.25); }

.t-skills-v2__icon {
  font-size: 26px;
  margin-bottom: 14px;
  line-height: 1;
}

.t-skills-v2__territory {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 10px;
}

.t-skills-v2__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
}

.t-skills-v2__card--flow .t-skills-v2__dot { background: var(--gold); }
.t-skills-v2__card--fit .t-skills-v2__dot  { background: #7284B8; }
.t-skills-v2__card--both .t-skills-v2__dot { background: rgba(27, 46, 94, 0.4); }

.t-skills-v2__territory-label {
  font-family: 'Inter', sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.t-skills-v2__card--flow .t-skills-v2__territory-label { color: var(--gold); }
.t-skills-v2__card--fit .t-skills-v2__territory-label  { color: #7284B8; }
.t-skills-v2__card--both .t-skills-v2__territory-label { color: var(--muted); }

.t-skills-v2__name {
  font-family: 'DM Serif Display', serif;
  font-size: 20px;
  font-weight: 400;
  color: var(--navy);
  margin-bottom: 8px;
  line-height: 1.2;
}

.t-skills-v2__desc {
  font-family: 'Source Serif 4', serif;
  font-size: 13px;
  color: var(--muted);
  line-height: 1.7;
  margin-bottom: 14px;
}

.t-skills-v2__research {
  font-family: 'Inter', sans-serif;
  font-size: 10.5px;
  color: rgba(27, 46, 94, 0.55);
  font-style: italic;
  border-top: 1px dashed rgba(27, 46, 94, 0.14);
  padding-top: 10px;
  line-height: 1.55;
}

/* TABLET */
@media (max-width: 1024px) {
  .t-skills-v2 { padding: 80px 40px; }
  .t-skills-v2__grid { grid-template-columns: 1fr 1fr; gap: 16px; }
}

/* MOBILE */
@media (max-width: 640px) {
  .t-skills-v2 { padding: 64px 20px; }
  .t-skills-v2__head { margin-bottom: 40px; }
  .t-skills-v2__grid { grid-template-columns: 1fr 1fr; gap: 12px; }
  .t-skills-v2__card { padding: 20px 16px; }
  .t-skills-v2__name { font-size: 17px; }
  .t-skills-v2__desc { font-size: 12.5px; }
  .t-skills-v2__research { font-size: 10px; }
}
/* END_SECTION:thinkly-skills-section-v2 */

/* START_SECTION:thinkly-skills-section (INDEX:89) */
.t-builds {
  padding: 48px 0 48px 16px;
  background: var(--navy);
}

.t-builds .t-sec-head {
  text-align: center;
  margin-bottom: 0;
  padding-right: 16px;
}

.t-builds .t-h2 {
  color: #fff;
}

/* ── Base (mobile + tablet): carousel + flip card ── */

.t-builds-carousel-wrap { position: relative; margin-top: 32px; }

.t-builds-grid {
  display: flex;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  gap: 14px;
  padding-right: 16px;
  padding-bottom: 4px;
}
.t-builds-grid::-webkit-scrollbar { display: none; }

.t-b-card {
  flex: 0 0 60%;
  perspective: 1000px;
  cursor: pointer;
}

.t-b-card-inner {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 290px;
  transform-style: preserve-3d;
  transition: transform 0.55s cubic-bezier(0.4, 0.2, 0.2, 1);
}

.t-b-card.tapped .t-b-card-inner { transform: rotateY(180deg); }

.t-b-front,
.t-b-back {
  position: absolute;
  inset: 0;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  padding: 22px 20px;
  display: flex;
  flex-direction: column;
}

.t-b-back {
  transform: rotateY(180deg);
  justify-content: center;
}

.t-b-icon { font-size: 24px; margin-bottom: 12px; display: block; }

.t-b-num {
  font-family: 'Inter', sans-serif;
  font-size: 10px;
  font-weight: 700;
  color: var(--gold);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: 6px;
}

.t-b-title {
  font-family: 'DM Serif Display', serif;
  font-size: 18px;
  font-weight: 400;
  color: #fff;
  margin-bottom: 10px;
  line-height: 1.3;
}

.t-b-line {
  font-family: 'Source Serif 4', serif;
  font-size: 13px;
  line-height: 1.6;
  margin-bottom: 2px;
}

.t-b-line--m { color: rgba(255, 255, 255, 0.45); }
.t-b-line--s { color: rgba(255, 255, 255, 0.85); font-weight: 600; font-style: italic; }

.t-b-back-label {
  font-family: 'Inter', sans-serif;
  font-size: 10px;
  font-weight: 700;
  color: var(--gold);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: 10px;
}

.t-b-research {
  font-family: 'Inter', sans-serif;
  font-size: 12.5px;
  color: rgba(255, 255, 255, 0.8);
  line-height: 1.55;
}

/* Swipe arrows (mobile + tablet only) */
.t-builds-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: -56px;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.15);
  color: #fff;
  font-size: 18px;
  cursor: pointer;
  transition: background 0.2s;
}
.t-builds-arrow:hover { background: rgba(255, 255, 255, 0.16); }
.t-builds-arrow--prev { right: 58px; }
.t-builds-arrow--next { right: 16px; }

.t-builds-hint {
  text-align: center;
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: rgba(255, 255, 255, 0.4);
  margin: 20px 16px 0;
}

@media (min-width: 481px) and (max-width: 1024px) {
  .t-builds { padding: 72px 64px; }
  .t-builds .t-sec-head { padding-right: 0; }
  .t-b-card { flex: 0 0 46%; }
  .t-builds-grid { padding-right: 0; }
  .t-builds-hint { margin: 20px 0 0; }
}

/* ── Desktop (>1024px): original static grid, hover-reveal, untouched behavior ── */

@media (min-width: 1025px) {
  .t-builds { padding: 110px 64px; }
  .t-builds .t-sec-head { margin-bottom: 60px; padding-right: 0; }

  .t-builds-carousel-wrap { margin-top: 0; }

  .t-builds-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    overflow-x: visible;
    padding-right: 0;
  }

  .t-b-card {
    flex: none;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 16px;
    padding: 24px 20px;
    transition: background 0.3s, transform 0.3s, box-shadow 0.3s;
    cursor: none;
    perspective: none;
  }
  .t-b-card:hover {
    background: rgba(255, 255, 255, 0.1);
    transform: translateY(-6px);
    box-shadow: 0 20px 48px rgba(0, 0, 0, 0.25);
  }

  .t-b-card-inner {
    min-height: 0;
    transform: none !important;
    transition: none;
  }

  .t-b-front,
  .t-b-back {
    position: static;
    inset: auto;
    background: none;
    border: none;
    padding: 0;
  }

  .t-b-icon { font-size: 28px; margin-bottom: 20px; }
  .t-b-title { font-size: 20px; margin-bottom: 16px; }
  .t-b-line { font-size: 13px; line-height: 1.9; margin-bottom: 4px; }

  .t-b-back {
    transform: none;
    justify-content: flex-start;
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    opacity: 0;
    transform: translateY(6px);
    transition: opacity 0.3s, transform 0.3s;
  }
  .t-b-card:hover .t-b-back { opacity: 1; transform: translateY(0); }

  .t-b-back-label { display: none; }
  .t-b-research { font-size: 11px; color: rgba(245, 166, 35, 0.7); line-height: 1.5; }

  .t-builds-arrow,
  .t-builds-hint { display: none; }
}
/* END_SECTION:thinkly-skills-section */

/* START_SECTION:thinkly-tcard-section (INDEX:90) */
.t-tcard-section {
  padding: 110px 64px;
  background: var(--bg);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 96px;
  align-items: center;
}

.t-tcard-img-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
}

.t-tcard-stack {
  position: relative;
  width: 280px;
  height: 373px;
  cursor: none;
  flex-shrink: 0;
}

.t-tcard-behind {
  position: absolute;
  inset: 0;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(27, 46, 94, 0.08);
  transform: rotate(4deg) translateY(8px);
}

.t-tcard-behind img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.t-tcard-main {
  position: absolute;
  inset: 0;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 24px 64px rgba(27, 46, 94, 0.15), 0 8px 24px rgba(27, 46, 94, 0.1);
  transform-origin: top left;
  transition: transform 0.6s cubic-bezier(0.4, 0.2, 0.2, 1);
}

.t-tcard-main img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

@media (hover: hover) {
  .t-tcard-stack:hover .t-tcard-main {
    transform: rotate(-32deg) translateX(14px) translateY(-10px);
  }
}

.t-tcard-stack.tapped .t-tcard-main {
  transform: rotate(-32deg) translateX(14px) translateY(-10px);
}

.t-tcard-text .t-eye {
  margin-bottom: 16px;
}

.t-tcard-text h2 {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(26px, 3vw, 38px);
  font-weight: 400;
  color: var(--navy);
  line-height: 1.2;
  margin-bottom: 24px;
}

.t-tcard-text p {
  font-family: 'Source Serif 4', serif;
  font-size: 16px;
  color: var(--muted);
  line-height: 1.85;
  margin-bottom: 16px;
}

.t-tcard-text p strong {
  color: var(--text);
  font-weight: 600;
}

.t-tc-levels {
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  color: var(--muted);
  margin-bottom: 0;
  letter-spacing: 0.02em;
}

.t-tc-levels strong {
  color: var(--navy);
  font-weight: 700;
}

/* Toggle button — hidden by default (desktop never shows it) */
.t-tcard-toggle {
  display: none;
}

@media (max-width: 900px) {
  .t-tcard-section {
    grid-template-columns: 1fr;
    gap: 56px;
    padding: 72px 24px;
  }

  .t-tcard-img-wrap {
    order: -1;
  }

  /* Collapsible body — collapsed by default, expands on toggle click */
  .t-tcard-body {
    max-height: 130px;
    overflow: hidden;
    position: relative;
    transition: max-height 0.4s ease;
  }

  .t-tcard-body::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 48px;
    background: linear-gradient(to bottom, rgba(255,255,255,0), var(--bg));
    pointer-events: none;
    transition: opacity 0.3s ease;
  }

  .t-tcard-body.expanded {
    max-height: 2000px;
  }

  .t-tcard-body.expanded::after {
    opacity: 0;
  }

  .t-tcard-toggle {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 4px;
    background: none;
    border: none;
    padding: 0;
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 700;
    color: var(--navy);
    letter-spacing: 0.02em;
    cursor: pointer;
  }

  .t-tcard-toggle-icon {
    font-size: 11px;
    transition: transform 0.3s ease;
  }

  .t-tcard-toggle[aria-expanded="true"] .t-tcard-toggle-icon {
    transform: rotate(180deg);
  }
}

@media (max-width: 768px) {
  .t-tcard-section {
    padding: 64px 20px;
  }

  .t-tcard-stack {
    width: 220px;
    height: 293px;
  }
}
/* END_SECTION:thinkly-tcard-section */

/* START_SECTION:thinkly-terms (INDEX:91) */
.t-policy-breadcrumb {
  padding: 14px 64px;
  background: var(--bg-warm);
  border-bottom: 1px solid var(--border);
}

.t-policy-breadcrumb__inner {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  color: var(--muted);
}

.t-policy-breadcrumb a {
  color: var(--navy);
  text-decoration: none;
}

.t-policy-breadcrumb a:hover {
  color: var(--gold);
}

.t-policy-breadcrumb__sep {
  opacity: 0.4;
}

.t-policy-breadcrumb__current {
  color: var(--navy);
  font-weight: 600;
}

.t-policy-wrap {
  max-width: 760px;
  margin: 0 auto;
  padding: 80px 64px 100px;
  background: #fff;
}

.t-policy-h1 {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(32px, 4.2vw, 48px);
  font-weight: 400;
  color: var(--navy);
  line-height: 1.1;
  letter-spacing: -0.02em;
  margin-bottom: 12px;
}

.t-policy-date {
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  color: var(--muted);
  opacity: 0.7;
  margin-bottom: 48px;
  line-height: 1.6;
}

/* TABLE OF CONTENTS — unique to the Terms page */
.t-policy-toc {
  background: var(--bg-warm);
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 24px 28px;
  margin-bottom: 56px;
}

.t-policy-toc__title {
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  font-weight: 700;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: 14px;
}

.t-policy-toc__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px 24px;
}

.t-policy-toc__list li {
  list-style: none;
}

.t-policy-toc__list a {
  font-family: 'Inter', sans-serif;
  font-size: 13.5px;
  font-weight: 500;
  color: var(--navy);
  text-decoration: none;
  display: block;
  padding: 6px 0;
  border-bottom: 1px solid transparent;
  transition: border-color 0.2s, color 0.2s;
}

.t-policy-toc__list a:hover {
  color: var(--gold);
  border-bottom-color: var(--gold);
}

/* POLICY SECTIONS */
.t-policy-section {
  margin-bottom: 44px;
  padding-bottom: 44px;
  border-bottom: 1px solid var(--border);
  scroll-margin-top: 100px;
}

.t-policy-section:last-of-type {
  border-bottom: none;
  padding-bottom: 0;
}

.t-policy-section h2 {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(20px, 2.2vw, 26px);
  font-weight: 400;
  color: var(--navy);
  line-height: 1.3;
  margin-bottom: 16px;
}

.t-policy-section p {
  font-family: 'Source Serif 4', serif;
  font-size: 15.5px;
  color: var(--muted);
  line-height: 1.85;
  margin-bottom: 14px;
}

.t-policy-section p:last-child {
  margin-bottom: 0;
}

.t-policy-section p strong {
  color: var(--text);
  font-weight: 600;
}

.t-policy-section ul {
  margin: 0 0 16px;
  padding-left: 0;
  list-style: none;
}

.t-policy-section ul li {
  font-family: 'Source Serif 4', serif;
  font-size: 15px;
  color: var(--muted);
  line-height: 1.8;
  padding: 10px 0 10px 24px;
  border-bottom: 1px solid var(--border);
  position: relative;
}

.t-policy-section ul li:last-child {
  border-bottom: none;
}

.t-policy-section ul li::before {
  content: '\2192';
  position: absolute;
  left: 0;
  color: var(--gold);
  font-weight: 700;
}

.t-policy-section ul li strong {
  color: var(--navy);
  font-weight: 600;
}

.t-policy-inline-link {
  color: var(--navy);
  font-weight: 600;
  border-bottom: 1px solid var(--gold);
  text-decoration: none;
}

.t-policy-inline-link:hover {
  opacity: 0.7;
}

.t-policy-highlight {
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  color: var(--muted);
  padding: 14px 18px;
  background: var(--bg-warm);
  border-radius: 10px;
  border-left: 3px solid var(--gold);
  line-height: 1.65;
  margin-top: 16px;
}

/* CONTACT BOX */
.t-policy-contact-box {
  margin-top: 24px;
  padding: 32px;
  background: var(--navy);
  border-radius: 16px;
  text-align: center;
}

.t-policy-contact-box h3 {
  font-family: 'DM Serif Display', serif;
  font-size: 22px;
  font-weight: 400;
  color: #fff;
  margin-bottom: 8px;
}

.t-policy-contact-box p {
  font-family: 'Source Serif 4', serif;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.6);
  font-style: italic;
  margin-bottom: 18px;
}

.t-policy-contact-box__cta {
  display: inline-block;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  font-weight: 700;
  color: var(--navy-deep);
  background: var(--gold);
  padding: 12px 28px;
  border-radius: 50px;
  text-decoration: none;
  transition: background 0.2s, transform 0.2s;
}

.t-policy-contact-box__cta:hover {
  background: var(--gold-light);
  transform: translateY(-2px);
}

/* RESPONSIVE */
@media (max-width: 960px) {
  .t-policy-breadcrumb {
    padding: 12px 32px;
  }

  .t-policy-wrap {
    padding: 56px 32px 72px;
  }
}

@media (max-width: 768px) {
  .t-policy-breadcrumb {
    padding: 10px 20px;
  }

  .t-policy-wrap {
    padding: 48px 20px 56px;
  }

  .t-policy-date {
    margin-bottom: 32px;
  }

  .t-policy-toc {
    padding: 20px 18px;
    margin-bottom: 40px;
  }

  .t-policy-toc__list {
    grid-template-columns: 1fr;
  }

  .t-policy-section {
    margin-bottom: 32px;
    padding-bottom: 32px;
  }

  .t-policy-section p,
  .t-policy-section ul li {
    font-size: 14.5px;
  }

  .t-policy-contact-box {
    padding: 24px 20px;
  }
}
/* END_SECTION:thinkly-terms */

/* START_SECTION:thinkly-two-kinds-of-thinking (INDEX:92) */
.t-2kt {
  padding: 110px 64px;
  background: #FFFFFF;
}

.t-2kt__inner {
  max-width: 1100px;
  margin: 0 auto;
}

.t-2kt__head {
  text-align: center;
  margin-bottom: 64px;
}

.t-2kt .t-eye {
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  font-weight: 700;
  color: var(--gold);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 16px;
  display: block;
}

.t-2kt__h2 {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(28px, 3.6vw, 44px);
  font-weight: 400;
  color: var(--navy);
  line-height: 1.15;
  letter-spacing: -0.02em;
  max-width: 720px;
  margin: 0 auto;
}

.t-2kt__h2 p { margin: 0; }
.t-2kt__h2 em {
  font-style: italic;
  color: var(--gold);
}

.t-2kt__lede {
  font-family: 'Source Serif 4', serif;
  font-style: italic;
  font-size: 17px;
  color: var(--muted);
  max-width: 560px;
  margin: 20px auto 0;
  line-height: 1.7;
}

.t-2kt__cols {
  display: grid;
  grid-template-columns: 1fr 1px 1fr;
  gap: 56px;
  align-items: stretch;
}

.t-2kt__divider {
  background: rgba(27, 46, 94, 0.09);
  width: 1px;
}

.t-2kt__col {
  padding: 8px 0;
  display: flex;
  flex-direction: column;
}

.t-2kt__col-eye {
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 20px;
}

.t-2kt__col--flow .t-2kt__col-eye {
  color: var(--gold);
}

.t-2kt__col--fit .t-2kt__col-eye {
  color: #7284B8;
}

.t-2kt__col-h {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(24px, 2.6vw, 32px);
  font-weight: 400;
  color: var(--navy);
  line-height: 1.2;
  letter-spacing: -0.01em;
  margin: 0 0 22px;
}

.t-2kt__col-h em {
  font-style: italic;
}

.t-2kt__col--flow .t-2kt__col-h em {
  color: var(--gold);
}

.t-2kt__col--fit .t-2kt__col-h em {
  color: #7284B8;
}

.t-2kt__col-body {
  font-family: 'Source Serif 4', serif;
  font-size: 16px;
  color: var(--muted);
  line-height: 1.85;
  margin-bottom: 32px;
}

.t-2kt__col-body p { margin: 0 0 14px; }
.t-2kt__col-body p:last-child { margin-bottom: 0; }
.t-2kt__col-body strong {
  color: var(--text);
  font-weight: 600;
}

.t-2kt__callout {
  margin-top: auto;
  padding-top: 24px;
  border-top: 1px dashed rgba(27, 46, 94, 0.14);
}

.t-2kt__callout-label {
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 10px;
}

.t-2kt__series-name {
  font-family: 'DM Serif Display', serif;
  font-size: 26px;
  font-weight: 400;
  color: var(--navy);
  margin-bottom: 6px;
  line-height: 1.2;
}

.t-2kt__series-tag {
  font-family: 'Source Serif 4', serif;
  font-style: italic;
  font-size: 14px;
  color: var(--muted);
  line-height: 1.6;
  margin-bottom: 18px;
}

.t-2kt__series-tag em {
  font-style: normal;
  font-weight: 600;
}

.t-2kt__col--flow .t-2kt__series-tag em {
  color: var(--gold);
}

.t-2kt__col--fit .t-2kt__series-tag em {
  color: #7284B8;
}

.t-2kt__link {
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.03em;
  color: var(--navy);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding-bottom: 2px;
  border-bottom: 2px solid;
  transition: opacity 0.2s;
}

.t-2kt__link--flow {
  border-color: var(--gold);
}

.t-2kt__link--fit {
  border-color: #7284B8;
}

.t-2kt__link:hover {
  opacity: 0.75;
}

.t-2kt__arrow {
  font-size: 16px;
  line-height: 1;
  transform: translateY(1px);
}

/* TABLET */
@media (max-width: 1024px) {
  .t-2kt { padding: 80px 40px; }
  .t-2kt__cols { gap: 40px; }
}

/* MOBILE */
@media (max-width: 768px) {
  .t-2kt { padding: 64px 20px; }
  .t-2kt__head { margin-bottom: 40px; }
  .t-2kt__cols {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .t-2kt__divider {
    width: 100%;
    height: 1px;
    margin: 40px 0;
  }
  .t-2kt__col-h { font-size: 22px; }
  .t-2kt__col-body { font-size: 15px; }
  .t-2kt__series-name { font-size: 22px; }
}
/* END_SECTION:thinkly-two-kinds-of-thinking */

/* START_SECTION:thinkly-urgency-strip (INDEX:93) */
.t-urgency-strip {
  background: var(--bg-warm);
  border-top: 1px solid var(--tan);
  border-bottom: 1px solid var(--tan);
  padding: 32px 64px;
}

.t-urgency-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 48px;
  max-width: 900px;
  margin: 0 auto;
}

.t-urgency-label {
  font-family: 'Inter', sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--gold);
  display: block;
  margin-bottom: 10px;
}

.t-urgency-text p {
  font-family: 'Source Serif 4', serif;
  font-size: 15px;
  color: var(--muted);
  line-height: 1.8;
}

.t-urgency-cta {
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 700;
  color: var(--navy);
  border: 2px solid var(--navy);
  padding: 12px 28px;
  border-radius: 50px;
  white-space: nowrap;
  transition: all 0.2s;
  flex-shrink: 0;
  cursor: none;
  text-decoration: none;
  display: inline-block;
}

.t-urgency-cta:hover {
  background: var(--navy);
  color: #fff;
}

@media (max-width: 768px) {
  .t-urgency-strip {
    padding: 32px 20px;
  }

  .t-urgency-inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
  }

  .t-urgency-cta {
    width: 100%;
    text-align: center;
  }
}
/* END_SECTION:thinkly-urgency-strip */