/* Approved practice-area design. Loaded only with the Practice Area template. */
.practice-page .site-shell { overflow: clip; }
.practice-page .practice-hero-grid.practice-hero-no-image { grid-template-columns: minmax(0, 1fr); }
.practice-page .practice-hero-no-image > div { max-width: 900px; }
.practice-page .practice-hero-no-image .practice-intro { max-width: 900px; }
.practice-page .practice-hero-no-intro h1 { margin-bottom: 0; }
.practice-page .eyebrow { font-size: .875rem; letter-spacing: .12em; margin-bottom: 18px; }
.practice-hero { background: var(--mist); border-bottom: 1px solid var(--line); padding: 26px 0 48px; }
.practice-breadcrumb { align-items: center; color: var(--slate); display: flex; flex-wrap: wrap; font-size: .8125rem; gap: 10px; margin-bottom: 36px; }
.practice-breadcrumb a:hover { color: var(--green); text-decoration: underline; }
.practice-hero-grid { align-items: center; display: grid; gap: clamp(36px, 6vw, 80px); grid-template-columns: minmax(0, 1.3fr) minmax(0, .8fr); }
.practice-page h1 { color: var(--navy); font-size: clamp(2.75rem, 4.3vw, 4rem); line-height: 1.07; margin-bottom: 20px; text-wrap: balance; }
.practice-intro { color: var(--slate); font-size: 1.0625rem; line-height: 1.8; margin: 0; max-width: 600px; }
.practice-hero-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 22px; margin-top: 27px; }
.practice-page .button { font-size: .875rem; min-height: 48px; padding: 14px 20px; }
.practice-call { color: var(--navy); font-size: 1rem; font-weight: 600; text-underline-offset: 5px; }
.practice-call:hover { text-decoration: underline; }
.practice-hero-image { margin: 0; }
.practice-hero-image img { aspect-ratio: 1.62; display: block; height: auto; object-fit: cover; width: 100%; }
.practice-hero-image figcaption { border-top: 2px solid var(--green); color: var(--slate); font-size: .8125rem; line-height: 1.6; padding-top: 11px; }
.practice-reading-wrap { padding-top: clamp(42px, 5vw, 68px); padding-bottom: clamp(54px, 6vw, 84px); }
.practice-reading-layout { align-items: start; display: grid; gap: clamp(44px, 7vw, 104px); grid-template-columns: minmax(0, 1fr) 280px; }
.practice-article { min-width: 0; }
.practice-editor-content { color: var(--ink); font-size: 1.0625rem; line-height: 1.85; max-width: 760px; overflow-wrap: break-word; }
.practice-editor-content > p:first-child { color: var(--navy); font-size: 1.1875rem; line-height: 1.75; }
.practice-editor-content p { margin: 0 0 20px; }
.practice-editor-content h2 { color: var(--navy); font-size: clamp(1.875rem, 2.5vw, 2.375rem); line-height: 1.16; margin: 42px 0 20px; scroll-margin-top: 32px; text-wrap: balance; }
.practice-editor-content h3 { color: var(--navy); font-family: var(--sans); font-size: 1.125rem; font-weight: 700; line-height: 1.5; margin: 27px 0 9px; }
.practice-editor-content ul, .practice-editor-content ol { margin: 0 0 24px; padding-left: 24px; }
.practice-editor-content li { margin-bottom: 13px; padding-left: 5px; }
.practice-editor-content li::marker { color: var(--green); }
.practice-editor-content strong { color: var(--navy); font-weight: 700; }
.practice-editor-content a { color: var(--green); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.practice-editor-content a:hover { color: var(--navy); }
.practice-editor-content blockquote { border-left: 3px solid var(--green); color: var(--navy); margin: 28px 0; padding: 5px 0 5px 24px; }
/* Classic Editor markup remains editable without layout-specific wrappers. */
.practice-editor-content { display: flow-root; }
.practice-editor-content h4, .practice-editor-content h5, .practice-editor-content h6 { color: var(--navy); font-size: 1rem; line-height: 1.5; margin: 24px 0 9px; }
.practice-editor-content img { height: auto; max-width: 100%; }
.practice-editor-content figure, .practice-editor-content .wp-caption { margin: 28px 0; max-width: 100%; }
.practice-editor-content figcaption, .practice-editor-content .wp-caption-text { color: var(--slate); font-size: .875rem; line-height: 1.6; margin: 10px 0 0; }
.practice-editor-content .aligncenter { display: block; margin-left: auto; margin-right: auto; }
.practice-editor-content .alignleft { float: left; margin: 5px 24px 20px 0; max-width: 50%; }
.practice-editor-content .alignright { float: right; margin: 5px 0 20px 24px; max-width: 50%; }
.practice-editor-content .alignnone { max-width: 100%; }
.practice-editor-content iframe, .practice-editor-content video, .practice-editor-content object { max-width: 100%; }
.practice-editor-content table { border-collapse: collapse; display: block; font-size: .9375rem; margin: 26px 0; max-width: 100%; overflow-x: auto; width: 100%; }
.practice-editor-content th, .practice-editor-content td { border: 1px solid var(--line); padding: 12px 15px; text-align: left; vertical-align: top; }
.practice-editor-content th { background: var(--mist); color: var(--navy); font-weight: 700; }
.practice-editor-content caption { color: var(--slate); font-size: .875rem; padding-bottom: 10px; text-align: left; }
.practice-editor-content pre { background: var(--mist); font-size: .875rem; max-width: 100%; overflow-x: auto; padding: 18px; }
.practice-editor-content hr { border: 0; border-top: 1px solid var(--line); margin: 30px 0; }
.practice-editor-content > :last-child { margin-bottom: 0; }
.practice-sidebar { border-top: 2px solid var(--green); max-height: calc(100svh - 48px); overflow-y: auto; padding: 24px 2px 0; position: sticky; top: 24px; }
.practice-page .practice-sidebar-title { color: var(--navy); font-family: var(--sans); font-size: .875rem; font-weight: 700; letter-spacing: .1em; line-height: 1.5; margin: 0 0 15px; text-transform: uppercase; }
.practice-toc-links, .practice-related ul { list-style: none; margin: 0; padding: 0; }
.practice-toc-links a { border-left: 2px solid var(--line); color: var(--slate); display: block; font-size: .9375rem; line-height: 1.55; padding: 9px 0 9px 16px; }
.practice-toc-links a:hover, .practice-toc-links a[aria-current="location"] { border-left-color: var(--green); color: var(--green); }
.practice-toc-links a[aria-current="location"] { font-weight: 600; }
.practice-sidebar > .practice-related:first-child { border-top: 0; margin-top: 0; padding-top: 0; }
.practice-sidebar > .practice-sidebar-contact:first-child { border-top: 0; margin-top: 0; padding-top: 0; }
.practice-related { border-top: 1px solid var(--line); margin-top: 28px; padding-top: 24px; }
.practice-related a { align-items: center; color: var(--navy); display: flex; font-size: .9375rem; gap: 15px; justify-content: space-between; line-height: 1.6; padding: 9px 0; }
.practice-related a:hover { color: var(--green); }
.practice-related svg { color: var(--green); flex-shrink: 0; }
.practice-sidebar-contact { border-top: 1px solid var(--line); margin-top: 22px; padding-top: 24px; }
.practice-sidebar-contact > p { color: var(--slate); font-size: .9375rem; margin: 0 0 7px; }
.practice-sidebar-phone { color: var(--navy); display: block; font-family: var(--display); font-size: 1.7rem; line-height: 1.3; margin-bottom: 16px; }
.practice-page .practice-sidebar-contact .text-link { font-size: .875rem; letter-spacing: 0; text-transform: none; }
.practice-attorney { align-items: center; border-top: 1px solid var(--line); display: flex; gap: 18px; margin-top: 38px; padding-top: 25px; }
.practice-attorney img { background: var(--mist); height: 64px; object-fit: cover; object-position: center 18%; width: 64px; }
.practice-attorney p { color: var(--slate); font-size: .875rem; line-height: 1.5; margin: 0 0 4px; }
.practice-attorney a { align-items: center; color: var(--navy); display: inline-flex; flex-wrap: wrap; font-size: 1rem; font-weight: 600; gap: 10px; }
.practice-attorney a:hover { color: var(--green); }
.practice-mobile-toc { display: none; }
.practice-contact { background: var(--navy); border-top: 3px solid #81bca8; color: white; padding: clamp(50px, 6vw, 80px) 0; scroll-margin-top: 24px; }
.practice-contact-grid { align-items: start; display: grid; gap: clamp(42px, 7vw, 100px); grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); }
.practice-contact-copy h2 { color: white; font-size: clamp(2rem, 3.2vw, 3rem); line-height: 1.1; margin: 0 0 24px; max-width: 410px; text-wrap: balance; }
.practice-contact-copy > p:not(.eyebrow) { color: rgba(255,255,255,.8); font-size: 1rem; line-height: 1.8; max-width: 420px; }
.practice-contact-phone { align-items: center; color: #a8d7c8; display: inline-flex; font-family: var(--display); font-size: clamp(1.7rem, 2.8vw, 2.3rem); gap: 18px; line-height: 1.3; margin: 8px 0 30px; }
.practice-contact-copy .practice-agent-note { border-top: 1px solid rgba(255,255,255,.22); padding-top: 22px; }
.practice-contact .consultation-panel { background: var(--navy); border: 0; color: white; min-width: 0; padding: 0; }
.practice-contact .consultation-panel h2 { color: white; font-size: clamp(1.8rem, 2.4vw, 2.15rem); line-height: 1.12; margin-bottom: 14px; text-wrap: balance; }
.practice-contact .consultation-intro { color: rgba(255,255,255,.8); font-size: 1rem; line-height: 1.7; margin-bottom: 20px; }
.practice-page a:focus-visible, .practice-page button:focus-visible, .practice-page summary:focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }
@media (max-width: 1000px) {
  .practice-reading-layout { gap: 42px; grid-template-columns: minmax(0, 1fr) 250px; }
  .practice-hero-grid { gap: 36px; grid-template-columns: minmax(0, 1.3fr) minmax(0, .8fr); }
}
@media (max-width: 800px) {
  .practice-hero { padding-bottom: 36px; }
  .practice-hero-grid { grid-template-columns: minmax(0, 1fr); gap: 30px; }
  .practice-page h1 { font-size: clamp(2.5rem, 7vw, 3.5rem); }
  .practice-hero-image img { aspect-ratio: 2.5; object-position: center 50%; }
  .practice-reading-layout { grid-template-columns: minmax(0, 1fr); gap: 36px; }
  .practice-sidebar { border-top: 1px solid var(--line); max-height: none; overflow: visible; padding: 26px 0 0; position: static; }
  .practice-desktop-toc, .practice-sidebar-contact { display: none; }
  .practice-sidebar.practice-sidebar-no-related { display: none; }
  .practice-related { border: 0; margin: 0; padding: 0; }
  .practice-mobile-toc { border-bottom: 1px solid var(--line); border-top: 2px solid var(--green); display: block; margin-bottom: 30px; }
  .practice-mobile-toc summary { align-items: center; color: var(--navy); display: flex; font-size: .9375rem; font-weight: 700; justify-content: space-between; list-style: none; padding: 15px 0; }
  .practice-mobile-toc summary::-webkit-details-marker { display: none; }
  .practice-mobile-toc summary span { color: var(--green); font-size: 1.4rem; font-weight: 400; }
  .practice-mobile-toc[open] summary span { transform: rotate(45deg); }
  .practice-mobile-toc nav { padding-bottom: 18px; }
  .practice-editor-content { font-size: 1rem; }
  .practice-editor-content > p:first-child { font-size: 1.125rem; }
  .practice-editor-content h2 { margin-top: 34px; }
  .practice-contact-grid { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .practice-contact-copy h2, .practice-contact-copy > p:not(.eyebrow) { max-width: 650px; }
  .practice-contact-phone { margin-bottom: 20px; }
}
@media (max-width: 600px) {
  .practice-editor-content .alignleft, .practice-editor-content .alignright { float: none; margin: 24px auto; max-width: 100%; }
}
@media (max-width: 480px) {
  .practice-hero-actions { align-items: flex-start; flex-direction: column; gap: 17px; }
  .practice-hero-image img { aspect-ratio: 1.9; }
  .practice-breadcrumb { gap: 7px; }
}
@media (prefers-reduced-motion: reduce) {
  html:has(.practice-page) { scroll-behavior: auto; }
  .practice-page .button { transition: none; }
}

/* Native Gravity Forms output: preserve its grid, conditional logic and validation. */
.practice-page .consultation-panel .form-plugin.practice-gravity-form .gform_wrapper {
  margin: 0;
}

.practice-page .consultation-panel .form-plugin.practice-gravity-form .gform-theme--framework {
  --gf-ctrl-desc-color: rgba(255, 255, 255, 0.74);
  --gf-ctrl-font-size: 1rem;
  --gf-ctrl-label-font-size-primary: 0.875rem;
  --gf-ctrl-label-color-primary: #a8d7c8;
  --gf-form-gap-x: 22px;
  --gf-form-gap-y: 22px;
}

/* Keep Gravity Forms' native grid, field visibility and conditional logic intact. */
.practice-page .consultation-panel .form-plugin.practice-gravity-form .gform_wrapper .gform_fields {
  column-gap: 22px !important;
  row-gap: 22px !important;
}

.practice-page .consultation-panel .form-plugin.practice-gravity-form .gform_wrapper .gfield {
  min-width: 0;
}

.practice-page .consultation-panel .form-plugin.practice-gravity-form .gform_wrapper .gfield_label,
.practice-page .consultation-panel .form-plugin.practice-gravity-form .gform_wrapper .gform-field-label {
  color: #a8d7c8 !important;
  font-family: var(--sans) !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.07em !important;
  line-height: 1.55 !important;
  margin-bottom: 7px;
  text-transform: uppercase;
}

.practice-page .consultation-panel .form-plugin.practice-gravity-form .gform_wrapper .gform_required_legend {
  color: rgba(255, 255, 255, 0.74) !important;
  display: block !important;
  font-family: var(--sans);
  font-size: 0.875rem !important;
  line-height: 1.6;
  margin: 0 0 20px !important;
}

.practice-page .consultation-panel .form-plugin.practice-gravity-form .gform_wrapper .gfield_required {
  color: #a8d7c8 !important;
}

.practice-page .consultation-panel .form-plugin.practice-gravity-form .gform_wrapper input:is([type="text"], [type="email"], [type="tel"], [type="url"], [type="number"], [type="password"], [type="date"], [type="time"], [type="search"]),
.practice-page .consultation-panel .form-plugin.practice-gravity-form .gform_wrapper input:not([type]),
.practice-page .consultation-panel .form-plugin.practice-gravity-form .gform_wrapper select,
.practice-page .consultation-panel .form-plugin.practice-gravity-form .gform_wrapper textarea {
  background-color: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.48) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: white !important;
  font-family: var(--sans) !important;
  font-size: 1rem !important;
  font-weight: 400 !important;
  height: auto !important;
  line-height: 1.5 !important;
  min-height: 44px !important;
  min-width: 0 !important;
  padding: 9px 2px 11px !important;
  width: 100% !important;
}

.practice-page .consultation-panel .form-plugin.practice-gravity-form .gform_wrapper select {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' stroke='%23a8d7c8' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-position: right 3px center !important;
  background-repeat: no-repeat !important;
  background-size: 16px 16px !important;
  padding-right: 28px !important;
}

.practice-page .consultation-panel .form-plugin.practice-gravity-form .gform_wrapper select option {
  background: white;
  color: var(--ink);
}

.practice-page .consultation-panel .form-plugin.practice-gravity-form .gform_wrapper textarea {
  height: 104px !important;
  min-height: 104px !important;
  resize: vertical;
}

.practice-page .consultation-panel .form-plugin.practice-gravity-form .gform_wrapper input::placeholder,
.practice-page .consultation-panel .form-plugin.practice-gravity-form .gform_wrapper textarea::placeholder {
  color: rgba(255, 255, 255, 0.66) !important;
  opacity: 1;
}

.practice-page .consultation-panel .form-plugin.practice-gravity-form .gform_wrapper input:not([type="hidden"]):focus-visible,
.practice-page .consultation-panel .form-plugin.practice-gravity-form .gform_wrapper select:focus-visible,
.practice-page .consultation-panel .form-plugin.practice-gravity-form .gform_wrapper textarea:focus-visible {
  border-bottom-color: #a8d7c8 !important;
  outline: 2px solid #a8d7c8 !important;
  outline-offset: 4px !important;
}

.practice-page .consultation-panel .form-plugin.practice-gravity-form .gform_wrapper .gfield_description {
  color: rgba(255, 255, 255, 0.74);
  font-size: 0.875rem;
  line-height: 1.6;
}

/* These two visible fields alone change span; hidden and conditional fields do not. */
.practice-page .consultation-panel .form-plugin.practice-gravity-form .gform_wrapper .matter-disclaimer,
.practice-page .consultation-panel .form-plugin.practice-gravity-form .gform_wrapper .gfield--type-submit {
  grid-column: 1 / -1 !important;
}

.practice-page .consultation-panel .form-plugin.practice-gravity-form .gform_wrapper .matter-disclaimer {
  align-self: start;
  color: rgba(255, 255, 255, 0.74);
  font-size: 0.875rem;
  line-height: 1.6;
  padding-bottom: 0;
}

.practice-page .consultation-panel .form-plugin.practice-gravity-form .gform_wrapper .matter-disclaimer p {
  color: rgba(255, 255, 255, 0.74);
  font-size: 0.875rem;
  line-height: 1.6;
  margin: 0;
  max-width: none;
}

.practice-page .consultation-panel .form-plugin.practice-gravity-form .gform_wrapper .gfield--type-submit,
.practice-page .consultation-panel .form-plugin.practice-gravity-form .gform_wrapper .gform_footer {
  align-items: center;
  justify-content: flex-start;
}

.practice-page .consultation-panel .form-plugin.practice-gravity-form .gform_wrapper .gform_footer {
  margin-block-start: 22px !important;
  padding: 0 !important;
}

.practice-page .consultation-panel .form-plugin.practice-gravity-form .gform_wrapper button[type="submit"],
.practice-page .consultation-panel .form-plugin.practice-gravity-form .gform_wrapper input[type="submit"] {
  background: var(--green-bright) !important;
  border: 1px solid transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: white !important;
  cursor: pointer;
  font-family: var(--sans) !important;
  font-size: 0.875rem !important;
  font-weight: 700 !important;
  height: auto !important;
  letter-spacing: 0.075em;
  line-height: 1.5 !important;
  max-width: 100%;
  min-height: 48px !important;
  padding: 14px 22px !important;
  text-align: left;
  text-transform: uppercase;
  white-space: normal;
  width: auto;
}

.practice-page .consultation-panel .form-plugin.practice-gravity-form .gform_wrapper button[type="submit"]:hover,
.practice-page .consultation-panel .form-plugin.practice-gravity-form .gform_wrapper input[type="submit"]:hover {
  background: #317d65 !important;
}

.practice-page .consultation-panel .form-plugin.practice-gravity-form .gform_wrapper button[type="submit"]:focus-visible,
.practice-page .consultation-panel .form-plugin.practice-gravity-form .gform_wrapper input[type="submit"]:focus-visible {
  outline: 2px solid #a8d7c8 !important;
  outline-offset: 4px !important;
}

.practice-page .consultation-panel .form-plugin.practice-gravity-form .gform_wrapper .gform_validation_errors h2,
.practice-page .consultation-panel .form-plugin.practice-gravity-form .gform_wrapper .gfield_validation_message,
.practice-page .consultation-panel .form-plugin.practice-gravity-form .gform_wrapper .validation_message {
  color: #ffd3c9 !important;
  font-family: var(--sans) !important;
  font-size: 0.875rem !important;
  letter-spacing: normal;
  line-height: 1.6;
}

.practice-page .consultation-panel .form-plugin.practice-gravity-form .gform_wrapper .gfield_error input:not([type="hidden"]),
.practice-page .consultation-panel .form-plugin.practice-gravity-form .gform_wrapper .gfield_error select,
.practice-page .consultation-panel .form-plugin.practice-gravity-form .gform_wrapper .gfield_error textarea {
  border-bottom-color: #ffad9a !important;
}

.practice-page .consultation-panel .form-plugin.practice-gravity-form .gform_confirmation_message {
  border-left: 3px solid #78c2aa;
  color: white;
  font-family: var(--sans);
  font-size: 1rem;
  line-height: 1.7;
  padding: 16px 0 16px 20px;
}

.practice-page .form-unavailable {
  border-top: 1px solid rgba(255, 255, 255, 0.3);
  color: rgba(255, 255, 255, 0.8);
  font-size: 1rem;
  line-height: 1.7;
  margin: 24px 0 0;
  padding-top: 20px;
}

.practice-page .form-unavailable p:last-child {
  margin-bottom: 0;
}

.practice-page .form-unavailable a,
.practice-page .gform_confirmation_message a {
  text-decoration: underline;
  text-underline-offset: 3px;
}


@media (max-width: 600px) {
  .practice-page .consultation-panel .form-plugin.practice-gravity-form .gform_wrapper button[type="submit"],
  .practice-page .consultation-panel .form-plugin.practice-gravity-form .gform_wrapper input[type="submit"] { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .practice-page .practice-gravity-form button[type="submit"],
  .practice-page .practice-gravity-form input[type="submit"] { transition: none; transform: none; }
}
