/* Defendoria Location V2 layout repair, 2026-11-02.
   Fix icon/text column crushing from conflicting grid styles.
   Existing responsive design, forms, tab behavior and global site shell remain.
 */
.df-loc.dfl-v2 .challenge .challenge-layout{
display:grid!important;
grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr)!important;
align-items:start!important;
gap:clamp(27px,4.7vw,70px)!important;
}
.df-loc.dfl-v2 .challenge .challenge-layout>div{min-width:0!important}
.df-loc.dfl-v2 .challenge .challenge-list{
display:block!important;min-width:0!important;width:100%!important;
overflow:hidden!important;margin:0!important;padding:0!important;
border:1px solid #DBE5F3!important;border-radius:17px!important;
background:#FFFFFF!important;
}
.df-loc.dfl-v2 .challenge .challenge-list article{
display:flex!important;flex-flow:row nowrap!important;
align-items:flex-start!important;justify-content:flex-start!important;
gap:15px!important;width:100%!important;max-width:none!important;
min-width:0!important;min-height:0!important;
margin:0!important;padding:19px 22px!important;
border:0!important;border-bottom:1px solid #DBE5F3!important;
background:#FFFFFF!important;
grid-template-columns:none!important;grid-template-rows:none!important;
}
.df-loc.dfl-v2 .challenge .challenge-list article:last-child{
border-bottom:0!important;
}
.df-loc.dfl-v2 .challenge .challenge-list article>.symbol{
display:grid!important;place-items:center!important;align-self:flex-start!important;
flex:0 0 43px!important;width:43px!important;height:43px!important;
margin:0!important;padding:0!important;border-radius:11px!important;
background:#E8F1FF!important;color:#2457DC!important;font-size:19px!important;
}
.df-loc.dfl-v2 .challenge .challenge-list article>div{
display:block!important;flex:1 1 auto!important;min-width:0!important;
width:auto!important;max-width:none!important;
margin:0!important;padding:0!important;float:none!important;
grid-column:auto!important;grid-row:auto!important;overflow-wrap:normal!important;
}
.df-loc.dfl-v2 .challenge .challenge-list article h3{
display:block!important;width:auto!important;max-width:none!important;
font:750 17px/1.37 "Segoe UI",system-ui,sans-serif!important;
letter-spacing:-.025em!important;color:#10213B!important;
white-space:normal!important;overflow-wrap:normal!important;word-break:normal!important;
margin:0 0 7px!important;padding:0!important;
}
.df-loc.dfl-v2 .challenge .challenge-list article p{
display:block!important;width:auto!important;max-width:none!important;
font:400 12.5px/1.65 "Segoe UI",system-ui,sans-serif!important;
color:#51627D!important;white-space:normal!important;
overflow-wrap:normal!important;word-break:normal!important;
margin:0!important;padding:0!important;
}
/* Services: give thumbnail a fixed usable width and copy the remaining card width. */
.df-loc.dfl-v2 .services .service-layout{
display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
gap:18px!important;align-items:stretch!important;min-height:0!important;
}
.df-loc.dfl-v2 .services .service-feature{min-width:0!important;min-height:545px!important}
.df-loc.dfl-v2 .services .service-stack{
display:flex!important;flex-direction:column!important;
gap:13px!important;width:100%!important;min-width:0!important;
grid-template-columns:none!important;grid-template-rows:none!important;
margin:0!important;padding:0!important;
}
.df-loc.dfl-v2 .services .service-stack>.service-item{
display:flex!important;flex-flow:row nowrap!important;
align-items:stretch!important;justify-content:flex-start!important;
gap:0!important;flex:1 1 0!important;min-width:0!important;
min-height:165px!important;width:100%!important;max-width:none!important;
margin:0!important;padding:0!important;
background:#FFFFFF!important;border:1px solid #DBE5F3!important;
border-radius:15px!important;overflow:hidden!important;
grid-template-columns:none!important;grid-template-rows:none!important;
}
.df-loc.dfl-v2 .services .service-stack>.service-item>img{
display:block!important;position:static!important;
flex:0 0 155px!important;width:155px!important;max-width:155px!important;
height:auto!important;min-height:0!important;
align-self:stretch!important;object-fit:cover!important;
margin:0!important;padding:0!important;border:0!important;
border-radius:0!important;
}
.df-loc.dfl-v2 .services .service-stack>.service-item>.si-copy{
display:flex!important;flex:1 1 auto!important;flex-flow:column nowrap!important;
justify-content:center!important;align-items:flex-start!important;
min-width:0!important;width:auto!important;max-width:none!important;
margin:0!important;padding:15px 19px!important;
background:#FFFFFF!important;float:none!important;
}
.df-loc.dfl-v2 .services .service-stack>.service-item .si-copy h3{
display:block!important;width:auto!important;max-width:none!important;
color:#10213B!important;font:760 17px/1.3 "Segoe UI",system-ui,sans-serif!important;
letter-spacing:-.02em!important;white-space:normal!important;
word-break:normal!important;overflow-wrap:normal!important;
margin:0 0 6px!important;padding:0!important;
}
.df-loc.dfl-v2 .services .service-stack>.service-item .si-copy p{
display:block!important;max-width:none!important;width:auto!important;
color:#51627D!important;font:400 12px/1.55 "Segoe UI",system-ui,sans-serif!important;
word-break:normal!important;overflow-wrap:normal!important;
margin:0 0 9px!important;padding:0!important;
}
.df-loc.dfl-v2 .services .service-stack>.service-item .si-copy a{
display:inline!important;width:auto!important;color:#2457DC!important;
font:750 12px/1.4 "Segoe UI",system-ui,sans-serif!important;
text-decoration:underline!important;text-underline-offset:3px!important;
word-break:normal!important;overflow-wrap:normal!important;
}
/* Remote service image caption was stretched into a massive overlay. */
.df-loc.dfl-v2 .approach .approach-visual{
display:block!important;position:relative!important;
width:100%!important;min-width:0!important;height:475px!important;
overflow:hidden!important;border-radius:19px!important;
}
.df-loc.dfl-v2 .approach .approach-visual>img{
width:100%!important;height:100%!important;display:block!important;
object-fit:cover!important;
}
.df-loc.dfl-v2 .approach .approach-chip{
position:absolute!important;inset:auto 15px 16px!important;
display:flex!important;flex-flow:row nowrap!important;
justify-content:flex-start!important;align-items:center!important;
gap:12px!important;min-width:0!important;width:auto!important;
max-width:none!important;min-height:0!important;height:auto!important;
margin:0!important;padding:13px 15px!important;
border:1px solid #DBE5F3!important;border-radius:12px!important;
background:#FFFFFF!important;color:#10213B!important;
box-shadow:0 12px 28px rgba(16,33,59,.12)!important;
grid-template-columns:none!important;grid-template-rows:none!important;
}
.df-loc.dfl-v2 .approach .approach-chip>.pin{
display:grid!important;place-items:center!important;flex:0 0 38px!important;
width:38px!important;height:38px!important;
margin:0!important;padding:0!important;border-radius:9px!important;
background:#FFD34C!important;color:#10213B!important;
}
.df-loc.dfl-v2 .approach .approach-chip>div{
display:block!important;flex:1 1 auto!important;min-width:0!important;
width:auto!important;max-width:none!important;
margin:0!important;padding:0!important;
}
.df-loc.dfl-v2 .approach .approach-chip b{
display:block!important;width:auto!important;max-width:none!important;
color:#10213B!important;font:750 12px/1.38 "Segoe UI",system-ui,sans-serif!important;
word-break:normal!important;overflow-wrap:normal!important;
margin:0 0 4px!important;
}
.df-loc.dfl-v2 .approach .approach-chip small{
display:block!important;max-width:none!important;width:auto!important;
color:#51627D!important;font:400 10.5px/1.4 "Segoe UI",system-ui,sans-serif!important;
word-break:normal!important;overflow-wrap:normal!important;
margin:0!important;
}
/* Keep all sectional contents from exceeding their columns. */
.df-loc.dfl-v2 :is(.challenge-layout,.service-layout,.approach-grid,.intake-grid) > *{
min-width:0!important;
}
@media(max-width:900px){
 .df-loc.dfl-v2 .challenge .challenge-layout{
 grid-template-columns:1fr!important;gap:25px!important;
 }
 .df-loc.dfl-v2 .services .service-layout{
 grid-template-columns:1fr!important;
 }
 .df-loc.dfl-v2 .services .service-feature{min-height:390px!important}
 .df-loc.dfl-v2 .services .service-stack>.service-item{
 flex:0 0 auto!important;min-height:156px!important;
 }
 .df-loc.dfl-v2 .approach .approach-visual{height:390px!important}
}
@media(max-width:530px){
 .df-loc.dfl-v2 .challenge .challenge-list article{
 padding:14px 12px!important;gap:10px!important;
 }
 .df-loc.dfl-v2 .challenge .challenge-list article>.symbol{
 flex-basis:35px!important;width:35px!important;height:35px!important;font-size:16px!important;
 }
 .df-loc.dfl-v2 .challenge .challenge-list article h3{font-size:15px!important}
 .df-loc.dfl-v2 .challenge .challenge-list article p{font-size:11.5px!important}
 .df-loc.dfl-v2 .services .service-stack>.service-item>img{
 flex-basis:108px!important;width:108px!important;max-width:108px!important;
 }
 .df-loc.dfl-v2 .services .service-stack>.service-item>.si-copy{padding:12px!important}
 .df-loc.dfl-v2 .services .service-stack>.service-item .si-copy h3{font-size:14px!important}
 .df-loc.dfl-v2 .services .service-stack>.service-item .si-copy p{font-size:11px!important}
 .df-loc.dfl-v2 .services .service-stack>.service-item .si-copy a{font-size:11px!important}
 .df-loc.dfl-v2 .approach .approach-visual{height:305px!important}
 .df-loc.dfl-v2 .approach .approach-chip{
 inset:auto 9px 9px!important;padding:10px!important;gap:9px!important;
 }
 .df-loc.dfl-v2 .approach .approach-chip>.pin{
 flex-basis:31px!important;width:31px!important;height:31px!important;
 }
 .df-loc.dfl-v2 .approach .approach-chip b{font-size:11px!important}
 .df-loc.dfl-v2 .approach .approach-chip small{font-size:9.6px!important}
}
@media(prefers-reduced-motion:reduce){
 .df-loc.dfl-v2 :is(.challenge-list article,.service-item,.approach-chip){
 transition:none!important;transform:none!important;
 }
}

