/* A direct contact route, clear actions and three visible practice photographs. */
.contact-rail{background:#243cba;color:#fff}
.contact-rail-inner{max-width:1600px;margin-inline:auto;min-height:46px;display:flex;align-items:center;justify-content:space-between;gap:12px 32px;padding:0 max(24px,var(--gutter,0px));font-family:'DM Sans',sans-serif;font-size:13px;line-height:1.35}
.contact-rail a{display:flex;align-items:center;gap:15px;min-height:46px;color:#fff;text-decoration:none;border:0}
.contact-rail a:hover{text-decoration:underline;text-underline-offset:5px}
.contact-rail a:focus-visible{outline:2px solid #fff;outline-offset:-4px;border-radius:2px}
.hotline-link strong{font-weight:600}.hotline-context{color:#e2e7ff}.rail-phone{white-space:nowrap}.rail-phone strong{font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:.02em}
.shell>.contact-rail{margin-inline:0}.shell .contact-rail-inner{padding-inline:20px}
.bf-home .button{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:52px;padding:14px 24px;border:1px solid var(--blue);border-radius:3px;background:var(--blue);color:#fff;font-family:'DM Sans',sans-serif;font-size:.92rem;font-weight:600;line-height:1.35;text-decoration:none;transition:background .18s,border-color .18s,color .18s}
.bf-home .button:hover{background:#182f9d;border-color:#182f9d;color:#fff}
.bf-home .button:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
.bf-home .button-outline{background:transparent;color:var(--blue)}
.bf-home .button-outline:hover{background:#e9edff;color:#172d94;border-color:#172d94}
.bf-home .button>span[aria-hidden]{font-size:1.15em;line-height:1;flex-shrink:0}
.bf-home .hero-actions{gap:12px;flex-wrap:wrap}
.hero-phone{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;margin:20px 0 0;font-size:.88rem;line-height:1.6}
.hero-phone>span{color:var(--muted)}.hero-phone a{font-weight:600;color:var(--ink);text-decoration:underline;text-underline-offset:5px;padding-block:8px;white-space:nowrap}
.bf-home .hero{height:auto;min-height:720px;max-height:none}
.bf-home .practice{display:block;padding-bottom:56px}
.bf-home .practice .section-heading{margin-bottom:36px}
.practice-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.practice-card{display:flex;flex-direction:column;min-width:0;border-bottom:1px solid var(--line);padding-bottom:28px}
.practice-card-image{display:block;aspect-ratio:4/3;overflow:hidden;background:#d9dbd4;margin-bottom:26px}
.practice-card-image img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.42) contrast(1.03)}
.practice-card .practice-tag{font-size:.8rem;color:var(--blue);margin:0 0 11px;line-height:1.5}
.practice-card h3{font-family:Fraunces,Georgia,serif;font-size:clamp(1.7rem,2.2vw,2.4rem);line-height:1.12;letter-spacing:-.035em;font-weight:600;margin:0 0 20px;max-width:20ch}
.practice-card p:not(.practice-tag){font-size:.98rem;line-height:1.75;color:var(--muted);margin:0 0 25px}
.practice-card .button{align-self:flex-start;margin-top:auto;font-size:.85rem;padding:13px 18px;gap:24px}
.contact-direct{grid-column:2;display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin:8px 0 10px}
.contact-direct>span{font-size:.8rem;color:var(--muted)}
.contact-phone{font-family:Fraunces,Georgia,serif;font-size:clamp(1.65rem,3vw,2.65rem);letter-spacing:-.03em;line-height:1.25;color:var(--blue);display:inline-flex;align-items:center;gap:18px;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:9px;font-variant-numeric:lining-nums}
.contact-phone span{font-family:'DM Sans',sans-serif;font-size:.7em}
.contact-phone:hover{color:#172d94}.contact-phone:focus-visible,.hero-phone a:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
.bf-home .contact-email{font-family:'DM Sans',sans-serif;font-size:1.03rem;letter-spacing:0;text-underline-offset:5px}
@media(min-width:901px){.bf-home .header .nav-contact{padding:12px 18px;border:1px solid var(--blue);border-radius:3px;color:var(--blue)}.bf-home .header .nav-contact:hover{background:#e9edff}}
@media(max-width:1000px){.hotline-context{display:none}.practice-cards{gap:22px}.practice-card h3{font-size:1.85rem}.bf-home .hero{min-height:680px}.bf-home .hero-actions .button{font-size:.85rem;padding-inline:18px}}
@media(max-width:720px){.contact-rail-inner{padding-inline:20px;gap:0;flex-wrap:wrap}.contact-rail a{min-height:42px}.hotline-link{width:100%;justify-content:space-between;border-bottom:1px solid #ffffff33!important}.rail-phone{width:100%;justify-content:space-between}.rail-phone span{font-size:12px}.rail-phone strong{font-size:14px}.bf-home .hero{min-height:0}.bf-home .hero-phone{font-size:.88rem;margin-top:14px}.practice-cards{grid-template-columns:1fr;gap:40px}.practice-card-image{aspect-ratio:16/10;margin-bottom:22px}.practice-card h3{font-size:2.15rem;max-width:23ch}.practice-card p:not(.practice-tag){max-width:52ch}.practice-card .button{width:100%;justify-content:space-between}.bf-home .practice{padding-bottom:40px}.contact-direct{margin:32px 0 20px}.contact-phone{font-size:clamp(1.55rem,6.5vw,2.35rem)}.bf-home .contact-email{margin-top:0;font-size:.98rem}}
@media(max-width:380px){.bf-home .hero-actions{display:grid;grid-template-columns:1fr}.bf-home .hero-actions .button{width:100%;justify-content:space-between}.practice-card h3{font-size:1.95rem}.contact-phone{gap:12px}}
@media(prefers-reduced-motion:reduce){.bf-home .button{transition:none}}
@media(max-width:720px){.bf-home .hero-actions{display:grid;grid-template-columns:1fr}.bf-home .hero-actions .button{width:100%;justify-content:space-between}.contact-rail a{min-height:44px}.hero-phone a{display:inline-flex;align-items:center;min-height:44px}}
/* Shared working pages keep both routes in one calm row, aligned to the shell. */
@media(max-width:760px){
 .shell>.contact-rail{margin-inline:calc(-1 * var(--shell-pad,var(--gutter)));background:var(--paper);color:var(--ink);border-bottom:1px solid var(--line)}
 .shell>.contact-rail .contact-rail-inner{min-height:44px;padding-inline:var(--shell-pad,var(--gutter));gap:12px;flex-wrap:nowrap;justify-content:space-between}
 .shell>.contact-rail a{width:auto;min-height:44px;gap:6px;color:var(--ink);font-size:12px;white-space:nowrap;justify-content:flex-start}
 .shell>.contact-rail .hotline-link{border:0!important}
 .shell>.contact-rail .hotline-context,.shell>.contact-rail .rail-phone>span{display:none}
 .shell>.contact-rail .rail-phone{padding:0;margin:0;border:0;border-radius:0;background:none;box-shadow:none;flex-shrink:0;color:var(--blue)}
 .shell>.contact-rail .rail-phone strong{font-size:13px;letter-spacing:0;font-weight:600}
 .shell>.contact-rail a:focus-visible{outline:2px solid var(--blue);outline-offset:0}
}
@media print{.contact-rail{display:none}.practice-cards{display:block}.practice-card{break-inside:avoid}.practice-card-image{max-height:160px}}
