/* DUI Checkpoints Finder — About Us dedicated stylesheet.
   Scoped to .dcf-about to avoid changes to existing CMS components.
   Colors coordinate with the existing dark-navy and yellow identity. */
.dcf-about {
  --about-navy:#071e40;
  --about-navy-2:#102c50;
  --about-yellow:#ffd32e;
  --about-ink:#172b44;
  --about-muted:#5a6b80;
  --about-line:#dde5ed;
  --about-surface:#f4f7fa;
  color:var(--about-ink);
  font:inherit;
  font-size:16px;
  line-height:1.7;
  overflow-wrap:anywhere;
}
.dcf-about *, .dcf-about *::before, .dcf-about *::after { box-sizing:border-box; }
.dcf-about :is(h1,h2,h3,p) { margin-top:0; }
.dcf-about :is(h1,h2,h3) { line-height:1.22; letter-spacing:-.025em; }
.dcf-about :is(p,li) { max-width:76ch; }
.dcf-about a {color:#0b4f91;text-underline-offset:3px;}
.dcf-about a:focus-visible, .dcf-about summary:focus-visible {outline:3px solid #ffc928;outline-offset:4px;border-radius:4px;}
.dcf-about .ab-shell {width:min(1160px,calc(100% - 36px));margin-inline:auto;}
.dcf-about .ab-eyebrow {display:inline-block; font-size:.76rem; font-weight:850; letter-spacing:.15em; text-transform:uppercase; color:#a0780a; margin-bottom:13px;}
.dcf-about .ab-section {padding:67px 0;}
.dcf-about .ab-section:nth-of-type(even) {background:var(--about-surface);}
.dcf-about .ab-head {margin-bottom:28px;}
.dcf-about .ab-head h2 {font-size:clamp(1.8rem,3vw,2.45rem);color:var(--about-navy);max-width:780px;margin-bottom:13px;}
.dcf-about .ab-head>p {color:var(--about-muted);font-size:1.02rem;}
.dcf-about .ab-jump {margin-top:-23px;position:relative;z-index:1;}
.dcf-about .ab-jump-inner {background:#fff;border:1px solid var(--about-line);border-radius:16px;box-shadow:0 12px 35px #09254819;padding:18px 24px;display:flex;align-items:center;flex-wrap:wrap;gap:12px 18px;}
.dcf-about .ab-jump-label {font-weight:800;color:var(--about-navy);margin-right:auto;}
.dcf-about .ab-jump-links {display:flex;flex-wrap:wrap;gap:9px;}
.dcf-about .ab-jump-links a {color:#0a315d;text-decoration:none;background:#f4f7fa;border:1px solid #dce4ed;border-radius:999px;padding:6px 12px;font-weight:750;font-size:.85rem;}
.dcf-about .ab-jump-links a:hover {background:#fff5d2;border-color:#e6c351;}
.dcf-about .ab-lead-grid {display:grid;grid-template-columns:minmax(0,1.35fr) minmax(270px,.65fr);gap:30px;align-items:start;}
.dcf-about .ab-copy p {color:#415167;margin-bottom:18px;}
.dcf-about .ab-mission {background:var(--about-navy);border-radius:17px;padding:26px;border-top:5px solid var(--about-yellow);color:#e3ecf6;}
.dcf-about .ab-mission span {color:var(--about-yellow);font-weight:850;letter-spacing:.08em;font-size:.75rem;}
.dcf-about .ab-mission h3 {color:#fff;font-size:1.4rem;margin:7px 0 10px;}
.dcf-about .ab-mission p {margin:0;color:#d6e3ef;}
.dcf-about .ab-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;}
.dcf-about .ab-card {background:#fff;border:1px solid var(--about-line);border-radius:15px;padding:22px;box-shadow:0 4px 16px #08244b07;}
.dcf-about .ab-card .ab-num{font-size:1.1rem;font-weight:850;color:#b18500;letter-spacing:.035em;}
.dcf-about .ab-card h3 {font-size:1.06rem;color:var(--about-navy);margin:12px 0 9px;}
.dcf-about .ab-card p {font-size:.92rem;color:var(--about-muted);margin-bottom:0;}
.dcf-about .ab-grid--three {grid-template-columns:repeat(3,minmax(0,1fr));}
.dcf-about .ab-checklist {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
.dcf-about .ab-source {background:#fff;border:1px solid var(--about-line);border-radius:13px;padding:22px;}
.dcf-about .ab-source h3::before {content:"✓";display:inline-grid;place-items:center;margin-right:11px;width:26px;height:26px;background:#fff0b4;color:var(--about-navy);border-radius:50%;font-size:.81rem;}
.dcf-about .ab-source h3 {font-size:1rem;color:var(--about-navy);margin-bottom:9px;}
.dcf-about .ab-source p {margin-bottom:0;color:var(--about-muted);font-size:.91rem;}
.dcf-about .ab-notice {background:#fffbeb;border:1px solid #f0dda0;border-left:4px solid #d9a514;border-radius:10px;padding:15px 18px;margin-top:20px;font-size:.92rem;color:#5d4b1d;}
.dcf-about .ab-step {position:relative;}
.dcf-about .ab-step:not(:last-child)::after {content:"";position:absolute;top:36px;right:-13px;width:10px;border-top:2px dashed #bcc9d7;}
.dcf-about .ab-founder {background:#fff;border:1px solid var(--about-line);border-radius:20px;padding:clamp(20px,3vw,34px);display:grid;grid-template-columns:260px minmax(0,1fr);gap:35px;align-items:center;box-shadow:0 12px 35px #0925480b;}
.dcf-about .ab-portrait {background:linear-gradient(135deg,#edf2f6,#dbe6f0);border-radius:17px;min-height:270px;display:flex;align-items:flex-end;justify-content:center;border:1px solid var(--about-line);overflow:hidden;}
.dcf-about .ab-portrait img {display:block;width:100%;height:300px;object-fit:contain;object-position:center bottom;}
.dcf-about .ab-role {display:inline-block;background:#fff0aa;color:#614a00;border-radius:999px;padding:5px 13px;font-weight:850;font-size:.75rem;letter-spacing:.045em;text-transform:uppercase;margin-bottom:12px;}
.dcf-about .ab-founder h3 {font-size:clamp(1.65rem,3vw,2.2rem);color:var(--about-navy);margin-bottom:7px;}
.dcf-about .ab-founder .ab-subtitle {color:#5b6c80;font-weight:760;margin-bottom:15px;}
.dcf-about .ab-founder p {color:#405267;margin-bottom:12px;}
.dcf-about [id="Dinesh-K-Verma"], .dcf-about [id="John-Campanella"], .dcf-about [id="hieu-vu"] {scroll-margin-top:105px;}
.dcf-about .ab-team {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;}
.dcf-about .ab-person {background:#fff;border:1px solid var(--about-line);border-radius:18px;padding:25px;min-width:0;box-shadow:0 7px 24px #08244b0b;}
.dcf-about .ab-person-top {display:flex;align-items:center;gap:18px;margin-bottom:18px;}
.dcf-about .ab-person-photo {width:112px;height:112px;border:4px solid #ffe18a;border-radius:50%;object-fit:cover;object-position:center 24%;flex:0 0 auto;background:#ecf1f6;}
.dcf-about .ab-person h3 {font-size:1.48rem;color:var(--about-navy);margin-bottom:3px;}
.dcf-about .ab-person .ab-role {margin-bottom:6px;font-size:.66rem;padding:4px 10px;}
.dcf-about .ab-location {color:var(--about-muted);font-size:.88rem;margin:0;}
.dcf-about .ab-person>p {color:#42546a;margin-bottom:16px;}
.dcf-about .ab-links-label {font-weight:800;color:var(--about-navy);font-size:.88rem;margin:16px 0 9px;}
.dcf-about .ab-link-list {display:flex;flex-wrap:wrap;gap:9px;}
.dcf-about .ab-link-list a {display:inline-block;text-decoration:none;font-size:.79rem;font-weight:750;background:#f4f7fa;border:1px solid #dbe4ec;border-radius:999px;padding:7px 12px;color:#144673;}
.dcf-about .ab-link-list a:hover {border-color:#e4c153;background:#fff9e9;}
.dcf-about .ab-section.ab-independent {background:linear-gradient(130deg,#071e40,#122f54);color:#fff;}
.dcf-about .ab-independent .ab-eyebrow{color:var(--about-yellow);}
.dcf-about .ab-independent h2{color:#fff;}
.dcf-about .ab-independent p{color:#d6e4f2;}
.dcf-about .ab-pill-row{display:flex;gap:9px;flex-wrap:wrap;margin-top:20px;}
.dcf-about .ab-pill-row span{border:1px solid #ffffff44;border-radius:99px;padding:7px 13px;font-weight:750;font-size:.85rem;background:#ffffff0b;}
/* FAQ: keyboard-accessible native details, premium open state and custom plus/minus toggle. */
.dcf-about .ab-faq .ab-head{margin-bottom:24px;}
.dcf-about .ab-faq-list{display:grid;gap:12px;}
.dcf-about .ab-faq-item{margin:0;overflow:hidden;background:#fff;border:1px solid #dbe4ed;border-radius:15px;box-shadow:0 3px 12px #09254809;transition:border-color .18s ease,box-shadow .18s ease;}
.dcf-about .ab-faq-item[open]{border-color:#d0ae42;box-shadow:0 8px 24px #09254813;}
.dcf-about .ab-faq-item summary{list-style:none;display:flex;align-items:center;gap:16px;padding:21px 24px;cursor:pointer;font-weight:800;color:var(--about-navy);line-height:1.4;}
.dcf-about .ab-faq-item summary::-webkit-details-marker{display:none;}
.dcf-about .ab-faq-index{font-size:.78rem;color:#81620b;font-weight:900;letter-spacing:.06em;flex:0 0 33px;}
.dcf-about .ab-faq-question{flex:1;min-width:0;font-size:1rem;}
.dcf-about .ab-faq-toggle{position:relative;flex:0 0 32px;width:32px;height:32px;border-radius:50%;background:#f5f7f9;border:1px solid #dce4ed;}
.dcf-about .ab-faq-toggle::before,.dcf-about .ab-faq-toggle::after{content:"";position:absolute;top:50%;left:50%;width:12px;height:2px;border-radius:2px;background:#12335c;transform:translate(-50%,-50%);}
.dcf-about .ab-faq-toggle::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .18s ease;}
.dcf-about .ab-faq-item[open] .ab-faq-toggle{background:#ffedb3;border-color:#efcf6c;}
.dcf-about .ab-faq-item[open] .ab-faq-toggle::after{transform:translate(-50%,-50%) rotate(0deg);}
.dcf-about .ab-faq-answer{padding:0 24px 21px 73px;}
.dcf-about .ab-faq-answer p{border-top:1px solid #e5eaf1;padding-top:15px;color:var(--about-muted);margin:0;max-width:92ch;font-size:.965rem;line-height:1.75;}
.dcf-about .ab-disclaimer {background:#eef3f7;border:1px solid var(--about-line);border-radius:15px;padding:25px 28px;}
.dcf-about .ab-disclaimer h2 {font-size:1.35rem;color:var(--about-navy);margin-bottom:12px;}
.dcf-about .ab-disclaimer p{color:#46586d;margin-bottom:12px;max-width:none;font-size:.92rem;}
.dcf-about .ab-disclaimer p:last-child{margin-bottom:0;}
@media(max-width:900px){
 .dcf-about .ab-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
 .dcf-about .ab-grid--three,.dcf-about .ab-checklist {grid-template-columns:repeat(2,minmax(0,1fr));}
 .dcf-about .ab-lead-grid{grid-template-columns:1fr;}
 .dcf-about .ab-founder{grid-template-columns:220px minmax(0,1fr);gap:23px;}
 .dcf-about .ab-step::after{display:none;}
}
@media(max-width:640px){
 .dcf-about .ab-shell{width:min(100% - 28px,1160px);}
 .dcf-about .ab-hero{padding:56px 0 63px;}
 .dcf-about .ab-section{padding:47px 0;}
 .dcf-about .ab-jump-inner{padding:16px;}
 .dcf-about .ab-jump-label{width:100%;}
 .dcf-about .ab-grid,.dcf-about .ab-grid--three,.dcf-about .ab-checklist,.dcf-about .ab-team{grid-template-columns:1fr;}
 .dcf-about .ab-founder{grid-template-columns:1fr;}
 .dcf-about .ab-portrait{min-height:0;max-width:280px;width:100%;margin-inline:auto;}
 .dcf-about .ab-portrait img{height:280px;}
 .dcf-about .ab-person{padding:19px;}
 .dcf-about .ab-person-photo{width:92px;height:92px;}
 .dcf-about .ab-person h3{font-size:1.27rem;}
 .dcf-about .ab-person-top{gap:13px;}
 .dcf-about .ab-disclaimer{padding:21px;}
 .dcf-about .ab-faq-item summary{gap:10px;padding:17px 15px;}
 .dcf-about .ab-faq-index{flex-basis:25px;}
 .dcf-about .ab-faq-question{font-size:.94rem;}
 .dcf-about .ab-faq-toggle{width:28px;height:28px;flex-basis:28px;}
 .dcf-about .ab-faq-answer{padding:0 15px 18px 50px;}
}
@media(prefers-reduced-motion:reduce){.dcf-about *, .dcf-about *::before, .dcf-about *::after {scroll-behavior:auto!important;transition-duration:.01ms!important;}}

/* v2.4.35: Default CMS Hero, not a separate About Us hero */
.page-hero.hero-about .page-heading {text-align:center;max-width:100%;margin-inline:auto;}
.page-hero.hero-about .page-heading h1 {margin-inline:auto;}
.page-hero.hero-about .page-heading .hero-description {margin-inline:auto;max-width:850px;}
.dcf-about .ab-jump {margin-top:24px;z-index:0;}
/* Keep editorial independence text full width rather than a narrow text column. */
.dcf-about .ab-independent .ab-shell {width:min(calc(100% - 36px),1360px);}
.dcf-about .ab-independent .ab-shell > p {max-width:none;width:100%;line-height:1.85;margin-bottom:19px;}
/* Question cards: bold left accent, distinctive squared number token, generous text space. */
.dcf-about .ab-faq-boxes {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;}
.dcf-about .ab-faq-boxes .ab-faq-item {min-width:0;border:1px solid #d6e0ed;border-left:5px solid #f5c32d;border-radius:14px;background:linear-gradient(180deg,#fff,#fcfdff);box-shadow:0 7px 20px #0a264812;transition:box-shadow .15s ease,border-color .15s ease;}
.dcf-about .ab-faq-boxes .ab-faq-item[open] {border-color:#deb54a;border-left-color:#f0b91e;box-shadow:0 12px 25px #0a26481c;}
.dcf-about .ab-faq-boxes .ab-faq-item summary {align-items:center;padding:23px 19px;gap:14px;min-height:105px;}
.dcf-about .ab-faq-boxes .ab-faq-index {height:38px;width:38px;flex:0 0 38px;display:grid;place-items:center;color:#09274b;background:#ffecae;border-radius:10px;letter-spacing:0;font-size:.81rem;}
.dcf-about .ab-faq-boxes .ab-faq-question {font-size:1.02rem;line-height:1.45;color:#122e53;}
.dcf-about .ab-faq-boxes .ab-faq-toggle {width:31px;height:31px;flex-basis:31px;border-color:#d5e2ee;background:#edf4fa;}
.dcf-about .ab-faq-boxes .ab-faq-answer {padding:0 22px 22px;}
.dcf-about .ab-faq-boxes .ab-faq-answer p {padding-top:17px;max-width:none;}
@media(max-width:850px){.dcf-about .ab-faq-boxes{grid-template-columns:1fr;gap:12px;}.dcf-about .ab-faq-boxes .ab-faq-item summary{min-height:0;}}
@media(max-width:480px){.dcf-about .ab-faq-boxes .ab-faq-item summary{padding:17px 13px;gap:10px;}.dcf-about .ab-faq-boxes .ab-faq-index{width:32px;height:32px;flex-basis:32px;}.dcf-about .ab-faq-boxes .ab-faq-question{font-size:.94rem;}.dcf-about .ab-faq-boxes .ab-faq-answer{padding:0 15px 18px;}}
