/* Search, office finder and portal share the restrained utility styling. */
.law-navigation{gap:clamp(14px,1.65vw,26px)}
.nav-tools{display:flex;align-items:center;gap:8px;flex:none}
.nav-tool{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;border:0;background:none;color:inherit;font:inherit;cursor:pointer;white-space:nowrap}
.nav-tool svg{display:block;width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;flex:none}
.nav-search{width:40px;padding:10px}.nav-search .utility-label{display:none}
.nav-login{border:1px solid #8d969c;padding:10px 16px}
.nav-tool:hover{color:#805435}.nav-login:hover{border-color:#805435;background:#f1eee7}
.header-utilities .nav-location{display:inline-flex;align-items:center;width:auto;min-height:28px;padding:0;gap:7px;border:0;background:none;color:inherit;font:inherit;letter-spacing:.015em;white-space:nowrap;cursor:pointer}
.header-utilities .nav-location svg{display:block;width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;flex:none}
.header-utilities .nav-location:hover{color:#805435}
.nav-tools .nav-location{display:none}
.nav-location:focus-visible{outline:2px solid #a86f4e;outline-offset:4px}
.utility-drawer{position:fixed;inset:0 0 0 auto;width:min(560px,100%);max-width:100%;height:100svh;max-height:100svh;margin:0;padding:0;background:#faf9f6;color:#142b3c;border:0;overflow:auto;overscroll-behavior:contain;animation:utility-enter .2s ease}
.utility-drawer::backdrop{background:#0c1b2b9c;backdrop-filter:blur(2px)}
.utility-drawer-shell{padding:76px 45px 40px;min-height:100%;position:relative}
.utility-drawer .utility-close{position:absolute;top:18px;right:20px;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:0;background:none;color:inherit;cursor:pointer}
.utility-close svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.2}
.utility-drawer .overline{font:500 9px/1.5 Manrope,Arial,sans-serif;letter-spacing:.16em;color:#795b45;margin-bottom:17px}
.law-page .utility-drawer h2{font:400 46px/1.08 'Caslon Display',Georgia,serif;letter-spacing:-.025em;margin:0 0 29px}
.utility-drawer h3{font:400 25px/1.2 'Caslon Display',Georgia,serif;letter-spacing:-.01em}
.site-search-form label{display:block;font-size:11px;margin-bottom:10px;color:#53616a}
.site-search-field{position:relative;display:flex;border:1px solid #8e989e;background:#fff}
.site-search-field:focus-within{outline:2px solid #a86f4e;outline-offset:3px}
.site-search-field input{min-width:0;width:100%;padding:17px 12px 17px 16px;border:0;outline:0;background:transparent;color:#142b3c;font:400 14px/1.4 Manrope,Arial,sans-serif;appearance:none}
.site-search-field input::-webkit-search-cancel-button{display:none}
.site-search-field button{display:flex;align-items:center;justify-content:center;flex:none;width:44px;padding:0;border:0;background:none;color:#142b3c}
.site-search-field svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round}
.search-suggestions{margin-top:36px}.search-suggestions>p{font-size:9px;letter-spacing:.14em;color:#6b767d;margin-bottom:13px}
.search-suggestion-list{display:flex;flex-wrap:wrap;gap:8px}
.search-suggestion-list button{min-height:38px;padding:9px 12px;background:none;border:1px solid #d8d7d1;font:400 11px/1.5 Manrope,Arial,sans-serif;color:#293e4b}
.search-suggestion-list button:hover{border-color:#966345;color:#805435}
.search-results-header{margin-top:31px;padding-bottom:14px;border-bottom:1px solid #d8d7d1;font-size:11px;color:#53616a}
.search-results{list-style:none;margin:0;padding:0}
.search-result{display:block;padding:20px 0;border-bottom:1px solid #dddcd5}
.search-result-category{display:block;font:500 8px/1.5 Manrope,Arial,sans-serif;letter-spacing:.13em;color:#866346;margin-bottom:7px;text-transform:uppercase}
.search-result-title{display:flex;justify-content:space-between;gap:20px;font:400 26px/1.15 'Caslon Display',Georgia,serif;color:#142b3c}
.search-result-title>span:first-child{min-width:0;hyphens:auto;overflow-wrap:anywhere}
.search-result p{font:400 11px/1.8 Manrope,Arial,sans-serif;color:#53616a;margin-top:9px}
.search-empty{padding:23px 0}.search-empty p{font-size:13px;line-height:1.9}.search-empty a{display:inline-block;margin-top:19px;font-size:12px;text-decoration:underline;text-underline-offset:4px}
.search-more{width:100%;min-height:44px;margin-top:20px;background:none;border:1px solid #8e989e;padding:12px;font:inherit;font-size:12px;color:inherit}
.portal-intro{font-size:13px;color:#53616a;line-height:1.9;margin-top:-11px;margin-bottom:29px}
.portal-choice{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;margin:0 0 27px;border:1px solid #b6b8b5}
.portal-choice label{position:relative;cursor:pointer}
.portal-choice input{position:absolute;opacity:0;width:1px;height:1px}
.portal-choice label>span{display:block;padding:14px 8px;font-size:12px;text-align:center}
.portal-choice input:checked+span{background:#193146;color:#fff}
.portal-choice input:focus-visible+span{outline:2px solid #a86f4e;outline-offset:2px}
.portal-copy{min-height:102px;margin-bottom:22px}.portal-copy>p{font-size:12px;color:#53616a;line-height:1.9;margin-top:12px}
.portal-destination{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;min-height:50px;padding:16px 18px;border:1px solid #193146;background:#193146;color:#fff;font:400 12px/1.5 Manrope,Arial,sans-serif}
.portal-destination:disabled{border-color:#b9bebf;background:#e4e7e6;color:#69767d;cursor:default}
.portal-help{border-top:1px solid #d8d7d1;margin-top:38px;padding-top:23px;font-size:11px;color:#53616a}
.portal-help a{display:inline-block;margin-top:11px;font-size:12px;color:#193146;text-decoration:underline;text-underline-offset:4px}
.office-demo-note{margin:20px 0 30px;padding-left:14px;border-left:2px solid #b18160;font:400 11px/1.8 Manrope,Arial,sans-serif;color:#5a666d}
.office-search-hint,.office-sort-note{margin-top:12px;font:400 10px/1.7 Manrope,Arial,sans-serif;color:#53616a}
.office-results-heading>p{min-width:0;line-height:1.7}
.office-results-heading button{flex:none}
.office-results-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #d8d7d1;padding-bottom:13px;font-size:11px;color:#53616a}
.office-results-heading button{padding:7px 0;border:0;background:none;color:#805435;font:inherit;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.office-results{list-style:none;margin:0;padding:0}
.office-result{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:13px;align-items:start;padding:20px 0;border-bottom:1px solid #dddcd5}
.office-number{padding-top:5px;font:500 10px/1.5 Manrope,Arial,sans-serif;color:#966345}
.law-page .office-result h3{margin:0;font:400 29px/1.1 'Caslon Display',Georgia,serif;letter-spacing:-.015em;overflow-wrap:anywhere}
.office-result p{margin-top:7px;font:400 11px/1.7 Manrope,Arial,sans-serif;color:#53616a}
.office-result .office-distance{color:#795b45;font-size:10px}
.office-demo-label{padding-top:6px;font:400 9px/1.5 Manrope,Arial,sans-serif;color:#795b45}
.office-data-credit{margin-top:18px;font:400 9px/1.7 Manrope,Arial,sans-serif;color:#53616a}
.office-data-credit a{text-decoration:underline;text-underline-offset:3px}
.office-contact{margin-top:27px;font-size:11px;color:#53616a}
.office-contact a{display:inline-block;padding:12px 0;font-size:12px;color:#193146;text-decoration:underline;text-underline-offset:4px}
.high-contrast .office-demo-note,.high-contrast .office-result p,.high-contrast .office-results-heading,.high-contrast .office-contact,.high-contrast .office-search-hint,.high-contrast .office-sort-note,.high-contrast .office-data-credit{color:#142b3c}
@keyframes utility-enter{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:none}}
@media(max-width:1200px){.law-navigation{gap:16px}.nav-login{padding-inline:12px}}
@media(min-width:761px) and (max-width:1000px){.header-inner{gap:20px}.law-navigation{gap:8px}.nav-tools{gap:5px}.nav-tool{min-height:38px;width:36px;padding:8px}.nav-login .utility-label{display:none}.law-navigation .nav-contact{gap:10px;padding-inline:11px}}
@media(max-width:760px){
  .law-navigation{gap:0}
  .law-navigation .nav-tools{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:17px}
  .nav-tools .nav-location{display:inline-flex;grid-column:1/-1}
  .nav-tool,.nav-search{width:100%;min-height:46px;padding:12px;border:1px solid #b6b8b5;font-size:12px}
  .nav-search .utility-label{display:inline}
  .law-navigation .nav-contact{margin-top:13px}
  .utility-drawer-shell{padding:74px 26px 34px}
  .law-page .utility-drawer h2{font-size:41px}
  .utility-drawer .utility-close{right:13px;top:14px}
  .site-search-field input{font-size:16px}
  .office-result{grid-template-columns:21px minmax(0,1fr) auto;gap:9px}
  .law-page .office-result h3{font-size:27px}
}
@media(prefers-reduced-motion:reduce){.utility-drawer{animation:none}}

/* Personal area: shared by both roles and all standalone page exports. */
.portal-drawer [hidden]{display:none!important}
.portal-drawer .portal-copy{min-height:0;margin-bottom:25px}
.portal-drawer .portal-copy>p{margin-top:8px}
.portal-form label{display:block;margin:0 0 9px;font:500 11px/1.5 Manrope,Arial,sans-serif;color:#394e5b}
.portal-form input{display:block;box-sizing:border-box;width:100%;min-width:0;min-height:51px;border:1px solid #a5adaa;border-radius:0;background:#fff;padding:14px 15px;color:#142b3c;font:400 16px/1.4 Manrope,Arial,sans-serif}
.portal-form input::placeholder{color:#737d82;font-size:13px}
.portal-form input:focus-visible{outline:2px solid #a86f4e;outline-offset:3px}
.portal-form #portal-email{margin-bottom:21px}
.portal-password-field{position:relative}
.portal-password-field input{padding-right:90px}
.portal-password-field button{position:absolute;inset:1px 1px 1px auto;min-width:80px;padding:10px;background:none;border:0;color:#805135;font:500 11px/1.4 Manrope,Arial,sans-serif;cursor:pointer}
.portal-form .portal-destination{justify-content:center;margin-top:26px;cursor:pointer;letter-spacing:.025em}
.portal-drawer .portal-help{margin-top:29px}
.portal-drawer button:focus-visible{outline:2px solid #a86f4e;outline-offset:4px}
.portal-login-error{margin-top:18px;padding:15px 17px;border-left:2px solid #955b42;background:#f1e8e0;color:#68412e;font:500 12px/1.8 Manrope,Arial,sans-serif}
@media(max-width:380px){.portal-drawer .utility-drawer-shell{padding-inline:21px}}
