:root {
  --gta-ink: #172033;
  --gta-muted: #5b6678;
  --gta-paper: #ffffff;
  --gta-soft: #f4f7fb;
  --gta-line: #dfe6ef;
  --gta-blue: #164a9b;
  --gta-teal: #087f73;
  --gta-gold: #e6a62c;
  --gta-shadow: 0 18px 48px rgba(23, 32, 51, .13);
}

body.gentechie-premium-site {
  position: relative;
  isolation: isolate;
  color: #172033;
  background:
    radial-gradient(circle at 8% 3%, rgba(56, 189, 248, .08), transparent 24rem),
    radial-gradient(circle at 94% 12%, rgba(8, 127, 115, .07), transparent 28rem),
    #fff;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body.gentechie-premium-site::before,
body.gentechie-premium-site::after {
  content: "";
  position: fixed;
  z-index: -1;
  width: min(48vw, 680px);
  aspect-ratio: 1;
  border-radius: 50%;
  filter: blur(28px);
  opacity: .22;
  pointer-events: none;
  will-change: transform;
}

body.gentechie-premium-site::before {
  top: -18vw;
  left: -12vw;
  background: radial-gradient(circle, rgba(56,189,248,.72), rgba(124,58,237,.18) 48%, transparent 70%);
  animation: gtaAuroraOne 15s ease-in-out infinite alternate;
}

body.gentechie-premium-site::after {
  right: -16vw;
  bottom: -20vw;
  background: radial-gradient(circle, rgba(20,184,166,.62), rgba(245,158,11,.19) 50%, transparent 72%);
  animation: gtaAuroraTwo 18s ease-in-out infinite alternate;
}

@keyframes gtaAuroraOne {
  from { transform: translate3d(0,0,0) scale(1); }
  to { transform: translate3d(12vw,12vh,0) scale(1.16); }
}

@keyframes gtaAuroraTwo {
  from { transform: translate3d(0,0,0) scale(1.05); }
  to { transform: translate3d(-14vw,-10vh,0) scale(.9); }
}

body.gentechie-premium-site .wp-site-blocks > header,
body.gentechie-premium-site header.wp-block-template-part {
  position: relative;
  z-index: 20;
  border-bottom: 1px solid rgba(203, 213, 225, .72);
  background: rgba(255, 255, 255, .9);
  box-shadow: 0 8px 30px rgba(23, 32, 51, .055);
  backdrop-filter: blur(16px) saturate(135%);
}

body.gentechie-premium-site main img {
  border-radius: clamp(14px, 2vw, 24px);
  box-shadow: 0 18px 48px rgba(23, 32, 51, .13);
}

body.gentechie-premium-site main :where(h1, h2, h3) {
  text-wrap: balance;
}

body.gentechie-premium-site main :where(p, li) {
  text-wrap: pretty;
}

body.gentechie-premium-site main a {
  text-underline-offset: .16em;
}

.gta-progress {
  position: fixed;
  inset: 0 0 auto;
  z-index: 99999;
  height: 5px;
  background: rgba(226, 232, 240, .9);
}

body.gentechie-engagement-enabled main .wp-block-post-featured-image img {
  width: 100% !important;
  height: clamp(260px, 32vw, 430px) !important;
  aspect-ratio: auto !important;
  object-fit: cover;
}

.gta-quick-start {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .65rem;
  margin: 1rem auto 1.3rem;
  padding: .8rem 1rem;
  max-width: 1080px;
  border: 1px solid #c8e4e1;
  border-radius: 18px;
  background: #f2fbf9;
}

.gta-quick-start span {
  flex: 1 1 240px;
  font-weight: 700;
  color: #17463f;
}

.gta-quick-start a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: .55rem .9rem;
  border-radius: 999px;
  background: #087f73;
  color: #fff !important;
  font-weight: 700;
  text-decoration: none;
}

.gta-quick-start a:last-child {
  border: 1px solid #087f73;
  background: #fff;
  color: #075d55 !important;
}

.gta-quick-start a:hover,
.gta-quick-start a:focus-visible {
  outline: 2px solid #164a9b;
  outline-offset: 2px;
}

@media (max-width: 600px) {
  body.gentechie-engagement-enabled main .wp-block-post-featured-image img {
    height: 230px !important;
  }

  .gta-quick-start a { flex: 1 1 135px; }
}

