/* Alexander James Solicitors — audit refinement v9.
   Shared across all pages rendered by the AJS isolated frontend.
   Existing content, URL hierarchy and legal disclosures remain unchanged. */
body.ajs-original-frontend.ajs-ui-v3 .public-site{
  --ajs9-heading:#102c47;
  --ajs9-surface:#f5f8fb;
  --ajs9-border:#dbe5ed;
}
body.ajs-original-frontend.ajs-ui-v3 .public-site main{
  min-width:0;
}
body.ajs-original-frontend.ajs-ui-v3 .public-site main :is(h1,h2,h3){
  word-break:normal!important;
  overflow-wrap:break-word;
  hyphens:manual;
  text-wrap:pretty;
}
body.ajs-original-frontend.ajs-ui-v3 .public-site main h1{
  font-size:clamp(30px,3.15vw,48px)!important;
  line-height:1.12!important;
  letter-spacing:-.035em!important;
  font-weight:700!important;
  max-width:min(100%,27ch);
  margin-block:0 16px!important;
}
body.ajs-original-frontend.ajs-ui-v3 .public-site main :is(.home-hero,.hero-copy,.pi-hero,.contact-page-intro) h1{
  font-size:clamp(30px,3.15vw,48px)!important;
  line-height:1.12!important;
}
body.ajs-original-frontend.ajs-ui-v3 .public-site main h2:not(.text-sm):not([class*="uppercase"]){
  font-size:clamp(21px,2vw,30px)!important;
  line-height:1.23!important;
  letter-spacing:-.022em!important;
  max-width:100%;
  margin-block:0 12px;
}
body.ajs-original-frontend.ajs-ui-v3 .public-site main h3:not(.text-sm){
  font-size:clamp(17px,1.4vw,21px)!important;
  line-height:1.32!important;
  letter-spacing:-.012em!important;
  max-width:100%;
}
body.ajs-original-frontend.ajs-ui-v3 .public-site main :is(a.group,.service-card,.subtype-card-link,.ajs-premium-card) h2{
  font-size:clamp(17px,1.4vw,21px)!important;
  line-height:1.32!important;
  margin:0!important;
}
body.ajs-original-frontend.ajs-ui-v3 .public-site main :is(a.group,.service-card,.subtype-card-link,.ajs-premium-card) h3{
  font-size:clamp(16px,1.25vw,19px)!important;
  line-height:1.34!important;
}
body.ajs-original-frontend.ajs-ui-v3 .public-site main :is(.contact-page-intro,.hero-copy,.pi-hero) :is(p,.hero-intro){
  max-width:68ch;
  line-height:1.65!important;
}
body.ajs-original-frontend.ajs-ui-v3 .public-site main :is(p,li):not(.eyebrow){
  overflow-wrap:break-word;
}
body.ajs-original-frontend.ajs-ui-v3 .public-site main :is(.home-hero,.pi-hero,.contact-page-intro,section:first-of-type:has(h1)){
  min-height:0!important;
  padding-block:clamp(30px,4.8vw,65px)!important;
}
body.ajs-original-frontend.ajs-ui-v3 .public-site main :is(.home-hero,.hero-copy,.pi-hero,.contact-page-intro) :is(h1,h2,p,em){
  min-width:0!important;
}
body.ajs-original-frontend.ajs-ui-v3 .public-site main :is(.pi-article,.blog-article-body){
  min-width:0;
  max-width:100%;
}
body.ajs-original-frontend.ajs-ui-v3 .public-site main :is(.pi-article,.blog-article-body) p{
  line-height:1.73!important;
  max-width:74ch;
}
body.ajs-original-frontend.ajs-ui-v3 .public-site :is(img,video,iframe){
  max-width:100%;
}
body.ajs-original-frontend.ajs-ui-v3 .public-site :is(a,button,summary,input,textarea,select):focus-visible{
  outline:3px solid #277bb6!important;
  outline-offset:3px!important;
}
body.ajs-original-frontend.ajs-ui-v3 .public-site>header{
  z-index:90!important;
}
body.ajs-original-frontend.ajs-ui-v3 .public-site>header .header-utility{
  overflow-wrap:break-word;
}
body.ajs-original-frontend.ajs-ui-v3 .public-site>header nav[aria-label="Main"]{
  gap:10px!important;
  align-items:center!important;
  white-space:nowrap;
}
body.ajs-original-frontend.ajs-ui-v3 .public-site>header nav[aria-label="Main"] :is(a,button){
  min-height:39px;
  display:inline-flex;
  align-items:center;
  flex-wrap:nowrap;
  gap:6px;
  font-size:13px!important;
}
body.ajs-original-frontend.ajs-ui-v3 .public-site>header nav[aria-label="Main"] .ajs-menu-icon{
  display:inline-flex!important;
  width:16px!important;height:16px!important;min-width:16px!important;
  align-items:center;justify-content:center;
  margin:0!important;padding:0!important;
  border:0!important;border-radius:0!important;
  background:transparent!important;
  color:#285c7e!important;
  box-shadow:none!important;
}
body.ajs-original-frontend.ajs-ui-v3 .public-site>header nav[aria-label="Main"] .ajs-menu-icon svg{
  display:block!important;width:16px!important;height:16px!important;
  stroke-width:1.8!important;
  stroke-linejoin:round;stroke-linecap:round;
}
body.ajs-original-frontend.ajs-ui-v3 .public-site>header .ajs-native-popover{
  z-index:100!important;
  max-width:min(390px,calc(100vw - 30px))!important;
  max-height:min(72dvh,650px)!important;
  overflow-y:auto!important;
  overscroll-behavior:contain;
  padding:8px!important;
}
body.ajs-original-frontend.ajs-ui-v3 .public-site>header .ajs-native-popover a,
body.ajs-original-frontend.ajs-ui-v3 .public-site>header .ajs-native-mobile-nav a{
  display:flex!important;
  align-items:center!important;
  flex-wrap:nowrap!important;
  min-height:44px!important;
  gap:9px!important;
  font-size:13.5px!important;
  line-height:1.35!important;
  border-radius:9px!important;
  overflow-wrap:break-word;
}
body.ajs-original-frontend.ajs-ui-v3 .public-site>header :is(.ajs-native-popover,.ajs-native-mobile-nav) .ajs-nav-svg{
  display:inline-flex!important;
  align-items:center!important;justify-content:center!important;
  flex:0 0 25px!important;
  box-sizing:border-box;
  width:25px!important;height:25px!important;min-width:25px!important;
  border-radius:7px!important;
  border:1px solid #dfebf2!important;
  background:#f2f7fa!important;
  box-shadow:none!important;
  color:#265e7b!important;
}
body.ajs-original-frontend.ajs-ui-v3 .public-site>header :is(.ajs-native-popover,.ajs-native-mobile-nav) .ajs-nav-svg svg{
  display:block!important;width:16px!important;height:16px!important;
  flex:none;fill:none;stroke:currentColor;stroke-width:1.8!important;
  stroke-linejoin:round;stroke-linecap:round;
}
body.ajs-original-frontend.ajs-ui-v3 .public-site>header .ajs-native-mobile-nav{
  z-index:101!important;
  max-height:calc(100dvh - 105px)!important;
  max-width:calc(100vw - 22px)!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain;
  scrollbar-width:thin;
}
body.ajs-original-frontend.ajs-ui-v3 .public-site>header .ajs-native-mobile-nav :is(a,button){
  min-height:44px!important;
}
body.ajs-original-frontend.ajs-ui-v3 .public-site>header .ajs-native-mobile-nav a .ajs-nav-svg{
  flex-shrink:0!important;
}
body.ajs-original-frontend.ajs-ui-v3 .public-site main .relative.overflow-hidden.rounded-3xl.bg-primary.text-primary-foreground{
  padding:clamp(19px,2.6vw,31px)!important;
  border-radius:16px!important;
}
body.ajs-original-frontend.ajs-ui-v3 .public-site main .relative.overflow-hidden.rounded-3xl.bg-primary.text-primary-foreground h2{
  font-size:clamp(23px,2.2vw,30px)!important;
  line-height:1.2!important;
}
body.ajs-original-frontend.ajs-ui-v3 .public-site .quick-contact-bar{
  max-width:380px!important;
  box-shadow:0 8px 24px rgba(15,40,62,.14)!important;
}
body.ajs-original-frontend.ajs-ui-v3 .public-site .quick-contact-bar a{
  font-size:13px!important;
}
body.ajs-original-frontend.ajs-ui-v3 .public-site>footer{
  overflow-wrap:break-word;
}
@media(min-width:1280px) and (max-width:1440px){
 body.ajs-original-frontend.ajs-ui-v3 .public-site>header nav[aria-label="Main"]{
  gap:6px!important;
 }
 body.ajs-original-frontend.ajs-ui-v3 .public-site>header nav[aria-label="Main"] :is(a,button){
  padding-inline:6px!important;font-size:12.5px!important;
 }
 body.ajs-original-frontend.ajs-ui-v3 .public-site>header nav[aria-label="Main"] .ajs-menu-icon{
  width:15px!important;height:15px!important;min-width:15px!important;
 }
}
@media(max-width:1023px){
 body.ajs-original-frontend.ajs-ui-v3 .public-site main h1{
  font-size:clamp(29px,4.2vw,43px)!important;
 }
 body.ajs-original-frontend.ajs-ui-v3 .public-site main h2:not(.text-sm):not([class*="uppercase"]){
  font-size:clamp(21px,2.9vw,29px)!important;
 }
 body.ajs-original-frontend.ajs-ui-v3 .public-site main :is(.home-hero,.pi-hero,.contact-page-intro,section:first-of-type:has(h1)){
  padding-block:clamp(24px,4vw,45px)!important;
 }
}
@media(max-width:767px){
 body.ajs-original-frontend.ajs-ui-v3 .public-site main h1{
  font-size:clamp(28px,7vw,36px)!important;
  line-height:1.15!important;
  letter-spacing:-.028em!important;
  max-width:100%;
 }
 body.ajs-original-frontend.ajs-ui-v3 .public-site main h2:not(.text-sm):not([class*="uppercase"]){
  font-size:clamp(20px,5vw,26px)!important;
  line-height:1.25!important;
 }
 body.ajs-original-frontend.ajs-ui-v3 .public-site main h3:not(.text-sm){
  font-size:clamp(16px,4.1vw,20px)!important;
  line-height:1.3!important;
 }
 body.ajs-original-frontend.ajs-ui-v3 .public-site main :is(.home-hero,.pi-hero,.contact-page-intro,section:first-of-type:has(h1)){
  padding-block:24px 31px!important;
 }
 body.ajs-original-frontend.ajs-ui-v3 .public-site>header .ajs-native-mobile-nav{
  max-height:calc(100dvh - 90px)!important;
 }
 body.ajs-original-frontend.ajs-ui-v3 .public-site .quick-contact-bar{
  width:min(380px,calc(100% - 20px))!important;
  bottom:calc(9px + env(safe-area-inset-bottom,0px))!important;
  padding:5px!important;gap:5px!important;
 }
 body.ajs-original-frontend.ajs-ui-v3 .public-site .quick-contact-bar a{
  min-height:42px!important;font-size:12px!important;
  padding:7px 4px!important;
 }
}
@media(max-width:360px){
 body.ajs-original-frontend.ajs-ui-v3 .public-site .quick-contact-bar a{
  gap:4px!important;font-size:11px!important;
 }
}
@media(prefers-reduced-motion:reduce){
 body.ajs-original-frontend.ajs-ui-v3 .public-site :is(a,button,summary){
  transition:none!important;
 }
}