/* Keep default page content out of sight until an audience has been chosen. */
html[data-o2c-entry="pending"], html[data-o2c-entry="loading"] { overflow: hidden; background: #f6f6f4; }
html:is([data-o2c-entry="pending"], [data-o2c-entry="loading"]) body > :not(.o2c-audience-entry) { visibility: hidden !important; }
html:is([data-o2c-entry="ready"], [data-o2c-entry="transition"]) :is(#choose-path, #lc-choose-path) { display: none !important; }

dialog.o2c-audience-entry {
  position: fixed; inset: 0; width: 100%; height: 100%; max-width: none; max-height: none;
  box-sizing: border-box; margin: 0; padding: clamp(24px, 5vh, 64px) 24px; border: 0;
  color: #1f3a33; background: #f6f6f4; overflow: auto; font: 16px/1.55 Inter, Arial, sans-serif;
}
dialog.o2c-audience-entry::backdrop { background: #f6f6f4; }
.o2c-audience-entry .o2c-entry-inner { width: min(100%, 1000px); min-height: 100%; margin: auto; display: flex; flex-direction: column; justify-content: center; }
.o2c-audience-entry .o2c-entry-logo { display: block; width: 166px; height: auto; margin: 0 auto clamp(32px, 6vh, 64px); }
.o2c-audience-entry .o2c-entry-heading { text-align: center; margin-bottom: 32px; }
.o2c-audience-entry .o2c-entry-eyebrow { margin: 0 0 12px; font-size: 11px; font-weight: 650; letter-spacing: .12em; color: #5b6470; }
.o2c-audience-entry #o2c-entry-title { margin: 0; font-size: clamp(34px, 5vw, 58px); line-height: 1.12; font-weight: 650; letter-spacing: -.045em; color: #1f3a33; }
.o2c-audience-entry #o2c-entry-title:focus { outline: none; }
.o2c-audience-entry #o2c-entry-description { margin: 18px auto 0; max-width: 520px; font-size: 17px; line-height: 1.6; color: #5b6470; text-wrap: balance; }
.o2c-audience-entry .o2c-entry-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.o2c-audience-entry .o2c-entry-option { display: flex; flex-direction: column; align-items: flex-start; gap: 0; min-width: 0; padding: clamp(26px, 3vw, 40px); border: 2px solid transparent; border-radius: 22px; font: inherit; text-align: left; cursor: pointer; transition: transform .18s, box-shadow .18s; }
.o2c-audience-entry .o2c-entry-k12 { background: #d7e5a0; color: #1f3a33; }
.o2c-audience-entry .o2c-entry-global { background: #1f3a33; color: #fff; }
.o2c-audience-entry .o2c-entry-label { font-size: clamp(28px, 3vw, 38px); font-weight: 650; line-height: 1.15; letter-spacing: -.04em; }
.o2c-audience-entry .o2c-entry-subtitle { margin-top: 12px; font-weight: 600; font-size: 17px; }
.o2c-audience-entry .o2c-entry-description { margin-top: 15px; max-width: 350px; line-height: 1.6; font-size: 16px; }
.o2c-audience-entry .o2c-entry-action { display: flex; align-items: center; justify-content: space-between; width: 100%; gap: 16px; margin-top: auto; padding-top: 32px; font-size: 14px; font-weight: 650; }
.o2c-audience-entry .o2c-entry-action > span { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: #1f3a3312; color: #1f3a33; font-size: 24px; transition: transform .2s; }
.o2c-audience-entry .o2c-entry-option:hover { transform: translateY(-3px); box-shadow: 0 14px 32px #1f3a3320; }
.o2c-audience-entry .o2c-entry-option:focus-visible { outline: 3px solid #1f3a33; outline-offset: 5px; }
.o2c-audience-entry .o2c-entry-note { margin: 26px 0 0; text-align: center; font-size: 13px; line-height: 1.6; color: #5b6470; }
@media (max-width: 650px) {
  dialog.o2c-audience-entry { padding: 28px 20px; }
  .o2c-audience-entry .o2c-entry-logo { width: 145px; margin-bottom: 28px; }
  .o2c-audience-entry .o2c-entry-heading { margin-bottom: 24px; }
  .o2c-audience-entry #o2c-entry-description { font-size: 15px; margin-top: 14px; }
  .o2c-audience-entry .o2c-entry-options { grid-template-columns: 1fr; gap: 18px; }
  .o2c-audience-entry .o2c-entry-option { padding: 24px; border-radius: 18px; }
  .o2c-audience-entry .o2c-entry-label { font-size: 29px; }
  .o2c-audience-entry .o2c-entry-subtitle { font-size: 15px; margin-top: 8px; }
  .o2c-audience-entry .o2c-entry-description { font-size: 14px; margin-top: 10px; }
  .o2c-audience-entry .o2c-entry-action { padding-top: 20px; font-size: 13px; }
}
@media (prefers-reduced-motion: reduce) { .o2c-audience-entry .o2c-entry-option { transition: none; } }

/* The same rounded arrow and audience-card treatment used throughout the site. */
.o2c-audience-entry .o2c-entry-action svg { display: block; width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 2.7; stroke-linecap: round; stroke-linejoin: round; }
.o2c-audience-entry .o2c-entry-global .o2c-entry-action > span { background: #d7e5a0; }
.o2c-audience-entry .o2c-entry-option:hover .o2c-entry-action > span { transform: translateX(3px); }
@media (prefers-reduced-motion: reduce) { .o2c-audience-entry .o2c-entry-action > span { transition: none; } .o2c-audience-entry .o2c-entry-option:hover .o2c-entry-action > span { transform: none; } }

/* Approved First flight transition: the question clears into the real page. */
html[data-o2c-entry="transition"] { overflow: hidden; }
dialog.o2c-audience-entry.is-playing { background: transparent; overflow: hidden; }
dialog.o2c-audience-entry.is-playing::backdrop { background: transparent; }
.o2c-audience-entry.is-playing .o2c-entry-inner { position: relative; z-index: 1; pointer-events: none; }
.o2c-entry-cover { position: fixed; inset: 0; z-index: 0; background: #f6f6f4; pointer-events: none; }
.o2c-entry-butterfly { position: fixed; left: 0; top: 0; z-index: 2; pointer-events: none; transform-origin: 50% 50%; will-change: transform; }
.o2c-entry-butterfly > svg { display: block; width: 100%; height: 100%; max-width: none; fill: none; stroke: none; overflow: visible; }
/* Keep a compact, real logo target in every header. Phone feature headers
   retain their existing full wordmark; other compact headers use the mark. */
html.has-compact-navigation .ln-compact a.r4-mobile-brand { display: block !important; width: 30px; min-width: 30px; min-height: 0; overflow: hidden; line-height: 0; flex: none; }
html.has-compact-navigation .ln-compact a.r4-mobile-brand img { display: block; width: 142px; height: auto; max-width: none; max-height: none; }
@media(max-width:600px) {
 html.has-compact-navigation .feature-page .ln-compact a.r4-mobile-brand { width: 112px; min-width: 112px; }
 html.has-compact-navigation .feature-page .ln-compact a.r4-mobile-brand img { width: 112px; }
}

@media(max-width:650px) {
 html.has-compact-navigation .ln-compact-row > .r4-mobile-brand ~ .ln-return { display: none; }
}
