/* IDD Atlas inner pages and site-wide tools. Constellation look, 28 Oct 2026 */
:root{--navy:#1B1C3F;--ink:#33355E;--muted:#4A4C78;--pers:#2B2D7C;--pers-ink:#23246A;--sun:#FFC857;--peach:#FFB4A8;--coral:#FF8A7A;--blue:#5AB8E6;--pink:#C9C2F2;--green:#8FD4C4;--mint:#DDF2EC;--sky:#DCEFFA;--blush:#FFE6E2;--cream:#F3F1FB;--line:#DEDAF2;--link:#3436A0}
.idd{font-family:'Atkinson Hyperlegible',system-ui,sans-serif;font-size:17px;line-height:1.6;color:var(--navy);background:#fff;min-width:0}
.wrap{max-width:1240px;margin:0 auto;padding:0 20px}
.hd{font-family:'Figtree',sans-serif;letter-spacing:-0.025em;line-height:1.1;font-weight:800}
.crumbs{font-size:15px;margin:0 0 10px;display:flex;flex-wrap:wrap;gap:6px}
.crumbs a{color:inherit;font-weight:700}
.phero{margin:28px auto 0;max-width:1240px;border-radius:36px;padding:clamp(26px,4vw,52px);display:flex;flex-direction:column;gap:14px}
.phero-wrap{padding:0 20px}
.phero h1{margin:0;font:800 clamp(34px,4.6vw,58px)/1.04 'Figtree',sans-serif;letter-spacing:-0.035em}
.phero .lede{margin:0;font-size:19px;max-width:62ch}
.phero .meta{margin:0;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.t-navy{background:var(--pers);color:#fff}.t-navy a{color:#FFC857}
.t-blue{background:var(--blue);color:var(--navy)}
.t-green{background:var(--green);color:var(--navy)}
.t-sun{background:var(--sun);color:var(--navy)}
.t-pink{background:var(--pink);color:var(--navy)}
.t-coral{background:var(--coral);color:var(--navy)}
.t-pers{background:var(--pers);color:#fff}.t-pers a{color:#fff}
.t-mint{background:var(--mint);color:var(--navy)}
.t-sky{background:var(--sky);color:var(--navy)}
.t-blush{background:var(--blush);color:var(--navy)}
.t-cream{background:var(--cream);color:var(--navy)}
.sec{padding:40px 0 8px}
.sec h2{margin:0 0 12px;font:800 clamp(26px,2.8vw,36px)/1.1 'Figtree',sans-serif;letter-spacing:-0.025em}
.sec h3{margin:22px 0 8px;font:700 22px/1.2 'Figtree',sans-serif;letter-spacing:-0.015em}
.prose{max-width:72ch}
.prose p,.prose li{color:var(--ink)}
.prose ul,.prose ol{padding-left:24px;margin:8px 0 14px}
.prose li{margin:4px 0}
.prose li::marker{color:var(--pers)}
.layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:40px;align-items:start}
@media (max-width:960px){.layout{grid-template-columns:minmax(0,1fr)}}
.side{position:sticky;top:16px;display:flex;flex-direction:column;gap:14px}
@media (max-width:960px){.side{position:static}}
.box{border-radius:22px;padding:20px;display:flex;flex-direction:column;gap:8px}
.box h2,.box h3{margin:0;font:700 20px/1.2 'Figtree',sans-serif}
.box p{margin:0}
.box ul{margin:0;padding-left:20px}
.toc{background:var(--cream)}
.toc ol{margin:0;padding-left:22px}
.toc a{font-weight:700}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:16px;list-style:none;margin:0;padding:0}
.grid.g2{grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}
@media (max-width:420px){.grid,.grid.g2{grid-template-columns:minmax(0,1fr)}}
.card{border-radius:22px;padding:20px;display:flex;flex-direction:column;gap:8px;background:var(--cream)}
.card h3{margin:0;font:700 21px/1.2 'Figtree',sans-serif;letter-spacing:-0.01em}
.card p{margin:0;color:var(--ink)}
.card .go{margin-top:auto;font-weight:700}
a.tile{border-radius:24px;padding:22px;display:flex;flex-direction:column;gap:8px;text-decoration:none;min-height:150px}
a.tile b{font:800 23px/1.12 'Figtree',sans-serif;letter-spacing:-0.02em}
a.tile span{font-size:16px}
a.tile .arrow{margin-top:auto;font-weight:700;display:inline-flex;gap:6px;align-items:center}
a.tile:hover{filter:brightness(.97)}
.t-navy span,.t-pers span{color:#E7E6F7}
.callout{border-radius:20px;padding:16px 20px;background:var(--sky);color:var(--navy);margin:16px 0;max-width:72ch}
.callout.warn{background:var(--blush)}
.callout.sun{background:#FFF3D6}
.callout p{margin:0;color:var(--navy)}
.callout p+p{margin-top:8px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 22px;border-radius:999px;background:var(--navy);color:#fff!important;font:700 17px 'Atkinson Hyperlegible',sans-serif;text-decoration:none;border:0;cursor:pointer}
.btn:hover{background:#23246A}
.btn.ghost{background:transparent;color:var(--navy)!important;border:2px solid var(--navy)}
.btn.sun{background:var(--sun);color:var(--navy)!important}
.btn.small{min-height:40px;padding:0 16px;font-size:15px}
.btns{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}
.chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.chip{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;border-radius:999px;background:#fff;border:2px solid var(--line);color:var(--navy);font-weight:700;font-size:15px;text-decoration:none;cursor:pointer}
.chip[aria-pressed="true"],.chip.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.tbl{width:100%;border-collapse:collapse;margin:12px 0;font-size:16px}
.tbl th,.tbl td{text-align:left;vertical-align:top;padding:10px 12px;border-bottom:1px solid var(--line)}
.tbl th{background:var(--cream);font-weight:700}
.tbl-wrap{overflow-x:auto;max-width:100%}
.steps{counter-reset:s;list-style:none;padding:0;margin:12px 0;display:flex;flex-direction:column;gap:12px;max-width:72ch}
.steps>li{counter-increment:s;position:relative;padding:14px 16px 14px 64px;border-radius:18px;background:var(--cream)}
.steps>li::before{content:counter(s);position:absolute;left:14px;top:12px;width:36px;height:36px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font:800 17px 'Figtree',sans-serif}
.steps>li b{font-weight:700}
.reviewed{font-size:14px;color:var(--muted);margin:24px 0 0}
.fact{display:inline-block;background:var(--sun);border-radius:10px;padding:0 8px;font-weight:700;color:var(--navy)}
/* forms */
.form{display:flex;flex-direction:column;gap:14px;max-width:720px}
.form label,.fld{display:flex;flex-direction:column;gap:6px;font-weight:700}
.form .hint{font-weight:400;font-size:15px;color:var(--muted)}
.form input[type=text],.form input[type=email],.form input[type=tel],.form input[type=date],.form select,.form textarea{font:400 17px 'Atkinson Hyperlegible',sans-serif;padding:11px 14px;border:2px solid #8F8BC2;border-radius:14px;min-height:48px;color:var(--navy);background:#fff;width:100%;box-sizing:border-box}
.form textarea{min-height:110px;resize:vertical}
.form fieldset{border:2px solid var(--line);border-radius:18px;padding:14px 16px;margin:0}
.form legend{font-weight:700;padding:0 6px}
.checks{display:flex;flex-direction:column;gap:6px}
.checks label{flex-direction:row;align-items:flex-start;gap:10px;font-weight:400}
.checks input{width:22px;height:22px;margin-top:2px;flex:0 0 auto;accent-color:var(--navy)}
.status{font-weight:700;min-height:1.6em;margin:0}
.status.ok{color:#1F5434}.status.err{color:#8E1B1B}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.out{white-space:pre-wrap;background:#fff;border:2px solid var(--line);border-radius:18px;padding:20px;font-size:16px;max-width:72ch}
.ccard{max-width:420px;border:3px solid var(--navy);border-radius:20px;padding:18px 20px;background:#fff;display:flex;flex-direction:column;gap:8px}
.ccard h3{margin:0;font:800 22px 'Figtree',sans-serif}
.ccard p{margin:0}
.ccard .lbl{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--pers-ink)}
/* library */
.lib-tools{display:flex;flex-direction:column;gap:12px;margin:6px 0 18px}
.lib-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.lib-row>b{min-width:90px}
.lib-item{border-radius:20px;padding:18px;background:var(--cream);display:flex;flex-direction:column;gap:6px}
.lib-item h3{margin:0;font:700 20px/1.2 'Figtree',sans-serif}
.lib-item p{margin:0;color:var(--ink)}
.tags{display:flex;flex-wrap:wrap;gap:6px;font-size:13px;font-weight:700}
.tag{border-radius:999px;padding:2px 10px;background:#fff;color:var(--navy)}
.tag.sa{background:var(--green)}
.tag.ok{background:var(--mint);color:#1F5434}
.tag.cost{background:var(--sky)}
/* help tiles on home */
.helpgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:14px;list-style:none;margin:0;padding:0}
/* email signup */
.signup{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end}
.signup label{display:flex;flex-direction:column;gap:4px;font-size:14px;font-weight:700;color:#fff;flex:1 1 180px}
.signup input{font:400 16px 'Atkinson Hyperlegible',sans-serif;padding:10px 14px;border-radius:999px;border:0;min-height:46px;width:100%;box-sizing:border-box}
.signup label.agree{flex:1 1 100%;display:flex;flex-direction:row;gap:8px;align-items:flex-start;font-weight:400;font-size:14px;color:#D6D5EE}
.signup .agree input{width:20px;min-height:20px;height:20px;margin-top:2px;flex:0 0 auto}
.signup .status{color:#FFC857;flex:1 1 100%}
/* display settings */
.a11y-btn{background:#fff;border:1.5px solid #2B2D7C;color:#2B2D7C;border-radius:999px;padding:4px 12px;font:700 14px 'Atkinson Hyperlegible',sans-serif;cursor:pointer;min-height:32px}
.a11y-panel{position:fixed;right:16px;top:56px;z-index:60;width:min(360px,calc(100vw - 32px));background:#fff;color:var(--navy);border-radius:22px;box-shadow:0 10px 40px rgba(27,28,63,.25);padding:18px;display:flex;flex-direction:column;gap:10px;border:2px solid var(--navy)}
.a11y-panel[hidden]{display:none}
.a11y-panel h2{margin:0;font:800 22px 'Figtree',sans-serif}
.a11y-panel label{display:flex;gap:12px;align-items:flex-start;cursor:pointer}
.a11y-panel input{width:24px;height:24px;flex:0 0 auto;margin-top:2px;accent-color:var(--navy)}
.a11y-panel small{display:block;color:var(--muted);font-size:14px}
.a11y-panel .row{display:flex;gap:8px;flex-wrap:wrap}
html.a-large body{zoom:1.18}
html.a-motion *,html.a-motion *::before,html.a-motion *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
html.a-contrast body,html.a-contrast body *:not(img):not(svg):not(circle):not(path){background-color:#000!important;color:#fff!important;border-color:#fff!important;box-shadow:none!important}
html.a-contrast a,html.a-contrast a *{color:#FFE14D!important;text-decoration:underline!important}
html.a-contrast img{filter:none}
html.a-contrast img[alt="ConnectIDD"]{background:#fff!important;padding:3px 6px;border-radius:4px}
html.a-contrast input,html.a-contrast select,html.a-contrast textarea{border:2px solid #fff!important}
html.a-calm body *{box-shadow:none!important;text-shadow:none!important}
html.a-calm body [style*="background: #FF8A7A"],html.a-calm body [style*="background: #FFC857"],html.a-calm body [style*="background: #C9C2F2"],html.a-calm body [style*="background: #5AB8E6"],html.a-calm body [style*="background: #8FD4C4"],html.a-calm body [style*="background: #2B2D7C"],html.a-calm .t-blue,html.a-calm .t-green,html.a-calm .t-sun,html.a-calm .t-pink,html.a-calm .t-coral,html.a-calm .t-pers,html.a-calm .t-mint,html.a-calm .t-sky,html.a-calm .t-blush,html.a-calm .card,html.a-calm .lib-item,html.a-calm .steps>li{background:#F5F4FA!important;color:#1B1C3F!important}
html.a-calm body [style*="background: #2B2D7C"] *,html.a-calm .t-pers *{color:#1B1C3F!important}
html.a-calm img{filter:saturate(.45)}
html.a-calm [style*="border-radius: 50% 50% 50% 22px"]{border-color:#F5F4FA!important}
@media print{
  .noprint,header,footer,.a11y-panel,[data-family-bar]{display:none!important}
  .phero{border-radius:0;padding:0 0 12px;background:#fff!important;color:#000!important}
  .ccard{break-inside:avoid}
  body{zoom:1!important}
}

/* ===== Constellation look (28 Oct 2026): header, page heroes, home page ===== */
.hdr-band{background:#F3F1FB}
.fam{font-size:14px;color:#4A4C78}
.fam-in{max-width:1240px;margin:0 auto;padding:10px 20px 0;display:flex;flex-wrap:wrap;gap:6px 22px;align-items:center;justify-content:space-between}
.fam-l,.fam-r{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center}
.fam a{color:#2B2D7C;font-weight:700}
.fam .crisis b{background:#FFC857;color:#1B1C3F;border-radius:6px;padding:0 5px}
.hdr{background:transparent}
.hdr-in{max-width:1240px;margin:0 auto;padding:14px 20px 16px;display:flex;flex-wrap:wrap;gap:14px 28px;align-items:center;justify-content:space-between}
.brand{display:flex;gap:12px;align-items:center}
.brand-mark{display:flex}
.brand-txt{display:flex;flex-direction:column;gap:4px;line-height:1}
.brand-name{font:900 32px/1 'Figtree',sans-serif;letter-spacing:-0.03em;color:#2B2D7C;text-decoration:none}
.brand-by{display:flex;gap:6px;align-items:center;font-size:13px;color:#4A4C78}
.brand-by a{display:flex;align-items:center;height:24px}
.brand-by img{height:10px;width:auto;display:block}
.nav{display:flex;flex-wrap:wrap;gap:2px;align-items:center;background:#fff;border-radius:28px;padding:6px;font-weight:700;font-size:16px;box-shadow:0 1px 2px rgba(43,45,124,.06)}
.nav-a{color:#1B1C3F;text-decoration:none;padding:9px 13px;border-radius:999px}
.nav-a:hover{background:#F3F1FB;color:#2B2D7C}
.nav-a[aria-current="page"]{background:#2B2D7C;color:#fff}
@media (max-width:700px){.fam-l{display:none}.fam-in{justify-content:flex-start}.nav{border-radius:20px;width:100%;box-sizing:border-box}.brand-name{font-size:28px}}
/* inner page heroes get the connected-dots mark */
.phero{position:relative;overflow:hidden}
.phero>*{position:relative;z-index:1}
.phero::after{content:"";position:absolute;right:-10px;top:-6px;width:170px;height:133px;pointer-events:none;opacity:.22;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 230 180'%3E%3Cg fill='none' stroke='%231B1C3F' stroke-width='3'%3E%3Cpath d='M40 140 L90 50 L160 80 L190 150 Z M90 50 L190 150 M160 80 L210 30'/%3E%3C/g%3E%3Cg fill='%231B1C3F'%3E%3Ccircle cx='40' cy='140' r='11'/%3E%3Ccircle cx='90' cy='50' r='11'/%3E%3Ccircle cx='160' cy='80' r='9'/%3E%3Ccircle cx='190' cy='150' r='11'/%3E%3Ccircle cx='210' cy='30' r='7'/%3E%3C/g%3E%3C/svg%3E") no-repeat right top/contain}
.phero.t-navy::after,.phero.t-pers::after{opacity:.3;filter:invert(1)}
@media (max-width:760px){.phero::after{display:none}}
/* home */
.home h2{text-wrap:balance}
.h-wrap{max-width:1240px;margin:0 auto}
.h-hero{background:#F3F1FB;padding:20px 20px 64px}
.h-hero-in{max-width:1240px;margin:0 auto;display:flex;flex-wrap:wrap;gap:48px;align-items:center}
.h-copy{flex:999 1 520px;min-width:0;display:flex;flex-direction:column;gap:20px}
.h-eyebrow{margin:0;font-weight:700;font-size:15px;color:#4A4C78;max-width:60ch}
.h-eyebrow.gold{color:#FFC857}
.h-hero h1{margin:0;font:900 clamp(44px,5.6vw,80px)/0.98 'Figtree',sans-serif;letter-spacing:-0.04em;color:#2B2D7C}
.h-lede{margin:0;font-size:20px;max-width:52ch;color:#33355E}
.h-search{background:#fff;border-radius:22px;padding:18px;display:flex;flex-wrap:wrap;gap:12px;max-width:720px;box-shadow:0 12px 30px rgba(43,45,124,.10)}
.h-search label{display:flex;flex-direction:column;gap:6px;font-weight:700;font-size:15px;color:#1B1C3F}
.h-search .f-q{flex:3 1 240px}.h-search .f-s{flex:2 1 160px}
.h-search input,.h-search select{font:400 17px 'Atkinson Hyperlegible',sans-serif;border:2px solid #8F8BC2;border-radius:14px;padding:0 14px;min-height:52px;color:#1B1C3F;background:#fff;width:100%;box-sizing:border-box}
.h-search button{flex:1 1 130px;align-self:flex-end;min-height:52px;border:0;border-radius:14px;background:#2B2D7C;color:#fff;font:800 18px 'Figtree',sans-serif;cursor:pointer;display:inline-flex;gap:8px;align-items:center;justify-content:center}
.h-search button:hover{background:#23246A}
.h-hint{margin:0;font-size:16px;color:#33355E}
.h-hint a{font-weight:700}
.h-mosaic{flex:1 1 400px;min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0}
.h-mosaic img{width:100%;object-fit:cover;display:block}
.h-mosaic .m-wide{grid-column:span 2;height:250px;border-radius:28px}
.h-mosaic .m-sq{height:200px;border-radius:28px 28px 28px 90px}
.m-stat{margin:0;background:#FF8A7A;color:#1B1C3F;border-radius:28px 90px 28px 28px;padding:22px;display:flex;flex-direction:column;justify-content:flex-end}
.m-stat b{font:900 38px/1 'Figtree',sans-serif;letter-spacing:-0.03em}
.m-stat span{font-size:16px;line-height:1.35;margin-top:4px}
.h-doors{background:#fff;padding:64px 20px}
.h-head{display:flex;flex-direction:column;gap:6px;margin-bottom:28px}
.h-head h2,.h-orgs h2{margin:0;font:900 clamp(30px,3.2vw,46px)/1.05 'Figtree',sans-serif;letter-spacing:-0.03em;color:#2B2D7C}
.h-head p{margin:0;color:#33355E;max-width:62ch}
.doors{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr));gap:18px}
.doors li{display:flex}
.door{flex:1;display:flex;flex-direction:column;border-radius:26px;overflow:hidden;background:#F3F1FB;color:#1B1C3F;text-decoration:none;border:2px solid transparent}
.door:hover{border-color:#2B2D7C;color:#1B1C3F}
.door img{width:100%;height:190px;object-fit:cover;display:block}
.door-b{padding:20px 22px 22px;display:flex;flex-direction:column;gap:8px;flex:1}
.door-t{display:flex;gap:10px;align-items:center;font:800 23px/1.15 'Figtree',sans-serif;color:#2B2D7C;letter-spacing:-0.01em}
.door .dot{width:14px;height:14px;border-radius:50%;flex:0 0 auto}
.door-d{font-size:16px;color:#33355E;flex:1}
.door-m{font-size:14px;font-weight:700;color:#4A4C78;padding-top:10px;border-top:2px solid #DEDAF2}
.h-orgs{background:#2B2D7C;color:#E7E6F7;padding:64px 20px;margin-top:40px}
.h-orgs-in{max-width:1240px;margin:0 auto;display:flex;flex-wrap:wrap;gap:40px;align-items:center}
.h-orgs-copy{flex:999 1 460px;min-width:0;display:flex;flex-direction:column;gap:14px}
.h-orgs h2{color:#fff}
.h-orgs-copy>p{margin:0;max-width:58ch}
.h-btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.h-btns a{min-height:48px;display:inline-flex;align-items:center;padding:0 20px;border-radius:14px;text-decoration:none;font-weight:700}
.h-btns .b-gold{background:#FFC857;color:#1B1C3F}
.h-btns .b-line{border:2px solid #E7E6F7;color:#fff}
.h-btns a:hover{filter:brightness(1.08)}
.h-stats{flex:1 1 380px;min-width:0;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.h-stats li{background:#3A3C94;border-radius:20px;padding:18px;display:flex;flex-direction:column;gap:4px}
.h-stats b{font:900 32px/1 'Figtree',sans-serif;color:#fff;letter-spacing:-0.02em}
.h-stats span{font-size:15px;line-height:1.35}
.h-orgs :focus-visible{outline-color:#FFC857}
html.a-calm .h-hero,html.a-calm .h-orgs,html.a-calm .m-stat,html.a-calm .door{background:#F5F4FA!important;color:#1B1C3F!important}
html.a-calm .h-orgs *{color:#1B1C3F!important}
@media print{.hdr-band,.h-mosaic{display:none!important}}
