/* Zoom-inspired marketing presentation, using ADAComply's own identity and assets.
   Loaded last so existing application links, forms, and document tools keep working. */
body.zoom-refresh {
  --brand: #233ac4;
  --brand-dark: #182c9b;
  --ink: #101b37;
  --ink-soft: #46516b;
  --accent: #ffc247;
  --bg: #f5f6fc;
  --border: #dce1ef;
  --radius: 24px;
  --radius-sm: 10px;
  --container: 1200px;
  --serif: 'Fraunces', Georgia, serif;
  background: #fff;
  color: var(--ink);
  line-height: 1.65;
}
.zoom-refresh :is(h1,h2) { font-family: var(--serif); font-weight: 450; letter-spacing: -.035em; text-wrap: balance; }
.zoom-refresh h2 { font-size: clamp(2rem,3.5vw,3.25rem); line-height: 1.14; }
.zoom-refresh h3 { font-family: var(--font); font-weight: 600; letter-spacing: -.025em; }
.zoom-refresh :is(a,button,summary,input,select,textarea):focus-visible { outline: 3px solid #bd7800; outline-offset: 4px; box-shadow: 0 0 0 2px #fff; }
.zoom-refresh .section-eyebrow { color: var(--brand); font-size: .8rem; letter-spacing: .08em; }
.zoom-refresh :is(.btn-primary,.cta-btn,.header-cta,.editor-button,.download-btn,.audit-submit-btn) {
  border-radius: 10px; min-height: 48px; padding: 13px 22px; border: 1px solid transparent;
  background: var(--accent); color: #101b37; font-size: .875rem; font-weight: 700;
  line-height: 1.5; box-shadow: none; text-decoration: none; transition: background .18s,transform .18s;
}
.zoom-refresh :is(.btn-primary,.cta-btn,.header-cta,.editor-button,.download-btn,.audit-submit-btn):hover { background: #ffd272; color: #101b37; transform: translateY(-2px); box-shadow: none; }
.zoom-refresh :is(.btn-ghost,.secondary-btn,.download-btn-secondary,.header-contact) {
  display: inline-flex; justify-content: center; align-items: center; min-height: 48px; padding: 13px 22px;
  border: 1px solid transparent; border-radius: 10px; background: #e9edfb; color: #101b37;
  font-size: .875rem; font-weight: 600; line-height: 1.5; text-decoration: none;
}
.zoom-refresh :is(.btn-ghost,.secondary-btn,.download-btn-secondary,.header-contact):hover { background: #dce3fa; color: #182c9b; text-decoration: none; }

/* Compact navigation, with an ADA navy masthead that becomes white on scroll. */
body.zoom-refresh .site-header { position: sticky; top: 0; width: 100%; background: #0b1533; border: 0; box-shadow: none; transition: background .15s; }
.zoom-refresh .header-inner { max-width: 1600px; min-height: 78px; padding: 12px 28px; gap: 28px; }
.zoom-refresh .logo-img { width: 166px; height: auto; filter: brightness(0) invert(1); }
.zoom-refresh nav.main-nav { margin-right: auto; }
.zoom-refresh nav.main-nav > ul { gap: 24px; }
.zoom-refresh nav.main-nav :is(a,summary) { color: #fff; font-size: .8125rem; font-weight: 600; }
.zoom-refresh nav.main-nav li { margin: 0; }
.zoom-refresh .header-actions { gap: 8px; }
.zoom-refresh .header-signin { color: #fff; padding: 10px 14px; min-height: 44px; font-size: .8125rem; border: 0; }
.zoom-refresh .header-signin:hover { color: #ffc247; background: transparent; }
.zoom-refresh :is(.header-contact,.header-cta) { font-size: .8125rem; min-height: 44px; padding: 12px 18px; white-space: nowrap; }
.zoom-refresh .nav-dropdown-menu { top: calc(100% + 18px); min-width: 280px; padding: 12px; border-radius: 16px; border: 1px solid #dce1ef; box-shadow: 0 20px 60px #101b3726; background: #fff; }
.zoom-refresh nav.main-nav .nav-dropdown-menu a { color: var(--ink); padding: 13px 14px; border-radius: 8px; white-space: normal; }
.zoom-refresh nav.main-nav .nav-dropdown-menu a:hover { color: var(--brand); background: #eef1fc; }
.zoom-refresh nav.main-nav a[aria-current=page] { color: #ffc247; }
.zoom-refresh nav.main-nav .nav-dropdown-menu a[aria-current=page] { color: var(--brand); background: #eef1fc; }
body.zoom-refresh .site-header.refresh-scrolled { background: #fff; box-shadow: 0 1px 12px #101b3714; }
.zoom-refresh .refresh-scrolled .logo-img { filter: none; }
.zoom-refresh .refresh-scrolled :is(.header-signin,.main-nav > ul > li > a,.nav-dropdown summary) { color: var(--ink); }
.zoom-refresh .refresh-scrolled nav.main-nav > ul > li > a[aria-current=page] { color: var(--brand); }
.zoom-refresh .menu-toggle { color: #fff; border-color: #8d9ab3; border-radius: 10px; }
.zoom-refresh .menu-toggle:hover,.zoom-refresh .menu-toggle[aria-expanded=true] { color: #101b37; background: #e9edfb; }
.zoom-refresh .refresh-scrolled .menu-toggle { color: var(--ink); border-color: var(--border); }

/* Homepage: centered message and a horizontally scrollable product gallery. */
.zoom-refresh .cinematic-hero::before,.zoom-refresh .cinematic-hero::after { display: none; }
.zoom-refresh .cinematic-hero :is(.hero-copy,.cinematic-title,.cinematic-subtitle,.hero-cta-row) { opacity: 1; transform: none; animation: none; filter: none; }
.zoom-refresh .product-rail { display: flex; gap: 20px; width: 100%; padding: 6px max(24px,calc((100vw - 1344px)/2)) 18px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.zoom-refresh .product-rail::-webkit-scrollbar { display: none; }
.zoom-refresh .product-rail.is-looping { position: relative; padding-inline: 24px; scroll-padding-inline: 24px; }
.zoom-refresh .product-carousel { position: relative; width: 100%; }
.zoom-refresh .audit-card .section-eyebrow { text-align: left; }

/* Generous editorial spacing, soft product panels, and image-led solutions. */
.zoom-refresh .content-block { padding: 56px 0; border-bottom: 1px solid var(--border); }
.zoom-refresh .audit-section { max-width: 1200px; padding: 72px 24px; }
.zoom-refresh .audit-section.content-block:first-child { padding-top: 72px; }
.zoom-refresh .audit-section > h2 { max-width: 850px; margin: 0 0 26px; }
.zoom-refresh .audit-section > p { max-width: 850px; }
.zoom-refresh .audit-card-grid { gap: 24px; margin-top: 32px; }
.zoom-refresh .audit-card { padding: 32px; border-radius: 22px; border: 1px solid #e0e5f0; background: #f5f7fc; box-shadow: none; }
.zoom-refresh .audit-card h3 { font-size: 1.35rem; margin: 0 0 16px; line-height: 1.35; }
.zoom-refresh .audit-card p { font-size: .9375rem; }
.zoom-refresh .audit-card a:not(.btn-primary) { font-weight: 600; text-decoration: none; }
.zoom-refresh .audit-card a:not(.btn-primary):hover { text-decoration: underline; }
.zoom-refresh .audit-card-grid > .audit-card:nth-child(2) { background: #edf1ff; }
.zoom-refresh .audit-card-grid > .audit-card:nth-child(3) { background: #fff7e6; }
.zoom-refresh .before-after-card { padding: 24px; border-radius: 22px; border: 1px solid #dce1ef; background: #f5f6fb; box-shadow: none; }
.zoom-refresh .before-after-card.after { background: #eef2ff; border-color: #cbd6f7; }
.zoom-refresh .before-after-label { display: block; margin-bottom: 18px; color: var(--ink); font-size: .8rem; letter-spacing: .02em; }
.zoom-refresh .before-after-card .image-caption { margin-top: 18px; font-size: .85rem; }
.zoom-refresh .faq-item { border: 0; border-bottom: 1px solid #dce1ef; border-radius: 0; background: transparent; box-shadow: none; }
.zoom-refresh .faq-item summary { padding: 24px 36px 24px 0; }
.zoom-refresh .faq-item summary h3 { font-family: var(--font); font-size: 1.05rem; margin: 0; }
.zoom-refresh .faq-item p { padding: 0 32px 24px 0; }
.zoom-refresh :is(.final-cta,.editorial-cta,.education-final-cta) { border: 0; border-radius: 26px; padding: 60px; background: linear-gradient(125deg,#10204c,#283f9c); color: #fff; box-shadow: none; }
.zoom-refresh :is(.final-cta,.editorial-cta,.education-final-cta) h2 { color: #fff; }
.zoom-refresh :is(.final-cta,.editorial-cta,.education-final-cta) p { color: #e0e6fb; }

/* Products and guides use the reference's centered gradient introductions. */
body.zoom-refresh .topic-hero { padding: 70px 32px 78px; background: radial-gradient(ellipse at 50% 140%,#6278c9,transparent 67%),linear-gradient(140deg,#0b1533,#203785); text-align: center; }
.zoom-refresh .topic-hero::before,.zoom-refresh .topic-hero::after { display: none; }
.zoom-refresh .topic-hero .topic-hero-inner { display: block; width: min(1120px,100%); max-width: 1120px; margin: auto; }
.zoom-refresh .topic-hero h1 { max-width: 900px; margin: 0 auto 26px; font-family: var(--serif); font-size: clamp(2.4rem,4.5vw,4.15rem); font-weight: 450; line-height: 1.1; letter-spacing: -.04em; color: #fff; }
.zoom-refresh .topic-hero .subhead { max-width: 760px; margin: 0 auto; font-size: 1.0625rem; line-height: 1.75; color: #e5eafb; }
.zoom-refresh .topic-hero .breadcrumb { margin: 0 0 24px; color: #c8d3f5; font-size: .75rem; }
.zoom-refresh .topic-hero .breadcrumb a { color: #e4eaff; }
.zoom-refresh .topic-hero :is(.topic-hero-actions,.audit-hero-actions,.dashboard-live-demo-actions) { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 28px; }
.zoom-refresh .topic-hero :is(.btn-ghost,.secondary-btn) { color: #101b37; background: #e9edfb; border-color: transparent; }
.zoom-refresh .topic-hero .topic-hero-media { width: min(980px,100%); margin: 46px auto -8px; border-radius: 20px; padding: 18px; background: #ffffff18; }
.zoom-refresh .topic-hero .topic-hero-media img { max-height: 450px; width: 100%; object-fit: contain; background: #fff; border: 0; border-radius: 10px; box-shadow: 0 12px 40px #06143126; }
.zoom-refresh .topic-hero-media figcaption { color: #e5eafb; font-size: .8rem; margin: 14px 0 0; }
.zoom-refresh .topic-hero .quick-answer { max-width: 850px; text-align: left; margin: 36px auto 0; padding: 32px; border-radius: 20px; background: #fff; }
.zoom-refresh .topic-hero .quick-answer h2 { color: var(--ink); font-family: var(--font); font-size: 1.25rem; }
.zoom-refresh .topic-hero .quick-answer :is(p,li) { color: var(--ink-soft); }
.zoom-refresh .editorial-byline { max-width: 1152px; padding: 20px 0; color: var(--muted); }
.zoom-refresh .answer-panel,.zoom-refresh .quick-answer { border: 1px solid #dce1ef; border-radius: 20px; background: #f0f3fc; padding: 32px; }
.zoom-refresh .guide-layout .toc { border: 1px solid var(--border); border-radius: 18px; background: #f6f7fb; }
.zoom-refresh .guide-layout .toc h2 { font-family: var(--font); font-size: 1rem; }
.zoom-refresh .audit-article { max-width: 1050px; }
.zoom-refresh .audit-product-figure { margin-block: 32px; padding: 24px; border: 0; border-radius: 22px; background: #eef2fc; }
.zoom-refresh .audit-product-figure img { border-radius: 10px; }
.zoom-refresh :is(.proof-tile,.persona-card,.related-card,.best-fit-card,.snapshot-card) { border: 1px solid var(--border); border-radius: 18px; background: #f5f7fc; }

/* Industry stories retain the photographs and all sector-specific copy. */
.zoom-refresh .education-hero { padding: 72px 48px; background: #edf1fc; color: var(--ink); }
.zoom-refresh .education-hero::before,.zoom-refresh .education-hero::after { display: none; }
.zoom-refresh .education-hero-inner { width: min(1200px,100%); max-width: 1200px; display: grid; grid-template-columns: 1.05fr 1fr; align-items: center; gap: 64px; }
.zoom-refresh .education-hero-copy { max-width: none; }
.zoom-refresh .education-hero h1 { color: var(--ink); font-family: var(--serif); font-size: clamp(2.6rem,4.2vw,4rem); font-weight: 450; line-height: 1.08; letter-spacing: -.04em; margin-bottom: 26px; }
.zoom-refresh .education-hero .education-kicker { color: var(--brand); font-size: .72rem; letter-spacing: .07em; }
.zoom-refresh .education-hero-lede { color: var(--ink-soft); font-size: 1rem; line-height: 1.75; max-width: 620px; }
.zoom-refresh .education-hero .btn-ghost { background: #fff; color: var(--brand-dark); border: 1px solid #cbd6ec; }
.zoom-refresh .education-hero-media { margin: 0; padding: 0; border: 0; width: 100%; max-width: none; background: none; border-radius: 28px; box-shadow: none; transform: none; }
.zoom-refresh .education-hero-media img { display: block; width: 100%; height: 480px; object-fit: cover; border-radius: 28px; box-shadow: none; }
.zoom-refresh .education-main > .audit-section { padding-block: 72px; }
.zoom-refresh .education-main > #workflow { margin-top: 20px; padding: 48px; max-width: 1152px; border: 0; border-radius: 24px; background: #eef2fc; }
.zoom-refresh .education-main > #next-step { margin: 16px auto 72px; padding: 48px; max-width: 1152px; background: #10204c; border: 0; border-radius: 24px; }
.zoom-refresh .education-main > #next-step :is(h2,p) { color: #fff; }
.zoom-refresh .education-main > #next-step > a:not(.btn-primary) { color: #fff; margin-left: 16px; }
.zoom-refresh .education-main > #pricing { border-bottom: 1px solid var(--border); }

/* Company, contact, case studies, and the editorial pages. */
.zoom-refresh .contact-layout { gap: 48px; padding-block: 64px; }
.zoom-refresh .contact-form-block { border: 1px solid #dce1ef; background: #f5f7fc; border-radius: 24px; padding: 36px; }
.zoom-refresh .placeholder-contact-form :is(input,select,textarea) { border-radius: 9px; background: #fff; border: 1px solid #aebad0; }
.zoom-refresh .team-profile { padding: 40px; margin: 28px 0; border: 0; border-radius: 24px; background: #f2f5fc; }
.zoom-refresh .team-profile-image img { border-radius: 18px; }
.zoom-refresh .team-member-name { font-family: var(--serif); font-weight: 450; }
.zoom-refresh .blog-index-hero { padding: 78px 32px; background: radial-gradient(ellipse at 50% 140%,#6278c9,transparent 67%),linear-gradient(140deg,#0b1533,#203785); text-align: center; }
.zoom-refresh .blog-index-hero :is(h1,p,.section-eyebrow) { color: #fff; margin-left: auto; margin-right: auto; text-align: center; }
.zoom-refresh .blog-index-hero .blog-shell,.zoom-refresh .blog-index-hero .section-eyebrow { text-align: center; }
.zoom-refresh .blog-index-hero h1 { font-family: var(--serif); font-weight: 450; font-size: clamp(2.6rem,4.5vw,4.2rem); max-width: 900px; }
.zoom-refresh .blog-index-hero .section-eyebrow { color: #ffcd6d; }
.zoom-refresh .blog-card { border: 1px solid var(--border); border-radius: 24px; overflow: hidden; background: #f4f6fc; box-shadow: none; }
.zoom-refresh .blog-card h3 { font-family: var(--serif); font-weight: 450; font-size: 2.25rem; line-height: 1.2; }
.zoom-refresh .blog-article-hero-copy h1 { font-family: var(--serif); font-weight: 450; font-size: clamp(2.5rem,4.3vw,4rem); }
.zoom-refresh .blog-article-hero-overlay { background: linear-gradient(90deg,#0b1533f5,#0b1533b3 60%,#0b153326); }
.zoom-refresh .blog-sticky-card { border-radius: 20px; background: #eef2fc; }
.zoom-refresh .blog-article-body h2 { font-family: var(--serif); font-weight: 450; }
.zoom-refresh .error-page { margin: 60px auto; padding: 56px; max-width: 850px; border-radius: 28px; background: #eef1fc; }

/* A consistent, fully linked footer on every marketing page. */
body.zoom-refresh .site-footer { padding: 64px 32px 24px; background: #0b1533; color: #fff; border: 0; }
.zoom-refresh .footer-grid { width: 100%; max-width: 1320px; grid-template-columns: 1.5fr 1fr 1.3fr 1fr 1fr; gap: 38px; margin: 0 auto; }
.zoom-refresh .footer-brand img { width: 185px; height: auto; filter: brightness(0) invert(1); }
.zoom-refresh .footer-brand p { font-size: .8125rem; color: #c4cde4; margin: 24px 0 18px; }
.zoom-refresh .footer-brand a { color: #fff; font-size: .875rem; }
.zoom-refresh .footer-col strong { font-family: var(--font); color: #fff; font-size: .875rem; margin-bottom: 18px; }
.zoom-refresh .footer-col a { color: #c4cde4; font-size: .75rem; line-height: 1.6; margin-bottom: 11px; }
.zoom-refresh .footer-col a:hover { color: #ffc247; }
.zoom-refresh .footer-bottom { max-width: 1320px; display: flex; justify-content: space-between; gap: 20px; padding-top: 26px; margin: 42px auto 0; border-top: 1px solid #ffffff25; font-size: .6875rem; color: #b6c1da; }

@media (max-width: 1180px) {
  .zoom-refresh .header-inner { padding-inline: 24px; }
  .zoom-refresh .header-actions { margin-left: auto; }
  .zoom-refresh .header-contact { display: none; }
  .zoom-refresh nav.main-nav { top: 100%; max-height: calc(100dvh - 78px); overflow-y: auto; margin: 0; background: #fff; }
  .zoom-refresh nav.main-nav > ul { align-items: stretch; gap: 0; }
  .zoom-refresh nav.main-nav li { padding: 14px 0; }
  .zoom-refresh nav.main-nav :is(a,summary) { color: var(--ink); font-size: .9375rem; }
  .zoom-refresh nav.main-nav a[aria-current=page] { color: var(--brand); }
  .zoom-refresh .nav-dropdown-menu { min-width: 0; border: 0; box-shadow: none; background: #f4f6fc; margin-top: 12px; }
  .zoom-refresh .mobile-cta-row .header-signin { color: var(--ink); }
  .zoom-refresh nav.main-nav.open .mobile-cta-row { flex-wrap: wrap; gap: 8px; }
  .zoom-refresh nav.main-nav .mobile-cta-row .header-cta { color: var(--ink); }
  .zoom-refresh .education-hero-inner { gap: 36px; }
  .zoom-refresh .education-hero-media img { height: 430px; }
  .zoom-refresh .footer-grid { gap: 24px; }
}
@media (max-width: 900px) {
  .zoom-refresh .education-hero { padding: 48px 24px; }
  .zoom-refresh .education-hero-inner { grid-template-columns: 1fr; gap: 36px; }
  .zoom-refresh .education-hero h1 { max-width: 700px; }
  .zoom-refresh .education-hero-media img { height: 380px; }
  .zoom-refresh .education-main > :is(#workflow,#next-step) { max-width: calc(100% - 48px); padding: 36px; }
  .zoom-refresh .footer-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .zoom-refresh .footer-brand { grid-column: 1 / -1; margin-bottom: 20px; }
}
@media (max-width: 600px) {
  .zoom-refresh .header-inner { min-height: 70px; padding: 12px 20px; }
  .zoom-refresh .logo-img { width: 152px; }
  .zoom-refresh .product-rail { padding-inline: 20px; gap: 14px; }
  .zoom-refresh .audit-section,.zoom-refresh .education-main > .audit-section { padding: 48px 20px; }
  .zoom-refresh .audit-section.content-block:first-child { padding-top: 48px; }
  .zoom-refresh .audit-card { padding: 26px; border-radius: 18px; }
  .zoom-refresh .topic-hero,.zoom-refresh .topic-hero.topic-hero-illustrated { padding: 48px 20px; }
  .zoom-refresh .topic-hero h1 { font-size: 2.5rem; }
  .zoom-refresh .topic-hero .subhead { font-size: .9375rem; }
  .zoom-refresh .topic-hero .topic-hero-media { padding: 8px; border-radius: 12px; margin-top: 32px; }
  .zoom-refresh .topic-hero .quick-answer { padding: 24px; }
  .zoom-refresh .editorial-byline { padding: 20px; }
  .zoom-refresh .education-hero { padding: 48px 20px; }
  .zoom-refresh .education-hero h1 { font-size: 2.6rem; }
  .zoom-refresh .education-hero-media img { height: 300px; border-radius: 20px; }
  .zoom-refresh .education-main > :is(#workflow,#next-step) { max-width: calc(100% - 40px); padding: 28px; }
  .zoom-refresh .education-main > #next-step > a:not(.btn-primary) { display: block; margin: 20px 0 0; }
  .zoom-refresh :is(.final-cta,.editorial-cta,.education-final-cta) { padding: 36px 24px; }
  .zoom-refresh .audit-product-figure { padding: 10px; border-radius: 14px; }
  .zoom-refresh .contact-form-block { padding: 26px 20px; }
  .zoom-refresh .contact-layout { padding-top: 32px; }
  .zoom-refresh .team-profile { padding: 26px; }
  .zoom-refresh .blog-index-hero { padding: 48px 20px; }
  .zoom-refresh .blog-card h3 { font-size: 1.9rem; }
  .zoom-refresh .error-page { padding: 28px; }
  .zoom-refresh .site-footer { padding: 48px 20px 24px; }
  .zoom-refresh .footer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 32px 24px; }
  .zoom-refresh .footer-bottom { flex-direction: column; gap: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .zoom-refresh *, .zoom-refresh *::before, .zoom-refresh *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
