/* Donegal Board Assurance showcase, approved staging only, 2026-10-30.
   Research-method visualization. No customer data, runtime scoring or entitlement logic. */
.ba-page { background: #0b1118; color: #f4f0e8; }
.ba-page a:focus-visible, .ba-page button:focus-visible, .ba-table-scroll:focus-visible { outline: 3px solid #e5c46e; outline-offset: 4px; }
.ba-page .section { padding-block: clamp(68px,8vw,130px); }
.ba-page .section-title { font-size: clamp(2.65rem,5vw,5.35rem); line-height: 1.035; }
.ba-page .section-title em, .ba-hero h1 em { color: #d8bd78; font-weight: inherit; }
.ba-page p { line-height: 1.75; }
.ba-page strong { font-weight: 780; }
.ba-hero { position: relative; isolation: isolate; overflow: hidden; background: radial-gradient(ellipse at 90% 35%,rgba(66,111,105,.34),transparent 48%),radial-gradient(ellipse at 16% 72%,rgba(66,84,119,.31),transparent 57%),linear-gradient(140deg,#0b1018,#151f29 60%,#090e14); border-bottom: 1px solid rgba(219,189,120,.16); }
.ba-hero__mesh { position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.34;background:linear-gradient(rgba(232,220,183,.065) 1px,transparent 1px),linear-gradient(90deg,rgba(232,220,183,.065) 1px,transparent 1px);background-size:60px 60px;mask-image:linear-gradient(125deg,#000 18%,transparent 82%); }
.ba-hero__layout { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.96fr);align-items:center;gap:clamp(35px,5vw,80px);padding-block:clamp(160px,15vw,218px) 110px; }
.ba-hero__copy { position:relative; }
.ba-hero h1 { font-size:clamp(3.3rem,5.5vw,6.5rem);margin:20px 0 27px;line-height:1.01;max-width:780px; }
.ba-hero__copy .lead { max-width:680px;font-size:clamp(1.04rem,1.45vw,1.28rem); }
.ba-hero__manifesto { color:#f0e4ca;max-width:610px;padding-left:18px;border-left:2px solid #d8bd78;margin:28px 0 35px;font-size:.98rem; }
.ba-disclaimer { color:#aab5b7;font-size:.73rem;max-width:600px;margin:28px 0 0; }
.ba-signal { overflow:hidden;border:1px solid rgba(211,187,129,.4);border-radius:19px;background:#f4f0e8;color:#17332d;box-shadow:0 30px 75px rgba(0,0,0,.3);min-width:0; }
.ba-signal__head { display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:15px 20px;background:#eae8e0;border-bottom:1px solid #d7d8cc;font-size:.62rem;letter-spacing:.105em;font-weight:850;color:#486055;text-transform:uppercase; }
.ba-signal__head span:last-child { color:#796d59;font-size:.58rem; }
.ba-signal__body { display:grid;grid-template-columns:minmax(0,.44fr) minmax(0,.56fr); }
.ba-signal__flag { min-width:0;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(160deg,#dce1e0,#f0f0eb);border-left:7px solid #7d8992;border-right:1px solid #d7deda;padding:31px 18px 31px 23px; }
.ba-signal__flag > span { color:#485e65;font:normal clamp(2.9rem,4vw,4.75rem)/1 Georgia,serif;letter-spacing:-.035em; }
.ba-signal__flag > strong { color:#425860;font-size:.9rem;line-height:1.35;margin-top:15px; }
.ba-signal__flag > small { color:#536b71;font-size:.73rem;margin-top:11px; }
.ba-signal__summary { display:flex;flex-direction:column;justify-content:center;min-width:0;padding:24px 22px; }
.ba-signal__summary > span { color:#8a6947;letter-spacing:.1em;text-transform:uppercase;font-size:.64rem;font-weight:900; }
.ba-signal__summary p { color:#31483c;font-size:.82rem;line-height:1.55;margin:12px 0; }
.ba-signal__summary a { color:#215949;font-size:.77rem;font-weight:850;text-decoration:underline;text-underline-offset:3px;line-height:1.4; }
.ba-signal__metrics { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0;background:#fffdfa;border-top:1px solid #dddcd2; }
.ba-signal__metrics div { padding:15px 18px;border-bottom:1px solid #e9e7dc;min-width:0; }
.ba-signal__metrics div:nth-child(odd) { border-right:1px solid #e9e7dc; }
.ba-signal__metrics dt { color:#61736b;font-size:.65rem;line-height:1.25; }
.ba-signal__metrics dd { color:#1b443a;font-size:clamp(.78rem,1.1vw,.99rem);font-weight:850;margin:6px 0 0;overflow-wrap:anywhere; }
.ba-signal__foot { margin:0;padding:12px 19px;color:#5f706a;background:#f9f7f0;font-size:.66rem;line-height:1.45!important; }
.ba-signal--compact { max-width:730px;width:100%; }
.ba-signal--home { box-shadow:0 35px 90px rgba(0,0,0,.4); }
.ba-signal--home .ba-signal__flag > span { font-size:clamp(2.6rem,4.4vw,4rem); }
.ba-numbers { border-bottom:1px solid rgba(216,189,120,.15);background:linear-gradient(100deg,#182832,#142323); }
.ba-numbers__grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr)); }
.ba-numbers__grid div { display:flex;align-items:center;gap:16px;padding:30px 26px;border-right:1px solid rgba(216,189,120,.15); }
.ba-numbers__grid div:first-child { padding-left:0; }
.ba-numbers__grid div:last-child { border-right:0; }
.ba-numbers__grid strong { color:#ebcf8f;font:normal clamp(2.35rem,4vw,3.7rem)/1 Georgia,serif;letter-spacing:-.04em; }
.ba-numbers__grid span { color:#c6cfcc;font-size:.77rem;line-height:1.4; }
.ba-philosophy { background:#111b25; }
.ba-philosophy__layout { display:grid;grid-template-columns:minmax(0,1.12fr) minmax(300px,.88fr);gap:clamp(45px,8vw,130px);align-items:center; }
.ba-philosophy__layout p { color:#bdcbd0;max-width:710px; }
.ba-philosophy__layout p strong { color:#f5e7c6; }
.ba-text-link { display:inline-block;color:#e2c681;font-weight:800;border-bottom:1px solid currentColor;margin-top:11px;padding-bottom:5px; }
.ba-requirements { padding:34px;border:1px solid rgba(216,189,120,.26);border-radius:19px;background:linear-gradient(160deg,#1d302f,#142323); }
.ba-requirements__label { display:block;color:#e3c98e;font-weight:850;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:22px; }
.ba-requirements > div { display:grid;grid-template-columns:40px 1fr;gap:14px;padding:13px 0;border-top:1px solid rgba(233,217,175,.16); }
.ba-requirements > div > span { color:#bca879;font:normal 1.45rem Georgia,serif; }
.ba-requirements p { margin:0;color:#d2d8ce;font-size:.84rem;line-height:1.6; }
.ba-requirements p strong { color:#f5f2e5; }
.ba-states-section { background:linear-gradient(#101b21,#0d151c); }
.ba-section-intro { display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.7fr);align-items:end;gap:45px;margin-bottom:38px; }
.ba-section-intro .lead { max-width:470px;margin:0;color:#b7c6ca;font-size:1.03rem; }
.ba-states-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px; }
.ba-state { --ba-indicator:#829399; position:relative;padding:25px;min-height:205px;border:1px solid rgba(190,198,197,.21);border-top:4px solid var(--ba-indicator);border-radius:14px;background:linear-gradient(145deg,rgba(255,255,255,.057),rgba(255,255,255,.018)); }
.ba-state--red { --ba-indicator:#ff999d; }
.ba-state--orange { --ba-indicator:#e9b078; }
.ba-state--yellow { --ba-indicator:#eed778; }
.ba-state--tan { --ba-indicator:#d4af8c; }
.ba-state--green { --ba-indicator:#91d5ac; }
.ba-state--gray { --ba-indicator:#b2c1c6; }
.ba-state header { display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px; }
.ba-state__swatch { width:14px;height:14px;border-radius:4px;background:var(--ba-indicator);box-shadow:0 0 0 5px rgba(255,255,255,.065);margin-right:4px; }
.ba-state header strong { font:normal 2rem/1 Georgia,serif;color:var(--ba-indicator); }
.ba-state header span:last-child { display:block;flex-basis:100%;font-size:.87rem;font-weight:850;color:#f0e9d8;margin-top:5px; }
.ba-state p { margin:12px 0 0;color:#bbc8c9;font-size:.83rem;line-height:1.65; }
.ba-states-note { margin:27px 0 0;padding:23px 26px;border-left:3px solid #d8bd78;background:rgba(232,204,148,.068);color:#c3cdd0;font-size:.9rem; }
.ba-states-note strong { color:#f5e5bd; }
.ba-matrix-section { background:linear-gradient(140deg,#1a2c30,#101e24); }
.ba-matrix-panel { border-radius:18px;border:1px solid rgba(218,196,142,.3);overflow:hidden;background:#f5f4ed;color:#1d4038; }
.ba-matrix-panel__top { display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap;padding:21px 25px;background:#e2e7de;border-bottom:1px solid #cfd8d0; }
.ba-matrix-panel__top strong { font-size:.92rem; }
.ba-matrix-panel__top span { font-size:.78rem;color:#52695d; }
.ba-table-scroll { width:100%;overflow-x:auto;overscroll-behavior-x:contain; }
.ba-matrix-table { width:100%;min-width:860px;border-collapse:collapse;table-layout:fixed; }
.ba-matrix-table caption { caption-side:bottom;text-align:left;font-size:.67rem;color:#66766e;padding:13px 22px; }
.ba-matrix-table th,.ba-matrix-table td { padding:24px 16px;text-align:left;vertical-align:top;border-right:1px solid #e2e7df;border-bottom:1px solid #dce5dd;overflow-wrap:anywhere; }
.ba-matrix-table th:first-child { width:24%; }
.ba-matrix-table thead th { color:#2a5644;background:#f0f3e9;text-transform:uppercase;letter-spacing:.055em;font-size:.69rem;font-weight:900; }
.ba-matrix-table tbody th { background:#fbfaf6; }
.ba-matrix-table tbody th strong { display:block;color:#204b3a;font-size:.94rem; }
.ba-matrix-table tbody th small { display:block;margin-top:8px;font-weight:500;color:#68766c;font-size:.72rem;line-height:1.45; }
.ba-matrix-table tbody td .ba-cell-value { display:block;font-weight:850;color:#546b62;font-size:.78rem; }
.ba-matrix-table tbody td small { display:block;margin-top:7px;color:#7c8c84;font-size:.69rem;line-height:1.45; }
.ba-matrix-panel__foot { display:grid;grid-template-columns:1fr 1fr;gap:14px;background:#e8eee6;padding:20px 24px;color:#486459;font-size:.79rem;line-height:1.65; }
.ba-matrix-panel__foot strong { color:#254c3a; }
.ba-action-section { background:#101a23; }
.ba-action-layout { display:grid;grid-template-columns:1fr minmax(300px,.82fr);gap:clamp(50px,8vw,120px);align-items:center; }
.ba-action-layout p { color:#c0cbd1;max-width:720px; }
.ba-action-panel { border-radius:18px;border:1px solid rgba(222,195,128,.32);padding:32px;background:radial-gradient(circle at 0% 0%,rgba(213,194,133,.1),transparent 40%),#1b2b2c; }
.ba-action-panel > span { color:#d8bd78;text-transform:uppercase;letter-spacing:.1em;font-size:.71rem;font-weight:850; }
.ba-action-panel ol { list-style:none;margin:15px 0 0;padding:0;counter-reset:ba-step; }
.ba-action-panel li { position:relative;counter-increment:ba-step;padding:16px 0 16px 49px;border-bottom:1px solid rgba(216,189,120,.15); }
.ba-action-panel li:before { content:counter(ba-step,decimal-leading-zero);position:absolute;left:0;top:17px;font:normal 1.25rem Georgia,serif;color:#d8bd78; }
.ba-action-panel li strong { display:block;color:#f1eee0;font-size:.9rem; }
.ba-action-panel li small { display:block;color:#b6c5c0;font-size:.75rem;margin-top:4px; }
.ba-final { border-top:1px solid rgba(216,189,120,.17);background:linear-gradient(110deg,#183d37,#13252c); }
.ba-final__layout { display:grid;grid-template-columns:1fr auto;gap:55px;align-items:center; }
.ba-final__layout p { color:#d4dfd7;max-width:670px; }
.ba-final__layout small { color:#b6ccc6;display:block;max-width:690px;line-height:1.6; }
.ba-final__actions { display:flex;flex-direction:column;gap:13px;min-width:265px; }
.ba-final__actions .btn { text-align:center; }
.ba-teaser { background:radial-gradient(circle at 88% 10%,rgba(63,95,88,.24),transparent 40%),#111c26;border-top:1px solid rgba(216,189,120,.16);border-bottom:1px solid rgba(216,189,120,.16); }
.ba-teaser__layout { display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);align-items:center;gap:clamp(35px,7vw,100px); }
.ba-teaser__copy p { color:#bbc8ce;max-width:690px; }
.ba-teaser__points { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px; }
.ba-teaser__points div { padding:21px;border:1px solid rgba(216,189,120,.17);background:rgba(255,255,255,.035);border-radius:13px; }
.ba-teaser__points strong { display:block;color:#e6cd90;font:normal 2rem Georgia,serif; }
.ba-teaser__points span { display:block;color:#d7dfdc;font-size:.84rem;line-height:1.45;margin-top:7px; }
.ba-technology-note { margin:20px 0 0;padding:15px 18px;border-left:3px solid #d8bd78;background:rgba(216,189,120,.075);border-radius:0 10px 10px 0;color:#e6e2d5; }
.ba-technology-note a { text-decoration:underline;text-underline-offset:3px;color:#e2c987;font-weight:800; }
@media(max-width:1080px) {
.ba-hero__layout { grid-template-columns:1fr; gap:50px; }
.ba-hero__copy { max-width:850px; }
.ba-signal--compact { max-width:760px; }
.ba-numbers__grid div { padding:23px 16px; }
.ba-states-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.ba-philosophy__layout,.ba-action-layout,.ba-teaser__layout { gap:40px; }
}
@media(max-width:740px) {
.ba-hero__layout { padding-top:142px;padding-bottom:65px; }
.ba-hero h1 { font-size:clamp(2.8rem,9.8vw,4.7rem); }
.ba-numbers__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.ba-numbers__grid div { padding:22px 10px;border-bottom:1px solid rgba(216,189,120,.15); }
.ba-numbers__grid div:nth-child(odd) { border-right:1px solid rgba(216,189,120,.15); }
.ba-numbers__grid div:nth-child(even) { border-right:0; }
.ba-numbers__grid div:first-child { padding-left:10px; }
.ba-philosophy__layout,.ba-action-layout,.ba-teaser__layout,.ba-section-intro,.ba-final__layout { grid-template-columns:1fr; }
.ba-states-grid { grid-template-columns:1fr; }
.ba-section-intro { gap:8px; }
.ba-final__actions { min-width:0; }
.ba-action-panel,.ba-requirements { padding:25px; }
}
@media(max-width:520px) {
.ba-signal__body { grid-template-columns:1fr; }
.ba-signal__flag { border-right:0;border-bottom:1px solid #d4ddd7; }
.ba-signal__flag > span { font-size:3.5rem; }
.ba-signal__summary { padding:22px 20px; }
.ba-signal__head { padding:13px 15px; }
.ba-signal__metrics div { padding:13px 15px; }
.ba-signal__metrics dd { font-size:.82rem; }
.ba-numbers__grid strong { font-size:2.5rem; }
.ba-numbers__grid span { font-size:.69rem; }
.ba-state { padding:22px;min-height:0; }
.ba-matrix-panel__foot { grid-template-columns:1fr; }
.ba-teaser__points { grid-template-columns:1fr 1fr; }
.ba-teaser__points div { padding:14px; }
}
@media print {
.ba-page { background:#fff;color:#1d332c; }
.ba-hero,.ba-philosophy,.ba-states-section,.ba-action-section,.ba-final,.ba-matrix-section { background:white;color:#1d332c; }
.ba-hero__layout { padding-top:20px; }
.ba-page .section { padding-block:30px; }
.ba-state { break-inside:avoid;color:#1d332c; }
.ba-matrix-table { min-width:0; }
.ba-table-scroll { overflow:visible; }
.ba-numbers { background:#fff; }
.ba-page .btn { display:none; }
}
@media(prefers-reduced-motion:reduce) { .ba-page * { scroll-behavior:auto!important; animation:none!important;transition:none!important; } }
