:root {
  --navy-990: #01050d;
  --navy-970: #020914;
  --navy-950: #041021;
  --navy-920: #061832;
  --navy-880: #082249;
  --navy-820: #0a3470;
  --blue: #0b5fc8;
  --blue-bright: #0bb8ff;
  --blue-soft: #68d2ff;
  --gold: #d6aa4d;
  --gold-bright: #ffd977;
  --gold-soft: #fff1bf;
  --cream: #f7ecd1;
  --muted: #acc0d6;
  --line: rgba(104, 210, 255, 0.24);
  --gold-line: rgba(255, 217, 119, 0.42);
  --panel: rgba(3, 15, 34, 0.86);
  --panel-2: rgba(5, 26, 56, 0.76);
  --shadow: 0 26px 70px rgba(0, 0, 0, 0.52);
  --active-font-family: Georgia, "Times New Roman", serif;
  --tools-footer-height: 86px;
  --designer-footer-height: 58px;
  --promo-bar-height: 48px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-height: 100vh;
  padding-bottom: calc(var(--tools-footer-height) + var(--designer-footer-height) + 28px);
  background:
    radial-gradient(circle at 20% 4%, rgba(11, 184, 255, 0.18), transparent 34%),
    radial-gradient(circle at 80% 0%, rgba(214, 170, 77, 0.16), transparent 32%),
    linear-gradient(180deg, var(--navy-970) 0%, #00040a 42%, #020a16 100%);
  color: var(--cream);
  font-family: var(--active-font-family);
  overflow-x: hidden;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: -1;
  opacity: 0.32;
  background-image:
    linear-gradient(90deg, rgba(11,184,255,0.09) 1px, transparent 1px),
    linear-gradient(180deg, rgba(255,217,119,0.045) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: radial-gradient(circle at 50% 15%, black, transparent 72%);
}

a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button, input, select { font: inherit; }
.section-shell { width: min(1180px, calc(100% - 32px)); margin: 0 auto; }
.section-pad { padding: 72px 0; }
.band-blue { background: linear-gradient(180deg, rgba(3,22,48,0.72), rgba(1,8,18,0.82)); border-block: 1px solid rgba(104,210,255,0.16); }
.band-deep { background: linear-gradient(180deg, rgba(0,3,9,0.82), rgba(4,18,38,0.78)); border-block: 1px solid rgba(255,217,119,0.16); }
.band-luminous { background: radial-gradient(circle at 50% 0%, rgba(11,184,255,0.18), transparent 45%), linear-gradient(180deg, rgba(5,29,62,0.92), rgba(1,8,18,0.88)); border-block: 1px solid rgba(104,210,255,0.18); }
.small-caps { text-transform: uppercase; letter-spacing: 1.9px; color: var(--gold-bright); font-size: 13px; font-weight: 900; }
.gold-text { color: var(--gold-bright); }

.promo-bar {
  min-height: var(--promo-bar-height);
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: center;
  padding: 8px 18px;
  color: var(--gold-soft);
  background: linear-gradient(90deg, #02142c, #0b56b8, #02142c);
  border-bottom: 1px solid rgba(104,210,255,0.28);
  font-size: 16.1px;
  letter-spacing: 0.2px;
  position: sticky;
  top: 0;
  z-index: 33;
  box-shadow: 0 8px 24px rgba(0,0,0,0.34);
}
.live-dot { width: 9px; height: 9px; border-radius: 50%; background: var(--blue-bright); box-shadow: 0 0 0 5px rgba(11,184,255,0.17), 0 0 18px rgba(11,184,255,0.8); }
.promo-bar strong { color: #fff; }

/* v1.195: temporarily hide promo bar */
.promo-bar {
  display: none !important;
}
.site-header {
  top: 0;
}


.site-header {
  position: sticky;
  top: var(--promo-bar-height);
  z-index: 32;
  min-height: 78px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 12px clamp(18px, 4vw, 54px);
  border: 0;
  border-bottom: 1px solid rgba(104,210,255,0.28);
  background: linear-gradient(90deg, #010714 0%, #031a3a 32%, #063070 50%, #031a3a 68%, #010714 100%);
  backdrop-filter: blur(16px);
  box-shadow: 0 10px 26px rgba(0,0,0,0.30), inset 0 1px 0 rgba(104,210,255,0.10);
  border-radius: 0;
}
.site-header.section-shell {
  width: 100%;
  max-width: none;
  margin: 0;
}
.brand { display: inline-flex; align-items: center; gap: 12px; min-width: 190px; }
.brand-logo { width: 62px; height: 62px; border-radius: 50%; filter: drop-shadow(0 0 18px rgba(11,184,255,0.36)); }
.brand-logo-large { width: 125px; height: 125px; }
.brand-text { display: grid; gap: 2px; }
.brand-main { color: #fff; font-weight: 900; letter-spacing: 1.5px; font-size: 20px; line-height: 1; }
.brand-sub { color: var(--gold-bright); font-size: 13px; letter-spacing: 1.6px; text-transform: uppercase; }
.nav-links { display: flex; align-items: center; justify-content: center; gap: clamp(14px, 3vw, 34px); color: #d9e8f7; font-size: 15px; }
.nav-links a { opacity: 0.9; border-bottom: 1px solid transparent; padding-bottom: 6px; }
.nav-links a:hover, .nav-links .active { color: var(--gold-bright); border-bottom-color: var(--gold); }
.header-cta, .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  padding: 13px 21px;
  border: 1px solid rgba(255,255,255,0.24);
  background: linear-gradient(180deg, #ffe59b, #d4a347 55%, #a96d20);
  color: #061126;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.48), 0 15px 32px rgba(0,0,0,0.42), 0 0 26px rgba(214,170,77,0.18);
  font-weight: 900;
  letter-spacing: 0.3px;
  border-radius: 10px;
  transition: transform 180ms ease, filter 180ms ease, box-shadow 180ms ease;
}
.header-cta:hover, .button:hover { transform: translateY(-2px); filter: brightness(1.06); box-shadow: inset 0 1px 0 rgba(255,255,255,0.55), 0 20px 38px rgba(0,0,0,0.5), 0 0 34px rgba(214,170,77,0.28); }
.button.secondary { background: linear-gradient(180deg, rgba(10,35,72,0.95), rgba(2,13,30,0.95)); color: var(--gold-soft); border-color: rgba(255,217,119,0.46); }
.button.blue { background: linear-gradient(180deg, #20bfff, #0b5fc8 62%, #062b63); color: #fff; border-color: rgba(104,210,255,0.66); }

/* Shared hero and cards */
.hero-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(350px, 0.95fr); gap: clamp(32px, 6vw, 70px); align-items: center; }
.page-one .section-shell.hero-grid { display: none; }
.hero-title { margin: 0; font-size: clamp(45px, 7vw, 82px); line-height: 0.96; letter-spacing: -2px; color: #fff; text-shadow: 0 12px 42px rgba(0,0,0,0.62); }
.hero-title span { display: block; color: var(--gold-bright); }
.hero-copy { max-width: 660px; color: #d7e4f3; font-size: clamp(17px, 2.1vw, 21px); line-height: 1.58; margin: 20px 0 0; }
.hero-actions { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 28px; }
.hero-note { margin-top: 12px; color: #a9bfd7; font-size: 14px; }
.check-list { list-style: none; padding: 0; margin: 22px 0 0; display: grid; gap: 10px; color: #e3effc; }
.check-list li { position: relative; padding-left: 28px; line-height: 1.45; }
.check-list li::before { content: "✓"; position: absolute; left: 0; top: 0; color: var(--gold-bright); font-weight: 900; }
.hero-book-wrap { position: relative; display: flex; justify-content: center; align-items: center; }
.hero-book-wrap::before { content: ""; position: absolute; width: min(520px, 92%); aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, rgba(11,184,255,0.28), transparent 68%); filter: blur(4px); }
.book-cover { position: relative; z-index: 2; width: min(420px, 100%); border: 1px solid rgba(255,217,119,0.42); box-shadow: 28px 32px 62px rgba(0,0,0,0.58), 0 0 70px rgba(11,184,255,0.16); }

.stats-section { padding: 10px 0; background: linear-gradient(90deg, #02142c, #083b80 50%, #02142c); border-block: 1px solid rgba(255,217,119,0.3); box-shadow: inset 0 1px 0 rgba(104,210,255,0.22); }
.trust-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; border: 1px solid rgba(255,217,119,0.36); background: rgba(255,217,119,0.28); box-shadow: var(--shadow); overflow: hidden; border-radius: 12px; }
.trust-row div { min-height: 62px; display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 10px; padding: 10px 18px; background: linear-gradient(180deg, rgba(4,23,50,0.94), rgba(2,13,29,0.92)); }
.trust-icon { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; border: 1px solid rgba(255,217,119,0.56); background: rgba(255,217,119,0.08); color: var(--gold-bright); font-size: 20px; box-shadow: inset 0 0 24px rgba(11,184,255,0.13); }
.trust-row strong { display: block; color: var(--gold-soft); font-size: clamp(24px, 3vw, 31px); line-height: 0.94; }
.trust-row span { display: block; color: #e3effc; font-size: 13px; font-weight: 800; }
.trust-row small { display: block; color: #aac0d8; margin-top: 2px; line-height: 1.15; font-size: 11px; }

.section-heading { text-align: center; margin: 0 0 34px; }
.section-heading h2 { margin: 8px 0 0; font-size: clamp(32px, 5vw, 54px); line-height: 1.03; color: var(--gold-bright); }
.section-heading p { max-width: 760px; margin: 12px auto 0; color: #b7c9dd; line-height: 1.6; font-size: 18px; }

.product-panel { display: grid; grid-template-columns: minmax(250px, 420px) minmax(0, 1fr); gap: clamp(28px, 6vw, 64px); align-items: center; border: 0; background: transparent; padding: clamp(24px, 4vw, 44px); box-shadow: none; border-radius: 22px; }
.product-panel .book-cover { width: min(330px, 100%); margin: 0 auto; }
.product-copy h2 { margin: 8px 0 12px; color: #fff; font-size: clamp(32px, 4vw, 50px); line-height: 1.06; }
.product-copy p { color: #d6e6f7; line-height: 1.65; font-size: 18px; }
.price-line { display: flex; flex-direction: column; align-items: flex-start; gap: 7px; margin: 22px 0; }
.price-stack { display: block; }
.price-stack span { display: block; }
/* v1.190: force the £110 strikeout line to be red using a real red pseudo-line.
   This avoids browser differences where text-decoration-color may not render as expected. */
.price-compare {
  position: relative;
  display: inline-block;
  width: max-content;
  color: #ff3b3b;
  font-size: 24px;
  font-weight: 900;
  line-height: 1.05;
  text-decoration: none;
  margin-bottom: 5px;
}
.price-compare::after {
  content: '';
  position: absolute;
  left: -0.08em;
  right: -0.08em;
  top: 52%;
  height: 3px;
  background: #ff3b3b;
  border-radius: 999px;
  transform: translateY(-50%);
  pointer-events: none;
}
.price { color: var(--gold-bright); font-size: 48px; font-weight: 900; line-height: 1; margin-bottom: 6px; }
.price-save { color: #ff3b3b; font-size: 14px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; line-height: 1.1; }
.price-note { color: #adc0d5; display: block; }
.feature-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.feature-card { border: 1px solid rgba(104,210,255,0.18); background: rgba(4,20,43,0.66); padding: 18px; border-radius: 16px; }
.feature-card strong { color: var(--gold-bright); display: block; margin-bottom: 6px; }
.feature-card p { margin: 0; color: #b9cde2; line-height: 1.45; }

.testimonial-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.testimonial-card { border: 1px solid rgba(104,210,255,0.24); background: linear-gradient(180deg, rgba(5,27,58,0.88), rgba(1,9,21,0.92)); padding: 24px; box-shadow: 0 18px 44px rgba(0,0,0,0.34); border-radius: 18px; min-height: 100%; }
.stars { color: var(--gold-bright); letter-spacing: 2px; margin-bottom: 14px; }
.testimonial-card p { margin: 0; color: #e1effd; line-height: 1.62; font-size: 16.5px; }
.testimonial-author { display: flex; align-items: center; gap: 12px; margin-top: 18px; color: #c3d4e6; }
.avatar { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; color: #061126; background: linear-gradient(180deg, var(--gold-bright), var(--gold)); font-weight: 900; }
.testimonial-author strong { display: block; color: #fff2bf; }

.faq-list { max-width: 1000px; margin: 0 auto; display: grid; gap: 12px; }
.faq-item { border: 1px solid rgba(104,210,255,0.22); background: rgba(3,18,39,0.8); border-radius: 13px; overflow: hidden; }
.faq-question { width: 100%; display: flex; justify-content: space-between; gap: 16px; padding: 20px 22px; border: 0; background: transparent; color: #fff2bf; font-weight: 900; text-align: left; cursor: pointer; }
.faq-question::after { content: "+"; color: var(--blue-soft); font-size: 24px; line-height: 1; }
.faq-question[aria-expanded="true"]::after { content: "−"; }
.faq-answer { display: none; padding: 0 22px 20px; color: #c8d9eb; line-height: 1.65; }
.faq-answer.open { display: block; }

.site-footer { background: linear-gradient(180deg, rgba(1,8,18,0.96), rgba(0,3,8,0.98)); border-top: 1px solid rgba(104,210,255,0.14); padding: 42px 0 30px; }
.footer-grid { display: grid; grid-template-columns: 1.4fr 0.8fr 0.8fr 1fr; gap: 28px; }
.footer-grid h3, .footer-grid strong { color: var(--gold-bright); margin: 0 0 12px; display: block; }
.footer-grid p, .footer-grid a { color: #afc3d8; line-height: 1.55; }
.footer-logo-row { display: flex; align-items: center; gap: 14px; }
.footer-logo-row img { width: 76px; height: 76px; border-radius: 50%; }
.footer-links { display: grid; gap: 8px; }
.newsletter { display: flex; gap: 8px; }
.newsletter input { flex: 1; min-width: 0; padding: 12px 14px; border-radius: 9px; border: 1px solid rgba(104,210,255,0.22); background: rgba(0,0,0,0.22); color: #fff; }
.newsletter button { border: 0; border-radius: 9px; padding: 0 15px; color: #fff; background: linear-gradient(180deg, #12a9ff, #0b5fc8); cursor: pointer; }
.copyright { text-align: center; color: #89a2bd; margin-top: 24px; padding-top: 20px; border-top: 1px solid rgba(104,210,255,0.12); }


.footer-single-column {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  text-align: center;
  max-width: 980px;
}
.footer-title {
  display: block;
  color: var(--gold-bright);
  font-size: clamp(19px, 2.2vw, 28px);
  line-height: 1.25;
  margin: 0;
  letter-spacing: 0.01em;
}
.footer-guidance,
.footer-contact {
  margin: 0;
  color: #afc3d8;
  line-height: 1.55;
}
.footer-contact a {
  color: var(--gold-bright);
  font-weight: 800;
  text-decoration: none;
}
.footer-contact a:hover {
  text-decoration: underline;
}

.designer-footer {
  position: fixed;
  left: 0;
  right: 0;
  bottom: var(--tools-footer-height);
  z-index: 34;
  background: linear-gradient(90deg, #010611, #062e65, #010611);
  border-top: 1px solid rgba(255,217,119,0.24);
  border-bottom: 1px solid rgba(104,210,255,0.16);
  padding: 10px 0;
  box-shadow: 0 -8px 22px rgba(0,0,0,0.26);
  overflow: hidden;
}
.designer-footer.is-glossy {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.10), rgba(255,255,255,0) 48%),
    linear-gradient(90deg, rgba(1,6,17,0.96), rgba(6,46,101,0.96), rgba(1,6,17,0.96));
  box-shadow: 0 -14px 38px rgba(0,0,0,0.42), 0 0 28px rgba(11,184,255,0.14);
  backdrop-filter: blur(9px);
}
.designer-footer.is-glossy::after {
  content: "";
  position: absolute;
  top: 0;
  left: -28%;
  width: 42%;
  height: 100%;
  pointer-events: none;
  background: linear-gradient(105deg, transparent 0%, rgba(255,255,255,0.14) 45%, rgba(255,217,119,0.16) 50%, transparent 72%);
  transform: skewX(-12deg);
  animation: designerFooterGloss 7s linear infinite;
}
@keyframes designerFooterGloss {
  0% { left: -42%; }
  55%, 100% { left: 110%; }
}
.designer-footer-inner { position: relative; z-index: 1; text-align: center; color: rgba(247,236,209,0.93); font-size: 15.87px; line-height: 1.35; }
.designer-footer-inner p { margin: 3px 0; }
.designer-footer-inner a { color: var(--gold-bright); }
.designer-footer-inner a:hover { text-decoration: underline; }

/* Page 1 */
.page-one .hero { position: relative; padding: 58px 0 74px; overflow: hidden; }
.page-one .hero::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 70% 45%, rgba(11,184,255,0.18), transparent 36%), linear-gradient(90deg, rgba(0,0,0,0.1), rgba(0,0,0,0.42)), url('images/inside-london-logo-256.png'); background-repeat: no-repeat; background-position: 3% 96%; background-size: 230px; opacity: 0.17; pointer-events: none; }
.page-one .hero-grid { position: relative; z-index: 1; }

.page-one .sales-hero-intro {
  position: relative;
  z-index: 2;
  width: min(1560px, calc(100% - 32px));
  max-width: none;
  text-align: center;
  padding: 12px 0 22px;
  margin-bottom: 24px;
  border-top: 1px solid rgba(87, 198, 255, 0.52);
  border-bottom: 1px solid rgba(87, 198, 255, 0.52);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.08),
    inset 0 -1px 0 rgba(255, 255, 255, 0.06),
    0 14px 34px rgba(0, 0, 0, 0.18);
}
.page-one .sales-hero-intro::before,
.page-one .sales-hero-intro::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 218, 119, 0.78), rgba(87, 198, 255, 0.65), transparent);
  pointer-events: none;
}
.page-one .sales-hero-intro::before { top: -1px; }
.page-one .sales-hero-intro::after { bottom: -1px; }
.page-one .sales-intro-line {
  margin: 0;
  text-shadow: 0 12px 38px rgba(0,0,0,0.58);
}
.page-one .sales-intro-line-one {
  color: var(--gold-bright);
  font-size: clamp(14px, 1.75vw, 22px);
  font-weight: 900;
  letter-spacing: 2px;
  line-height: 1.12;
  text-transform: uppercase;
}
.page-one .sales-intro-line-two {
  margin-top: 10px;
  color: #fff;
  font-size: clamp(22px, 3.7vw, 42px);
  font-weight: 900;
  line-height: 1.02;
  letter-spacing: -0.6px;
}
.page-one .sales-intro-line-three {
  margin-top: 13px;
  color: #cfe4fb;
  font-size: clamp(13px, 1.45vw, 17px);
  line-height: 1.45;
}

.page-one .hero-logo-watermark { width: 170px; margin-bottom: 18px; filter: drop-shadow(0 0 28px rgba(11,184,255,0.34)); }
.page-one .mini-features { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 28px; }
.page-one .mini-features div { border: 1px solid rgba(255,217,119,0.2); background: rgba(2,12,28,0.72); padding: 14px; border-radius: 14px; color: #dcecff; }
.page-one .mini-features strong { display: block; color: var(--gold-bright); }

/* Page 2 */
.page-two .site-header { border-bottom: 0; }
.page-two .hero { padding: 36px 0 52px; background: radial-gradient(circle at 28% 28%, rgba(11,184,255,0.26), transparent 30%), radial-gradient(circle at 75% 8%, rgba(214,170,77,0.12), transparent 30%); }
.page-two .hero-three { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(300px, 0.85fr); gap: 34px; align-items: center; }
.page-two .hero-emblem { width: min(360px, 100%); filter: drop-shadow(0 0 38px rgba(11,184,255,0.54)); }
.page-two .hero-title { font-size: clamp(38px, 5vw, 64px); }
.page-two .hero-panel { border: 1px solid rgba(104,210,255,0.24); background: linear-gradient(180deg, rgba(5,30,65,0.84), rgba(1,8,19,0.7)); border-radius: 22px; padding: 34px; box-shadow: var(--shadow); width: 100%; }
.page-two .combined-section { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.page-two .side-panel { border: 1px solid rgba(104,210,255,0.21); background: rgba(3,18,40,0.75); border-radius: 20px; padding: 26px; }
.page-two .side-panel h2 { margin: 0 0 18px; color: var(--gold-bright); font-size: 30px; }

/* Page 3 */
.page-three .hero { position: relative; padding: 72px 0 58px; background: linear-gradient(180deg, rgba(2,12,27,0.84), rgba(0,4,10,0.78)); overflow: hidden; }
.page-three .hero::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 120px; background: linear-gradient(180deg, transparent, rgba(0,0,0,0.42)); pointer-events: none; }
.page-three .hero-title { font-size: clamp(48px, 7vw, 86px); }
.page-three .hero-subbar { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 30px; max-width: 760px; border: 1px solid rgba(255,217,119,0.28); background: rgba(255,217,119,0.24); border-radius: 14px; overflow: hidden; }
.page-three .hero-subbar div { padding: 14px 16px; background: rgba(2,12,28,0.78); color: #d9e9fa; }
.page-three .hero-subbar strong { color: var(--gold-bright); display: block; }
.page-three .product-panel { grid-template-columns: 420px 1fr; background: transparent; border: 0; box-shadow: none; }
.page-three .footer-cta { position: fixed; right: 18px; bottom: calc(var(--tools-footer-height) + var(--designer-footer-height) + 18px); z-index: 31; min-width: 220px; border: 1px solid rgba(255,217,119,0.6); background: linear-gradient(180deg, #073a80, #03172f); color: var(--gold-soft); border-radius: 999px; padding: 14px 18px; display: flex; align-items: center; justify-content: center; gap: 10px; font-weight: 900; box-shadow: 0 20px 48px rgba(0,0,0,0.46), 0 0 34px rgba(11,184,255,0.2); }

.sticky-cta { position: fixed; right: 18px; bottom: calc(var(--tools-footer-height) + var(--designer-footer-height) + 18px); z-index: 30; width: min(360px, calc(100% - 36px)); display: flex; justify-content: space-between; align-items: center; gap: 14px; padding: 13px 15px; border: 1px solid rgba(255,217,119,0.54); background: linear-gradient(180deg, rgba(3,23,52,0.96), rgba(0,7,18,0.96)); box-shadow: 0 18px 50px rgba(0,0,0,0.56), 0 0 28px rgba(11,184,255,0.15); border-radius: 14px; backdrop-filter: blur(10px); transform: translateX(430px); transition: transform 220ms ease; }
.sticky-cta.visible { transform: translateX(0); }
.sticky-cta strong, .sticky-cta span { display: block; }
.sticky-cta strong { color: var(--gold-bright); }
.sticky-cta span { color: #bfd1e4; }
.sticky-cta a { padding: 11px 15px; border-radius: 10px; background: linear-gradient(180deg, #ffe59b, #d4a347 58%, #a96d20); color: #061126; font-weight: 900; white-space: nowrap; }
.purchase-toast { position: fixed; right: 18px; bottom: calc(var(--tools-footer-height) + var(--designer-footer-height) + 122px); z-index: 34; display: flex; align-items: center; gap: 12px; max-width: 335px; padding: 13px 14px; border: 1px solid rgba(104,210,255,0.34); background: rgba(2,14,30,0.95); box-shadow: 0 16px 44px rgba(0,0,0,0.5); transform: translateX(390px); transition: transform 260ms ease; border-radius: 12px; }
.purchase-toast.show { transform: translateX(0); }
.toast-avatar { flex: 0 0 auto; display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; background: linear-gradient(180deg, var(--gold-bright), var(--gold)); color: #061126; font-weight: 900; }
.purchase-toast p { margin: 0; line-height: 1.35; color: #c9dcee; }
.purchase-toast strong { color: #fff2bf; }
.purchase-toast small { color: #92acc7; }
.purchase-stack { position: fixed; z-index: 34; display: flex; flex-direction: column; gap: 10px; pointer-events: none; }
.purchase-stack-left { left: 18px; bottom: calc(var(--tools-footer-height) + var(--designer-footer-height) + 122px); width: min(350px, calc(100% - 36px)); }
.stack-toast { display: flex; align-items: center; gap: 12px; width: 100%; padding: 13px 14px; border: 1px solid rgba(104,210,255,0.34); background: rgba(2,14,30,0.95); box-shadow: 0 16px 44px rgba(0,0,0,0.5); transform: translateX(-390px); opacity: 0; transition: transform 260ms ease, opacity 260ms ease; border-radius: 12px; backdrop-filter: blur(10px); pointer-events: auto; }
.stack-toast.show { transform: translateX(0); opacity: 1; }
.stack-toast.hide { transform: translateX(-390px); opacity: 0; }
.stack-toast p { margin: 0; line-height: 1.35; color: #c9dcee; }
.stack-toast strong { color: #fff2bf; }
.stack-toast small { color: #92acc7; }

.visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }
.newsletter { position: relative; align-items: stretch; flex-wrap: wrap; }
.newsletter .form-message { flex: 1 1 100%; margin: 4px 0 0; font-size: 13px; line-height: 1.35; color: #b9d2ec; }
.form-message { min-height: 20px; margin: 10px 0 0; color: #b9d2ec; line-height: 1.4; }
.form-message.success { color: #aaf0d1; }
.form-message.error { color: #ffbdc4; }
.newsletter-form.is-submitting button { opacity: 0.68; cursor: wait; }
.newsletter-form input.error { border-color: rgba(255, 120, 134, 0.88); box-shadow: 0 0 0 3px rgba(255, 120, 134, 0.12); }
.lead-popup { position: fixed; inset: 0; z-index: 70; display: none; align-items: center; justify-content: center; padding: 22px; }
.lead-popup.open { display: flex; }
.lead-popup-backdrop { position: absolute; inset: 0; background: rgba(0, 5, 13, 0.76); backdrop-filter: blur(7px); }
.lead-popup-panel { position: relative; z-index: 1; width: min(560px, calc(100% - 16px)); border: 1px solid rgba(104,210,255,0.44); background: radial-gradient(circle at 18% 0%, rgba(11,184,255,0.24), transparent 46%), linear-gradient(145deg, rgba(5,31,68,0.98), rgba(0,6,16,0.98)); box-shadow: 0 34px 94px rgba(0,0,0,0.68), 0 0 80px rgba(11,184,255,0.18); border-radius: 24px; overflow: hidden; transform: translateY(20px) scale(0.96); opacity: 0; transition: transform 220ms ease, opacity 220ms ease; }
.lead-popup.open .lead-popup-panel { transform: translateY(0) scale(1); opacity: 1; }
.lead-popup-panel::before { content: ""; position: absolute; inset: 0; pointer-events: none; border-radius: inherit; background: linear-gradient(135deg, rgba(255,217,119,0.18), transparent 26%, rgba(104,210,255,0.14)); }
.lead-popup-close { position: absolute; z-index: 3; top: 13px; right: 13px; width: 40px; height: 40px; border: 1px solid rgba(255,217,119,0.36); background: rgba(1,8,18,0.82); color: var(--gold-bright); font-size: 28px; line-height: 1; cursor: pointer; border-radius: 50%; }
.lead-popup-close:hover, .lead-popup-close:focus { background: rgba(11,95,200,0.7); outline: 2px solid rgba(104,210,255,0.72); outline-offset: 2px; }
.lead-popup-content { position: relative; z-index: 2; padding: clamp(28px, 5vw, 42px); }
.lead-popup-badge { display: inline-flex; align-items: center; min-height: 34px; padding: 7px 13px; border: 1px solid rgba(255,217,119,0.48); background: linear-gradient(180deg, var(--gold-bright), var(--gold)); color: #061126; font-size: 13px; font-weight: 900; letter-spacing: 1px; text-transform: uppercase; border-radius: 999px; box-shadow: 0 10px 26px rgba(0,0,0,0.3); }
.lead-popup h2 { margin: 12px 0 12px; color: #fff6ca; font-size: clamp(30px, 5vw, 48px); line-height: 1.04; }
.lead-popup p { color: #d8e8f8; line-height: 1.58; }
.lead-popup-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; margin-top: 20px; }
.lead-popup-form input { min-height: 54px; min-width: 0; padding: 13px 16px; border: 1px solid rgba(104,210,255,0.36); background: rgba(0,0,0,0.28); color: #fff; border-radius: 12px; outline: none; }
.lead-popup-form input:focus { border-color: rgba(104,210,255,0.9); box-shadow: 0 0 0 3px rgba(104,210,255,0.15); }
.lead-popup-form button { min-height: 54px; border: 0; padding: 0 22px; color: #061126; background: linear-gradient(180deg, #ffeaa5, #d6aa4d 60%, #9f681e); font-weight: 900; cursor: pointer; border-radius: 12px; box-shadow: inset 0 1px 0 rgba(255,255,255,0.42), 0 14px 30px rgba(0,0,0,0.28); }
.lead-popup-form button:hover { filter: brightness(1.06); }
.lead-popup-form .form-message { grid-column: 1 / -1; }
.lead-popup-privacy { margin-bottom: 0; color: #9fb6cf !important; font-size: 14px; }

.tools-footer { position: fixed; left: 0; right: 0; bottom: 0; z-index: 35; border-top: 1px solid rgba(104,210,255,0.36); background: linear-gradient(180deg, rgba(4,24,52,0.98), rgba(0,5,13,0.98)); box-shadow: 0 -16px 42px rgba(0,0,0,0.44); backdrop-filter: blur(10px); opacity: 0; pointer-events: none; transform: translateY(calc(100% + 8px)); transition: transform 220ms ease, opacity 180ms ease; }
.tools-footer.is-visible { opacity: 1; pointer-events: auto; transform: translateY(0); }
.tools-footer, .tools-footer * { font-family: Georgia, "Times New Roman", serif !important; }
.tools-footer-inner { width: min(1180px, calc(100% - 24px)); min-height: 64px; margin: 0 auto; display: flex; align-items: center; justify-content: center; gap: 12px; flex-wrap: wrap; padding: 10px 0; }
.tool-group { display: inline-flex; align-items: center; gap: 8px; padding: 7px; border: 1px solid rgba(104,210,255,0.28); background: rgba(0,0,0,0.18); border-radius: 10px; }
.tool-label, .font-size-value { color: var(--gold-bright); font-size: 14px; font-weight: 900; letter-spacing: 0.5px; text-transform: uppercase; white-space: nowrap; }
.font-size-value { min-width: 48px; text-align: center; color: #fff1c7; }
.font-combobox { min-width: 220px; min-height: 38px; border: 1px solid rgba(104,210,255,0.38); background: #031126; color: #f8e8bf; padding: 8px 34px 8px 10px; font-size: 15px; font-weight: 800; border-radius: 8px; outline: none; }
.font-combobox:focus, .tool-arrow:focus, .tool-reset:focus { outline: 2px solid rgba(104,210,255,0.76); outline-offset: 2px; }
.tool-arrow, .tool-reset { min-width: 38px; min-height: 38px; border: 1px solid rgba(255,217,119,0.44); background: linear-gradient(180deg, #ffe59b, #d4a347 58%, #a96d20); color: #061126; font-size: 20px; font-weight: 900; line-height: 1; cursor: pointer; border-radius: 8px; box-shadow: inset 0 1px 0 rgba(255,255,255,0.38), 0 7px 18px rgba(0,0,0,0.24); transition: transform 160ms ease, filter 160ms ease; }
.tool-arrow:hover, .tool-reset:hover { transform: translateY(-1px); filter: brightness(1.08); }
.tool-reset { padding: 0 14px; font-size: 14px; text-transform: uppercase; letter-spacing: 0.7px; }

@media (max-width: 1060px) {
  .nav-links { display: none; }
  .hero-grid, .product-panel, .page-three .product-panel { grid-template-columns: 1fr; }
  .page-two .hero-three { grid-template-columns: 1fr; text-align: center; }
  .page-two .hero-emblem { margin: 0 auto; max-width: 300px; }
  .page-two .combined-section, .footer-grid { grid-template-columns: 1fr; }
  .feature-grid, .testimonial-grid { grid-template-columns: 1fr; }
  .hero-book-wrap { order: -1; }
  .hero-actions { justify-content: center; }
  .hero-copy, .check-list { margin-left: auto; margin-right: auto; }
  .hero-title, .hero-copy, .page-one .hero { text-align: center; }
  .page-one .hero-logo-watermark { margin: 0 auto 18px; }
  .page-one .mini-features { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  body { padding-bottom: calc(var(--tools-footer-height) + var(--designer-footer-height) + 24px); }
  .promo-bar { flex-wrap: wrap; line-height: 1.35; }
  .site-header { align-items: flex-start; flex-direction: column; width: 100%; margin: 0; padding-left: 16px; padding-right: 16px; }
  .header-cta { width: 100%; }
  .brand-logo { width: 54px; height: 54px; }
  .hero-title { letter-spacing: -1px; }
  .section-pad { padding: 50px 0; }
  .trust-row { grid-template-columns: 1fr; }
  .trust-row div { grid-template-columns: 1fr; text-align: center; justify-items: center; }
  .sticky-cta { left: 12px; right: 12px; bottom: calc(var(--tools-footer-height) + var(--designer-footer-height) + 12px); width: auto; transform: translateY(135px); }
  .sticky-cta.visible { transform: translateY(0); }
  .purchase-toast { display: none; }
  
.footer-single-column {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  text-align: center;
  max-width: 980px;
}
.footer-title {
  display: block;
  color: var(--gold-bright);
  font-size: clamp(19px, 2.2vw, 28px);
  line-height: 1.25;
  margin: 0;
  letter-spacing: 0.01em;
}
.footer-guidance,
.footer-contact {
  margin: 0;
  color: #afc3d8;
  line-height: 1.55;
}
.footer-contact a {
  color: var(--gold-bright);
  font-weight: 800;
  text-decoration: none;
}
.footer-contact a:hover {
  text-decoration: underline;
}

.designer-footer { padding: 8px 0; }
  .designer-footer-inner { font-size: 13.5px; line-height: 1.3; }
  .tools-footer-inner { align-items: stretch; gap: 8px; }
  .tool-group { flex: 1 1 100%; justify-content: center; }
  .font-combobox { flex: 1 1 auto; min-width: 0; }
  .tool-reset { flex: 1 1 100%; }
  .newsletter { flex-direction: column; }

  .lead-popup { align-items: flex-end; padding: 12px 12px calc(var(--tools-footer-height) + var(--designer-footer-height) + 18px); }
  .lead-popup-panel { width: 100%; border-radius: 18px; }
  .lead-popup-form { grid-template-columns: 1fr; }
  .lead-popup-form button { width: 100%; }
}

/* v1.120 page 2 free PDF landing form */
.page-two .hero-free-pdf {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(330px, 0.7fr);
  gap: clamp(22px, 4vw, 44px);
  align-items: stretch;
}
.page-two .hero-free-pdf .hero-panel {
  min-height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.free-pdf-card {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(104,210,255,0.36);
  background:
    radial-gradient(circle at 18% 0%, rgba(11,184,255,0.26), transparent 46%),
    linear-gradient(145deg, rgba(5,31,68,0.96), rgba(0,6,16,0.97));
  box-shadow: var(--shadow), 0 0 70px rgba(11,184,255,0.15);
  border-radius: 24px;
  padding: clamp(24px, 4vw, 38px);
}
.free-pdf-card::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(135deg, rgba(255,217,119,0.18), transparent 24%, rgba(104,210,255,0.12));
}
.free-pdf-card > * { position: relative; z-index: 1; }
.free-pdf-card-glow {
  position: absolute;
  width: 210px;
  height: 210px;
  right: -70px;
  top: -70px;
  border-radius: 50%;
  background: rgba(11,184,255,0.22);
  filter: blur(14px);
  z-index: 0;
}
.free-pdf-card h2 {
  margin: 8px 0 10px;
  color: #fff6ca;
  font-size: clamp(28px, 4vw, 42px);
  line-height: 1.05;
}
.free-pdf-card p { color: #d8e8f8; line-height: 1.55; }
.free-pdf-form {
  display: grid;
  gap: 10px;
  margin-top: 18px;
}
.free-pdf-form label {
  color: var(--gold-soft);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0.7px;
  text-transform: uppercase;
}
.free-pdf-form input {
  min-height: 54px;
  width: 100%;
  padding: 13px 16px;
  border: 1px solid rgba(104,210,255,0.36);
  background: rgba(0,0,0,0.28);
  color: #fff;
  border-radius: 12px;
  outline: none;
}
.free-pdf-form input:focus {
  border-color: rgba(104,210,255,0.9);
  box-shadow: 0 0 0 3px rgba(104,210,255,0.15);
}
.free-pdf-form button {
  min-height: 56px;
  margin-top: 6px;
  border: 0;
  padding: 0 22px;
  color: #061126;
  background: linear-gradient(180deg, #ffeaa5, #d6aa4d 60%, #9f681e);
  font-weight: 900;
  cursor: pointer;
  border-radius: 12px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.42), 0 14px 30px rgba(0,0,0,0.28);
}
.free-pdf-form button:hover { filter: brightness(1.06); }
.free-pdf-note { margin-bottom: 0; color: #9fb6cf !important; font-size: 14px; }
.product-panel-text-only { grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.95fr); align-items: stretch; }
.product-copy-wide { max-width: 760px; }
.free-pdf-card-compact h2 { font-size: clamp(24px, 3vw, 34px); }
@media (max-width: 900px) {
  .page-two .hero-free-pdf,
  .product-panel-text-only { grid-template-columns: 1fr; }
}

/* v1.126 Stripe checkout note above Page 2 submit button */
.free-pdf-submit-note {
  margin: 2px 0 0;
  color: #fff1c7 !important;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.4;
}


.designer-admin-line {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
}

.designer-login-link {
  color: var(--gold, #f4c76a);
  text-decoration: none;
  font-weight: 700;
  letter-spacing: .04em;
}

.designer-login-link:hover {
  text-decoration: underline;
}

.admin-login-modal {
  position: fixed;
  inset: 0;
  z-index: 10080;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 24px;
}

.admin-login-modal.open {
  display: flex;
}

.admin-login-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(1, 6, 14, .72);
  backdrop-filter: blur(10px);
}

.admin-login-window {
  position: relative;
  width: min(440px, calc(100vw - 32px));
  border: 1px solid rgba(244, 199, 106, .35);
  background: linear-gradient(145deg, rgba(9, 25, 48, .98), rgba(2, 9, 20, .98));
  box-shadow: 0 28px 80px rgba(0,0,0,.55), 0 0 34px rgba(27, 108, 255, .2);
  padding: 26px;
  color: #fff;
}

.admin-login-close {
  position: absolute;
  top: 12px;
  right: 14px;
  width: 34px;
  height: 34px;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.06);
  color: #fff;
  cursor: pointer;
}

.admin-login-window h2 {
  margin: 0 0 8px;
  font-size: 30px;
}

.admin-login-copy {
  color: rgba(235,245,255,.76);
  margin: 0 0 18px;
}

.admin-login-form {
  display: grid;
  gap: 10px;
}

.admin-login-form label {
  font-weight: 700;
  font-size: 13px;
  color: rgba(255,255,255,.85);
}

.admin-login-form input[type="email"],
.admin-login-form input[type="password"] {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid rgba(98,174,255,.35);
  background: rgba(255,255,255,.08);
  color: #fff;
  padding: 12px 13px;
  font-size: 16px;
}

.admin-login-remember {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 500 !important;
}

.admin-login-form button {
  border: 0;
  background: linear-gradient(135deg, #f7d889, #c8912d);
  color: #081326;
  padding: 13px 16px;
  font-weight: 800;
  cursor: pointer;
  margin-top: 6px;
}

.admin-login-admin-link {
  display: inline-block;
  margin-top: 14px;
  color: #f4c76a;
  text-decoration: none;
}
/* v1.192: purchase stack pop-ups are visible again. */


/* v1.196: hide header/promo/tools and place glossy designer footer at page bottom */
:root {
  --tools-footer-height: 0px;
  --promo-bar-height: 0px;
}
.promo-bar,
header.site-header.section-shell,
.tools-footer {
  display: none !important;
}
#leadPopup {
  display: none !important;
}
body {
  padding-bottom: calc(var(--designer-footer-height) + 28px);
}
.designer-footer,
.designer-footer.is-glossy {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0 !important;
  z-index: 34;
}
@media (max-width: 720px) {
  body { padding-bottom: calc(var(--designer-footer-height) + 24px); }
  .lead-popup { display: none !important; }
}

/* v1.200: corrected page-one/product-panel responsive sizing */
.page-one .hero {
  padding: 0 !important;
}

.section-pad {
  padding: 0 !important;
}

@media (max-width: 1061px) {
  .section-shell.product-panel {
    display: grid !important;
    grid-template-columns: minmax(0, 42%) minmax(0, 58%) !important;
    gap: clamp(14px, 3vw, 34px) !important;
    align-items: center !important;
  }

  .section-shell.product-panel .hero-book-wrap {
    order: 0 !important;
    width: 100% !important;
    max-width: min(38vw, 360px) !important;
    margin: 0 !important;
    justify-self: center !important;
  }

  .section-shell.product-panel .hero-book-wrap::before {
    width: min(360px, 92%) !important;
  }

  .section-shell.product-panel .book-cover {
    width: min(100%, 300px) !important;
    max-width: 100% !important;
    margin: 0 auto !important;
  }

  .section-shell.product-panel .product-copy {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    justify-self: stretch !important;
  }

  .section-shell.product-panel .product-copy h2 {
    font-size: clamp(24px, 3.6vw, 42px) !important;
  }

  .section-shell.product-panel .product-copy p {
    font-size: 17px !important;
  }
}

@media (max-width: 860px) {
  html {
    font-size: 90%;
  }

  .hero-title {
    font-size: clamp(40.5px, 6.3vw, 73.8px) !important;
  }

  .hero-copy {
    font-size: clamp(15.3px, 1.89vw, 18.9px) !important;
  }

  .section-heading h2 {
    font-size: clamp(28.8px, 4.5vw, 48.6px) !important;
  }

  .section-heading p,
  .product-copy p {
    font-size: 16.2px !important;
  }

  .product-copy h2,
  .section-shell.product-panel .product-copy h2 {
    font-size: clamp(21.6px, 3.24vw, 37.8px) !important;
  }

  .price {
    font-size: 43.2px !important;
  }
}

@media (max-width: 761px) {
  .section-shell.trust-row {
    display: none !important;
  }
}

@media (max-width: 640px) {
  html {
    font-size: 81%;
  }

  .hero-title {
    font-size: clamp(36.45px, 5.67vw, 66.42px) !important;
  }

  .hero-copy {
    font-size: clamp(13.77px, 1.7vw, 17.01px) !important;
  }

  .section-heading h2 {
    font-size: clamp(25.92px, 4.05vw, 43.74px) !important;
  }

  .section-heading p,
  .product-copy p {
    font-size: 14.58px !important;
  }

  .product-copy h2,
  .section-shell.product-panel .product-copy h2 {
    font-size: clamp(19.44px, 2.92vw, 34.02px) !important;
  }

  .price {
    font-size: 38.88px !important;
  }
}

/* v1.201: hide purchase-stack popups on narrow screens */
@media (max-width: 680px) {
  .purchase-stack {
    display: none !important;
  }
}

/* v1.202: product panel padding, top-aligned book cover, stats hide, and extra small font reduction */
.product-panel,
.section-shell.product-panel,
.page-three .product-panel {
  padding: 0 !important;
}

.product-panel,
.section-shell.product-panel,
.page-three .product-panel {
  align-items: start !important;
}

.product-panel .hero-book-wrap,
.section-shell.product-panel .hero-book-wrap,
.page-three .product-panel .hero-book-wrap {
  align-self: start !important;
  align-items: flex-start !important;
}

.product-panel .book-cover,
.section-shell.product-panel .book-cover,
.page-three .product-panel .book-cover {
  align-self: flex-start !important;
}

@media (max-width: 1061px) {
  .section-shell.product-panel {
    align-items: start !important;
  }

  .section-shell.product-panel .hero-book-wrap,
  .section-shell.product-panel .book-cover {
    align-self: flex-start !important;
  }
}

@media (max-width: 761px) {
  .section-shell.trust-row,
  .stats-section {
    display: none !important;
  }
}

@media (max-width: 460px) {
  html {
    font-size: 68.85%;
  }

  body {
    font-size: 85%;
  }

  .hero-title {
    font-size: clamp(30.98px, 4.82vw, 56.46px) !important;
  }

  .hero-copy {
    font-size: clamp(11.7px, 1.45vw, 14.46px) !important;
  }

  .section-heading h2 {
    font-size: clamp(22.03px, 3.44vw, 37.18px) !important;
  }

  .section-heading p,
  .product-copy p,
  .check-list,
  .check-list li,
  .faq-answer,
  .footer-guidance,
  .footer-contact {
    font-size: 12.39px !important;
  }

  .product-copy h2,
  .section-shell.product-panel .product-copy h2 {
    font-size: clamp(16.52px, 2.48vw, 28.92px) !important;
  }

  .price {
    font-size: 33.05px !important;
  }
}

/* v1.230: hero book wrap margin - 50px sides/top, 5px bottom */
.section-shell.product-panel .hero-book-wrap {
  margin: 50px 50px 5px 50px !important;
}

@media (max-width: 500px) {
  .check-list li:last-child {
    display: none !important;
  }
}

@media (max-width: 400px) {
  .check-list li:last-child {
    display: list-item !important;
  }
}

@media (max-width: 300px) {
  .check-list li:last-child {
    display: list-item !important;
  }
}


/* v1.205: show typography toolbar when the mouse hovers the footer area */
.tools-footer {
  display: block !important;
  opacity: 0;
  pointer-events: none;
  transform: translateY(calc(100% + 8px));
}

.site-footer:hover ~ .tools-footer,
.designer-footer:hover ~ .tools-footer,
.tools-footer:hover,
.tools-footer.is-visible,
.tools-footer:focus-within {
  opacity: 1 !important;
  pointer-events: auto !important;
  transform: translateY(0) !important;
}

/* v1.206: product panel spacing plus value/countdown rows below band-blue product section */
.product-panel,
.section-shell.product-panel,
.page-three .product-panel {
  margin-bottom: 50px !important;
}

.offer-value-row {
  width: min(980px, calc(100% - 32px));
  margin: 0 auto 22px;
  padding: clamp(24px, 4vw, 38px);
  border: 1px solid rgba(104,210,255,0.18);
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(4,28,62,0.72), rgba(1,10,24,0.88));
  box-shadow: 0 26px 70px rgba(0,0,0,0.32), inset 0 1px 0 rgba(255,255,255,0.04);
  text-align: center;
}

.offer-value-row h2 {
  margin: 0 0 12px;
  color: var(--gold-soft);
  font-size: clamp(28px, 4.2vw, 52px);
  line-height: 1.04;
  letter-spacing: -0.035em;
}

.offer-value-row p {
  width: min(860px, 100%);
  margin: 0 auto;
  color: rgba(235,245,255,0.88);
  font-size: clamp(16px, 1.75vw, 22px);
  line-height: 1.55;
}

.offer-countdown-row {
  width: 100%;
  max-width: none;
  margin: 0 auto;
  padding: clamp(28px, 4vw, 42px) 16px 32px;
  border-top: 1px solid #ff3b3b;
  border-bottom: 1px solid #ff3b3b;
  background: radial-gradient(circle at 50% 0%, rgba(255,59,59,0.13), transparent 36%), linear-gradient(180deg, #2b0709, #120203);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.02), 0 16px 40px rgba(0,0,0,0.32);
  text-align: center;
}

.offer-countdown-kicker {
  margin: 0 0 18px;
  color: #ff3b3b;
  font-size: 14px;
  font-weight: 900;
  letter-spacing: 0.34em;
  text-transform: uppercase;
}

.offer-countdown-boxes {
  display: flex;
  justify-content: center;
  align-items: stretch;
  gap: 14px;
  flex-wrap: wrap;
}

.offer-countdown-box {
  min-width: 88px;
  padding: 14px 20px 12px;
  border: 1px solid rgba(255,59,59,0.34);
  border-radius: 4px;
  background: linear-gradient(180deg, rgba(0,0,0,0.72), rgba(10,1,1,0.86));
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.03), 0 10px 24px rgba(0,0,0,0.24);
}

.offer-countdown-value {
  display: block;
  color: var(--gold);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(28px, 5vw, 38px);
  line-height: 1;
  text-shadow: 0 0 12px rgba(255,199,71,0.48);
}

.offer-countdown-box span {
  display: block;
  margin-top: 8px;
  color: rgba(255,255,255,0.9);
  font-size: 11px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
}

@media (max-width: 560px) {
  .offer-countdown-row {
    padding-inline: 10px;
  }
  .offer-countdown-kicker {
    letter-spacing: 0.22em;
    font-size: 12px;
  }
  .offer-countdown-box {
    min-width: 76px;
    padding-inline: 14px;
  }
}


/* v1.207: make the offer value row one full-width horizontal row */
.section-shell.offer-value-row {
  width: 100% !important;
  max-width: none !important;
  margin: 0 0 22px !important;
  box-sizing: border-box;
  border-radius: 0;
  display: grid;
  grid-template-columns: minmax(280px, 0.9fr) minmax(320px, 1.4fr);
  align-items: center;
  gap: clamp(18px, 3.5vw, 56px);
  text-align: left;
  padding: clamp(24px, 4vw, 38px) max(24px, calc((100vw - 1180px) / 2 + 24px));
}

.section-shell.offer-value-row h2 {
  margin: 0 !important;
}

.section-shell.offer-value-row p {
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
}

@media (max-width: 680px) {
  .section-shell.offer-value-row {
    grid-template-columns: 1fr;
    text-align: center;
  }
}

/* v1.226: stack product panel into two rows on very narrow screens */
@media (max-width: 480px) {
  .section-shell.product-panel {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto !important;
  }

  .section-shell.product-panel .hero-book-wrap {
    grid-column: 1 !important;
    grid-row: 1 !important;
    order: 0 !important;
    justify-self: center !important;
  }

  .section-shell.product-panel .product-copy {
    grid-column: 1 !important;
    grid-row: 2 !important;
    justify-self: stretch !important;
  }
}

/* v1.228: stack product panel below 600px with book on top */
@media (max-width: 600px) {
  .section-shell.product-panel {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto !important;
  }

  .section-shell.product-panel .hero-book-wrap {
    grid-column: 1 !important;
    grid-row: 1 !important;
    order: 0 !important;
    justify-self: center !important;
    align-self: start !important;
  }

  .section-shell.product-panel .product-copy {
    grid-column: 1 !important;
    grid-row: 2 !important;
    order: 1 !important;
    justify-self: stretch !important;
  }
}


/* v1.235: hide Featured Book small caps line below 600px */
@media (max-width: 600px) {
  #home-small-caps-featured-book {
    display: none !important;
  }
}

/* v1.240: mobile CTA font size tweak */
@media (max-width: 600px) {
  #home-button-get-instant-access {
    font-size: 24px !important;
  }
}
.smaller_designer_footer {
    width: 100vw !important;
    max-width: none !important;
    height: 16px !important;
    min-height: 16px !important;
    padding: 0 !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    line-height: 16px !important;
    overflow: hidden !important;
}

.smaller_designer_footer_inner {
    width: 100% !important;
    max-width: none !important;
    height: 16px !important;
    min-height: 16px !important;
    padding: 0 !important;
    margin: 0 !important;
    line-height: 16px !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    text-align: center !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    white-space: nowrap !important;
    box-sizing: border-box !important;
}