/* RDM City DUI Pages - sectional grammar (v3 2026-08-10, scoped) */
.page-template-page-city-dui { --color-1:#000;
  --color-2:#04334b;
  --blue-color:#0073ae;
  --header-blue:#0177b4;
  --yellow-color:#fd8d1e;
  --dark-color:#001a33;
  --color-5:#fff;
  --body-size:18px;
  --h1:50px;
  --h2:40px;
  --h3:34px; }
.page-template-page-city-dui .content-area a { color:#0070a9 }
.page-template-page-city-dui .content-area a:hover { color:#0070a9;text-decoration:underline }
.page-template-page-city-dui .section-pd { padding:90px 0 }
.page-template-page-city-dui .breadcrumb-sec { background-color:#f2f3f4;padding:10px 0;font-size:15px;line-height:24px }
.page-template-page-city-dui .breadcrumb-sec a { color:var(--dark-color) }
.page-template-page-city-dui .breadcrumb-sec a:hover { text-decoration:underline }
.page-template-page-city-dui .breadcrumb-sep { color:var(--yellow-color);padding:0 8px }
.page-template-page-city-dui .credentials-row { display:flex;gap:50px;align-items:flex-start }
.page-template-page-city-dui .credentials-text { flex:1 1 60% }
.page-template-page-city-dui .credentials-photo { flex:1 1 32% }
.page-template-page-city-dui .credentials-photo img { display:block;width:100% }
.page-template-page-city-dui .credentials-photo figcaption { font-size:15px;line-height:24px;margin-top:10px;color:#5d5d5d }
.page-template-page-city-dui .office-section { background:#f2f3f4 }
.page-template-page-city-dui .office-row { display:flex;gap:50px;align-items:stretch }
.page-template-page-city-dui .office-info { flex:1 1 44% }
.page-template-page-city-dui .office-map { flex:1 1 52% }
.page-template-page-city-dui .office-map iframe { width:100%;height:100%;min-height:420px;border:0;display:block }
.page-template-page-city-dui .office-address { font-style:normal;font-weight:400;margin:0 0 20px }
.page-template-page-city-dui .office-address strong { font-weight:700 }
.page-template-page-city-dui .office-hours { font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin:0 0 20px }
.page-template-page-city-dui .office-phone { font-family:Montserrat,sans-serif;font-weight:700;font-size:28px;line-height:32px;color:var(--dark-color);display:inline-block;margin-bottom:24px }
.page-template-page-city-dui .office-phone:hover { color:var(--blue-color) }
.page-template-page-city-dui .office-actions { display:flex;gap:20px;flex-wrap:wrap }
.page-template-page-city-dui .faq-section { background-color:var(--header-blue) }
.page-template-page-city-dui .faq-section h2 { font-family:'Playfair Display',serif;font-weight:400;font-size:var(--h2);color:#fff;margin:0 0 34px }
.page-template-page-city-dui .faq-accordion { display:flex;flex-direction:column;gap:16px }
.page-template-page-city-dui .faq-accordion details { background:#fff;border-radius:16px;padding:20px 34px }
.page-template-page-city-dui .faq-accordion summary { cursor:pointer;list-style:none;position:relative;padding-right:40px;
  font-family:Montserrat,sans-serif;font-weight:700;font-size:20px;line-height:30px;color:#1a426d; }
.page-template-page-city-dui .faq-accordion summary::-webkit-details-marker { display:none }
.page-template-page-city-dui .faq-accordion summary::after { content:'';position:absolute;right:4px;top:8px;width:14px;height:14px;
  border-right:3px solid var(--yellow-color);border-bottom:3px solid var(--yellow-color);
  transform:rotate(45deg);transition:transform .2s ease; }
.page-template-page-city-dui .faq-accordion details[open] summary::after { transform:rotate(225deg);top:14px }
.page-template-page-city-dui .faq-accordion .faq-answer { padding-top:14px;font-size:17px;line-height:30px }
.page-template-page-city-dui .faq-accordion .faq-answer p { margin:0 0 14px }
.page-template-page-city-dui .faq-accordion .faq-answer p:last-child { margin-bottom:0 }
.page-template-page-city-dui .cta-section { background:var(--dark-color);color:#fff;position:relative;overflow:hidden; }
.page-template-page-city-dui .cta-section .cta-bg { position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.18 }
.page-template-page-city-dui .cta-section h2 { font-family:'Playfair Display',serif;font-weight:500;font-size:44px;line-height:1.2;color:#fff;margin:0 0 24px;max-width:900px }
.page-template-page-city-dui .cta-section p { margin:0 0 20px;max-width:900px }
.page-template-page-city-dui .cta-section a { color:var(--yellow-color) }
.page-template-page-city-dui .cta-section a:hover { text-decoration:underline }
.page-template-page-city-dui .cta-buttons { margin-top:30px;display:flex;gap:26px;align-items:center;flex-wrap:wrap }
.page-template-page-city-dui .cta-phone { font-family:Montserrat,sans-serif;font-weight:700;font-size:30px;line-height:32px;color:#fff }
.page-template-page-city-dui .cta-section a.cta-phone { color:#fff }
.page-template-page-city-dui .cta-phone:hover { text-decoration:underline }
.page-template-page-city-dui .cta-section a.btn-orange { color:var(--color-5) }
.page-template-page-city-dui .band { padding:90px 0 }
.page-template-page-city-dui .band--alt { background:#F4F8FB }
.page-template-page-city-dui .trust-strip { background:var(--color-2) }
.page-template-page-city-dui .trust-strip ul { list-style:none;margin:0;padding:24px 0;display:flex;flex-wrap:wrap;gap:12px 46px;justify-content:space-between }
.page-template-page-city-dui .trust-strip li { position:relative;padding-left:24px;color:#fff;font-family:Montserrat,sans-serif;font-weight:600;font-size:16px;line-height:24px }
.page-template-page-city-dui .trust-strip li::before { content:'';position:absolute;left:0;top:5px;height:14px;width:10px;background:var(--yellow-color);clip-path:polygon(0 0,100% 50%,0 100%) }
.page-template-page-city-dui .page-nav { background:#fff;border-bottom:1px solid #e3ecf2;padding:22px 0 }
.page-template-page-city-dui .page-nav-title { margin:0 0 8px;font-family:Montserrat,sans-serif;font-weight:700;font-size:13px;line-height:18px;letter-spacing:1.5px;text-transform:uppercase;color:var(--yellow-color) }
.page-template-page-city-dui .page-nav ul { list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 30px }
.page-template-page-city-dui .page-nav li { position:relative;padding-left:18px }
.page-template-page-city-dui .page-nav li::before { content:'';position:absolute;left:0;top:7px;height:12px;width:8px;background:var(--yellow-color);clip-path:polygon(0 0,100% 50%,0 100%) }
.page-template-page-city-dui .page-nav a { color:var(--header-blue);font-family:Montserrat,sans-serif;font-weight:600;font-size:15px;line-height:23px }
.page-template-page-city-dui .page-nav a:hover { color:var(--yellow-color) }
.page-template-page-city-dui .band { scroll-margin-top:16px }
.page-template-page-city-dui .stat-row { display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin:8px 0 40px }
.page-template-page-city-dui .stat-tile { background:#fff;border:1px solid #e3ecf2;border-top:4px solid var(--yellow-color);border-radius:12px;padding:24px 18px;text-align:center;box-shadow:0 10px 24px rgba(1,119,180,.06);display:flex;flex-direction:column;justify-content:center;gap:3px }
.page-template-page-city-dui .stat-figure { font-family:'Playfair Display',serif;font-weight:600;font-size:38px;line-height:1.15;color:var(--header-blue);display:block }
.page-template-page-city-dui .stat-label { font-family:Montserrat,sans-serif;font-weight:600;font-size:13px;line-height:19px;letter-spacing:.4px;text-transform:uppercase;color:var(--dark-color);display:block }
.page-template-page-city-dui .track-split { display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:4px 0 30px }
.page-template-page-city-dui .track-panel { background:#F4F8FB;border-left:4px solid var(--header-blue);border-radius:0 12px 12px 0;padding:26px 28px }
.page-template-page-city-dui .track-panel--admin { border-left-color:var(--yellow-color) }
.page-template-page-city-dui .track-panel p { margin:0;font-weight:500;font-size:19px;line-height:31px }
.page-template-page-city-dui .office-section { background:#fff }
.page-template-page-city-dui .office-info { background:#fff;border:1px solid #e3ecf2;border-radius:16px;box-shadow:0 12px 28px rgba(1,119,180,.07);padding:40px }
.page-template-page-city-dui .office-map { border-radius:16px;overflow:hidden;border:1px solid #e3ecf2;box-shadow:0 12px 28px rgba(1,119,180,.07) }
.page-template-page-city-dui .faq-accordion details { border:1px solid rgba(255,255,255,.45);box-shadow:0 10px 24px rgba(0,26,51,.18) }
.page-template-page-city-dui .office-info { flex:1 1 56% }
.page-template-page-city-dui .serve-cta { flex:1 1 40%;background:var(--dark-color);color:#fff;padding:44px 40px;display:flex;flex-direction:column;justify-content:center }
.page-template-page-city-dui .serve-cta-label { font-weight:700;font-size:16px;line-height:30px;text-transform:uppercase;color:#fff }
.page-template-page-city-dui .serve-cta-phone { font-family:Montserrat,sans-serif;font-weight:700;font-size:32px;line-height:36px;color:#fff;display:inline-block;margin-bottom:8px }
.page-template-page-city-dui .serve-cta-phone:hover { text-decoration:underline }
.page-template-page-city-dui .serve-cta-note { font-size:16px;line-height:26px;color:#ffffffb2;margin:0 0 24px }
.page-template-page-city-dui .serve-cta .btn { align-self:flex-start }
@media (max-width:1199px) {
  .page-template-page-city-dui { --h2:35px }
}
@media (max-width:991px) {
  .page-template-page-city-dui .credentials-row { flex-direction:column }
  .page-template-page-city-dui .office-row { flex-direction:column }
  .page-template-page-city-dui .office-map iframe { min-height:340px }
  .page-template-page-city-dui .cta-section h2 { font-size:36px }
  .page-template-page-city-dui .trust-strip ul { justify-content:flex-start }
  .page-template-page-city-dui .stat-row { grid-template-columns:1fr 1fr }
  .page-template-page-city-dui .track-split { grid-template-columns:1fr }
}
@media (max-width:767px) {
  .page-template-page-city-dui { --body-size:16px;--h2:30px }
  .page-template-page-city-dui .section-pd { padding:50px 0 }
  .page-template-page-city-dui .office-map iframe { min-height:260px }
  .page-template-page-city-dui .cta-section h2 { font-size:30px }
  .page-template-page-city-dui .faq-accordion details { padding:16px 20px }
  .page-template-page-city-dui .faq-accordion summary { font-size:17px;line-height:26px }
  .page-template-page-city-dui .band { padding:56px 0 }
  .page-template-page-city-dui .trust-strip ul { gap:10px 30px;padding:20px 0 }
  .page-template-page-city-dui .trust-strip li { font-size:15px }
  .page-template-page-city-dui .page-nav ul { gap:8px 24px }
  .page-template-page-city-dui .stat-row { gap:14px }
  .page-template-page-city-dui .stat-figure { font-size:30px }
  .page-template-page-city-dui .stat-tile { padding:18px 12px }
  .page-template-page-city-dui .office-info { padding:28px 22px }
  .page-template-page-city-dui .track-panel { padding:22px 20px }
  .page-template-page-city-dui .serve-cta { padding:32px 24px }
  .page-template-page-city-dui .serve-cta-phone { font-size:26px;line-height:30px }
}
@media (max-width:480px) {
  .page-template-page-city-dui .office-map iframe { min-height:240px }
}

/* v3 hero banner ruleset (ported 2026-08-13 - theme does not style banner-row structure) */
.page-template-page-city-dui .practice-area-detail-banner { position:relative;overflow:hidden;display:flex;align-items:flex-end;
  background:var(--dark-color); }
.page-template-page-city-dui .practice-area-detail-banner .practice-area-banner { width:100%;height:100%;position:absolute;top:0;left:0;object-fit:cover;z-index:0; }
.page-template-page-city-dui .practice-area-detail-banner::after { content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(90deg, rgba(0,26,51,.88) 0%, rgba(0,26,51,.55) 55%, rgba(0,26,51,.15) 100%); }
.page-template-page-city-dui .practice-area-detail-banner .custom-container { position:relative;z-index:2;color:#fff }
.page-template-page-city-dui .banner-row { display:flex;align-items:flex-end;gap:30px;padding-top:70px }
.page-template-page-city-dui .banner-col-content { flex:1 1 62%;padding:0 0 60px }
.page-template-page-city-dui .banner-col-image { flex:1 1 32%;align-self:flex-end;display:flex;justify-content:flex-end }
.page-template-page-city-dui .banner-col-image img { display:block;max-height:520px;width:auto }
.page-template-page-city-dui .banner-title { font-family:'Playfair Display',serif;font-weight:500;font-size:70px;line-height:85px;margin:0 0 18px;color:#fff; }
.page-template-page-city-dui .banner-lead { max-width:640px;font-weight:400;font-size:19px;line-height:32px;margin:0 0 28px }
.page-template-page-city-dui .banner-content ul { list-style:none;display:flex;flex-wrap:wrap;margin:0 0 34px;padding:0 }
.page-template-page-city-dui .banner-content ul li { padding-left:25px;position:relative;width:48%;text-align:left;font-weight:500;line-height:130%;margin-bottom:14px; }
.page-template-page-city-dui .banner-content ul li::before { content:'';position:absolute;left:0;top:5px;height:14px;width:10px;background:var(--yellow-color);
  clip-path:polygon(0 0,100% 50%,0 100%); }
.page-template-page-city-dui .practice-area-detail-banner-btn-wrapper { display:inline-flex;gap:30px;align-items:flex-end;flex-wrap:wrap }
.page-template-page-city-dui main .btn { display:inline-block;border-radius:0;position:relative;border:1px solid;
  font-family:Montserrat,sans-serif;font-weight:700;font-size:16px;line-height:18px;letter-spacing:0;
  text-align:center;vertical-align:middle;text-transform:uppercase;padding:22px 30px;cursor:pointer; }
.page-template-page-city-dui main .btn-orange { background-color:var(--yellow-color);color:var(--color-5);border-color:var(--yellow-color) }
.page-template-page-city-dui main .btn-orange:hover { background-color:var(--blue-color);color:#fff;border-color:#fff }
.page-template-page-city-dui .banner-phone { display:inline-block;color:#fff }
.page-template-page-city-dui .banner-phone-label { font-weight:700;font-size:16px;line-height:30px;text-transform:uppercase;display:block }
.page-template-page-city-dui .banner-phone-number { font-family:Montserrat,sans-serif;font-weight:700;font-size:32px;line-height:30.6px;color:#fff }
.page-template-page-city-dui .banner-phone:hover .banner-phone-number { text-decoration:underline }
.page-template-page-city-dui .cta-section a.btn-orange { color:var(--color-5) }
.page-template-page-city-dui .serve-cta .btn { align-self:flex-start }
@media (max-width:1199px) {
  .page-template-page-city-dui .banner-title { font-size:54px;line-height:1.2 }
}
@media (max-width:991px) {
  .page-template-page-city-dui .banner-col-image { display:none }
  .page-template-page-city-dui .banner-col-content { padding-bottom:50px }
}
@media (max-width:767px) {
  .page-template-page-city-dui .banner-title { font-size:40px;line-height:1.25 }
  .page-template-page-city-dui .banner-content ul li { width:100% }
  .page-template-page-city-dui .practice-area-detail-banner-btn-wrapper { gap:18px }
  .page-template-page-city-dui main .btn { padding:18px 22px;font-size:15px }
  .page-template-page-city-dui .banner-phone-number { font-size:26px }
}
@media (max-width:480px) {
  .page-template-page-city-dui .banner-title { font-size:33px }
}

/* mobile CTA stack - must stay last (overrides banner base wrapper rule) */
@media (max-width:767px) {
  .page-template-page-city-dui .practice-area-detail-banner-btn-wrapper { display:flex;flex-direction:column;align-items:flex-start;gap:18px }
  .page-template-page-city-dui .practice-area-detail-banner-btn-wrapper .btn { width:100%;text-align:center }
}

/* content list treatment (Josh Brown 2026-08-13): orange arrow bullets + v3 step-cards port */
.page-template-page-city-dui .content-area section ul { list-style:none;padding-left:0;margin:0 0 2rem }
.page-template-page-city-dui .content-area section ul li { position:relative;padding-left:24px;line-height:30px;margin-bottom:15px }
.page-template-page-city-dui .content-area section ul li::before { content:'';position:absolute;left:0;top:8px;height:14px;width:10px;background:var(--yellow-color);clip-path:polygon(0 0,100% 50%,0 100%) }
.page-template-page-city-dui .content-area section ul.step-cards { list-style:none;padding-left:0;margin:0 0 2rem;display:grid;grid-template-columns:1fr 1fr;gap:20px;counter-reset:step }
.page-template-page-city-dui .content-area section ul.step-cards li { background:#fff;border:1px solid #e3ecf2;border-radius:16px;padding:26px 28px 26px 78px;margin:0;box-shadow:0 10px 24px rgba(1,119,180,.06);position:relative;line-height:29px }
.page-template-page-city-dui .content-area section ul.step-cards li::before { counter-increment:step;content:counter(step);position:absolute;left:26px;top:24px;height:36px;width:36px;background:var(--yellow-color);clip-path:none;border-radius:50%;color:#fff;font-family:Montserrat,sans-serif;font-weight:700;font-size:17px;line-height:36px;text-align:center }
@media (max-width:767px) {
  .page-template-page-city-dui .content-area section ul.step-cards { grid-template-columns:1fr }
  .page-template-page-city-dui .content-area section ul.step-cards li { padding:22px 20px 22px 68px }
  .page-template-page-city-dui .content-area section ul.step-cards li::before { left:20px;top:20px }
}
