/* Autism Family brand + menu additions */
.af-brand{display:inline-flex;align-items:center;height:70px}
.af-brand img{display:block;height:auto;max-width:100%}
.af-mega-note{margin-top:10px;font-size:15px;color:#6b7280}
.af-ai{display:none;margin-left:40px;vertical-align:middle}
.af-ai-link{display:inline-flex;align-items:center;gap:8px;font-family:"Roboto Slab",serif;font-weight:700;font-size:16px;color:#2d2e2e;text-decoration:none;text-align:left}
.af-ai-link:hover{color:#4f5fc9}
.af-ai-mark{display:block;width:38px;height:36px;flex:none}
.af-ai-mark img{display:block;width:38px;height:36px}
.af-ai-text{display:flex;flex-direction:column;line-height:1.1}
.af-ai-text small{font-family:"Open Sans",sans-serif;font-weight:400;font-size:12px;color:#5a6470}
@media (min-width:1200px){.af-ai{display:inline-flex;align-items:center;position:relative;top:-8px}}
/* About Autism Family — What We Do */
.af-what-title{margin:0 0 12px;font-family:"Roboto Slab",serif;font-weight:700;color:#2d2e2e}
.af-what-list{list-style:none;margin:18px 0 0;padding:0}
.af-what-list li{position:relative;padding-left:22px;margin-top:12px;line-height:1.6}
.af-what-list li::before{content:"";position:absolute;left:0;top:.62em;width:10px;height:10px;border-radius:50%;background:#4f5fc9}
.af-what-list strong{color:#2d2e2e}
/* Programs cards */
.af-card{height:100%;display:flex;flex-direction:column;text-align:left}
.af-card img{width:100%;height:auto;aspect-ratio:370/240;object-fit:cover}
.af-card .post-news-body-variant-1{flex:1}
.af-card-ai{display:flex;align-items:center;justify-content:center;aspect-ratio:370/240;background:#eaf4fa}
.af-card-ai img{width:116px;height:108px;aspect-ratio:auto;object-fit:contain}
/* Inner content pages */
.af-lead{font-size:18px;line-height:1.7;color:#2d2e2e}
.af-article h4{margin-bottom:14px;color:#2d2e2e}
.af-article p{line-height:1.75}
.af-meta{font-size:14px;color:#6b7280;margin-bottom:8px}
.af-ext{font-weight:600;color:#2b5aa8}
.af-ext .icon{font-size:12px;margin-left:4px}
.af-res-card{height:100%;padding:24px;border:1px solid #e3e8ee;border-radius:8px;background:#fff;text-align:left}
.af-res-card h6{margin-bottom:10px;color:#2d2e2e}
.af-res-card p{margin-bottom:14px;font-size:15px;line-height:1.6}
.af-link-list{list-style:none;padding:0;margin:12px 0 0}
.af-link-list li{margin-top:10px}
.af-notice{padding:20px 24px;border-left:4px solid #4f5fc9;background:#f7f9fb;font-size:14px;color:#5a6470}
.af-notice p{margin:0}
.af-notice p+p{margin-top:10px}
.af-ai-hero{text-align:center;max-width:680px;margin:0 auto}
.af-ai-hero img{display:inline-block;width:116px;height:108px}
.af-ai-form{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.af-ai-form input{flex:1 1 260px;min-width:0;height:50px;padding:0 18px;border:2px solid #e3e8ee;border-radius:25px;font-size:16px}
/* Page photo (placeholder until the owner sends photos; replace the file, keep the name) */
.af-page-photo{margin:0 0 40px}
.af-page-photo img{display:block;width:100%;height:auto;aspect-ratio:2/1;object-fit:cover;border-radius:10px}
/* Topic pages: "Other topics to explore" + hub cards */
.af-explore{padding:28px;border:1px solid #e3e8ee;border-radius:10px;background:#fff;text-align:left}
.af-explore h5{margin:0 0 6px;color:#2d2e2e}
.af-explore h6{margin:22px 0 8px;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:#5a6470}
.af-explore ul{list-style:none;margin:0;padding:0}
.af-explore li{border-top:1px solid #f0f2f5}
.af-explore li a,.af-explore li .is-current{display:block;padding:9px 0;font-size:15px;line-height:1.4}
.af-explore li a{color:#2d2e2e}
.af-explore li a:hover{color:#2b5aa8}
.af-explore .is-current{color:#2b5aa8;font-weight:700}
.af-topic-card{display:block;height:100%;padding:24px;border:1px solid #e3e8ee;border-radius:10px;background:#fff;color:#2d2e2e;text-align:left;transition:border-color .2s ease,box-shadow .2s ease}
.af-topic-card:hover{border-color:#2f78b8;box-shadow:0 8px 24px rgba(43, 108, 176,.12);color:#2d2e2e}
.af-topic-card h6{margin:0 0 10px}
.af-topic-card p{margin:0 0 14px;font-size:15px;line-height:1.6}
.af-more{font-weight:700;color:#2b5aa8;font-size:14px}
@media (max-width:991px){.af-explore{position:static}}
/* Knowledge-based topic pages */
.af-sec{margin-top:48px}
.af-sec h3{margin:0 0 14px;font-size:24px;line-height:1.3;color:#2d2e2e}
.af-sec p{line-height:1.75;color:#4a5260}
.af-sec p+p{margin-top:12px}
.af-list{margin:12px 0 0;padding-left:0;list-style:none}
.af-list li{position:relative;padding-left:24px;margin-top:9px;line-height:1.65;color:#4a5260}
.af-list li::before{content:"";position:absolute;left:4px;top:.6em;width:8px;height:8px;border-radius:50%;background:#2f78b8}
.af-callout{margin-top:44px;padding:22px 26px;border-radius:10px;background:#f2f6ff;border-left:5px solid #2f78b8;line-height:1.7;color:#2d2e2e}
.af-callout a{font-weight:700}
.af-caption{margin-top:12px;font-size:13px;line-height:1.55;color:#6b7280}
.af-cards{display:grid;gap:16px;margin-top:18px}
.af-cards-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.af-cards-5{grid-template-columns:repeat(5,minmax(0,1fr))}
.af-card-i{padding:20px 18px;border:1px solid #e3e8ee;border-top:5px solid #2f78b8;border-radius:10px;background:#fff}
.af-card-i h4{margin:0 0 8px;font-size:17px;line-height:1.3;color:#2d2e2e}
.af-card-i p{margin:0;font-size:14px;line-height:1.6;color:#4a5260}
.af-num{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;margin-bottom:10px;border-radius:50%;background:#2f78b8;color:#fff;font-weight:700}
.af-c1{border-top-color:#4f5fc9}.af-c2{border-top-color:#4fb77a}.af-c3{border-top-color:#4f5fc9}.af-c4{border-top-color:#d9825e}.af-c5{border-top-color:#2f78b8}
.af-compare{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:18px;border:1px solid #e3e8ee;border-radius:10px;overflow:hidden}
.af-compare-col{padding:22px 20px;background:#fff}
.af-compare-col+.af-compare-col{border-left:1px solid #e3e8ee}
.af-compare-col:nth-child(1) h4{color:#4f5fc9}.af-compare-col:nth-child(2) h4{color:#2b5aa8}.af-compare-col:nth-child(3) h4{color:#2e7d4f}
.af-compare-col h4{margin:0 0 12px;font-size:18px}
.af-compare-col p{margin:0 0 10px;font-size:14px;line-height:1.6}
.af-timeline{position:relative;list-style:none;margin:22px 0 0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.af-timeline::before{content:"";position:absolute;left:8px;right:8px;top:15px;height:3px;background:#e3e8ee}
.af-timeline li{position:relative;padding-top:40px}
.af-timeline li::before{content:"";position:absolute;left:0;top:6px;width:22px;height:22px;border-radius:50%;background:#2f78b8;border:4px solid #fff;box-shadow:0 0 0 2px #2f78b8}
.af-timeline .af-any::before{background:#4f5fc9;box-shadow:0 0 0 2px #4f5fc9}
.af-age{display:block;font-family:"Roboto Slab",serif;font-weight:700;font-size:17px;color:#2d2e2e}
.af-what{display:block;margin-top:4px;font-size:14px;line-height:1.5;color:#4a5260}
.af-sources{margin-top:48px;padding:22px 24px;border:1px solid #e3e8ee;border-radius:10px;background:#fafbfc;font-size:14px}
.af-sources h6{margin:0 0 10px;font-size:15px}
.af-sources ul{margin:0;padding-left:18px}
.af-sources li{margin-top:6px}
.af-sources p{margin:12px 0 0;line-height:1.6;color:#5a6470}
@media (max-width:1199px){.af-cards-5{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:767px){
  .af-cards-3,.af-cards-5,.af-compare{grid-template-columns:1fr}
  .af-compare-col+.af-compare-col{border-left:0;border-top:1px solid #e3e8ee}
  .af-timeline{grid-template-columns:1fr;gap:18px;padding-left:36px}
  .af-timeline::before{left:10px;right:auto;top:6px;bottom:6px;width:3px;height:auto}
  .af-timeline li{padding-top:0}
  .af-timeline li::before{left:-36px;top:2px}
}
/* Header: Autism Pre-Screening with blinking FREE badge (owner 2026-11-03) */
.af-screen-link{display:inline-flex;align-items:center;gap:8px}
.af-free{display:inline-block;padding:3px 8px;border-radius:999px;background:#b5532f;color:#fff;font:700 11px/1 "Open Sans",sans-serif;letter-spacing:.06em;animation:af-blink 1.2s ease-in-out infinite}
@keyframes af-blink{0%,100%{opacity:1}50%{opacity:.25}}
@media (prefers-reduced-motion:reduce){.af-free{animation:none}}
/* Desktop header row (1200–1799px, logo centred above the menu): ONE even gap between every item,
   the AI item included; font never shrinks below 15px; gap scales with the viewport (owner 2026-11-03). */
@media (min-width:1200px) and (max-width:1799px){
  /* logo on its own line; the menu + AI item share one flex row, vertically centred on each other */
  .rd-navbar.rd-navbar-static:not(.rd-navbar--is-stuck) .rd-navbar-menu-wrap{display:flex !important;flex-wrap:wrap;justify-content:center;align-items:center;text-align:center !important}
  .rd-navbar.rd-navbar-static:not(.rd-navbar--is-stuck) .rd-navbar-menu-wrap::before,.rd-navbar.rd-navbar-static:not(.rd-navbar--is-stuck) .rd-navbar-menu-wrap::after{display:none}
  .rd-navbar.rd-navbar-static:not(.rd-navbar--is-stuck) .rd-navbar-brand{flex:0 0 100%;float:none;margin:0 0 15px;text-align:center !important}
  .rd-navbar.rd-navbar-static:not(.rd-navbar--is-stuck) .rd-navbar-nav-wrap{display:flex !important;align-items:center;margin:0 !important;float:none}
  .rd-navbar.rd-navbar-static:not(.rd-navbar--is-stuck) .rd-navbar-nav::before,.rd-navbar.rd-navbar-static:not(.rd-navbar--is-stuck) .rd-navbar-nav::after{display:none;content:none}
  .rd-navbar.rd-navbar-static:not(.rd-navbar--is-stuck) .rd-navbar-nav{display:flex;align-items:center;gap:var(--af-nav-gap)}
  .rd-navbar.rd-navbar-static:not(.rd-navbar--is-stuck) .rd-navbar-nav > li{margin:0 !important}
  .rd-navbar.rd-navbar-static:not(.rd-navbar--is-stuck) .rd-navbar-nav > li > a{font-size:16px !important}
  .rd-navbar.rd-navbar-static:not(.rd-navbar--is-stuck) .af-ai{margin-left:var(--af-nav-gap);top:0}
  .rd-navbar.rd-navbar-static:not(.rd-navbar--is-stuck) .rd-navbar-brand .af-brand img{width:251px;height:auto}
}
@media (min-width:1500px) and (max-width:1799px){:root{--af-nav-gap:44px}}
@media (min-width:1340px) and (max-width:1499px){:root{--af-nav-gap:34px}}
@media (min-width:1200px) and (max-width:1339px){
  :root{--af-nav-gap:24px}
  .rd-navbar.rd-navbar-static:not(.rd-navbar--is-stuck) .rd-navbar-nav > li > a{font-size:15px !important}
  .rd-navbar.rd-navbar-static:not(.rd-navbar--is-stuck) .af-ai-link{font-size:15px}
}
/* Sidebar promo cards — stay in view while scrolling (owner 2026-11-03) */
.af-sticky{position:sticky;top:110px;display:flex;flex-direction:column;gap:14px;margin-top:24px}
.af-promo{position:relative;display:flex;flex-direction:column;gap:6px;padding:20px 22px;border-radius:12px;text-align:left;color:#2d2e2e;transition:transform .2s ease,box-shadow .2s ease}
.af-promo:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(20, 42, 85,.12);color:#2d2e2e}
.af-promo strong{font-family:"Roboto Slab",serif;font-size:18px;line-height:1.3}
.af-promo span{font-size:14px;line-height:1.55}
.af-promo .af-promo-go{margin-top:4px;font-weight:700;color:#2b5aa8}
.af-promo-screen{background:#fdf0e7;border:2px solid #d9825e}
.af-promo-screen .af-free{position:absolute;top:16px;right:16px}
.af-promo-ai{background:#eef3ff;border:2px solid #4f5fc9}
.af-promo-ai img{display:block;width:46px;height:43px;margin-bottom:4px}
.af-promo-market{background:#fdf0e7;border:2px solid #4f5fc9}
@media (max-width:991px){.af-sticky{position:static}}
/* Let the sidebar cards stick: "clip" hides overflow like "hidden" but does not break position:sticky */
.page{overflow:clip}
/* Rich pages: intro, fact cards, chart, pictograph, study + resource cards (owner 2026-11-03) */
.af-rich{font-size:17px}
.af-rich p,.af-sec p,.af-article p{font-size:17px;line-height:1.75}
.af-ico{display:block;width:30px;height:30px}
.af-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:36px;align-items:center}
.af-intro h2{margin:0 0 14px;font-size:clamp(28px,3vw,38px);line-height:1.2;color:#2d2e2e}
.af-intro-photo{margin:0}
.af-intro-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:14px;box-shadow:0 18px 40px rgba(20, 42, 85,.16)}
.af-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:44px}
.af-fact{display:flex;flex-direction:column;gap:6px;padding:24px 22px;border-radius:14px;background:#fff;border:1px solid #e3e8ee;box-shadow:0 6px 18px rgba(20, 42, 85,.06)}
.af-fact .af-ico{width:40px;height:40px;padding:8px;border-radius:12px;margin-bottom:6px}
.af-fact strong{font-family:"Roboto Slab",serif;font-size:34px;line-height:1.1;color:#2d2e2e}
.af-fact span{font-size:15px;line-height:1.5;color:#4a5260}
.af-fact em{font-style:normal;font-size:12px;font-weight:700;letter-spacing:.03em;color:#6b7280}
.af-fact-red .af-ico{color:#d9825e;background:#fdf0e7}
.af-fact-blue .af-ico{color:#4f5fc9;background:#eef3ff}
.af-fact-green .af-ico{color:#2e7d4f;background:#e8f8ef}
.af-chart-box{margin-top:14px;padding:18px 14px 8px;border:1px solid #e3e8ee;border-radius:14px;background:#fff}
.af-chart{display:block;width:100%;height:auto;font-family:"Open Sans",sans-serif}
.af-chart .g{stroke:#eef1f4;stroke-width:1}
.af-chart .ya,.af-chart .xa{font-size:12px;fill:#6b7280}
.af-chart .ya{text-anchor:end}
.af-chart .xa{text-anchor:middle}
.af-chart .yt{font-size:12px;fill:#6b7280}
.af-chart .a{fill:#2f78b8;opacity:.12}
.af-chart .l{fill:none;stroke:#4f5fc9;stroke-width:3;stroke-linejoin:round}
.af-chart .d{fill:#fff;stroke:#4f5fc9;stroke-width:2.5}
.af-chart .v{font-size:12px;font-weight:700;fill:#2d2e2e;text-anchor:middle}
.af-table{margin-top:10px;font-size:14px}
.af-table summary{cursor:pointer;color:#2b5aa8;font-weight:600}
.af-table table{width:100%;margin-top:10px;border-collapse:collapse}
.af-table th,.af-table td{padding:6px 10px;border-bottom:1px solid #eef1f4;text-align:left}
.af-picto{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;padding:18px;border-radius:14px;background:#f7f9fb}
.af-pic{display:inline-flex;width:40px;height:40px;align-items:center;justify-content:center;border-radius:10px;background:#fff;color:#9aa4b2}
.af-pic .af-ico{width:26px;height:26px}
.af-pic.is-on{background:#d9825e;color:#fff}
.af-studies{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:14px}
.af-study{display:flex;flex-direction:column;border:1px solid #e3e8ee;border-radius:14px;overflow:hidden;background:#fff}
.af-study img{display:block;width:100%;height:170px;object-fit:cover}
.af-study>div{padding:18px 20px 20px}
.af-tag{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:#eef3ff;color:#4f5fc9;font-size:12px;font-weight:700}
.af-tag .af-ico{width:16px;height:16px}
.af-study h4{margin:10px 0 4px;font-size:19px;line-height:1.3;color:#2d2e2e}
.af-when{margin:0 0 8px;font-size:13px !important;font-weight:700;color:#b5532f}
.af-study p{font-size:15px !important;line-height:1.6 !important}
.af-res-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:14px}
.af-res-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.af-res{display:flex;flex-direction:column;gap:6px;padding:20px;border:1px solid #e3e8ee;border-radius:14px;background:#fff;color:#2d2e2e;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}
.af-res:hover{border-color:#2f78b8;box-shadow:0 10px 24px rgba(20, 42, 85,.10);transform:translateY(-2px);color:#2d2e2e}
.af-res-ico{display:inline-flex;width:44px;height:44px;align-items:center;justify-content:center;border-radius:12px;background:#f2f6ff;color:#2b5aa8}
.af-res-ico .af-ico{width:26px;height:26px}
.af-res-kind{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#6b7280}
.af-res strong{font-family:"Roboto Slab",serif;font-size:17px;line-height:1.35}
.af-res-desc{font-size:15px;line-height:1.55;color:#4a5260}
.af-res .af-ext{margin-top:auto;padding-top:6px;font-size:14px}
@media (max-width:991px){.af-intro{grid-template-columns:1fr}.af-intro-photo{order:-1}}
@media (max-width:767px){.af-facts,.af-studies,.af-res-grid,.af-res-grid-3{grid-template-columns:1fr}.af-pic{width:34px;height:34px}}
.af-sec>h3,.af-rich .af-sec h3{font-family:"Roboto Slab",serif;font-weight:700;font-size:26px;line-height:1.3;color:#2d2e2e}
/* Section heading icon chip */
.af-h-ico{display:inline-flex;vertical-align:-6px;width:38px;height:38px;margin-right:12px;align-items:center;justify-content:center;border-radius:11px;background:#f2f6ff;color:#2b5aa8}
.af-h-ico .af-ico{width:22px;height:22px}
.af-article .af-intro{margin-bottom:8px}
/* Homepage data + updates sections */
.af-home-head{text-align:center;max-width:760px;margin:0 auto 10px}
.af-home-head h2{margin:0 0 10px;font-family:"Roboto Slab",serif;font-weight:700;color:#2d2e2e}
.af-home-head p{color:#5a6470}
.af-home-sec .af-facts{margin-top:30px}
.af-studies-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.af-home-more{margin-top:36px;text-align:center}
@media (max-width:991px){.af-studies-3{grid-template-columns:1fr}}
/* Scrolled (stuck) header: compact logo left, menu + AI right, one aligned line at every desktop width */
.rd-navbar.rd-navbar-static.rd-navbar--is-stuck .rd-navbar-menu-wrap{display:flex !important;align-items:center;justify-content:flex-end;padding:8px 32px !important;text-align:right}
.rd-navbar.rd-navbar-static.rd-navbar--is-stuck .rd-navbar-menu-wrap::after{display:none}
.rd-navbar.rd-navbar-static.rd-navbar--is-stuck .rd-navbar-brand{display:block !important;float:none;margin:0 auto 0 0}
.rd-navbar.rd-navbar-static.rd-navbar--is-stuck .af-brand{height:46px}
.rd-navbar.rd-navbar-static.rd-navbar--is-stuck .af-brand img{width:170px;height:auto}
.rd-navbar.rd-navbar-static.rd-navbar--is-stuck .rd-navbar-nav-wrap{margin-top:0 !important}
.rd-navbar.rd-navbar-static.rd-navbar--is-stuck .af-ai{top:0}
/* Menu topics whose pages are not written yet */
.af-soon{display:inline-flex;align-items:center;gap:8px;opacity:.6;cursor:default}
.af-soon small{padding:1px 7px;border-radius:999px;background:rgba(255,255,255,.25);font:600 10px "Open Sans",sans-serif;letter-spacing:.04em;text-transform:uppercase}
.rd-navbar-fixed .af-soon small{background:#eef1f4;color:#5a6470}
.rd-navbar.rd-navbar-static.rd-navbar--is-stuck .rd-navbar-nav-wrap{flex:none;white-space:nowrap;margin-left:32px}
.rd-navbar.rd-navbar-static.rd-navbar--is-stuck .rd-navbar-nav > li + li{margin-left:20px !important}
.rd-navbar.rd-navbar-static.rd-navbar--is-stuck .rd-navbar-nav > li > a{font-size:15px !important}
.rd-navbar.rd-navbar-static.rd-navbar--is-stuck .af-ai{flex:none;margin-left:24px}
.af-ai-text{white-space:nowrap}
@media (max-width:1439px){
  .rd-navbar.rd-navbar-static.rd-navbar--is-stuck .rd-navbar-nav > li + li{margin-left:13px !important}
  .rd-navbar.rd-navbar-static.rd-navbar--is-stuck .rd-navbar-nav > li > a{font-size:14px !important}
  .rd-navbar.rd-navbar-static.rd-navbar--is-stuck .af-brand img{width:150px}
  .rd-navbar.rd-navbar-static.rd-navbar--is-stuck .rd-navbar-nav-wrap{margin-left:20px}
  .rd-navbar.rd-navbar-static.rd-navbar--is-stuck .af-ai{margin-left:16px}
}
.af-fact em a{color:inherit;text-decoration:none;border-bottom:1px dotted currentColor}
.af-fact em a:hover{color:#2b6cb0;border-bottom-style:solid}
.af-fact em a .icon{font-size:10px;margin-left:2px}

/* homepage What We Do slider (owner 2026-11-03: each category one by one + Read more) */
.af-what-slider{margin-top:18px}
.af-what-track{position:relative;min-height:230px}
.af-what-slide{position:absolute;inset:0;opacity:0;transform:translateX(28px);transition:opacity .55s ease,transform .55s ease;pointer-events:none}
.af-what-slide.is-prev{transform:translateX(-28px)}
.af-what-slide.is-active{position:relative;opacity:1;transform:none;pointer-events:auto}
.af-what-ico{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:16px;margin-bottom:14px}
.af-what-ico svg{width:28px;height:28px}
.af-what-ico-blue{background:#e8f6fa;color:#2b6cb0}
.af-what-ico-green{background:#eef7e6;color:#2e7d4f}
.af-what-ico-ai{background:#f3f4f8}
.af-what-ico img{display:block;width:40px;height:auto}
.af-what-slide h4{margin:0 0 8px;font-family:"Roboto Slab",serif;font-weight:700;font-size:22px;color:#2d2e2e}
.af-what-slide p{margin:0;line-height:1.65}
.af-what-more{display:inline-flex;align-items:center;gap:8px;margin-top:16px;font:700 14px "Open Sans",sans-serif;letter-spacing:.02em;color:#2b6cb0;text-decoration:none}
.af-what-more .icon{font-size:12px;transition:transform .2s}
.af-what-more:hover{color:#2d2e2e}
.af-what-more:hover .icon{transform:translateX(4px)}
.af-what-nav{display:flex;align-items:center;gap:14px;margin-top:22px}
.af-what-arrow{width:38px;height:38px;border:2px solid #e3e8ee;border-radius:50%;background:#fff;color:#2d2e2e;font-size:12px;cursor:pointer;transition:.2s}
.af-what-arrow:hover{border-color:#4f5fc9;background:#4f5fc9}
.af-what-dots{display:flex;gap:8px}
.af-what-dots button{width:10px;height:10px;padding:0;border:0;border-radius:50%;background:#dfe4ea;cursor:pointer;transition:.2s}
.af-what-dots button[aria-selected="true"]{width:26px;border-radius:6px;background:#4f5fc9}
@media (max-width:767px){.af-what-track{min-height:250px}}

/* Get Involved + Privacy (built 2026-11-03) */
.af-lead{font-size:18px;line-height:1.7;color:#2d2e2e}
.af-gi-card{display:flex;flex-direction:column;gap:8px;height:100%;padding:28px 26px;border:1px solid #e3e8ee;border-radius:16px;background:#fff;color:#2d2e2e;text-decoration:none;transition:border-color .2s,box-shadow .2s,transform .2s}
.af-gi-card:hover{border-color:#2f78b8;box-shadow:0 14px 34px rgba(45,46,46,.10);transform:translateY(-3px);color:#2d2e2e}
.af-gi-ico{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:16px;background:#e8f6fa;color:#2b6cb0;margin-bottom:8px}
.af-gi-ico svg{width:28px;height:28px}
.af-gi-card h5{margin:0}
.af-gi-card p{margin:0;color:#5a6470;line-height:1.6;flex:1}
.af-gi-card .af-more{color:#2b6cb0;font-weight:700;font-size:14px}
.af-gi-side{padding:22px 24px;border:1px solid #e3e8ee;border-radius:14px;background:#fafbfc;margin-bottom:20px}
.af-gi-side h5{margin:0 0 10px}
.af-gi-side ul{list-style:none;margin:0;padding:0}
.af-gi-side li{padding:7px 0;border-top:1px solid #edf0f3}
.af-gi-side li:first-child{border-top:0}
.af-gi-side a{color:#2d2e2e;text-decoration:none}
.af-gi-side a:hover{color:#2b6cb0}
.af-gi-side .is-current{font-weight:700;color:#2b6cb0}
.af-form{margin-top:28px}
.af-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px}
.af-form .af-field{display:flex;flex-direction:column;gap:6px;margin:0;font-weight:700;font-size:15px;color:#2d2e2e;width:100%}
.af-field em{font-weight:400;font-style:normal;color:#8a94a0;font-size:13px;margin-left:6px}
.af-field-wide{grid-column:1 / -1}
.af-form .af-field input,.af-form .af-field select,.af-form .af-field textarea{display:block;width:100%;min-height:50px;padding:10px 14px;border:2px solid #e3e8ee;border-radius:10px;font:400 16px "Open Sans",sans-serif;color:#2d2e2e;background:#fff;box-shadow:none}
.af-form .af-field textarea{min-height:140px;resize:vertical}
.af-form .af-field input:focus,.af-form .af-field select:focus,.af-form .af-field textarea:focus{border-color:#2f78b8;outline:3px solid rgba(47, 120, 184,.25);outline-offset:0}
.was-validated .af-field :invalid{border-color:#b5532f}
.af-check{display:flex;gap:12px;align-items:flex-start;margin-top:20px;font-weight:400;font-size:15px;color:#2d2e2e;line-height:1.55;cursor:pointer}
.af-check input{width:20px;height:20px;margin-top:3px;flex:none}
.af-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.af-form-actions{display:flex;align-items:center;gap:18px;margin-top:24px;flex-wrap:wrap}
.af-form-status{font-size:14px;color:#5a6470}
.af-form-status.is-ok{color:#2e7d4f;font-weight:700}
.af-form-status.is-err{color:#b5532f;font-weight:700}
.af-safety{margin:18px 0 0;padding:14px 16px;border-left:4px solid #4f5fc9;background:#fdf0e7;border-radius:0 10px 10px 0;font-size:14.5px;line-height:1.6}
.af-policy-meta{font-size:13px;color:#5a6470;margin-bottom:14px}
.af-policy .af-sec h3{font-size:20px}
.af-policy{max-width:860px}
.af-terms{margin:0}
.af-terms dt{font-weight:700;color:#2d2e2e;margin-top:14px}
.af-terms dd{margin:4px 0 0;line-height:1.65;color:#4a5260}
.af-res-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:16px 0 8px}
@media (max-width:767px){.af-fields,.af-res-list{grid-template-columns:1fr}}
/* Home-only pages (Marketplace): logo left, Home right, one row — like the AI and Pre-Screening pages */
.af-home-only.rd-navbar-static .rd-navbar-menu-wrap{display:flex !important;align-items:center;justify-content:space-between;padding:18px 32px !important;text-align:left}
.af-home-only.rd-navbar-static .rd-navbar-menu-wrap::after{display:none}
.af-home-only.rd-navbar-static .rd-navbar-brand{display:block !important;float:none;margin:0}
.af-home-only.rd-navbar-static .rd-navbar-nav-wrap{margin:0 !important;float:none}
.af-home-only.rd-navbar-static .rd-navbar-nav > li > a{font-family:"Roboto Slab",serif;font-weight:700;font-size:16px}
/* research topic pages: text-only study cards */
.af-study:has(.af-study-meta){padding:22px 24px 20px;margin:18px 0 0}
.af-study-meta{display:block;font:600 12.5px "Open Sans",sans-serif;letter-spacing:.03em;text-transform:uppercase;color:#2b6cb0}
.af-study:has(.af-study-meta) h4{margin:6px 0 10px}
.af-study:has(.af-study-meta) p{margin:0 0 8px;line-height:1.65;color:#4a5260}
.af-study:has(.af-study-meta) .af-ext{display:inline-flex;align-items:center;gap:6px;margin-top:6px;font-weight:700;font-size:14px;color:#2b6cb0}

/* Footer (owner spec 2026-11-03: menu · social · Connect with us · newsletter + industry sign-ups) */
.af-footer{text-align:left}
.af-footer h6{margin:0 0 16px;font-size:16px}
.af-foot-note{margin:16px 0 0;font-size:13px;line-height:1.6;color:#5a6470}
.af-social{display:flex;gap:10px;list-style:none;margin:18px 0 0;padding:0}
.af-social-link{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:#eef1f4;color:#5a6470;font-size:15px;transition:background .2s,color .2s}
a.af-social-link:hover{background:#2f78b8;color:#fff}
.af-foot-menu{list-style:none;margin:0;padding:0}
.af-foot-menu li{padding:5px 0}
.af-foot-menu a{color:#2d2e2e;font-weight:600;font-size:14.5px;text-decoration:none}
.af-foot-menu a:hover{color:#2b6cb0}
.af-foot-menu .af-free{margin-left:6px;vertical-align:1px}
.af-foot-form label{display:block;margin:0 0 10px}
.af-foot-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.af-foot-form input:not([type=checkbox]),.af-foot-form textarea{display:block;width:100%;min-height:44px;padding:9px 14px;border:2px solid #e3e8ee;border-radius:10px;font:400 14.5px "Open Sans",sans-serif;color:#2d2e2e;background:#fff;box-shadow:none}
.af-foot-form textarea{min-height:84px;resize:vertical}
.af-foot-form input:focus,.af-foot-form textarea:focus{border-color:#2f78b8;outline:3px solid rgba(47, 120, 184,.22);outline-offset:0}
.af-foot-check{display:flex !important;align-items:center;gap:10px;margin:6px 0 !important;font-size:14.5px;font-weight:600;color:#2d2e2e;cursor:pointer}
.af-foot-check input{width:18px;height:18px;margin:0;flex:none}
.af-foot-actions{display:flex;align-items:center;gap:14px;margin-top:10px;flex-wrap:wrap}
.af-foot-actions .af-form-status{font-size:13px}
.af-foot-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.af-foot-bar .rights{margin:0}
.af-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
@media (max-width:575px){.af-foot-grid{grid-template-columns:1fr}.af-foot-bar{justify-content:center;text-align:center}}

/* Hero slides (owner 2026-11-03 "text coming on pics"): the slide follows the photo's own 1920:810 proportion
   instead of the viewport height, so the subject is never scaled toward the centre; the subject is pinned to its
   edge and the caption sits on the open side. */
@media (min-width:992px){
  .swiper-slider.swiper-container,.swiper-slider .swiper-wrapper{height:auto !important;min-height:0 !important}
  .swiper-slider .swiper-slide{height:auto !important;min-height:calc(100vw * 1000 / 1920) !important}
  .swiper-slider .swiper-slide.af-subject-left{background-position:left center !important}
  .swiper-slider .swiper-slide.af-subject-right{background-position:right center !important}
  .swiper-slider .swiper-slide-caption{display:flex;align-items:center;height:auto !important;min-height:calc(100vw * 1000 / 1920) !important;padding:60px 0 !important}
  .swiper-slider .swiper-slide-caption::before{display:none}
  .swiper-slider .swiper-slide-caption .container{width:100%;margin-top:0}
  .swiper-slider .af-subject-left .swiper-slide-caption .row{justify-content:flex-end !important}
  .swiper-slider .af-subject-right .swiper-slide-caption .row{justify-content:flex-start !important}
  .swiper-slider .swiper-slide-caption .col-lg-6{flex:0 0 38%;max-width:38%}
  .swiper-slider .swiper-slide-caption h1{font-size:clamp(34px,3.4vw,58px) !important;line-height:1.15 !important}
  .swiper-slider .swiper-slide-caption h5{font-size:clamp(15px,1.2vw,19px) !important}
}
@media (min-width:1800px){.swiper-slider .swiper-slide-caption .col-lg-6{flex:0 0 40%;max-width:40%}}

/* Find Resources by State (owner 2026-11-03: official resources only, providers live in the Marketplace) */
.af-state-meta{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 8px}
.af-state-chip{display:inline-flex;align-items:center;padding:6px 12px;border-radius:999px;background:#f3f6f9;color:#4a5260;font:600 13px "Open Sans",sans-serif}
.af-state-chip a{color:#2b6cb0;margin-left:4px}
.af-state-grid{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}
.af-state-card{display:flex;flex-direction:column;gap:2px;padding:14px 16px;border:1px solid #e3e8ee;border-radius:12px;background:#fff;color:#2d2e2e;text-decoration:none;transition:border-color .2s,box-shadow .2s,transform .2s}
.af-state-card strong{font:700 18px "Roboto Slab",serif;color:#2b6cb0}
.af-state-card span{font-size:14px}
a.af-state-card:hover{border-color:#2f78b8;box-shadow:0 10px 26px rgba(45,46,46,.08);transform:translateY(-2px);color:#2d2e2e}
.af-state-card.is-soon{background:#fafbfc;color:#8a94a0}
.af-state-card.is-soon strong{color:#b4bcc6}
.af-state-card.is-soon small{margin-top:4px;font:600 10px "Open Sans",sans-serif;letter-spacing:.04em;text-transform:uppercase;color:#9aa3ad}
.af-state-list{columns:2;column-gap:18px}
.af-state-list li{break-inside:avoid}
.af-res-logo{display:flex;align-items:center;height:56px;margin-bottom:6px}
.af-res-logo img{display:block;max-height:56px;max-width:180px;width:auto;height:auto;object-fit:contain}

/* Article + sidebar rhythm (owner 2026-11-03 "spacing between resource cards and side cards"): 60px gutter
   between the article column and the sticky cards, 20px between resource cards, calmer card padding. */
@media (min-width:992px){
  .section-70 .row.row-50 > .col-lg-8{padding-right:44px}
  .section-70 .row.row-50 > aside.col-lg-4{padding-left:16px}
}
.af-res-list{gap:20px}
.af-res{padding:22px 24px 20px}
.af-res-desc{margin:4px 0 6px}
.af-sec + .af-sec{margin-top:52px}
/* Choose-your-state dropdown (owner 2026-11-03: a dropdown is what people are used to) */
.af-state-pick{display:flex;align-items:flex-end;gap:12px;margin:8px 0 14px}
.af-state-pick label{display:flex;flex-direction:column;gap:6px;flex:1;min-width:0;font-weight:700;font-size:14px;color:#2d2e2e}
.af-state-pick select{width:100%;min-height:46px;padding:8px 40px 8px 14px;border:2px solid #e3e8ee;border-radius:10px;background:#fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'><path d='M1 1l6 6 6-6' fill='none' stroke='%232d2e2e' stroke-width='2'/></svg>") no-repeat right 14px center;appearance:none;-webkit-appearance:none;font:600 15px "Open Sans",sans-serif;color:#2d2e2e}
.af-state-pick select:focus{border-color:#2f78b8;outline:3px solid rgba(47, 120, 184,.22);outline-offset:0}
.af-state-pick .btn{flex:none;min-height:46px}
.af-state-pick-lg{max-width:620px;margin:28px 0 8px}
.af-state-pick-lg label{font-size:16px}
.af-state-pick-lg select{min-height:54px;font-size:17px}
/* one-page state flow: state banner + list load under the dropdown */
.af-state-host{margin-top:36px}
.af-state-loading{color:#5a6470;padding:12px 0}
.af-state-banner{position:relative;border-radius:18px;overflow:hidden;min-height:260px;background:#2d2e2e}
.af-state-banner img{display:block;width:100%;height:320px;object-fit:cover;opacity:.92}
.af-state-banner-text{position:absolute;left:0;right:0;bottom:0;padding:28px 32px;background:linear-gradient(180deg,rgba(45,46,46,0),rgba(45,46,46,.78));color:#fff}
.af-state-kicker{display:inline-block;margin-bottom:8px;padding:4px 10px;border-radius:999px;background:#4f5fc9;color:#2d2e2e;font:700 11px "Open Sans",sans-serif;letter-spacing:.06em;text-transform:uppercase}
.af-state-banner-text h2{margin:0 0 6px;color:#fff;font-size:clamp(26px,3vw,38px)}
.af-state-banner-text p{margin:0;max-width:720px;color:rgba(255,255,255,.92);line-height:1.55}
.af-state-panel .af-state-meta{margin:18px 0 6px}
.af-state-panel .af-res-list{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:991px){.af-state-panel .af-res-list{grid-template-columns:repeat(2,minmax(0,1fr))}.af-state-banner img{height:240px}.af-state-banner-text{padding:20px}}
@media (max-width:575px){.af-state-panel .af-res-list{grid-template-columns:1fr}}
/* sidebar sign-up cards (Monthly newsletter / Weekly research updates) */
.af-promo-signup{cursor:default}
.af-promo-signup label{display:block;margin:10px 0 8px}
.af-promo-signup input{display:block;width:100%;min-height:42px;padding:8px 12px;border:2px solid #e3e8ee;border-radius:10px;font:400 14px "Open Sans",sans-serif;color:#2d2e2e;background:#fff}
.af-promo-signup input:focus{border-color:#2f78b8;outline:3px solid rgba(47, 120, 184,.22);outline-offset:0}
.af-promo-btn{display:inline-block;padding:9px 18px;border:0;border-radius:999px;background:#2f78b8;color:#fff;font:700 13px "Open Sans",sans-serif;cursor:pointer}
.af-promo-btn:hover{background:#2b6cb0}
.af-promo-signup .af-form-status{display:block;margin-top:6px;font-size:12.5px}
.af-promo-news{border-color:#dbe6fb;background:#f5f8ff}
.af-promo-research{border-color:#e6e3f3;background:#f7f5fc}
/* Homepage hero: the transparent header sits ON the slider, so the caption must start below it
   (header 136px at 1200–1799, 110px ≥1800) — owner 2026-11-03 screenshot: headline ran into the menu. */
@media (min-width:992px){
  .swiper-slider .swiper-slide-caption{padding:176px 0 64px !important;align-items:center}
}
@media (min-width:1800px){
  .swiper-slider .swiper-slide-caption{padding:150px 0 64px !important}
}
/* Resources: Autism Family AI nudge (after 12s, once per session) */
.af-nudge{position:fixed;right:24px;bottom:24px;z-index:1000;display:flex;gap:14px;align-items:flex-start;max-width:380px;padding:20px 22px 18px;border:1px solid #dbe6fb;border-radius:18px;background:#fff;box-shadow:0 24px 60px rgba(43, 108, 176,.18),0 4px 12px rgba(45,46,46,.08);opacity:0;transform:translateY(16px);transition:opacity .3s ease,transform .3s ease;text-align:left}
.af-nudge.is-open{opacity:1;transform:none}
.af-nudge-mark img{display:block;width:48px;height:45px}
.af-nudge-body strong{display:block;margin:2px 0 6px;font:700 17px "Roboto Slab",serif;color:#2d2e2e}
.af-nudge-body p{margin:0 0 14px;font-size:14.5px;line-height:1.55;color:#4a5260}
.af-nudge-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.af-nudge-go{display:inline-flex;align-items:center;padding:10px 18px;border-radius:999px;background:linear-gradient(135deg,#2f78b8,#2b6cb0);color:#fff !important;font:700 14px "Open Sans",sans-serif;text-decoration:none;box-shadow:0 8px 18px rgba(47, 120, 184,.28)}
.af-nudge-go:hover{filter:brightness(1.05)}
.af-nudge-later{border:0;background:none;padding:6px 2px;font:600 14px "Open Sans",sans-serif;color:#5a6470;cursor:pointer}
.af-nudge-x{position:absolute;top:8px;right:10px;width:30px;height:30px;border:0;border-radius:50%;background:none;font-size:22px;line-height:1;color:#8a94a0;cursor:pointer}
.af-nudge-x:hover{background:#f3f6f9;color:#2d2e2e}
@media (max-width:575px){.af-nudge{left:12px;right:12px;bottom:12px;max-width:none}}
@media (prefers-reduced-motion:reduce){.af-nudge{transition:none}}

/* ===== Spacing & card system pass (owner 2026-11-03: "spacing is bad") =====
   One rhythm for every content page: 8px grid, 24px card padding, 24px card gaps, 56px between sections. */
@media (min-width:1400px){.section-70 > .container,.section-lg-114 > .container{max-width:1320px}}
@media (min-width:992px){
  .section-70 .row.row-50 > .col-lg-8{flex:0 0 69%;max-width:69%;padding-right:48px}
  .section-70 .row.row-50 > aside.col-lg-4{flex:0 0 31%;max-width:31%;padding-left:12px}
}
/* intro: text and photo share one baseline, equal weight */
.af-intro{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:48px;align-items:center}
.af-intro h2{margin:0 0 16px}
.af-intro .af-lead{margin:0;font-size:18px;line-height:1.7}
.af-intro-photo img{aspect-ratio:4/3}
/* fact cards: compact, no 5-line wraps, readable source */
.af-facts{gap:24px;margin-top:48px}
.af-fact{gap:8px;padding:24px}
.af-fact .af-ico{width:36px;height:36px;padding:7px;margin-bottom:4px}
.af-fact strong{font-size:30px}
.af-fact span{font-size:15px;line-height:1.55}
.af-fact em{margin-top:auto;padding-top:8px;font-size:12.5px;letter-spacing:.02em}
.af-fact em a{text-decoration:none;border-bottom:1px solid currentColor}
/* resource cards: tighter top, link follows the text, equal heights kept */
.af-res-grid,.af-res-list{gap:24px;margin-top:20px}
.af-res{gap:0;padding:24px}
.af-res-ico{width:40px;height:40px;margin-bottom:16px}
.af-res-ico .af-ico{width:22px;height:22px}
.af-res-logo{margin-bottom:14px}
.af-res-kind{margin-bottom:6px;font-size:11.5px}
.af-res strong{margin-bottom:8px;font-size:18px;line-height:1.35}
.af-res-desc{margin:0;font-size:15px;line-height:1.6}
.af-res .af-ext{margin-top:auto;padding-top:18px}
/* section rhythm */
.af-sec{margin-top:56px}
.af-sec + .af-sec{margin-top:56px}
.af-sec>h3,.af-rich .af-sec h3,.af-sec h3{margin:0 0 20px}
.af-sources{margin-top:56px}
.af-notice{margin-top:40px !important}
/* sidebar: same card rhythm */
.af-sticky{gap:20px}
.af-promo{padding:24px}
@media (max-width:991px){.af-intro{grid-template-columns:1fr;gap:28px}}

/* Page banners carry a picture (owner 2026-11-03: "no hero banner pictures on all the pages") */
.breadcrumb-classic.af-banner-photo{position:relative;background-size:cover;background-position:center 35%;background-repeat:no-repeat}
.breadcrumb-classic.af-banner-photo::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(20, 42, 85,.78),rgba(20, 42, 85,.45) 60%,rgba(20, 42, 85,.30))}
.breadcrumb-classic.af-banner-photo > .container{position:relative;z-index:1}
.breadcrumb-classic.af-banner-photo h1{color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.25)}
.breadcrumb-classic.af-banner-photo a,.breadcrumb-classic.af-banner-photo li{color:rgba(255,255,255,.92)}
.breadcrumb-classic.af-banner-photo{background-position:right center}
.af-res .af-ext{margin-top:16px;padding-top:0}
.breadcrumb-classic.af-banner-photo{background-position:right 30%}

/* AI invitation v2 (owner 2026-11-03): centred modal, large AI mark, message types itself out */
.af-nudge-wrap{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(20,32,44,.48);backdrop-filter:blur(3px);opacity:0;transition:opacity .3s ease}
.af-nudge-wrap.is-open{opacity:1}
.af-nudge-wrap .af-nudge{position:relative;inset:auto;display:block;width:100%;max-width:560px;padding:44px 44px 36px;border:0;border-radius:24px;background:#fff;text-align:center;box-shadow:0 40px 90px rgba(10,30,50,.35);opacity:1;transform:translateY(18px) scale(.98);transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.af-nudge-wrap.is-open .af-nudge{transform:none}
.af-nudge-wrap .af-nudge-mark img{display:inline-block;width:116px;height:108px}
.af-nudge-kicker{margin:14px 0 0;font:700 12px "Open Sans",sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#2b6cb0}
.af-nudge-title{min-height:1.25em;margin:10px 0 12px;font:700 clamp(24px,3vw,32px)/1.25 "Roboto Slab",serif;color:#2d2e2e}
.af-nudge-text{min-height:3.3em;margin:0 auto;max-width:440px;font-size:17px;line-height:1.65;color:#4a5260}
.af-nudge-title.is-typing::after,.af-nudge-text.is-typing::after{content:"";display:inline-block;width:2px;height:1em;margin-left:3px;vertical-align:-.12em;background:#2f78b8;animation:af-caret .9s steps(1) infinite}
@keyframes af-caret{50%{opacity:0}}
.af-nudge-wrap .af-nudge-actions{justify-content:center;gap:18px;margin-top:28px;opacity:0;transform:translateY(6px);transition:opacity .35s ease,transform .35s ease}
.af-nudge-wrap.is-done .af-nudge-actions{opacity:1;transform:none}
.af-nudge-wrap .af-nudge-go{padding:14px 28px;font-size:16px;gap:8px}
.af-nudge-wrap .af-nudge-later{font-size:15px}
.af-nudge-wrap .af-nudge-x{top:14px;right:16px;width:36px;height:36px;font-size:26px}
@media (max-width:575px){.af-nudge-wrap .af-nudge{padding:36px 22px 28px}.af-nudge-wrap .af-nudge-mark img{width:88px;height:82px}}
@media (prefers-reduced-motion:reduce){.af-nudge-wrap,.af-nudge-wrap .af-nudge,.af-nudge-wrap .af-nudge-actions{transition:none}}
/* Page banners 2x taller (owner 2026-11-03: "hero picture cutting the face, needs to be 2x"): the wide 1920:810
   section photo now shows almost uncropped, so faces stay in frame; title centred vertically. */
.breadcrumb-classic.af-banner-photo{display:flex;flex-direction:column;justify-content:center;min-height:534px;padding-top:40px !important;padding-bottom:40px !important;background-position:center 35% !important}
.breadcrumb-classic.af-banner-photo h1{font-size:clamp(40px,4.4vw,64px)}
@media (max-width:1199px){.breadcrumb-classic.af-banner-photo{min-height:420px}}
@media (max-width:767px){.breadcrumb-classic.af-banner-photo{min-height:300px}}
/* per-photo focal points so the subject's face stays in frame at every width */
.af-banner-photo[style*="slide-01"]{background-position:22% 40% !important}
.af-banner-photo[style*="slide-02"]{background-position:74% 30% !important}
.af-banner-photo[style*="slide-03"]{background-position:20% 35% !important}
@media (max-width:767px){
  .breadcrumb-classic.af-banner-photo{justify-content:flex-end;padding-bottom:22px !important}
  .breadcrumb-classic.af-banner-photo ul{display:flex;flex-wrap:wrap;justify-content:center;row-gap:4px}
  .breadcrumb-classic.af-banner-photo::before{background:linear-gradient(180deg,rgba(20, 42, 85,.15) 40%,rgba(20, 42, 85,.75))}
}
/* skip link (keyboard users) + 404 */
.af-skip{position:absolute;left:-9999px;top:8px;z-index:3000;padding:10px 16px;border-radius:8px;background:#2d2e2e;color:#fff;font:700 14px "Open Sans",sans-serif}
.af-skip:focus{left:8px;outline:3px solid #4f5fc9}
.af-404{text-align:center;max-width:640px}
.af-404-code{margin:0;font:700 clamp(72px,12vw,140px)/1 "Roboto Slab",serif;color:#eef1f4}
.af-404 h2{margin:0 0 12px}
.af-404-actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:28px}
/* "Based on" sources line under every topic intro (owner: give the authentic source, no author names) */
.af-based{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin:18px 0 0;font:600 13px "Open Sans",sans-serif;color:#5a6470}
.af-based a{color:#2b6cb0;text-decoration:none;border-bottom:1px dotted currentColor}
.af-based a:hover{border-bottom-style:solid}
.af-based .af-based-chip{padding:4px 10px;border-radius:999px;background:#f3f6f9;color:#4a5260;font-weight:600}
/* CHILL ACT card on state pages */
.af-res.af-res-chill{border-color:#4f5fc9;background:#fdf0e7}
.af-res.af-res-chill .af-res-logo img{max-height:64px}
/* AI intake notice step */
.ai-notice{padding:18px 20px;border-left:4px solid #2f78b8;background:#f4fafc;border-radius:0 12px 12px 0;line-height:1.65}
.ai-notice p{margin:0 0 10px}
.ai-notice p:last-child{margin:0}
/* template script decorates radios/checkboxes with a "dummy" span — keep native boxes in our forms */
.af-check .checkbox-custom-dummy,.af-foot-check .checkbox-custom-dummy,.af-form .checkbox-custom-dummy,.af-promo-signup .checkbox-custom-dummy{display:none !important}
.af-check input.checkbox-custom,.af-foot-check input.checkbox-custom,.af-form input.checkbox-custom{opacity:1 !important;position:static !important;width:20px !important;height:20px !important;margin:0 !important;border:0 !important}
.af-check input.checkbox-custom{margin-top:3px !important}

/* ===== Autism Family AI mark = the chip (owner 2026-11-04 "chip everywhere"). A navy disc in the logo's own
   colour; the video's black melts into it. Sizes match the old mark at every place it was used. */
.af-chip{display:inline-block;position:relative;flex:none;vertical-align:middle;border-radius:50%;overflow:hidden;line-height:0;isolation:isolate;
  width:38px;height:38px;background:#0a1430 url("../images/brand/ai-chip-120.jpg") center/cover;box-shadow:0 0 0 1px rgba(153, 222, 244,.35),0 4px 12px rgba(10,20,48,.25)}
.af-chip video{display:block;width:100%;height:100%;object-fit:cover;transform:scale(1.15);mix-blend-mode:screen}
.af-ai-mark.af-chip{width:38px;height:38px}
.ai-mark.af-chip{width:116px;height:116px}
.ai-guide-mark.af-chip{width:44px;height:44px}
.af-nudge-mark.af-chip{width:48px;height:48px}
.af-nudge-wrap .af-nudge-mark.af-chip{width:116px;height:116px}
.ps-guide .af-chip{width:34px;height:34px}
@media (max-width:575px){.af-nudge-wrap .af-nudge-mark.af-chip{width:88px;height:88px}}
@media (prefers-reduced-motion:reduce){.af-chip video{display:none}}
.af-promo-ai .af-chip{display:block;width:46px;height:46px;margin-bottom:6px}
.af-card-ai .af-chip{width:108px;height:108px}
/* owner 2026-11-04: "can it be white — black is ugly" + "Ask Autism Family AI blue needs to match logo blue all over".
   The chip now has a see-through background (no navy disc) and every AI button/link uses the logo's blue
   #2f78b8 -> #2b5aa8 (white text 5.0:1 / 7.0:1, WCAG AA). */
.af-chip{background:transparent url("../images/brand/ai-chip-120-clear.png?v=7") center/contain no-repeat;box-shadow:none;border-radius:0;overflow:visible}
.af-chip video{mix-blend-mode:normal;transform:none;object-fit:contain}
.af-chip img{display:block;width:100%;height:100%;object-fit:contain}
.af-nudge-go{background:linear-gradient(135deg,#2f78b8,#2b5aa8)!important;box-shadow:0 10px 24px rgba(47, 120, 184,.30)}
.af-promo-ai{border-color:#2f78b8}
.af-promo-ai .af-promo-go{color:#2b5aa8}
.af-nudge-kicker,.af-nudge .af-nudge-label{color:#2b5aa8}
.af-chip{background:none}   /* the still picture is only used where video can't play (Safari / iPhone swap it in) */
/* owner 2026-11-04: "hero banner needs to be half size, too big" -> 534px becomes 267px (all photo banners) */
.breadcrumb-classic.af-banner-photo{min-height:267px!important;padding-top:24px!important;padding-bottom:24px!important}
.breadcrumb-classic.af-banner-photo h1{font-size:clamp(30px,3vw,44px)}
.breadcrumb-classic.af-banner-photo .offset-md-top-35{margin-top:14px!important}
@media (max-width:1199px){.breadcrumb-classic.af-banner-photo{min-height:220px!important}}
@media (max-width:767px){.breadcrumb-classic.af-banner-photo{min-height:170px!important}}

/* Homepage hero: owner's video = FIRST slide, then the photo slides (owner 2026-11-08). Fills the slide like the photos do. */
.swiper-slider .swiper-slide.af-video-slide{position:relative;overflow:hidden;background:#eef3ec}
.swiper-slider .af-video-slide .af-hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}

/* Banner video (owner 2026-11-08: Resources banner = owner's resources.mov). Video under the same navy overlay so the white title always reads. */
.breadcrumb-classic.af-banner-video{overflow:hidden;background-position:center center !important}
.breadcrumb-classic.af-banner-video .af-banner-vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;display:block}
.breadcrumb-classic.af-banner-video::before{z-index:1}
.breadcrumb-classic.af-banner-video > .container{z-index:2}
/* Phones + small tablets (owner 2026-11-08 "home page for mobile is not optimized for the video"): the slide is
   much taller than 16:9, so the WHOLE video shows across the width and a soft blurred copy of its first frame fills above/below. */
.swiper-slider .af-video-slide .af-hero-video-bg{display:none}
@media (max-width:991px){
  .swiper-slider .af-video-slide .af-hero-video-bg{display:block;position:absolute;inset:-40px;background:url(../images/video/home-hero-poster.jpg?v=2) center/cover no-repeat;filter:blur(28px) saturate(1.15);opacity:.85}
  .swiper-slider .af-video-slide .af-hero-video{inset:auto;top:50%;left:0;right:0;height:auto;aspect-ratio:16/9;transform:translateY(-50%);object-fit:contain;box-shadow:0 10px 30px rgba(20, 42, 85,.18)}
}

/* PHONES (owner 2026-11-08 "check all pages for mobile optimized"): card groups become ONE swipe row instead of a
   long stack (homepage was ~10,500px tall). Next card peeks in so people see there is more. Desktop/tablet unchanged. */
@media (max-width:767px){
  .af-swipe,.af-facts,.af-studies{display:flex !important;flex-wrap:nowrap !important;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:14px;padding-bottom:12px}
  .af-swipe::-webkit-scrollbar,.af-facts::-webkit-scrollbar,.af-studies::-webkit-scrollbar{display:none}
  .af-swipe{margin-left:0;margin-right:0;--bs-gutter-x:0}
  .af-swipe > [class*="col-"]{flex:0 0 82% !important;max-width:82% !important;width:82% !important;padding:0 !important;margin-top:0 !important;scroll-snap-align:start}
  .af-facts > .af-fact,.af-studies > .af-study{flex:0 0 82%;max-width:82%;scroll-snap-align:start}
  .af-swipe .af-card,.af-studies .af-study{height:100%}
}
/* small labels raised to 12px minimum on phones (readability) */
@media (max-width:767px){.af-res-kind{font-size:12px !important}}
@media (max-width:767px){
  .af-sticky{position:static !important;display:flex !important;flex-direction:row !important;flex-wrap:nowrap !important;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;gap:12px;padding-bottom:10px}
  .af-sticky::-webkit-scrollbar{display:none}
  .af-sticky > .af-promo{flex:0 0 78%;max-width:78%;margin:0 !important;scroll-snap-align:start}
}
/* AI cube on the phone/tablet top bar (owner 2026-11-08) - hidden on desktop, where the menu shows the full AI link */
.af-panel-ai{display:none}
@media (max-width:1199px){
  .rd-navbar-panel .af-panel-ai{position:absolute;right:12px;top:8px;height:40px;margin:0 !important;display:flex;align-items:center;gap:4px;text-decoration:none;z-index:2}
  .rd-navbar-panel .af-panel-ai .af-chip{width:40px;height:40px}
  .af-panel-ai-t{font:700 13px/1 "Roboto Slab",serif;color:#2b5aa8;letter-spacing:.02em}
}
/* AI pop-up banner (owner 2026-11-08 "it should cover the top part"): full-width video across the top of the card */
.af-nudge-wrap .af-nudge{padding-top:0;overflow:hidden}
.af-nudge-banner{margin:0 -44px 6px;aspect-ratio:2/1;background:#fff;overflow:hidden}
.af-nudge-banner video{display:block;width:100%;height:100%;object-fit:cover}
@media (max-width:575px){.af-nudge-banner{margin:0 -22px 4px}}
.af-nudge-wrap .af-nudge-x{z-index:3;background:rgba(255,255,255,.88)}

/* ===== BUTTONS = "Deep cube blue" (owner picked sample B, 2026-11-08): the AI cube's blues, deepened so white text
   passes WCAG AA (#2f78b8 4.7:1, #4f5fc9 5.5:1). Secondary = ice blue #eaf2ff with #2b5aa8 text (6.3:1). Every button. */
:root{--af-btn-a:#2f78b8;--af-btn-b:#4f5fc9;--af-btn-shadow:rgba(79,95,201,.28);--af-btn2-bg:#eaf2ff;--af-btn2-fg:#2b5aa8}
.btn.btn-primary,.btn.btn-madison,.btn.btn-sm.btn-ellipse,.af-promo-btn,.af-nudge-go,.mkh-btn:not(.mkh-btn-ghost),
.ai-btn:not(.ai-btn-ghost),.ai-btn.ai-btn-go,.ai-btn.ai-proceed.is-ready,.ai-btn.btn-mk-next,.af-home-more .btn{
  background:linear-gradient(135deg,var(--af-btn-a),var(--af-btn-b)) !important;border-color:transparent !important;color:#fff !important;
  box-shadow:0 8px 20px var(--af-btn-shadow) !important}
.btn.btn-primary:hover,.btn.btn-madison:hover,.af-promo-btn:hover,.af-nudge-go:hover,.mkh-btn:not(.mkh-btn-ghost):hover,.ai-btn:not(.ai-btn-ghost):hover{
  background:linear-gradient(135deg,#2a6aa4,#4352b8) !important;color:#fff !important}
.btn.btn-primary-transparent{border-color:var(--af-btn-a) !important;color:var(--af-btn-a) !important;background:#fff !important}
.btn.btn-primary-transparent:hover{background:var(--af-btn2-bg) !important;color:var(--af-btn2-fg) !important}
.mkh-btn.mkh-btn-ghost,.ai-btn.ai-btn-ghost{background:var(--af-btn2-bg) !important;color:var(--af-btn2-fg) !important;border-color:transparent !important;box-shadow:none !important}
/* dashboard "Finish your listing" panel + its button */
.mk-finish{background:linear-gradient(135deg,var(--af-btn-a),var(--af-btn-b)) !important;box-shadow:0 12px 30px var(--af-btn-shadow) !important}
.mk-finish .ai-btn{background:#fff !important;color:var(--af-btn2-fg) !important;box-shadow:0 6px 16px rgba(10,30,60,.18) !important}
/* Hero video smaller on DESKTOP too (owner 2026-11-08 "the hand comes out too big … reduce the size"): the whole video
   sits centred at ~68% of the slide width with rounded corners, on a soft blurred fill of its own first frame. */
@media (min-width:992px){
  .swiper-slider .af-video-slide .af-hero-video-bg{display:block;position:absolute;inset:-40px;background:url(../images/video/home-hero-poster.jpg?v=2) center/cover no-repeat;filter:blur(30px) saturate(1.1);opacity:.75}
  .swiper-slider .af-video-slide .af-hero-video{inset:auto;top:calc(50% + 40px);left:50%;width:min(68%,1180px);height:auto;aspect-ratio:16/9;max-height:calc(100% - 150px);transform:translate(-50%,-50%);object-fit:cover;border-radius:18px;box-shadow:0 24px 60px rgba(20, 42, 85,.22)}
}
/* Hero buttons (owner 2026-11-08 "some buttons are stacked on top of each other"): one tidy row that wraps with a gap,
   never an indented second button touching the first. */
.swiper-slide-caption div:has(> .btn){display:flex;flex-wrap:wrap;align-items:center;gap:12px 14px}
.swiper-slide-caption div:has(> .btn) .inset-sm-left-30{padding-left:0 !important;margin:0 !important}
/* Body text grey (template default #888 = 3.5:1, too faint) -> #5f6368 (6.0:1 on white). Owner law: text never camouflaged. */
:root{--bs-body-color:#5f6368}
body,.page{color:#5f6368}
.mk-steps li{color:#5a6470}

/* CARDS + VENDOR CARDS in the cube's own look (owner 2026-11-08 "all the cards and vendors will also have cube colors"):
   pastel gradients like the cube's faces; icons/text on them in the deep shade of the same family (contrast passes). */
.mk-tile-ico.mk-t-blue{background:linear-gradient(150deg,#c2d7fa,#b0cbf6) !important;color:#1e3f7a !important}
.mk-tile-ico.mk-t-green{background:linear-gradient(150deg,#b8f5c2,#99def4) !important;color:#173f2a !important}
.mk-tile-ico.mk-t-red{background:linear-gradient(150deg,#fbd2b9,#f6b496) !important;color:#5c2412 !important}
.mk-tile-ico.mk-t-yellow{background:linear-gradient(150deg,#fbd2b9,#b0cbf6) !important;color:#5c2412 !important}
.mk-tile-ico{box-shadow:inset 0 -3px 0 rgba(30,63,122,.10),0 6px 14px rgba(79,95,201,.12) !important}
/* Basic provider cards: cube pastel strip + soft cube tint */
.mk-c0{--mk-c:#99def4 !important;background:#eef9fe !important}
.mk-c1{--mk-c:#b0cbf6 !important;background:#f2f6ff !important}
.mk-c2{--mk-c:#b8f5c2 !important;background:#effcf2 !important}
.mk-c3{--mk-c:#fbd2b9 !important;background:#fef5ef !important}

/* ===== BIG COLOUR AREAS = the cube's REAL blues (owner 2026-11-08 "this blue also needs to match the cube blue and all
   over the website the theme will be colors of the cube"): sky -> periwinkle -> ice, like the cube's faces, with dark
   navy text (#10304d: 8.2:1 or better on every stop). Deep blue stays only on buttons (owner's pick B). */
:root{--af-cube-grad:linear-gradient(135deg,#99def4 0%,#b0cbf6 55%,#c2d7fa 100%);--af-cube-ink:#10304d;--af-cube-ink2:#1e3f7a}
.bg-madison{background:var(--af-cube-grad) !important}
.bg-madison,.bg-madison h1,.bg-madison h2,.bg-madison h3,.bg-madison h4,.bg-madison h5,.bg-madison h6,
.bg-madison p,.bg-madison li,.bg-madison span:not(.af-free),.bg-madison a:not(.btn):not(.af-card a){color:var(--af-cube-ink) !important}
.bg-madison .af-card a,.bg-madison .post-news a{color:var(--af-cube-ink2) !important}
/* menu dropdowns + megamenu (desktop) */
.rd-navbar-static .rd-navbar-megamenu,.rd-navbar-static .rd-navbar-dropdown{background:var(--af-cube-grad) !important;box-shadow:0 18px 40px rgba(30,63,122,.18) !important}
.rd-navbar-static .rd-navbar-megamenu a,.rd-navbar-static .rd-navbar-dropdown a,.rd-navbar-static .rd-navbar-megamenu li{color:var(--af-cube-ink) !important}
.rd-navbar-static .rd-navbar-megamenu h6,.rd-navbar-static .rd-navbar-megamenu .h6{color:var(--af-cube-ink2) !important}
.rd-navbar-static .rd-navbar-megamenu a:hover,.rd-navbar-static .rd-navbar-dropdown a:hover,
.rd-navbar-static .rd-navbar-megamenu .active>a,.rd-navbar-static .rd-navbar-dropdown .active>a{color:var(--af-cube-ink) !important;text-decoration:underline;text-underline-offset:3px}
/* dashboard "Finish your listing" panel */
.mk-finish{background:var(--af-cube-grad) !important;color:var(--af-cube-ink) !important;box-shadow:0 12px 30px rgba(79,95,201,.16) !important}
.mk-finish strong,.mk-finish span{color:var(--af-cube-ink) !important;opacity:1 !important}
.mk-finish .ai-btn{background:linear-gradient(135deg,var(--af-btn-a),var(--af-btn-b)) !important;color:#fff !important}

/* ===== PILL BUTTONS = the LOGO's cube faces (owner 2026-11-08 "buttons pills all over the website needs to match logo
   cube colors"). Like the logo letters: light at the top, deeper at the bottom; the four faces take turns in page order
   (af-footer.js sets data-face) so neighbours differ. Navy text #10304d passes on every stop (5.4:1 to 11.4:1). */
:root{--f-sky:linear-gradient(180deg,#b3e7f7,#5fbde6);--f-peach:linear-gradient(180deg,#fcdcc8,#efa07a);
      --f-mint:linear-gradient(180deg,#c8f7d0,#6fd494);--f-peri:linear-gradient(180deg,#c4d4f8,#8f9ff0)}
html body .af-face.af-face.af-face{color:#10304d !important;border-color:transparent !important;text-shadow:none !important;
  box-shadow:inset 0 -3px 0 rgba(16,48,77,.10),0 8px 18px rgba(79,95,201,.16) !important;transition:transform .15s ease,filter .15s ease !important}
html body .af-face.af-face.af-face:hover,html body .af-face.af-face.af-face:focus{color:#10304d !important;filter:saturate(1.15) brightness(.98);transform:translateY(-1px)}
html body .af-face.af-face.af-face:focus-visible{outline:3px solid #10304d !important;outline-offset:3px}
html body .af-face.af-face.af-face[data-face="0"]{background:var(--f-sky) !important}
html body .af-face.af-face.af-face[data-face="1"]{background:var(--f-peach) !important}
html body .af-face.af-face.af-face[data-face="2"]{background:var(--f-mint) !important}
html body .af-face.af-face.af-face[data-face="3"]{background:var(--f-peri) !important}
/* badges + step pills in cube faces too (owner 2026-11-08 "you have not changed all the buttons and the pill colors") */
html body .af-free,html body .ps-free,html body .mk-tile-badge{background:var(--f-peach) !important;color:#10304d !important;box-shadow:inset 0 -2px 0 rgba(16,48,77,.10) !important}
html body .mk-steps li.is-now{background:var(--f-peri) !important;color:#10304d !important}
html body .mk-steps li.is-now b{background:#fff !important;color:#10304d !important}
html body .mk-steps li:not(.is-now){background:linear-gradient(180deg,#f2f6ff,#e3ebfc) !important;color:#1e3f7a !important}
html body .af-face.af-face.af-face.ui-to-top,html body .af-face.af-face.af-face.af-what-arrow,html body .af-face.af-face.af-face.af-social-link{transform:none}
/* "Autism Data Explained" and every fact-card row: 3 different cube colours (owner 2026-11-08) */
.af-facts>.af-fact:nth-child(3n+1){background:linear-gradient(160deg,#e3f6fc,#c9ecf8) !important;border-color:#b3e7f7 !important}
.af-facts>.af-fact:nth-child(3n+2){background:linear-gradient(160deg,#fdeee4,#fbdcc8) !important;border-color:#fcdcc8 !important}
.af-facts>.af-fact:nth-child(3n){background:linear-gradient(160deg,#e6fbea,#ccf3d6) !important;border-color:#c8f7d0 !important}
.af-facts>.af-fact,.af-facts>.af-fact strong{color:#10304d !important}
.af-facts>.af-fact span,.af-facts>.af-fact p{color:#1f3550 !important}
.af-facts>.af-fact a{color:#1e3f7a !important}
.af-facts>.af-fact .af-ico{background:rgba(255,255,255,.65) !important;color:#1e3f7a !important}
/* Pill design refined (owner 2026-11-08 "does not look correct the design of button pills"): colour runs under the
   border (no hard rim/lip), soft top highlight like the logo's 3D letters, softer pastel ends. Navy text 8:1+. */
:root{--f-sky:linear-gradient(180deg,#c4ecf9,#86cdee);--f-peach:linear-gradient(180deg,#fde3d2,#f4b896);
      --f-mint:linear-gradient(180deg,#d3f8da,#8fe3aa);--f-peri:linear-gradient(180deg,#d3def9,#a5b2f3)}
html body .af-face.af-face.af-face{border-color:transparent !important;background-origin:border-box !important;background-clip:border-box !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7),inset 0 -1px 0 rgba(16,48,77,.06),0 6px 16px rgba(16,48,77,.10) !important}
html body .af-face.af-face.af-face:hover{box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 10px 22px rgba(16,48,77,.14) !important}
/* Research update cards: cube colours in turn (owner 2026-11-08 "research cards also we can add colors") */
.af-studies>.af-study:nth-child(4n+1){background:linear-gradient(170deg,#eef9fe,#d9f1fb) !important;border-color:#c4ecf9 !important}
.af-studies>.af-study:nth-child(4n+2){background:linear-gradient(170deg,#fef4ed,#fde3d2) !important;border-color:#fde3d2 !important}
.af-studies>.af-study:nth-child(4n+3){background:linear-gradient(170deg,#effcf2,#d9f8e0) !important;border-color:#d3f8da !important}
.af-studies>.af-study:nth-child(4n){background:linear-gradient(170deg,#f3f6fe,#dfe6fb) !important;border-color:#d3def9 !important}
.af-studies>.af-study h4,.af-studies>.af-study h5,.af-studies>.af-study h6{color:#10304d !important}
.af-studies>.af-study p{color:#1f3550 !important}
.af-studies>.af-study a{color:#1e3f7a !important}
/* Grey section backgrounds -> soft cube tint (owner 2026-11-08 "Selected Research & Resource Updates - the background is grey") */
.bg-catskill{background:linear-gradient(180deg,#f2f6ff 0%,#eaf6fd 100%) !important}

/* ===== LAW (owner 2026-11-08): "white background and accent colors - background cards all of cube colors - buttons pills
   all of the same colors". Page/section backgrounds WHITE; colour lives on the CARDS (cube tints, in turn) + pills. */
.bg-madison,.bg-catskill,.bg-index-body,.mk-app-wrap,body,.page{background:#fff !important;background-image:none !important}
.bg-madison,.bg-madison h1,.bg-madison h2,.bg-madison h3,.bg-madison h4,.bg-madison h5,.bg-madison h6,.bg-madison p{color:#10304d !important}
div.bg-madison{border-top:1px solid #e3ebfc}
:root{--t-sky:linear-gradient(170deg,#eef9fe,#d9f1fb);--t-peach:linear-gradient(170deg,#fef4ed,#fde3d2);
      --t-mint:linear-gradient(170deg,#effcf2,#d9f8e0);--t-peri:linear-gradient(170deg,#f3f6fe,#dfe6fb)}
/* Explore Autism Family cards */
.af-swipe>[class*="col-"]:nth-child(4n+1) .af-card{background:var(--t-sky) !important}
.af-swipe>[class*="col-"]:nth-child(4n+2) .af-card{background:var(--t-peach) !important}
.af-swipe>[class*="col-"]:nth-child(4n+3) .af-card{background:var(--t-mint) !important}
.af-swipe>[class*="col-"]:nth-child(4n) .af-card{background:var(--t-peri) !important}
.af-swipe .af-card{border:0 !important;box-shadow:0 8px 22px rgba(16,48,77,.08) !important}
.af-swipe .af-card .post-news-body-variant-1,.af-swipe .af-card [class*="post-news-body"]{background:transparent !important}
.af-swipe .af-card h6 a,.af-swipe .af-card h6{color:#10304d !important}
.af-swipe .af-card p{color:#1f3550 !important}
/* dashboard tiles */
.mk-tiles>.mk-tile:nth-child(4n+1){background:var(--t-sky) !important}
.mk-tiles>.mk-tile:nth-child(4n+2){background:var(--t-peach) !important}
.mk-tiles>.mk-tile:nth-child(4n+3){background:var(--t-mint) !important}
.mk-tiles>.mk-tile:nth-child(4n){background:var(--t-peri) !important}
.mk-tiles>.mk-tile{border-color:transparent !important}
.mk-tiles>.mk-tile span:last-child{color:#1f3550 !important}
/* sidebar promo cards (AI / Marketplace / Pre-Screening / newsletter ...) */
.af-sticky>*:nth-child(4n+1){background:var(--t-sky) !important}
.af-sticky>*:nth-child(4n+2){background:var(--t-peach) !important}
.af-sticky>*:nth-child(4n+3){background:var(--t-mint) !important}
.af-sticky>*:nth-child(4n){background:var(--t-peri) !important}
.af-sticky>*{border-color:transparent !important}
/* Marketplace category panel + profile hero frame */
.mkh-panel{background:var(--t-peri) !important;border-color:transparent !important}
.mk-hero-media{background:var(--t-sky) !important}
