/* Responsive layout refinements shared by every page. */
html{overflow-x:clip;-webkit-text-size-adjust:100%}
body{min-width:0;overflow-wrap:break-word}
img,svg,video,iframe{max-width:100%}
img{height:auto}
.wrap{max-width:calc(100% - 32px)}
.reference-areas,.reference-values-grid,.reference-about-grid,.about-grid,.contact-grid,.footergrid,.results-grid{min-width:0}
.reference-areas>* ,.reference-values-grid>*,.reference-about-grid>*,.about-grid>*,.contact-grid>*,.footergrid>*,.results-grid>*{min-width:0}
.reference-card strong{overflow-wrap:anywhere}
/* Switch to the collapsible menu before the desktop wordmark and links collide. */
@media(max-width:1080px){
 .header .headinner{gap:16px;min-height:92px}
 .header .brand-horizontal .brand-mark{width:70px;height:70px}
 .header .brand-name{font-size:clamp(15px,2.4vw,22px)}
 .header .brand-pretitle{font-size:9px}
 .header .nav{display:none;position:absolute;top:100%;left:0;right:0;margin:0;padding:12px max(20px,4vw) 20px;background:#fbfaf5;box-shadow:0 12px 24px #0c2b4726;flex-direction:column;align-items:stretch;gap:0;z-index:20}
 .header .nav.open{display:flex}
 .header .nav a{display:block;padding:12px 8px;white-space:normal;border-bottom:1px solid #e5dfd2}
 .header .nav a.active{padding-bottom:12px}
 .header .nav a.active::after{display:none}
 .header .menu-toggle{display:block;margin-left:auto;flex-shrink:0;min-width:44px;min-height:44px}
 .reference-areas{grid-template-columns:repeat(2,minmax(0,1fr))}
 .reference-values-grid{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:25px}
 .reference-values-grid>div:nth-child(2){border-right:0}
 .reference-values-grid>div{padding:12px 20px}
}
@media(max-width:760px){
 .wrap{width:calc(100% - 36px);max-width:calc(100% - 36px)}
 .topinner{display:flex;flex-direction:column;align-items:center;gap:7px;text-align:center;padding:10px 0;line-height:1.5}
 .topinner span{overflow-wrap:anywhere}
 .topinner>a{display:inline-block;padding:4px 8px}
 .header .headinner{min-height:78px}
 .header .brand-horizontal .brand-mark{width:59px;height:59px}
 .header .brand-horizontal{gap:9px}
 .header .brand-name{font-size:clamp(13px,3.4vw,19px);letter-spacing:.06em}
 .header .brand-pretitle{font-size:8px;letter-spacing:.12em}
 .header .brand-established{font-size:9px}
 .reference-hero,.reference-hero-inner{min-height:0}
 .reference-hero-photo{width:100%;opacity:.28;background-position:center}
 .reference-hero:after{background:linear-gradient(90deg,rgba(250,249,244,.97),rgba(250,249,244,.79))}
 .reference-hero-text{max-width:100%;padding:60px 0}
 .reference-hero h1{font-size:clamp(30px,7vw,46px)}
 .reference-hero p{max-width:600px}
 .reference-about-grid,.about-grid,.contact-grid{grid-template-columns:minmax(0,1fr);gap:30px}
 .reference-photo-placeholder{height:300px}
 .reference-trust-grid{grid-template-columns:1fr}
 .reference-trust-grid>div{border-right:0;border-bottom:1px solid #e2ded5;padding:20px 10px}
 .reference-resource-grid{grid-template-columns:1fr}
 .innerhero{padding:54px 0}
 .section,.reference-section{padding-top:52px;padding-bottom:52px}
 .form-panel{padding:24px}
 .footergrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
 .footergrid>div:first-child{grid-column:1/-1}
 .results-grid{grid-template-columns:1fr}
 .results-grid>.result-card:last-child:nth-child(odd){width:100%;grid-column:auto}
}
@media(max-width:480px){
 .wrap{width:calc(100% - 28px);max-width:calc(100% - 28px)}
 .topinner{font-size:10px;letter-spacing:0}
 .topinner span{font-size:10px}
 .header .brand-horizontal .brand-mark{width:45px;height:45px}
 .header .brand-horizontal{gap:6px}
 .header .brand-name{font-size:clamp(11px,3.4vw,15px);letter-spacing:.02em}
 .header .brand-pretitle{font-size:7px;letter-spacing:.05em}
 .header .brand-established{font-size:8px}
 .header .menu-toggle{padding:7px 10px}
 .reference-areas,.area-grid,.reference-values-grid{grid-template-columns:1fr}
 .reference-values-grid>div{border-right:0;border-bottom:1px solid #ded8c9}
 .reference-card{min-height:125px}
 .reference-heading h2,.reference-about h2{font-size:clamp(28px,8vw,35px)}
 .reference-hero h1{font-size:clamp(28px,8.4vw,37px)}
 .reference-hero-text{padding:45px 0}
 .reference-button{max-width:100%;padding:13px 18px;gap:12px;letter-spacing:.07em}
 .footergrid{grid-template-columns:1fr}
 .footergrid>div:first-child{grid-column:auto}
 .attorney-credentials .credential-entry{flex-wrap:wrap;gap:4px}
 .attorney-credentials .credential-date{white-space:normal}
 .contact-detail a{overflow-wrap:anywhere}
 .form-panel{padding:18px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reference-card,.area-card{transition:none}}

/* Full-bleed homepage courthouse image, with a readable text gradient. */
.reference-hero{width:100%;max-width:none;margin-inline:0;isolation:isolate;background:#e8e1d3}
.reference-hero-photo{inset:0;width:100%;height:100%;background-image:url('courthouse-hero.jpg');background-size:cover;background-position:center 46%;opacity:1}
.reference-hero::after{background:linear-gradient(90deg,rgba(250,249,244,.98) 0%,rgba(250,249,244,.94) 26%,rgba(250,249,244,.65) 46%,rgba(250,249,244,.13) 75%,rgba(250,249,244,0) 100%)}
@media(max-width:760px){.reference-hero-photo{width:100%;opacity:1;background-position:58% center}.reference-hero::after{background:linear-gradient(90deg,rgba(250,249,244,.96),rgba(250,249,244,.82))}}

/* Show more of the original courthouse composition on wide screens without
   stretching or enlarging it to fill the entire viewport. */
@media (min-width: 761px) {
  .reference-hero-photo {
    background-size: auto 100%;
    background-position: right center;
    background-repeat: no-repeat;
    background-color: #e8e1d3;
  }
}

/* Keep the full courthouse facade visible from edge to edge, without cropping
   away the left side on wide displays. */
.reference-hero-photo {
  inset:0; width:100%; height:100%;
  background-image:url('courthouse-hero.jpg');
  background-size:100% auto;
  background-position:center center;
  background-repeat:no-repeat;
  opacity:1;
}
.reference-hero::after {
  background:linear-gradient(90deg,rgba(250,249,244,.86) 0%,rgba(250,249,244,.67) 28%,rgba(250,249,244,.20) 55%,rgba(250,249,244,0) 85%);
}
@media(max-width:760px) {
  .reference-hero-photo {background-size:cover;background-position:center center;}
  .reference-hero::after {background:linear-gradient(90deg,rgba(250,249,244,.90),rgba(250,249,244,.55));}
}