.gta-progress > span {
  display: block;
  width: 0;
  height: 100%;
  background: linear-gradient(90deg, var(--gta-teal), #38bdf8, var(--gta-gold));
  transition: width .12s linear;
}

.gta-lab {
  position: relative;
  overflow: hidden;
  margin: 1.6rem 0 2.2rem;
  padding: clamp(1.15rem, 3vw, 2rem);
  border: 1px solid var(--gta-line);
  border-radius: 24px;
  color: var(--gta-ink);
  background:
    radial-gradient(circle at 92% 8%, rgba(56, 189, 248, .17), transparent 32%),
    linear-gradient(145deg, #fff, #f7fbff 65%, #fff9eb);
  box-shadow: var(--gta-shadow);
}

.gta-lab::after {
  content: "✈";
  position: absolute;
  z-index: 0;
  top: 1rem;
  right: 1.2rem;
  color: rgba(22, 74, 155, .18);
  font-size: clamp(1.6rem, 4vw, 2.8rem);
  filter: drop-shadow(0 8px 12px rgba(22, 74, 155, .14));
  animation: gtaPlane 6s ease-in-out infinite;
  pointer-events: none;
}

.gta-lab > * { position: relative; z-index: 1; }

@keyframes gtaPlane {
  0%, 100% { transform: translate(-8px, 5px) rotate(-8deg); }
  50% { transform: translate(9px, -7px) rotate(4deg); }
}

.gta-lab__eyebrow {
  margin: 0 0 .35rem;
  color: var(--gta-teal);
  font-weight: 850;
  font-size: .78rem;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.gta-lab h2 {
  margin: 0 !important;
  font-size: clamp(1.55rem, 4vw, 2.35rem) !important;
  line-height: 1.12 !important;
  letter-spacing: -.025em;
}

.gta-lab__deck {
  max-width: 760px;
  margin: .65rem 0 1.15rem;
  color: var(--gta-muted);
  font-size: 1rem;
}

.gta-lab__stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .65rem;
  margin: 0 0 1.2rem;
}

.gta-stat {
  padding: .8rem .9rem;
  border-radius: 15px;
  background: rgba(255,255,255,.82);
  border: 1px solid var(--gta-line);
}

.gta-stat strong,
.gta-stat span { display: block; }
.gta-stat strong { font-size: 1.25rem; }
.gta-stat span { color: var(--gta-muted); font-size: .78rem; }

.gta-lab__label {
  display: block;
  margin: .95rem 0 .45rem;
  font-weight: 800;
  font-size: .88rem;
}

.gta-choice-row,
.gta-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
}

.gta-chip,
.gta-action,
.gta-save,
.gta-note-toggle,
.gta-mobile-button {
  appearance: none;
  border: 1px solid #cbd5e1;
  border-radius: 999px;
  padding: .65rem .9rem;
  background: #fff;
  color: var(--gta-ink);
  font: inherit;
  font-size: .88rem;
  font-weight: 750;
  line-height: 1;
  cursor: pointer;
  transition: transform .16s ease, box-shadow .16s ease, background .16s ease, color .16s ease;
}

.gta-chip:hover,
.gta-action:hover,
.gta-save:hover,
.gta-note-toggle:hover { transform: translateY(-1px); box-shadow: 0 8px 18px rgba(23,32,51,.11); }

.gta-chip[aria-pressed="true"] {
  background: var(--gta-ink);
  color: #fff;
  border-color: var(--gta-ink);
}

.gta-action {
  border-color: var(--gta-blue);
  color: var(--gta-blue);
}

.gta-action--primary {
  background: var(--gta-blue);
  color: #fff;
}

.gta-action--game {
  color: #fff;
  border-color: #7c3aed;
  background: linear-gradient(135deg, #7c3aed, #2563eb);
  box-shadow: 0 10px 24px rgba(79, 70, 229, .22);
}

.gta-actions { margin-top: 1.2rem; }

.gta-stop {
  position: relative;
  scroll-margin-top: 86px;
  transition: opacity .2s ease, transform .2s ease, box-shadow .2s ease;
}

.gta-generated-stop {
  margin: 1.15rem 0;
  padding: clamp(1.1rem, 2.5vw, 1.55rem);
  border: 1px solid rgba(203, 213, 225, .86);
  border-radius: 22px;
  background:
    radial-gradient(circle at 100% 0, rgba(56, 189, 248, .07), transparent 13rem),
    #fff;
  box-shadow: 0 12px 32px rgba(23, 32, 51, .08);
}

.gta-generated-stop > h3 {
  margin-top: 0 !important;
  font-size: clamp(1.2rem, 2.4vw, 1.55rem) !important;
  line-height: 1.2 !important;
}

.gta-generated-stop:hover {
  transform: translateY(-2px);
  box-shadow: 0 20px 45px rgba(23, 32, 51, .12);
}

.gta-easy-copy {
  margin: .7rem 5.2rem .5rem 0 !important;
  padding: .85rem 1rem;
  border-left: 4px solid #38bdf8;
  border-radius: 0 14px 14px 0;
  color: #213047;
  background: #f0f9ff;
  font-size: 1.03rem;
  line-height: 1.65;
  font-weight: 650;
}

.gta-easy-copy[hidden] { display: none !important; }
.gta-easy-on .gta-stop > p:not(.gta-easy-copy),
.gta-easy-on .gta-stop > .gta-extra-notes,
.gta-easy-on .gta-stop > .gta-note-toggle { display: none !important; }

.gta-stop.is-filtered-out { display: none !important; }
.gta-stop.is-highlighted { animation: gtaGlow 1.1s ease; }

@keyframes gtaGlow {
  0%, 100% { box-shadow: inherit; }
  45% { box-shadow: 0 0 0 5px rgba(230,166,44,.34), var(--gta-shadow); }
}

.gta-save {
  position: absolute;
  top: .75rem;
  right: .75rem;
  z-index: 3;
  padding: .52rem .72rem;
  background: rgba(255,255,255,.94);
  box-shadow: 0 5px 15px rgba(23,32,51,.11);
}

.gta-save[aria-pressed="true"] {
  color: #fff;
  border-color: var(--gta-teal);
  background: var(--gta-teal);
}

.gta-stop > h3,
.gta-stop > .tag,
.gta-stop > .num { margin-right: 5.2rem; }

.gta-extra-notes {
  margin-top: .75rem;
  padding-top: .75rem;
  border-top: 1px dashed #cbd5e1;
}

.gta-extra-notes[hidden] { display: none !important; }

.gta-note-toggle {
  margin-top: .75rem;
  color: var(--gta-blue);
  border-color: #bfdbfe;
  background: #eff6ff;
}

.gta-plan {
  margin: 1.25rem 0 0;
  padding: 1rem;
  border: 1px solid #a7f3d0;
  border-radius: 18px;
  background: #ecfdf5;
}

.gta-plan[hidden] { display: none !important; }
.gta-plan h3 { margin: 0 0 .35rem !important; }
.gta-plan p { margin: .35rem 0 .8rem; color: #35515a; }
.gta-plan ol { margin: 0; padding-left: 1.35rem; }
.gta-plan li { margin: .55rem 0; }
.gta-plan a { color: #075e54; font-weight: 750; }

.gta-empty {
  padding: .85rem;
  border-radius: 12px;
  background: #fff;
  color: var(--gta-muted);
}

.gta-feedback {
  margin: 2.2rem 0;
  padding: 1.15rem;
  text-align: center;
  border-radius: 18px;
  color: var(--gta-ink);
  background: linear-gradient(135deg, #eff6ff, #f0fdfa);
  border: 1px solid #bfdbfe;
}

.gta-feedback p { margin: 0 0 .75rem; font-weight: 800; }
.gta-feedback.is-done { background: #ecfdf5; border-color: #a7f3d0; }

.gta-mobile-bar {
  display: none;
  position: fixed;
  z-index: 9998;
  left: 50%;
  bottom: max(12px, env(safe-area-inset-bottom));
  transform: translateX(-50%);
  width: min(92vw, 430px);
  padding: .55rem;
  gap: .5rem;
  border: 1px solid rgba(255,255,255,.3);
  border-radius: 18px;
  background: rgba(20,31,50,.92);
  box-shadow: 0 16px 35px rgba(0,0,0,.24);
  backdrop-filter: blur(14px);
}

.gta-mobile-button {
  flex: 1;
  color: #fff;
  border-color: rgba(255,255,255,.25);
  background: rgba(255,255,255,.1);
}

.gta-toast {
  position: fixed;
  z-index: 100000;
  left: 50%;
  bottom: 88px;
  transform: translate(-50%, 20px);
  max-width: min(90vw, 520px);
  padding: .8rem 1rem;
  border-radius: 12px;
  color: #fff;
  background: #172033;
  box-shadow: var(--gta-shadow);
  opacity: 0;
  pointer-events: none;
  transition: .2s ease;
}

.gta-toast.is-visible { opacity: 1; transform: translate(-50%, 0); }

body.gta-game-open { overflow: hidden; }

.gta-game {
  position: fixed;
  z-index: 100001;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 1rem;
  background: rgba(7, 18, 39, .76);
  backdrop-filter: blur(12px);
  animation: gtaFadeIn .22s ease;
}

.gta-game[hidden] { display: none !important; }

.gta-game__box {
  position: relative;
  overflow-x: hidden;
  overflow-y: auto;
  width: min(94vw, 720px);
  max-height: min(90vh, 760px);
  border: 1px solid rgba(255,255,255,.36);
  border-radius: 28px;
  background: #fff;
  box-shadow: 0 35px 90px rgba(0,0,0,.38);
  animation: gtaGameIn .3s cubic-bezier(.2,.8,.2,1);
}

.gta-game__close {
  position: absolute;
  z-index: 3;
  top: .8rem;
  right: .8rem;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(255,255,255,.45);
  border-radius: 50%;
  color: #fff;
  background: rgba(7,18,39,.55);
  font-size: 1.7rem;
  line-height: 1;
  cursor: pointer;
}

.gta-game__visual {
  position: relative;
  display: grid;
  place-items: end start;
  overflow: hidden;
  min-height: 210px;
  padding: 1.25rem;
  color: #fff;
  background: linear-gradient(180deg,
    hsl(var(--gta-hue, 201) 82% 61%) 0%,
    hsl(var(--gta-hue-two, 190) 82% 78%) 62%,
    hsl(var(--gta-hue-two, 190) 74% 94%) 100%);
}

.gta-game__scene { position: absolute; inset: 0; overflow: hidden; }
.gta-game__scene i { position: absolute; display: block; font-style: normal; }
.gta-game__sun {
  top: 20px;
  right: 11%;
  width: 58px;
  height: 58px;
  border-radius: 50%;
  background: #ffe66d;
  box-shadow: 0 0 0 12px rgba(255,230,109,.2), 0 0 42px rgba(255,206,61,.85);
  animation: gtaSunGlow 3.2s ease-in-out infinite alternate;
}
.gta-game__cloud {
  color: rgba(255,255,255,.94);
  font-size: 3.8rem;
  line-height: 1;
  filter: drop-shadow(0 8px 10px rgba(34,97,130,.14));
  animation: gtaCloudDrift 17s linear infinite;
}
.gta-game__cloud--one { top: 18px; left: -18%; }
.gta-game__cloud--two { top: 68px; left: -42%; font-size: 2.7rem; animation-delay: -8s; animation-duration: 21s; }
.gta-game__plane {
  position: absolute;
  z-index: 3;
  top: 31%;
  left: -12%;
  color: #fff;
  font-size: 2.15rem;
  transform: rotate(7deg);
  filter: drop-shadow(0 8px 12px rgba(0,0,0,.22));
  animation: gtaFlyAcross 9s linear infinite;
}
.gta-game__country-mark {
  z-index: 4;
  top: 18px;
  left: 18px;
  font-size: 2.25rem;
  filter: drop-shadow(0 6px 9px rgba(0,0,0,.2));
  animation: gtaSunGlow 2.8s ease-in-out infinite alternate;
}
.gta-game__landmark {
  z-index: 3;
  right: 27%;
  bottom: 17%;
  font-size: 3.45rem;
  filter: drop-shadow(0 9px 8px rgba(0,0,0,.2));
  transform-origin: bottom center;
  animation: gtaBuddyPeek 4.6s ease-in-out infinite;
}
.gta-game__hill { bottom: 0; border-radius: 50% 50% 0 0; transform-origin: bottom; }
.gta-game__hill--one { left: -8%; width: 64%; height: 43%; background: linear-gradient(160deg,hsl(var(--gta-hue-two,145) 58% 59%),hsl(var(--gta-hue-two,145) 58% 34%)); clip-path: polygon(0 100%,34% 22%,52% 57%,72% 10%,100% 100%); }
.gta-game__hill--two { right: -12%; width: 70%; height: 49%; background: linear-gradient(155deg,hsl(var(--gta-hue,100) 55% 62%),hsl(var(--gta-hue,145) 52% 34%)); clip-path: polygon(0 100%,27% 41%,48% 11%,67% 55%,80% 27%,100% 100%); }
.gta-game__river {
  z-index: 2;
  left: 37%;
  bottom: -26%;
  width: 31%;
  height: 70%;
  background: repeating-linear-gradient(170deg,hsl(var(--gta-hue,190) 90% 80%) 0 12px,hsl(var(--gta-hue,190) 72% 52%) 13px 25px,hsl(var(--gta-hue,190) 84% 92%) 26px 30px);
  clip-path: polygon(40% 0,59% 0,100% 100%,0 100%);
  animation: gtaRiverFlow 1.8s linear infinite;
}
.gta-game__tag {
  position: relative;
  z-index: 1;
  padding: .45rem .7rem;
  border: 1px solid rgba(255,255,255,.38);
  border-radius: 999px;
  background: rgba(7,18,39,.48);
  font-weight: 800;
}

.gta-game__body { padding: clamp(1.15rem, 3.5vw, 2rem); }
.gta-game__top { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.gta-game__step { margin: 0 0 .45rem; color: #0f766e; font-weight: 850; }
.gta-game__score { margin: 0 0 .45rem; color: #7c3aed; font-size: .95rem; font-weight: 850; }
.gta-game__meter { overflow: hidden; height: 8px; margin-bottom: 1rem; border-radius: 99px; background: #e2e8f0; }
.gta-game__meter span { display: block; width: 20%; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#7c3aed,#38bdf8,#14b8a6); transition: width .35s ease; }
.gta-game__body h2 { margin: 0 0 .65rem !important; font-size: clamp(1.45rem,4vw,2.25rem) !important; }
.gta-game__intro { margin: 0 0 1rem; color: #425466; font-size: 1rem; line-height: 1.65; }
.gta-game__facts { display: grid; gap: .72rem; }
.gta-game__fact { display: flex; align-items: flex-start; gap: .78rem; padding: .82rem .92rem; border: 1px solid #dbeafe; border-radius: 16px; background: linear-gradient(135deg,#f8fbff,#f0fdfa); }
.gta-game__fact > span { flex: 0 0 auto; display: grid; place-items: center; width: 38px; height: 38px; border-radius: 12px; background: #fff; box-shadow: 0 5px 15px rgba(15,23,42,.08); font-size: 1.22rem; }
.gta-game__fact strong { display: block; margin: 0 0 .2rem; color: #0f766e; font-size: .84rem; letter-spacing: .03em; text-transform: uppercase; }
.gta-game__fact p { margin: 0; color: #334155; font-size: .98rem; line-height: 1.55; }
.gta-game__fact--win { align-items: center; padding: 1.25rem; color: #075e54; font-size: 1.05rem; font-weight: 800; background: #ecfdf5; border-color: #a7f3d0; }
.gta-game__quiz { margin-top: 1rem; padding: 1rem; border: 1px solid #ddd6fe; border-radius: 18px; background: linear-gradient(135deg,#faf5ff,#eef2ff); }
.gta-game__quiz[hidden] { display: none !important; }
.gta-game__quiz-kicker { margin: 0 0 .3rem; color: #7c3aed; font-size: .82rem; font-weight: 900; letter-spacing: .04em; text-transform: uppercase; }
.gta-game__quiz h3 { margin: 0 0 .75rem !important; color: #172033; font-size: 1.05rem !important; line-height: 1.4; }
.gta-game__quiz-options { display: grid; gap: .55rem; }
.gta-game__quiz-options button { width: 100%; padding: .7rem .78rem; text-align: left; border: 1px solid #c4b5fd; border-radius: 12px; color: #3b2f66; background: rgba(255,255,255,.82); font-weight: 730; cursor: pointer; }
.gta-game__quiz-options button:hover:not(:disabled) { border-color: #7c3aed; background: #fff; transform: translateY(-1px); }
.gta-game__quiz-options button[data-wrong="true"] { color: #991b1b; border-color: #fecaca; background: #fef2f2; }
.gta-game__quiz-options button[data-correct-pick="true"] { color: #065f46; border-color: #6ee7b7; background: #d1fae5; }
.gta-game__quiz-options button:disabled:not([data-wrong="true"]):not([data-correct-pick="true"]) { opacity: .52; }
.gta-game__quiz-result { min-height: 1.5em; margin: .68rem 0 0; color: #6d28d9; font-weight: 820; }
.gta-game__question { margin: 1.05rem 0 .6rem; color: #172033; font-size: 1.05rem; font-weight: 850; }
.gta-game__choices { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .55rem; }
.gta-game__choices button { min-height: 48px; padding: .68rem .55rem; border: 1px solid #c7d2fe; border-radius: 14px; color: #3730a3; background: #eef2ff; font-weight: 800; cursor: pointer; transition: transform .18s ease, box-shadow .18s ease, background .18s ease; }
.gta-game__choices button:hover:not(:disabled) { transform: translateY(-2px); box-shadow: 0 8px 18px rgba(79,70,229,.15); }
.gta-game__choices button[data-picked="true"] { color: #075e54; background: #d1fae5; border-color: #6ee7b7; }
.gta-game__choices button:disabled:not([data-picked="true"]) { opacity: .55; cursor: default; }
.gta-game__reaction { min-height: 1.5em; margin: .65rem 0 0; color: #6d28d9; font-weight: 760; }
.gta-game__buttons { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: 1.15rem; }

/* Original code-drawn travel buddy: a small bear holding the page edge. */
.gta-edge-buddy {
  --buddy-fur: #b66f45;
  --buddy-dark: #2f1b18;
  position: fixed;
  z-index: 55;
  top: clamp(230px, 43vh, 520px);
  right: -25px;
  width: 112px;
  height: 118px;
  pointer-events: none;
  filter: drop-shadow(0 12px 18px rgba(33, 24, 54, .2));
  animation: gtaBuddyPeek 5.5s ease-in-out infinite;
}
.gta-edge-buddy__message {
  position: absolute;
  top: -47px;
  right: 78px;
  width: max-content;
  max-width: 185px;
  padding: .58rem .78rem;
  border: 1px solid rgba(124, 58, 237, .2);
  border-radius: 15px 15px 4px 15px;
  color: #3b2772;
  background: rgba(255,255,255,.96);
  box-shadow: 0 9px 24px rgba(76, 29, 149, .14);
  font-size: .82rem;
  font-weight: 720;
  line-height: 1.3;
  text-align: center;
  animation: gtaBuddyBubble 5.5s ease-in-out infinite;
}
.gta-edge-buddy__message b { display: block; color: #7c3aed; }
.gta-edge-buddy__ledge {
  position: absolute;
  z-index: 4;
  top: 11px;
  right: 24px;
  width: 8px;
  height: 93px;
  border-radius: 999px;
  background: linear-gradient(#8b5cf6, #38bdf8, #14b8a6);
  box-shadow: -3px 0 8px rgba(14, 165, 233, .18);
}
.gta-edge-buddy__bear {
  position: absolute;
  z-index: 3;
  top: 16px;
  right: 22px;
  width: 76px;
  height: 82px;
}
.gta-edge-buddy__ear {
  position: absolute;
  top: 0;
  width: 27px;
  height: 27px;
  border: 5px solid var(--buddy-fur);
  border-radius: 50%;
  background: #efb18c;
}
.gta-edge-buddy__ear--left { left: 4px; }
.gta-edge-buddy__ear--right { right: 4px; }
.gta-edge-buddy__face {
  position: absolute;
  top: 10px;
  left: 5px;
  width: 68px;
  height: 65px;
  border: 2px solid rgba(71,39,26,.15);
  border-radius: 47% 47% 44% 44%;
  background: radial-gradient(circle at 50% 30%, #cf895b, var(--buddy-fur) 67%);
  box-shadow: inset 0 -5px 0 rgba(91,45,25,.08);
}
.gta-edge-buddy__eye {
  position: absolute;
  top: 22px;
  width: 7px;
  height: 9px;
  border-radius: 50%;
  background: var(--buddy-dark);
  transform-origin: center;
  animation: gtaBuddyBlink 4.8s infinite;
}
.gta-edge-buddy__eye--left { left: 17px; }
.gta-edge-buddy__eye--right { right: 17px; }
.gta-edge-buddy__muzzle {
  position: absolute;
  left: 20px;
  bottom: 8px;
  width: 29px;
  height: 23px;
  border-radius: 48% 48% 54% 54%;
  background: #f5c8a5;
}
.gta-edge-buddy__muzzle::before {
  content: '';
  position: absolute;
  top: 4px;
  left: 9px;
  width: 11px;
  height: 8px;
  border-radius: 55% 55% 65% 65%;
  background: var(--buddy-dark);
}
.gta-edge-buddy__muzzle i {
  position: absolute;
  top: 12px;
  left: 11px;
  width: 9px;
  height: 5px;
  border-bottom: 2px solid var(--buddy-dark);
  border-radius: 0 0 50% 50%;
}
.gta-edge-buddy__paw {
  position: absolute;
  z-index: 6;
  width: 25px;
  height: 29px;
  border: 2px solid rgba(71,39,26,.13);
  border-radius: 52% 52% 45% 45%;
  background: var(--buddy-fur);
}
.gta-edge-buddy__paw::after {
  content: '';
  position: absolute;
  inset: 7px 5px 5px;
  border-radius: 50%;
  background: #efb18c;
}
.gta-edge-buddy__paw--hold { top: 49px; right: -4px; transform: rotate(-15deg); }
.gta-edge-buddy__arm {
  position: absolute;
  z-index: 5;
  top: 32px;
  left: -4px;
  width: 25px;
  height: 44px;
  border-radius: 999px;
  background: var(--buddy-fur);
  transform-origin: 70% 85%;
  animation: gtaBuddyWave 1.45s ease-in-out infinite;
}
.gta-edge-buddy__paw--wave { top: -14px; left: -2px; }
.gta-edge-buddy__art {
  position: absolute;
  top: -14px;
  right: 16px;
  width: 112px;
  height: auto;
  transform-origin: 75% 72%;
  filter: drop-shadow(0 11px 12px rgba(54, 35, 28, .2));
  animation: gtaBuddyArtHello 2.4s ease-in-out infinite;
}
.gta-edge-buddy__ledge { display: none; }
.gta-edge-buddy {
  top: clamp(190px, 38vh, 470px);
  right: 10px;
  width: 84px;
  height: 92px;
  filter: drop-shadow(0 10px 14px rgba(51,36,103,.28));
  pointer-events: none;
}
.gta-edge-buddy__emoji {
  position: absolute;
  z-index: 3;
  inset: 13px auto auto 11px;
  display: grid;
  place-items: center;
  width: 64px;
  height: 64px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  filter: drop-shadow(0 8px 10px rgba(51,36,103,.22));
  font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif;
  font-size: 52px;
  line-height: 1;
  transform-origin: 72% 76%;
}
.gta-edge-buddy__wave {
  position: absolute;
  z-index: 5;
  top: 0;
  left: 0;
  font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif;
  font-size: 27px;
  line-height: 1;
  transform-origin: 75% 85%;
  animation: gtaBuddyHandWave 1.25s ease-in-out infinite;
}
.gta-edge-buddy__message { display: none; }
.gta-edge-buddy__message span { display: block; color: #334155; font-size: .74rem; }
.gta-mascot-motion--bounce .gta-edge-buddy__emoji { animation: gtaMascotBounce 2.1s ease-in-out infinite; }
.gta-mascot-motion--wiggle .gta-edge-buddy__emoji { animation: gtaMascotWiggle 2.3s ease-in-out infinite; }
.gta-mascot-motion--float .gta-edge-buddy__emoji { animation: gtaMascotFloat 2.6s ease-in-out infinite; }
.gta-mascot-motion--nod .gta-edge-buddy__emoji { animation: gtaMascotNod 2.4s ease-in-out infinite; }
.gta-mascot-motion--peek .gta-edge-buddy__emoji { animation: gtaMascotPeek 2.5s ease-in-out infinite; }

@keyframes gtaFadeIn { from { opacity: 0; } }
@keyframes gtaGameIn { from { opacity: 0; transform: translateY(24px) scale(.97); } }
@keyframes gtaFlyAcross { 0% { transform: translate(-10px,16px) rotate(7deg); } 48% { transform: translate(380px,-12px) rotate(3deg); } 100% { transform: translate(820px,5px) rotate(7deg); } }
@keyframes gtaCloudDrift { from { transform: translateX(0); } to { transform: translateX(900px); } }
@keyframes gtaRiverFlow { from { background-position: 0 0; } to { background-position: 0 90px; } }
@keyframes gtaSunGlow { from { transform: scale(.95); opacity: .9; } to { transform: scale(1.05); opacity: 1; } }
@keyframes gtaBuddyPeek { 0%,100% { transform: translateX(7px) translateY(0); } 45%,60% { transform: translateX(0) translateY(-5px); } }
@keyframes gtaBuddyWave { 0%,100% { transform: rotate(-14deg); } 50% { transform: rotate(25deg); } }
@keyframes gtaBuddyBlink { 0%,44%,48%,100% { transform: scaleY(1); } 46% { transform: scaleY(.12); } }
@keyframes gtaBuddyBubble { 0%,12% { opacity: 0; transform: translate(10px,6px) scale(.95); } 22%,78% { opacity: 1; transform: none; } 90%,100% { opacity: 0; transform: translate(6px,3px) scale(.98); } }
@keyframes gtaBuddyPeekMobile { 0%,100% { transform: scale(.78) translateX(7px); } 45%,60% { transform: scale(.78) translateY(-5px); } }
@keyframes gtaBuddyArtHello { 0%,100% { transform: rotate(-1deg) translateY(0); } 50% { transform: rotate(2deg) translateY(-4px); } }
@keyframes gtaBuddyHandWave { 0%,100% { transform: rotate(-18deg); } 50% { transform: rotate(25deg); } }
@keyframes gtaMascotBounce { 0%,100% { transform: translateY(0) scale(1); } 50% { transform: translateY(-7px) scale(1.04); } }
@keyframes gtaMascotWiggle { 0%,100% { transform: rotate(-3deg); } 50% { transform: rotate(5deg); } }
@keyframes gtaMascotFloat { 0%,100% { transform: translate(0,0); } 50% { transform: translate(-5px,-5px); } }
@keyframes gtaMascotNod { 0%,100% { transform: rotate(0); } 35% { transform: rotate(-5deg); } 65% { transform: rotate(4deg); } }
@keyframes gtaMascotPeek { 0%,100% { transform: translateX(6px); } 50% { transform: translateX(-4px); } }

@media (max-width: 760px) {
  .gta-lab { border-radius: 18px; }
  .gta-lab__stats { grid-template-columns: 1fr 1fr; }
  .gta-lab__stats .gta-stat:last-child { grid-column: 1 / -1; }
  .gta-mobile-bar { display: flex; }
  .gta-save { top: .55rem; right: .55rem; }
  body.gentechie-engagement-enabled { padding-bottom: 78px; }
  .gta-generated-stop { border-radius: 17px; }
  .gta-easy-copy { margin-right: 0 !important; }
  .gta-game__visual { min-height: 160px; }
  .gta-game__choices { grid-template-columns: 1fr; }
  .gta-game__top { align-items: flex-start; }
  .gta-game__score { font-size: .84rem; }
  .gta-game__buttons .gta-action { flex: 1 1 42%; }
  .gta-edge-buddy { top: auto; right: 8px; bottom: 92px; width: 68px; height: 76px; transform: none; animation: none; }
  .gta-edge-buddy__message { display: none; }
  .gta-edge-buddy__emoji { inset: 10px auto auto 8px; width: 52px; height: 52px; border-radius: 0; font-size: 42px; }
  .gta-edge-buddy__wave { top: -3px; left: -4px; font-size: 23px; }
  /* Keep the reading column and quick-reference tables fully visible. */
  body.single-post .gta-edge-buddy { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .gta-progress > span,
  .gta-stop,
  .gta-chip,
  .gta-action,
  .gta-save,
  .gta-toast { transition: none !important; animation: none !important; }
  .gta-lab::after,
  .gta-game,
  .gta-game__box,
  .gta-game__sun,
  .gta-game__cloud,
  .gta-game__plane,
  .gta-game__river,
  body.gentechie-premium-site::before,
  body.gentechie-premium-site::after { animation: none !important; }
  .gta-edge-buddy,
  .gta-edge-buddy__eye,
  .gta-edge-buddy__arm,
  .gta-edge-buddy__message { animation: none !important; }
  .gta-edge-buddy__art { animation: none !important; }
  .gta-edge-buddy__emoji,
  .gta-edge-buddy__wave { animation: none !important; }
}

.gta-unrelated-more-posts { display: none !important; }

header .wp-block-navigation__container[data-gta-ordered="true"] {
  align-items: center;
  gap: clamp(.5rem, 1.2vw, 1rem);
}

header .wp-block-navigation__container[data-gta-ordered="true"] > .wp-block-navigation-item > a {
  padding: .55rem .7rem;
  border-radius: 999px;
  font-weight: 720;
  line-height: 1.2;
}

header .wp-block-navigation__container[data-gta-ordered="true"] > .current-menu-item > a,
header .wp-block-navigation__container[data-gta-ordered="true"] > .wp-block-navigation-item > a:hover,
header .wp-block-navigation__container[data-gta-ordered="true"] > .wp-block-navigation-item > a:focus-visible {
  color: #43258f;
  background: #f1edff;
  text-decoration: none;
}

/* WordPress adds 46px of page offset on narrow logged-in screens. Keep its
   absolute admin bar above the site header so the brand and menu stay visible. */
@media (max-width: 782px) {
  body.admin-bar #wpadminbar { top: -46px !important; }
  .wp-block-navigation__responsive-container.is-menu-open {
    box-sizing: border-box !important;
    height: 100dvh !important;
    min-height: 100dvh !important;
    overflow-y: auto !important;
  }
  body.admin-bar .wp-block-navigation__responsive-container.is-menu-open {
    height: calc(100dvh - 46px) !important;
    min-height: calc(100dvh - 46px) !important;
  }
}

/* Keep the hero text visible while the theme's variable font downloads. */
@font-face {
  font-family: Manrope;
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url('/wp-content/themes/twentytwentyfive/assets/fonts/manrope/Manrope-VariableFont_wght.woff2') format('woff2');
}

/* Lighthouse identified these small teal labels on a pale background. */
body.home .gta-home .gta-section.alt .eyebrow,
body.home .gta-home .gta-step .num { color: #07564f !important; }

/* Animate only a composited transform; keep the glow's shadow static. */
body.home .gta-hero .gta-visual .sun {
  animation: gta-sun-composite 8s ease-in-out infinite alternate !important;
}
@keyframes gta-sun-composite {
  from { transform: translateY(-7px); }
  to { transform: translateY(7px); }
}
@media (prefers-reduced-motion: reduce) {
  body.home .gta-hero .gta-visual .sun { animation: none !important; }
}

/* Search is a directory, not a second copy of every full article. */
body.search .wp-block-post-template {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  max-width: 1100px;
  margin: 1.75rem auto;
  padding: 0 20px;
  list-style: none;
}
body.search .wp-block-post-template > li { min-width: 0; margin: 0; }
body.search .wp-block-post-template > li > .wp-block-group {
  box-sizing: border-box;
  height: 100%;
  max-width: none;
  margin: 0;
  padding: 0 0 18px !important;
  overflow: hidden;
  background: #fff;
  border: 1px solid #e5dcf4;
  border-radius: 18px;
  box-shadow: 0 10px 30px rgba(64, 38, 101, .08);
}
body.search .wp-block-post-template .wp-block-post-featured-image { margin: 0 !important; }
body.search .wp-block-post-template .wp-block-post-featured-image img {
  display: block;
  width: 100% !important;
  height: 210px !important;
  object-fit: cover;
}
body.search .wp-block-post-template .wp-block-post-title {
  margin: 16px 20px 8px;
  font-size: clamp(1.25rem, 2.3vw, 1.55rem) !important;
  line-height: 1.24;
}
body.search .wp-block-post-template .wp-block-post-title a { color: #392173; text-decoration: none; }
body.search .wp-block-post-template .wp-block-post-title a:hover { text-decoration: underline; }
body.search .wp-block-post-template .wp-block-post-content {
  max-width: none;
  margin: 0;
  padding: 0 20px !important;
}
body.search .gta-search-summary { font-size: 1rem; line-height: 1.55; color: #334155; }
body.search .gta-search-summary p { margin: 0 0 .8rem; }
body.search .gta-search-summary a { color: #5b21b6; font-weight: 750; text-underline-offset: 3px; }
body.search .wp-block-post-template .wp-block-post-date { margin: 12px 20px 0; font-size: .82rem; }
@media (max-width: 700px) {
  body.search .wp-block-post-template { grid-template-columns: 1fr; gap: 16px; padding: 0 14px; }
  body.search .wp-block-post-template .wp-block-post-featured-image img { height: 180px !important; }
  body.search .gta-edge-buddy { display: none; }
}
