/* Fault Atlas — theme-independent, responsive UI */
.af-page, .af-shortcode{--af-ink:#152c3a;--af-muted:#566d78;--af-border:#dbe5e9;--af-sky:#f4f8fa;--af-accent:#007b83;--af-dark:#0f2e40;color:var(--af-ink);font-family:inherit}
.af-page *, .af-shortcode *{box-sizing:border-box}
.af-page a,.af-shortcode a{text-decoration:none}
.af-container{max-width:1180px;margin:0 auto;padding:0 24px}
.af-kicker,.af-eyebrow{color:#08747d;font-size:12px;line-height:1.5;font-weight:800;letter-spacing:.12em}
.af-hero{margin:32px 0 52px;padding:70px 58px 54px;background:linear-gradient(112deg,#edf7f7 0%,#f7f9fa 59%,#e2eef3 100%);border:1px solid #d7e9ec;border-radius:24px;position:relative;overflow:hidden}
.af-hero:before{content:"";position:absolute;right:-140px;top:-170px;width:390px;height:390px;border:55px solid rgba(12,129,140,.065);border-radius:50%;pointer-events:none}
.af-hero h1{max-width:840px;margin:13px 0 15px;font-size:clamp(34px,4.2vw,58px);line-height:1.1;letter-spacing:-.04em;color:#102b3a;font-weight:800}
.af-hero>p{font-size:19px;line-height:1.6;max-width:720px;margin:0 0 34px;color:#4a6571}
.af-finder{background:#fff;border:1px solid var(--af-border);border-radius:16px;padding:22px;box-shadow:0 10px 34px rgba(18,49,65,.06)}
.af-form-grid{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:12px;align-items:end}
.af-finder label{display:flex;flex-direction:column;gap:8px;color:#304856;font-size:13px;font-weight:700}
.af-finder input,.af-finder select{width:100%;height:48px;padding:0 13px;border:1px solid #cbd9df;border-radius:9px;background:white;color:#1b3947;font-size:16px;outline-offset:2px}
.af-finder input:focus,.af-finder select:focus{border-color:#07858e;outline:2px solid #d1ebeb}
.af-finder button{height:48px;white-space:nowrap;padding:0 23px;background:#087a83;color:white;border:0;border-radius:9px;font-weight:750;font-size:15px;cursor:pointer}
.af-finder button:hover,.af-finder button:focus{background:#075f69}
.af-finder button span{padding-left:6px}
.af-form-hint{font-size:12px;color:#6b7d85;margin:13px 0 0;line-height:1.5}
.af-section-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:24px}
.af-section-heading h2{font-size:clamp(26px,2.5vw,36px);line-height:1.2;letter-spacing:-.025em;margin:6px 0 0;color:#132d3d}
.af-count{font-size:13px;color:#5c747f;background:#ecf4f6;padding:8px 13px;border-radius:99px;white-space:nowrap}
.af-results{margin:0 0 90px}
.af-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.af-card{padding:24px;background:#fff;border:1px solid var(--af-border);border-radius:14px;transition:transform .15s,box-shadow .15s,border-color .15s;color:var(--af-ink);display:flex;flex-direction:column;min-height:236px}
.af-card:hover,.af-card:focus{transform:translateY(-2px);box-shadow:0 14px 34px rgba(16,55,70,.08);border-color:#85c9cc;color:var(--af-ink)}
.af-card-top{display:flex;justify-content:space-between;align-items:center;gap:12px}
.af-code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-weight:800;color:#087b84;font-size:21px;letter-spacing:.02em}
.af-pill{background:#edf3f4;border-radius:99px;font-size:11px;padding:6px 10px;color:#536a76;white-space:nowrap}
.af-card h3{font-size:20px;margin:21px 0 7px;color:#183545;line-height:1.24}
.af-card p{font-size:14px;color:#657984;line-height:1.55;margin:0 0 16px;flex:1}
.af-card-link{color:#087681;font-size:14px;font-weight:750}
.af-pagination{display:flex;gap:8px;flex-wrap:wrap;margin-top:28px}
.af-pagination a{padding:8px 12px;border:1px solid var(--af-border);border-radius:8px;color:#1e5260}
.af-pagination a[aria-current]{background:#087b84;color:#fff}
.af-empty{background:#f2f7f9;border:1px solid #d8e8e9;border-radius:14px;padding:30px}
.af-empty h3{margin:0 0 7px;color:#193746}.af-empty p{margin:0;color:#637783}
.af-shortcode{max-width:1160px;margin:24px auto;padding:44px;background:linear-gradient(110deg,#eaf6f7,#f6f9fa);border:1px solid #d9e8eb;border-radius:22px}
.af-shortcode h2{font-size:clamp(28px,3vw,44px);line-height:1.15;letter-spacing:-.03em;margin:10px 0;color:#102d3b}
.af-shortcode>p{margin:0 0 25px;color:#566f79;font-size:17px}
.af-article{padding-top:34px;padding-bottom:90px}
.af-breadcrumb{display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:#85969e;font-size:13px;margin:0 0 35px}
.af-breadcrumb a{color:#426b79}
.af-article-header{max-width:1000px}
.af-article-header h1{font-size:clamp(34px,4.2vw,56px);line-height:1.1;letter-spacing:-.036em;font-weight:800;color:#142f40;margin:12px 0 14px}
.af-lede{font-size:clamp(18px,2vw,22px);color:#4e6c7a;line-height:1.6;margin:0 0 24px}
.af-code-row{display:flex;align-items:center;gap:20px;margin:30px 0 45px}
.af-big-code{min-width:184px;border:1px solid #cfe3e4;background:#edf8f8;border-radius:14px;padding:18px 24px}
.af-big-code small{font-size:10px;letter-spacing:.13em;color:#507681;font-weight:800;display:block}
.af-big-code strong{display:block;font-size:35px;font-weight:850;line-height:1.3;color:#086d76;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
.af-meta-note{color:#6b7d86;font-size:14px;line-height:1.6;max-width:450px}
.af-article-layout{display:grid;grid-template-columns:minmax(0,750px) minmax(240px,1fr);gap:52px}
.af-section{padding:28px 0;border-top:1px solid #dce7e9}
.af-section h2{font-size:25px;color:#163747;line-height:1.25;letter-spacing:-.025em;margin:0 0 16px;font-weight:800}
.af-section p{font-size:16px;color:#405c69;line-height:1.8;margin:0}
.af-checks{padding-left:26px;margin:0;display:grid;gap:15px}
.af-checks li{font-size:16px;line-height:1.65;color:#3b5968;padding-left:6px}
.af-checks li::marker{color:#07848e;font-weight:800}
.af-warning{background:#fffaf3;border:1px solid #efdec5;border-radius:12px;padding:24px;margin:20px 0}
.af-warning h2{color:#74501f;font-size:21px}
.af-source{border-top:1px solid #dce7e9;margin-top:15px}
.af-source a{color:#087a83;text-decoration:underline;text-underline-offset:3px}
.af-source p+p{font-size:13px;color:#73838c;margin-top:9px}
.af-side-box{padding:22px;border:1px solid #d9e5e7;border-radius:13px;background:#f8fafb;margin-bottom:14px}
.af-side-box h3{margin:0 0 7px;font-size:19px;color:#193747}.af-side-box p{font-size:14px;line-height:1.65;color:#617580;margin:0 0 13px}
.af-secondary-cta{color:#087581;font-size:14px;font-weight:800}
@media (max-width:960px){.af-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.af-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.af-article-layout{grid-template-columns:minmax(0,1fr)}.af-article-aside{display:grid;grid-template-columns:1fr 1fr;gap:14px}.af-side-box{margin:0}}
@media (max-width:630px){.af-container{padding:0 17px}.af-hero{padding:34px 20px;margin:18px 0 34px;border-radius:16px}.af-hero>p{font-size:16px;margin-bottom:22px}.af-form-grid,.af-card-grid,.af-article-aside{grid-template-columns:1fr}.af-finder{padding:16px}.af-finder button{width:100%}.af-section-heading{align-items:start}.af-count{font-size:11px}.af-shortcode{margin:12px 0;padding:24px 18px}.af-code-row{align-items:stretch;flex-direction:column}.af-article-header h1{font-size:35px}.af-section h2{font-size:23px}.af-card{min-height:190px}}
