
.dfgeo-page{max-width:1120px;margin:0 auto;padding:18px 18px 55px;line-height:1.72}
.dfgeo-page h1{font-size:clamp(2rem,4vw,3.35rem);line-height:1.08;margin:.2em 0 .45em}
.dfgeo-page h2{font-size:clamp(1.5rem,2.3vw,2.05rem);line-height:1.22;margin:2.05em 0 .65em}
.dfgeo-page h3{font-size:1.14rem;margin:.15em 0 .5em}
.dfgeo-page p{margin:.6em 0 1em}
.dfgeo-hero{padding:26px 0 18px}
.dfgeo-kicker{font-size:.78rem;letter-spacing:.13em;text-transform:uppercase;font-weight:800;color:#c91f2b}
.dfgeo-lead{font-size:1.18rem;max-width:900px}
.dfgeo-btn{display:inline-block;background:#cf1524;color:#fff!important;padding:.82rem 1.15rem;border-radius:7px;text-decoration:none!important;font-weight:800}
.dfgeo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:18px 0}
.dfgeo-grid>div{border:1px solid rgba(100,100,100,.22);border-radius:10px;padding:17px;background:#fff}
.dfgeo-steps{padding-left:1.35rem}
.dfgeo-steps li{margin:.65rem 0}
.dfgeo-related ul{columns:2;column-gap:34px;padding-left:1.2rem}
.dfgeo-related li{margin:.52rem 0}
.dfgeo-faq details{border-top:1px solid rgba(100,100,100,.22);padding:13px 0}
.dfgeo-faq summary{cursor:pointer;font-weight:800}
.dfgeo-cta{margin-top:38px;padding:26px;border-radius:12px;background:#10171d;color:#fff}
.dfgeo-cta h2{color:#fff;margin-top:0}
.dfgeo-home-regions{display:inline-flex;gap:10px;flex-wrap:wrap;margin-left:10px;vertical-align:middle}
.dfgeo-home-regions a{display:inline-block;padding:8px 12px;border:1px solid rgba(207,21,36,.45);border-radius:6px;text-decoration:none!important;font-weight:700}
@media(max-width:900px){.dfgeo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){
 .dfgeo-grid{grid-template-columns:1fr}
 .dfgeo-related ul{columns:1}
 .dfgeo-page{padding-left:15px;padding-right:15px}
 .dfgeo-home-regions{display:flex;margin:10px 0 0}
}


/* V2.1 long-form GEO content */
.dfgeo-v21{margin-top:24px}
.dfgeo-v21 .dfgeo-deep-intro{border-top:1px solid rgba(100,100,100,.18);padding-top:20px}
.dfgeo-link-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0 22px}
.dfgeo-link-grid a{display:flex;flex-direction:column;gap:4px;padding:14px 15px;border:1px solid rgba(100,100,100,.2);border-radius:9px;text-decoration:none!important;background:#fff}
.dfgeo-link-grid a strong{color:#151a1f}
.dfgeo-link-grid a span{font-size:.9rem;color:#666}
.dfgeo-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 22px;padding-left:1.2rem}
.dfgeo-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.dfgeo-two>div{border:1px solid rgba(100,100,100,.2);border-radius:10px;padding:17px}
.dfgeo-region-nav{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin:28px 0;padding:14px 0;border-top:1px solid rgba(100,100,100,.2);border-bottom:1px solid rgba(100,100,100,.2)}
.dfgeo-region-nav span{font-weight:800}
.dfgeo-region-nav a{padding:6px 11px;border-radius:999px;border:1px solid rgba(207,21,36,.35);text-decoration:none!important;font-weight:700}
@media(max-width:680px){
 .dfgeo-link-grid,.dfgeo-two,.dfgeo-checks{grid-template-columns:1fr}
}


/* V2.2 page-flow polish */
.dfgeo-jump{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 30px;padding:12px 0;border-top:1px solid rgba(100,100,100,.18);border-bottom:1px solid rgba(100,100,100,.18)}
.dfgeo-jump a{display:inline-flex;align-items:center;padding:7px 12px;border:1px solid rgba(207,21,36,.28);border-radius:999px;text-decoration:none!important;font-size:.92rem;font-weight:750}
.dfgeo-v21 section[id]{scroll-margin-top:110px}
.dfgeo-v21 .dfgeo-grid>div{transition:transform .15s ease,box-shadow .15s ease}
.dfgeo-v21 .dfgeo-grid>div:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.05)}
.dfgeo-link-grid a{transition:border-color .15s ease,box-shadow .15s ease}
.dfgeo-link-grid a:hover{border-color:rgba(207,21,36,.42);box-shadow:0 6px 18px rgba(0,0,0,.045)}
@media(max-width:680px){
 .dfgeo-jump{gap:6px}
 .dfgeo-jump a{font-size:.86rem;padding:6px 10px}
}


/* V2.2.1 emergency layout safety */
.dfgeo-page{width:100%;box-sizing:border-box}
.dfgeo-page *{box-sizing:border-box}