/* Optional, city-specific workflow notes for the 20 reviewed location pages. */
.df-loc.dfl-v2 .city-context{display:block!important;min-width:0!important;max-width:570px!important;background:#F0F5FF!important;border:1px solid #DBE5F3!important;border-radius:13px!important;padding:18px 19px!important;margin:0 0 21px!important;color:#10213B!important}
.df-loc.dfl-v2 .city-context>strong{display:block!important;font:760 14px/1.4 "Segoe UI",system-ui,sans-serif!important;color:#10213B!important;margin:0 0 8px!important}
.df-loc.dfl-v2 .city-context>p{font:400 12px/1.65 "Segoe UI",system-ui,sans-serif!important;color:#51627D!important;margin:0 0 11px!important;max-width:none!important}
.df-loc.dfl-v2 .city-context ul{display:grid!important;gap:7px!important;list-style:none!important;margin:0!important;padding:0!important}
.df-loc.dfl-v2 .city-context li{display:flex!important;align-items:flex-start!important;gap:9px!important;margin:0!important;padding:0!important;color:#10213B!important;font:550 11.5px/1.5 "Segoe UI",system-ui,sans-serif!important}
.df-loc.dfl-v2 .city-context li:before{content:"✓"!important;display:grid!important;place-items:center!important;flex:0 0 17px!important;width:17px!important;height:17px!important;margin:0!important;border-radius:50%!important;background:#2457DC!important;color:#FFFFFF!important;font:750 10px/1 "Segoe UI",system-ui,sans-serif!important}
@media(max-width:530px){.df-loc.dfl-v2 .city-context{padding:15px!important;margin-bottom:17px!important}.df-loc.dfl-v2 .city-context>strong{font-size:13px!important}.df-loc.dfl-v2 .city-context>p{font-size:11.5px!important}.df-loc.dfl-v2 .city-context li{font-size:11px!important}}

/* Cross-links between published state and city guides, no invented local offices. */
.df-loc.dfl-v2 .geo-city-nav{display:block!important;margin:21px 0 0!important;padding:17px 19px!important;background:#F0F5FF!important;border:1px solid #DBE5F3!important;border-radius:12px!important;min-width:0!important}
.df-loc.dfl-v2 .geo-city-nav>strong{display:block!important;margin:0 0 12px!important;color:#10213B!important;font:750 12px/1.45 "Segoe UI",system-ui,sans-serif!important}
.df-loc.dfl-v2 .geo-city-nav-links{display:flex!important;flex-wrap:wrap!important;gap:8px!important;min-width:0!important}
.df-loc.dfl-v2 .geo-city-nav-links>a{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:34px!important;padding:7px 11px!important;border-radius:9px!important;background:#FFFFFF!important;color:#2457DC!important;border:1px solid #DBE5F3!important;font:700 11px/1.35 "Segoe UI",system-ui,sans-serif!important;text-decoration:none!important}
.df-loc.dfl-v2 .geo-city-nav-links>a:hover{background:#2457DC!important;border-color:#2457DC!important;color:#FFFFFF!important}
@media(max-width:530px){.df-loc.dfl-v2 .geo-city-nav{padding:14px!important;margin-top:17px!important}.df-loc.dfl-v2 .geo-city-nav-links>a{min-height:34px!important;font-size:10.5px!important}}

/* 600-city program: unique, source-backed context between risk and service sections. */
.df-loc.dfl-v2 .geo-deep-dive{padding:68px 0 73px!important;background:#F0F5FF!important;border-block:1px solid #DBE5F3!important;color:#10213B!important}
.df-loc.dfl-v2 .geo-deep-heading{display:grid!important;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)!important;align-items:end!important;gap:clamp(22px,4vw,68px)!important;margin:0 0 28px!important}
.df-loc.dfl-v2 .geo-deep-heading h2{margin:13px 0 0!important;color:#10213B!important;font:760 clamp(30px,3.15vw,44px)/1.17 "Segoe UI",system-ui,sans-serif!important;letter-spacing:-.047em!important;max-width:590px!important}
.df-loc.dfl-v2 .geo-deep-heading>p{color:#51627D!important;font:400 13.5px/1.7 "Segoe UI",system-ui,sans-serif!important;margin:0!important;max-width:670px!important}
.df-loc.dfl-v2 .geo-deep-cards{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important}
.df-loc.dfl-v2 .geo-deep-card{display:block!important;min-width:0!important;padding:22px 20px!important;margin:0!important;border:1px solid #DBE5F3!important;border-radius:14px!important;background:#FFFFFF!important;box-shadow:0 6px 22px rgba(16,33,59,.04)!important}
.df-loc.dfl-v2 .geo-deep-card:before{content:"✓"!important;display:grid!important;place-items:center!important;width:34px!important;height:34px!important;border-radius:10px!important;background:#FFD34C!important;color:#10213B!important;font-size:15px!important;font-weight:800!important;margin:0 0 18px!important}
.df-loc.dfl-v2 .geo-deep-card h3{color:#10213B!important;font:750 18px/1.32 "Segoe UI",system-ui,sans-serif!important;letter-spacing:-.025em!important;margin:0 0 11px!important}
.df-loc.dfl-v2 .geo-deep-card p{color:#51627D!important;font:400 12px/1.7 "Segoe UI",system-ui,sans-serif!important;margin:0!important;overflow-wrap:break-word!important}
.df-loc.dfl-v2 .geo-deep-references{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;flex-wrap:wrap!important;gap:10px 18px!important;margin:22px 0 0!important;padding:17px 0 0!important;border-top:1px solid #CBDCEF!important}
.df-loc.dfl-v2 .geo-deep-references>strong{color:#10213B!important;font:760 12px/1.45 "Segoe UI",system-ui,sans-serif!important}
.df-loc.dfl-v2 .geo-deep-references>div{display:flex!important;flex-wrap:wrap!important;gap:8px 16px!important}
.df-loc.dfl-v2 .geo-deep-references a{color:#2457DC!important;font:700 11px/1.4 "Segoe UI",system-ui,sans-serif!important;text-decoration:underline!important;text-underline-offset:3px!important}
.df-loc.dfl-v2 .geo-deep-disclaimer{font:400 11px/1.55 "Segoe UI",system-ui,sans-serif!important;color:#51627D!important;margin:13px 0 0!important}
@media(max-width:800px){.df-loc.dfl-v2 .geo-deep-dive{padding:53px 0!important}.df-loc.dfl-v2 .geo-deep-heading{grid-template-columns:1fr!important;gap:12px!important}.df-loc.dfl-v2 .geo-deep-cards{grid-template-columns:1fr!important}.df-loc.dfl-v2 .geo-deep-card{padding:19px!important}.df-loc.dfl-v2 .geo-deep-card:before{margin-bottom:11px!important}}
@media(max-width:530px){.df-loc.dfl-v2 .geo-deep-dive{padding:42px 0!important}.df-loc.dfl-v2 .geo-deep-heading h2{font-size:30px!important}.df-loc.dfl-v2 .geo-deep-heading>p{font-size:12px!important}.df-loc.dfl-v2 .geo-deep-card h3{font-size:16px!important}.df-loc.dfl-v2 .geo-deep-card p{font-size:11.4px!important}}
