/* Shared sizing for the Home, Classroom, Talent, About and Contact pages.
   Loaded last so legacy page styles cannot change their common geometry. */
body.tx-public-landing {
  --tx-site-font: 'Testanix Sans', 'DM Sans', sans-serif;
  --landing-width: 1240px;
  --landing-gutter: clamp(18px, 3.5vw, 56px);
  --landing-header: 62px;
  --landing-accent: #08705b;
  --landing-secondary: #245b94;
  --landing-tint: #e8f1ec;
  font: 400 16px/1.6 var(--tx-site-font);
  background: #f8f5ed;
}
.tx-public-landing .tx-site-shell {
  width: min(var(--landing-width), calc(100% - 2 * var(--landing-gutter)));
}
.tx-public-landing .tx-site-header,
.tx-public-landing .tx-site-header.is-scrolled,
.tx-public-landing .tx-site-header__inner { min-height: var(--landing-header); }
.tx-public-landing .tx-site-header .tx-site-brand { font-size: clamp(22px, 1.4vw, 28px); gap: 12px; }
.tx-public-landing .tx-site-header .tx-site-brand img { width: 34px; height: 34px; }
.tx-public-landing .tx-site-nav a { font-size: 13.76px; line-height: 1.2; }
.tx-public-landing :is(main,.tx-site-footer) :is(p,li,label,input,select,textarea,button,summary) { font-family: var(--tx-site-font); }
.tx-public-landing :is(a,button,input,select,textarea,summary):focus-visible { outline: 3px solid #1475ca; outline-offset: 4px; }
.tx-public-landing :is(input,textarea)::placeholder { color: #526259; opacity: 1; }
.tx-public-landing :is(input,select,textarea) { min-width: 0; max-width: 100%; }
@media(max-width:980px){.tx-public-landing .tx-site-nav a{font-size:14px}}
@media(prefers-reduced-motion:reduce){.tx-public-landing{scroll-behavior:auto}.tx-public-landing :is(.tx-site-nav a,.tx-button,.tx-product-button){transition:none;transform:none}}
.tx-public-landing.tx-main > .tx-site-header + main > .tx-master-hero,
.tx-public-landing.tx-talent .tx-product-hero,
.tx-public-landing.ix2-merged .tx-classroom-cover .tx-product-hero,
.tx-public-landing .tx-classroom-features {
  width: min(var(--landing-width), calc(100% - 2 * var(--landing-gutter)));
  max-width: var(--landing-width);
  margin-inline: auto;
}
.tx-public-landing.tx-main > .tx-site-header + main > .tx-master-hero,
.tx-public-landing.tx-talent .tx-product-hero,
.tx-public-landing.ix2-merged .tx-classroom-cover {
  min-height: calc(100svh - var(--landing-header));
  box-sizing: border-box;
}
.tx-public-landing.tx-main > .tx-site-header + main > .tx-master-hero,
.tx-public-landing.tx-talent .tx-product-hero,
.tx-public-landing.ix2-merged .tx-classroom-cover .tx-product-hero { padding-block: 36px 24px; }
.tx-public-landing.tx-main .tx-master-hero .tx-hero-intro,
.tx-public-landing .tx-product-intro { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px; }
.tx-public-landing.tx-main .tx-master-hero .tx-hero-title-wrap h1,
.tx-public-landing.tx-talent .tx-product-hero h1,
.tx-public-landing.ix2-merged .tx-product-hero h1 {
  margin: 0;
  font: 500 clamp(56px, 6vw, 88px)/1.08 'Newsreader', Georgia, serif;
  letter-spacing: -.04em;
  color: #17251e;
}
.tx-public-landing h1 em { font-weight: 400; }
/* Reference treatment: ink serif, blue italics and a hand-drawn coral wave.
   Only the three product introductions receive this treatment. */
.tx-public-landing.tx-main .tx-master-hero .tx-hero-title-wrap h1,
.tx-public-landing.tx-talent .tx-product-hero h1,
.tx-public-landing.ix2-merged .tx-product-hero h1 {
  color: #17251e;
}
.tx-public-landing h1 .tx-hero-word {
  position: relative;
  display: inline-block;
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
  text-decoration: none;
}
.tx-public-landing h1 .tx-hero-word::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: -.035em;
  height: .12em;
  pointer-events: none;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 12' fill='none'%3E%3Cpath d='M2 7 Q12 2 22 6 T42 6 T62 6 T82 6 T102 6 T122 6 T142 6 Q150 8 158 5' stroke='%23ef766b' stroke-width='2.5' stroke-linecap='round'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
}
.tx-public-landing h1 a.tx-hero-word:hover { color: var(--landing-accent); }
.tx-public-landing h1 a.tx-hero-word:focus-visible { outline: 2px solid #1475ca; outline-offset: 6px; border-radius: 2px; }
/* Restrained, readable accents distinguish each product on the warm paper. */
body.tx-public-landing.ix2-merged {
  --landing-accent: #076f73;
  --landing-secondary: #285b9a;
  --landing-tint: #e6f0ef;
}
body.tx-public-landing.tx-talent {
  --landing-accent: #674498;
  --landing-secondary: #97501f;
  --landing-tint: #eee8f3;
}
.tx-public-landing.tx-main .tx-master-hero .tx-hero-title-wrap h1 .tx-heading-highlight,
.tx-public-landing.ix2-merged .tx-product-hero h1 .tx-heading-highlight { color: inherit; }
.tx-public-landing.tx-main .tx-master-hero .tx-hero-title-wrap h1 em,
.tx-public-landing.ix2-merged .tx-product-hero h1 em,
.tx-public-landing.tx-talent .tx-product-hero h1 em { color: #1475ca; }
.tx-public-landing.tx-main .tx-hero-title-wrap .tx-overline,
.tx-public-landing .tx-product-eyebrow { color: var(--landing-accent); }
.tx-public-landing.tx-main .tx-home-summaries > div:first-child h2,
.tx-public-landing .tx-product-features > div:first-child h2 { color: var(--landing-accent); }
.tx-public-landing.tx-main .tx-home-summaries > div:nth-child(2) h2,
.tx-public-landing .tx-product-features > div:nth-child(2) h2 { color: var(--landing-secondary); }
.tx-public-landing .tx-product-features > div:nth-child(3) h2 { color: #8c4d28; }
.tx-public-landing.tx-main .tx-home-number,
.tx-public-landing .tx-product-features > div > span { color: var(--landing-accent); font-weight: 700; }
.tx-public-landing.tx-main .tx-home-actions .tx-button-dark,
.tx-public-landing .tx-product-button-primary {
  background: var(--landing-accent);
  border-color: var(--landing-accent);
  color: #fff;
}
.tx-public-landing.tx-main .tx-home-actions .tx-home-talent,
.tx-public-landing .tx-product-button:not(.tx-product-button-primary) {
  color: var(--landing-secondary);
  border-color: var(--landing-secondary);
}
.tx-public-landing.tx-main .tx-home-actions .tx-button:hover,
.tx-public-landing .tx-product-button:hover {
  background: var(--landing-tint);
  border-color: var(--landing-accent);
  color: var(--landing-accent);
}
.tx-public-landing.tx-main .tx-hero-title-wrap .tx-overline,
.tx-public-landing .tx-product-eyebrow { font: 700 10px/1.5 'Testanix Sans', 'DM Sans', sans-serif; letter-spacing: .14em; margin: 0 0 14px; }
.tx-public-landing.tx-main .tx-home-lede,
.tx-public-landing .tx-product-lede { max-width: 580px; font: 400 16px/1.7 'Testanix Sans', 'DM Sans', sans-serif; margin: 18px 0 0; }
.tx-public-landing.tx-main .tx-hero-title-wrap > .tx-home-actions,
.tx-public-landing .tx-product-actions { margin-top: 28px; gap: 12px; }
.tx-public-landing.tx-main .tx-home-actions .tx-button,
.tx-public-landing .tx-product-button { min-height: 50px; padding: 14px 18px; font: 600 13px/1.5 'Testanix Sans', 'DM Sans', sans-serif; gap: 20px; box-sizing: border-box; }
.tx-public-landing.tx-main .tx-home-summaries h2,
.tx-public-landing .tx-product-features h2 { font: 600 16px/1.4 'Testanix Sans', 'DM Sans', sans-serif; }
.tx-public-landing.tx-main .tx-home-summaries p,
.tx-public-landing .tx-product-features p { font: 400 14px/1.7 'Testanix Sans', 'DM Sans', sans-serif; }
.tx-public-landing.tx-main .tx-home-art svg,
.tx-public-landing .tx-product-art img { max-height: min(620px, calc(100svh - 240px)); object-fit: contain; }
@media (max-width: 899px) {
  .tx-public-landing.tx-main .tx-master-hero .tx-hero-intro,
  .tx-public-landing .tx-product-intro { grid-template-columns: 1fr; gap: 24px; }
  .tx-public-landing.tx-main > .tx-site-header + main > .tx-master-hero,
  .tx-public-landing.tx-talent .tx-product-hero,
  .tx-public-landing.ix2-merged .tx-classroom-cover { min-height: 0; }
  .tx-public-landing.tx-main .tx-home-art svg,
  .tx-public-landing .tx-product-art img { max-height: none; }
}
@media (min-width: 600px) and (max-width: 760px) {
  .tx-public-landing.tx-main .tx-master-hero .tx-hero-title-wrap h1,
  .tx-public-landing.tx-talent .tx-product-hero h1,
  .tx-public-landing.ix2-merged .tx-product-hero h1 { font-size: clamp(52px, 7.5vw, 64px); }
}
@media (max-width: 980px) {
  body.tx-public-landing { --landing-header: 60px; }
}
@media (max-width: 599px) {
  body.tx-public-landing { --landing-header: 58px; }
  .tx-public-landing .tx-site-header .tx-site-brand { font-size: 21px; }
  .tx-public-landing .tx-site-header .tx-site-brand img { width: 32px; height: 32px; }
  .tx-public-landing.tx-main .tx-master-hero .tx-hero-title-wrap h1,
  .tx-public-landing.tx-talent .tx-product-hero h1,
  .tx-public-landing.ix2-merged .tx-product-hero h1 { font-size: clamp(42px, 13.5vw, 64px); }
  .tx-public-landing.tx-main .tx-home-lede,
  .tx-public-landing .tx-product-lede { font-size: 16px; margin-top: 14px; }
  .tx-public-landing.tx-main .tx-hero-title-wrap > .tx-home-actions { grid-template-columns: 1fr; }
  .tx-public-landing.tx-main .tx-home-actions .tx-button,
  .tx-public-landing .tx-product-button { font-size: 13px; padding: 14px 12px; min-height: 50px; gap: 8px; white-space: normal; }
}

/* Fit the opening composition to the available height as well as the width. */
@media (min-width: 900px) {
  .tx-public-landing.tx-main > .tx-site-header + main > .tx-master-hero,
  .tx-public-landing.ix2-merged .tx-classroom-cover {
    min-height: calc(100svh - var(--landing-header) - 1px);
  }
  .tx-public-landing.tx-main > .tx-site-header + main > .tx-master-hero,
  .tx-public-landing.ix2-merged .tx-classroom-cover .tx-product-hero { padding-block: 20px 16px; }
  .tx-public-landing.tx-main .tx-master-hero .tx-hero-title-wrap h1,
  .tx-public-landing.ix2-merged .tx-product-hero h1 {
    font-size: clamp(44px, min(6vw, 9.5svh), 88px);
  }
  .tx-public-landing.tx-main .tx-home-lede,
  .tx-public-landing.ix2-merged .tx-product-lede { margin-top: 16px; line-height: 1.55; }
  .tx-public-landing.tx-main .tx-hero-title-wrap > .tx-home-actions,
  .tx-public-landing.ix2-merged .tx-product-actions { margin-top: 18px; }
  .tx-public-landing.tx-main .tx-home-art svg,
  .tx-public-landing.ix2-merged .tx-classroom-cover .tx-product-art img {
    max-height: min(620px, calc(100svh - 220px));
  }
  .tx-public-landing.tx-main .tx-home-summaries > div,
  .tx-public-landing.ix2-merged .tx-product-features > div { padding-block: 14px; }
  .tx-public-landing.ix2-merged .tx-product-features > div > span { top: 18px; }
  .tx-public-landing.ix2-merged .tx-classroom-features { margin-top: 0; margin-bottom: 8px; }
}
@media (max-width: 599px) {
  .tx-public-landing.tx-main > .tx-site-header + main > .tx-master-hero,
  .tx-public-landing.ix2-merged .tx-classroom-cover .tx-product-hero {
    padding-block: 20px 16px;
    min-height: 0;
    gap: 14px;
  }
  .tx-public-landing.tx-main .tx-master-hero .tx-hero-intro,
  .tx-public-landing.ix2-merged .tx-product-intro { gap: 14px; }
  .tx-public-landing.tx-main .tx-master-hero .tx-hero-title-wrap h1,
  .tx-public-landing.ix2-merged .tx-product-hero h1 {
    font-size: clamp(38px, min(13.5vw, 6svh), 54px);
  }
  .tx-public-landing.tx-main .tx-home-lede,
  .tx-public-landing.ix2-merged .tx-product-lede { margin-top: 12px; line-height: 1.5; }
  .tx-public-landing.tx-main .tx-hero-title-wrap > .tx-home-actions,
  .tx-public-landing.ix2-merged .tx-product-actions { margin-top: 16px; gap: 8px; }
  .tx-public-landing.tx-main .tx-home-platform p { display: none; }
  /* Match Talent's mobile artwork width and preserve each image's aspect ratio. */
  .tx-public-landing.tx-main .tx-home-art,
  .tx-public-landing.ix2-merged .tx-product-art { width: 100%; max-width: 420px; justify-self: center; }
  .tx-public-landing.tx-main .tx-home-art svg,
  .tx-public-landing.ix2-merged .tx-product-art img { width: 100%; height: auto; max-height: none; }
}
@media (max-width: 599px) and (max-height: 740px) {
  .tx-public-landing.tx-main .tx-master-hero .tx-hero-title-wrap h1,
  .tx-public-landing.ix2-merged .tx-product-hero h1 { font-size: clamp(36px, min(12vw, 5.8svh), 44px); }
}
