/* A restrained refinement of the original wine-red and sand identity. */
:root {
  --practice-wine: #73343e;
  --practice-heading-font: 'DM Sans', Arial, sans-serif;
  --practice-body-font: 'DM Sans', Arial, sans-serif;
  --practice-wine-dark: #54262e;
  --practice-sand: #e6be8a;
  --practice-paper: #faf6f1;
  --practice-ink: #494341;
  --practice-rule: #e8ded7;
}
html { scroll-behavior: auto !important; }
.practice-refined { color: var(--practice-ink); -webkit-font-smoothing: antialiased; }
.practice-refined [id] { scroll-margin-top: 112px; }
.practice-refined .elementor-invisible { visibility: visible !important; }
.practice-refined .animated,
.practice-refined ._brlbs-animated,
.practice-refined [class*="elementor-animation-"] { animation: none !important; transform: none !important; }
.practice-refined .elementor-element,
.practice-refined .elementor-widget-container,
.practice-refined .elementor-background-overlay,
.practice-refined .elementor-widget-wrap,
.practice-refined .elementor-nav-menu,
.practice-refined .elementor-nav-menu a::before,
.practice-refined .elementor-nav-menu a::after { transition: none !important; }
.practice-refined .elementor-button {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 14px 26px;
  background: var(--practice-wine) !important;
  color: #fff !important;
  border: 1px solid transparent;
  border-radius: 0 !important;
  line-height: 1.3;
  font-size: 16px;
  font-weight: 500;
  transform: none !important;
  transition: background-color 120ms linear !important;
}
.practice-refined .elementor-button:hover { background: var(--practice-wine-dark) !important; }
.practice-refined :is(a, button, summary, input, textarea, select, [tabindex]):focus-visible {
  outline: 3px solid var(--practice-wine);
  outline-offset: 4px;
}
.practice-refined .elementor-location-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: #fff;
  border-bottom: 1px solid var(--practice-rule);
}
.practice-refined .elementor-location-header .sticky-header {
  margin-bottom: 0 !important;
  background: #fff !important;
}
.practice-refined .sticky-header > .elementor-container { min-height: 82px !important; }
.practice-refined .elementor-location-header .logo img { width: 244px; height: auto; }
.practice-refined .elementor-location-header .elementor-nav-menu--main .elementor-item {
  padding: 16px 18px;
  font-size: 16px;
  line-height: 1.5;
}
.practice-refined .elementor-menu-toggle { min-width: 44px; min-height: 44px; justify-content: center; }
.practice-refined .elementor-nav-menu--dropdown { background: #fff; border-bottom: 1px solid var(--practice-rule); }
.practice-refined .elementor-nav-menu--dropdown .elementor-item { min-height: 48px; padding: 14px 24px; }
.practice-home #content h2 { font-size: clamp(30px, 3vw, 40px); line-height: 1.2; text-wrap: balance; }
.practice-home #content p,
.practice-home #content li { line-height: 1.7; }
.practice-home :is(.practice-about, .practice-reasons, .practice-careers, .practice-faq) .elementor-widget-text-editor {
  color: var(--practice-ink) !important;
}
.practice-home :is(.practice-about, .practice-careers) .elementor-widget-text-editor p { max-width: 62ch; }
.practice-home .practice-hero > .elementor-container { min-height: clamp(580px, 76svh, 820px) !important; }
.practice-home .practice-hero [data-id="8533302"] {
  padding: 32px !important;
  background: rgb(250 240 225 / 92%) !important;
}
.practice-home .practice-hero [data-id="8533302"] > .elementor-container { min-height: 260px !important; }
.practice-home .practice-hero h1.elementor-heading-title { font-size: clamp(38px, 3.8vw, 56px); line-height: 1.1; }
.practice-home .practice-eyebrow { margin: 0; line-height: 1.4 !important; }
.practice-home .practice-intro [data-id="51d24d4"] {
  margin-top: -32px !important;
  padding: 34px 36px !important;
  border-radius: 0 !important;
}
.practice-home .practice-intro h2 { font-size: clamp(26px, 2.5vw, 32px) !important; }
.practice-home .practice-intro .elementor-button {
  background: var(--practice-sand) !important;
  color: var(--practice-wine-dark) !important;
}
.practice-home .practice-intro .elementor-button:hover { background: #f1d2aa !important; }
.practice-home :is(.practice-about, .practice-careers) { margin-block: 88px !important; }
.practice-home .practice-about [data-id="808e4c7"],
.practice-home .practice-careers [data-id="b492008"] { padding: 28px 36px !important; }
.practice-home :is(.practice-about, .practice-careers) .elementor-widget-image .elementor-widget-container {
  box-shadow: none !important;
}
.practice-home .practice-services {
  margin-block: 0 !important;
  padding: 72px 0 !important;
  background: var(--practice-paper) !important;
}
.practice-home .practice-services > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-heading { margin-bottom: 32px; }
.practice-home .practice-services .elementor-inner-section:first-of-type .elementor-icon { font-size: 70px; }
.practice-home .practice-services .elementor-inner-section:first-of-type .elementor-icon svg { height: 70px; }
.practice-home :is(.elementor-tab-title, .elementor-tab-content) { line-height: 1.6; }
.practice-home .elementor-accordion-item,
.practice-home .elementor-toggle-item { border-color: var(--practice-rule) !important; }
.practice-home .elementor-accordion .elementor-tab-title,
.practice-home .elementor-toggle .elementor-tab-title {
  padding: 21px 22px;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.45;
}
.practice-home .elementor-tab-title.elementor-active,
.practice-home .elementor-tab-title.elementor-active :is(a, .elementor-toggle-icon, .elementor-accordion-icon) {
  color: var(--practice-wine-dark) !important;
}
.practice-home .elementor-tab-title.elementor-active { background: #f2e7db; }
.practice-home .elementor-tab-content {
  padding: 8px 24px 26px !important;
  background: #fff;
  color: var(--practice-ink) !important;
  font-size: 17px;
}
.practice-home .practice-reasons { margin-block: 88px 64px !important; }
.practice-home .practice-reasons #gruende { margin-bottom: 36px; }
.practice-reasons-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px; width: 100%; }
.practice-reason { border-top: 2px solid var(--practice-sand); padding-top: 22px; }
.practice-reason h3 { margin: 0 0 16px; font-family: var(--practice-heading-font); font-size: 26px; line-height: 1.3; color: var(--practice-wine); }
.practice-reason p { margin: 0; color: var(--practice-ink); font-size: 17px; line-height: 1.75; }
/* Natural photo proportions with consistent spacing and a calmer visual rhythm. */
.practice-gallery { --gallery-gap: 22px; display: block; column-count: 3; column-gap: var(--gallery-gap); }
.practice-home #content .practice-gallery .practice-gallery__item { display: block; margin: 0 0 var(--gallery-gap); break-inside: avoid; overflow: hidden; border-radius: 0; background: #eee5dc; }
.practice-gallery__item img { display: block; width: 100%; height: auto; }
.practice-gallery--therapy { --gallery-gap: 18px; display: grid; grid-template-columns: 1.26fr 1fr; gap: var(--gallery-gap); column-count: auto; }
.practice-gallery__column { display: flex; flex-direction: column; gap: var(--gallery-gap); min-width: 0; }
.practice-home #content .practice-gallery__column .practice-gallery__item { margin: 0; }
.practice-home .practice-services .practice-gallery-widget { margin-top: 0; }
.practice-home .practice-gallery-section { padding: 64px 0 !important; background: var(--practice-paper) !important; }
.practice-home .practice-gallery-section > .elementor-container { max-width: 1120px; }
.practice-home .practice-gallery-section > .elementor-container > .elementor-column > .elementor-widget-wrap { padding: 0; }
.practice-gallery-heading { max-width: 1120px; margin: 0 auto 32px; }
.practice-gallery-heading::before { content: ''; display: block; width: 56px; height: 2px; margin-bottom: 20px; background: var(--practice-sand); }
.practice-gallery-heading h2 { margin: 0; color: var(--practice-wine); font-family: var(--practice-heading-font); font-size: clamp(30px, 3vw, 40px); font-weight: 600; line-height: 1.2; letter-spacing: -0.02em; }
.practice-home .practice-testimonials { margin-block: 80px !important; }
.practice-home .practice-testimonials .elementor-testimonial__content,
.practice-home .practice-testimonials .elementor-testimonial__content::after { background: var(--practice-paper) !important; }
.practice-home .practice-testimonials .elementor-testimonial__content { padding: 28px !important; border-top: 2px solid var(--practice-sand); }
.practice-home .practice-testimonials .elementor-testimonial__text { color: var(--practice-ink) !important; font-size: 17px !important; line-height: 1.7; font-style: normal; }
.practice-home .practice-testimonials .elementor-testimonial__footer { padding-top: 20px; }
.practice-home .practice-testimonials .swiper-pagination-bullet { width: 10px; height: 10px; }
.practice-home .practice-faq { margin-block: 80px !important; }
.practice-home .practice-faq > .elementor-container { max-width: 900px; }
.practice-home .practice-faq .elementor-widget-heading { margin-bottom: 24px; }
.practice-home .practice-contact > .elementor-container { min-height: 520px !important; }
.practice-home .practice-contact [data-id="50f23b2"] > .elementor-container { min-height: 300px !important; }
.practice-home .practice-contact [data-id="6237870"] > .elementor-widget-wrap { margin: 0 !important; box-shadow: none !important; padding: 32px !important; }
.practice-home .elementor-google-map iframe { max-height: 340px; }
.practice-refined .elementor-form :is(input.elementor-field-textual, textarea, select) {
  min-height: 48px;
  padding: 12px 14px;
  border: 1px solid #bfb2a9;
  border-radius: 0;
  background: #fff;
  font-size: 16px;
  line-height: 1.5;
  color: var(--practice-ink);
}
.practice-refined .elementor-form :is(input[type="checkbox"], input[type="radio"]) { min-width: 20px; min-height: 20px; accent-color: var(--practice-wine); vertical-align: middle; }
.practice-refined .elementor-field-group { margin-bottom: 8px; }
.practice-refined .elementor-form .elementor-field-label { line-height: 1.5; }
.practice-refined .elementor-location-footer { border-top: 1px solid var(--practice-rule); }
.practice-refined .elementor-location-footer .elementor-widget-text-editor { color: var(--practice-ink); }
@media (max-width: 1024px) {
  .practice-refined .elementor-location-header .logo img { width: 224px; }
  .practice-home .practice-hero h1.elementor-heading-title { font-size: 42px; }
  .practice-home .practice-hero [data-id="8533302"] { padding: 22px !important; }
  .practice-reasons-grid { gap: 28px; }
  .practice-reason h3 { font-size: 23px; }
  .practice-home .practice-gallery-section { padding-inline: 24px !important; }
}
@media (max-width: 767px) {
  .practice-refined [id] { scroll-margin-top: 94px; }
  .practice-refined .sticky-header > .elementor-container { min-height: 76px !important; }
  .practice-refined .elementor-location-header > header > .elementor-container { padding-inline: 14px; }
  .practice-refined .elementor-location-header [data-id="4fcf222"] { width: 76%; }
  .practice-refined .elementor-location-header [data-id="9cc748b"] { width: 24%; }
  .practice-refined .elementor-location-header .logo img { width: 220px; }
  .practice-home .practice-hero { background-position: 35% top !important; }
  .practice-home .practice-hero > .elementor-container { min-height: 430px !important; align-items: flex-end; }
  .practice-home .practice-hero [data-id="b234329"] > .elementor-widget-wrap { margin: 0 !important; padding: 0 20px 24px !important; }
  .practice-home .practice-hero [data-id="8533302"] { width: 100%; padding: 20px 22px !important; }
  .practice-home .practice-hero [data-id="8533302"] > .elementor-container { min-height: 0 !important; }
  .practice-home .practice-hero h1.elementor-heading-title { font-size: 36px; }
  .practice-home .practice-eyebrow { font-size: 17px !important; }
  .practice-home .practice-intro [data-id="51d24d4"] { margin-top: 0 !important; padding: 30px 24px !important; border-radius: 0 !important; }
  .practice-home .practice-intro h2 { font-size: 29px !important; }
  .practice-home :is(.practice-about, .practice-careers) { margin-block: 48px !important; }
  .practice-home :is(.practice-about, .practice-careers) > .elementor-container { padding-inline: 20px; }
  .practice-home :is(.practice-about, .practice-careers) .elementor-widget-image .elementor-widget-container { margin: 0 !important; }
  .practice-home :is(.practice-about, .practice-careers) > .elementor-container > .elementor-column > .elementor-widget-wrap { padding: 0 !important; background: transparent !important; }
  .practice-home .practice-about [data-id="808e4c7"],
  .practice-home .practice-careers [data-id="b492008"] { padding: 28px 4px 0 !important; }
  .practice-home #content h2 { font-size: 32px; }
  .practice-home .practice-services { padding: 48px 16px !important; }
  .practice-home .practice-services .elementor-inner-section:first-of-type .elementor-icon { font-size: 56px; }
  .practice-home .practice-services .elementor-inner-section:first-of-type .elementor-icon svg { height: 56px; }
  .practice-home :is(.practice-reasons, .practice-gallery-section, .practice-testimonials, .practice-faq) { padding-inline: 20px; }
  .practice-home :is(.practice-reasons, .practice-testimonials, .practice-faq) { margin-block: 52px !important; }
  .practice-home .practice-reasons #gruende { margin-bottom: 28px; }
  .practice-reasons-grid { grid-template-columns: 1fr; gap: 26px; }
  .practice-reason { padding-top: 18px; }
  .practice-reason h3 { font-size: 25px; margin-bottom: 12px; }
  .practice-reason p { font-size: 17px; }
  .practice-gallery { --gallery-gap: 12px; column-count: 2; }
  .practice-gallery--therapy { column-count: auto; }
  .practice-home .practice-gallery-section { padding: 40px 20px !important; }
  .practice-gallery-heading { margin-bottom: 24px; }
  .practice-home .elementor-accordion .elementor-tab-title,
  .practice-home .elementor-toggle .elementor-tab-title { padding: 18px 16px; font-size: 17px; }
  .practice-home .elementor-tab-content { padding: 8px 16px 22px !important; }
  .practice-home .practice-testimonials .elementor-testimonial__content { padding: 24px !important; }
  .practice-home .practice-contact > .elementor-container { min-height: 0 !important; }
  .practice-home .practice-contact [data-id="1af34c1"] > .elementor-widget-wrap { padding: 24px !important; }
  .practice-home .practice-contact [data-id="6237870"] > .elementor-widget-wrap { padding: 24px !important; }
  .practice-refined .elementor-button { min-height: 48px; }
}
@media (prefers-reduced-motion: reduce) {
  .practice-refined *, .practice-refined *::before, .practice-refined *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
/* Keep the hero compact and the portrait unobstructed on small screens. */
.practice-home .practice-hero { height: auto !important; }
.practice-home .practice-hero > .elementor-container { height: auto !important; }
.practice-refined .elementor-location-header .elementor-nav-menu--main .elementor-item:is(:hover, :focus, .elementor-item-active) { color: var(--practice-wine-dark) !important; }
.practice-refined .elementor-location-footer .elementor-widget-text-editor { color: var(--practice-ink) !important; font-size: 14px; line-height: 1.6; }
.practice-home .practice-faq .elementor-toggle-icon-closed i::before { content: '+'; font-family: var(--practice-body-font); font-size: 21px; }
.practice-home .practice-faq .elementor-toggle-icon-opened i::before { content: '−'; font-family: var(--practice-body-font); font-size: 21px; }
@media (max-width: 767px) {
  .practice-home .practice-hero { background-image: none !important; background-color: var(--practice-paper); }
  .practice-home .practice-hero::before {
    content: '';
    display: block;
    height: 270px;
    background: url('/wp-content/uploads/2021/04/Lia-Lohrer-Fotografie-054-1.jpg') 30% 30% / cover no-repeat;
  }
  .practice-home .practice-hero > .elementor-container { min-height: 0 !important; }
  .practice-home .practice-hero [data-id="b234329"] > .elementor-widget-wrap { padding: 0 !important; }
  .practice-home .practice-hero [data-id="8533302"] { padding: 26px 24px 30px !important; background: var(--practice-paper) !important; }
}
/* Manual controls stay visible alongside the optional automatic carousel. */
.practice-home .practice-testimonials .elementor-swiper-button {
  color: var(--practice-wine) !important;
  background: #fff;
  border: 1px solid var(--practice-rule);
  border-radius: 0;
  min-width: 44px;
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.practice-home .practice-testimonials .elementor-swiper-button:hover { background: var(--practice-paper); }
.practice-home .practice-careers [data-id="ed5713e"] { align-self: flex-start; }
.practice-home .practice-careers [data-id="ed5713e"] > .elementor-widget-wrap { background: transparent !important; }
.practice-refined:not(.home) #content { max-width: 900px; margin: 48px auto; padding-inline: 24px; overflow-wrap: anywhere; }
.practice-refined .elementor-form-fields-wrapper { margin-inline: 0 !important; }
.practice-location { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 40px; background: var(--practice-paper); }
.practice-home #content .practice-location h2 { font-size: 28px; margin: 0 0 10px; text-align: left; }
.practice-location p { margin: 0; color: var(--practice-ink); font-size: 17px; }
@media (max-width: 767px) {
  .practice-refined:not(.home) #content { margin-block: 32px; padding-inline: 20px; }
  .practice-location { flex-direction: column; align-items: flex-start; padding: 28px 24px; }
}
@media (max-width: 767px) {
  .practice-refined:not(.home) #content h1 {
    font-size: clamp(1.5rem, 7vw, 1.875rem) !important;
    line-height: 1.2;
    hyphens: auto;
    overflow-wrap: break-word;
  }
}
.practice-carousel-controls { display: flex; justify-content: center; margin-top: 22px; }
.practice-carousel-toggle { min-height: 44px; padding: 8px 20px; background: #fff; color: var(--practice-wine); border: 1px solid #cfb7ad; border-radius: 0; font: 500 14px/1.4 var(--practice-body-font); cursor: pointer; }
.practice-carousel-toggle:hover { background: var(--practice-paper); }
.practice-carousel-toggle[hidden] { display: none; }

/* A distinct careers section with a photographic introduction and grouped benefits. */
.careers-section { padding-inline: 24px; }
.careers-shell { max-width: 1140px; margin: 0 auto; background: var(--practice-paper); border: 1px solid var(--practice-rule); border-radius: 0; overflow: hidden; }
.careers-hero { display: grid; grid-template-columns: 1.2fr 0.8fr; background: var(--practice-wine); color: #fff; }
.careers-intro { padding: 46px 44px; }
.practice-home #content .careers-eyebrow { font: 500 12px/1.5 var(--practice-body-font); letter-spacing: 0.12em; text-transform: uppercase; margin: 0 0 18px; }
.careers-intro .careers-eyebrow { color: var(--practice-sand); }
.practice-home #content .careers-intro h2 { color: #fff; font-size: clamp(36px, 3.6vw, 50px); line-height: 1.12; margin: 0 0 22px; text-align: left; font-family: var(--practice-heading-font); }
.practice-home #content .careers-role { font-size: 22px; font-weight: 500; margin: 0 0 14px; }
.careers-intro > p:not(.careers-eyebrow):not(.careers-role) { font-size: 17px; line-height: 1.65; color: #f7eee9; }
.careers-tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 24px 0; }
.careers-tags span { display: inline-block; padding: 7px 11px; border: 1px solid #b38386; border-radius: 0; font: 400 13px/1.4 var(--practice-body-font); color: #fff; }
.practice-refined .careers-apply { background: var(--practice-sand) !important; color: var(--practice-wine-dark) !important; gap: 14px; }
.practice-refined .careers-apply:hover { background: #f1d2aa !important; }
.practice-home #content .careers-intro .careers-short-note { margin: 12px 0 0; font-size: 13px; }
.careers-photo-wrap { min-width: 0; max-height: 560px; overflow: hidden; }
.careers-photo { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 35%; }
.careers-benefits { padding: 40px 44px; }
.careers-benefits > .careers-eyebrow { color: var(--practice-wine); }
.careers-shell h3 { margin: 0 0 24px; color: var(--practice-wine); font: 600 28px/1.3 var(--practice-heading-font); }
.careers-benefit-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.careers-benefit { padding: 26px; background: #fff; border: 1px solid var(--practice-rule); border-radius: 0; }
.careers-benefit h4 { margin: 0 0 16px; color: var(--practice-wine); font: 600 19px/1.35 var(--practice-body-font); }
.careers-benefit ul { margin: 0; padding-left: 19px; }
.practice-home #content .careers-benefit li { padding-left: 3px; margin-bottom: 10px; font-size: 16px; line-height: 1.6; color: var(--practice-ink); }
.careers-benefit li:last-child { margin-bottom: 0; }
.careers-benefit li::marker { color: var(--practice-wine); }
.careers-details { display: grid; grid-template-columns: 1fr 1fr; gap: 36px; padding: 36px 44px; border-top: 1px solid var(--practice-rule); background: #fff; }
.careers-details h3 { font-size: 24px; margin-bottom: 16px; }
.careers-details p { font-size: 16px; line-height: 1.65; color: var(--practice-ink); }
.careers-contact { display: flex; align-items: center; justify-content: space-between; gap: 28px; padding: 32px 44px; border-top: 1px solid var(--practice-rule); }
.careers-contact h3 { font-size: 23px; margin-bottom: 8px; }
.careers-contact p { margin: 0; font-size: 15px; }
.careers-contact > a { color: var(--practice-wine-dark); font-size: 15px; font-weight: 500; text-decoration: underline; text-underline-offset: 4px; overflow-wrap: anywhere; }

/* The appointment page keeps every original field, grouped into readable sections. */
.practice-appointment { background: var(--practice-paper); }
.practice-refined.practice-appointment #content { max-width: 1180px; margin: 58px auto 76px; padding-inline: 24px; overflow-wrap: normal; }
.appointment-intro { max-width: 780px; margin-bottom: 40px; }
.appointment-eyebrow { margin: 0 0 18px; color: var(--practice-wine); text-transform: uppercase; letter-spacing: 0.1em; font: 500 12px/1.5 var(--practice-body-font); }
.practice-appointment #content .appointment-intro h1 { color: var(--practice-wine); font: 600 clamp(34px, 4vw, 52px)/1.12 var(--practice-heading-font) !important; margin: 0 0 22px; text-wrap: balance; }
.appointment-intro > p:not(.appointment-eyebrow) { max-width: 60ch; font-size: 18px; line-height: 1.7; }
.appointment-topline { display: flex; flex-wrap: wrap; gap: 10px 24px; margin-top: 24px; font-size: 14px; color: #655853; }
.appointment-topline > span:first-child { font-weight: 600; color: var(--practice-wine); }
.appointment-layout { display: grid; grid-template-columns: minmax(0, 1fr) 290px; align-items: start; gap: 30px; }
.appointment-main { min-width: 0; }
.appointment-form .appointment-sections { display: block !important; }
.appointment-section { min-width: 0; margin: 0 0 24px; padding: 28px; border: 1px solid #e3d7cc; border-radius: 0; background: #fff; }
.appointment-section > legend { display: flex; align-items: center; gap: 12px; width: 100%; margin-bottom: 24px; padding: 0; color: var(--practice-wine); font: 600 23px/1.25 var(--practice-heading-font); float: left; }
.appointment-step { display: inline-flex; align-items: center; justify-content: center; min-width: 34px; height: 34px; border-radius: 0; background: #f1e3d2; color: var(--practice-wine); font: 500 13px/1 var(--practice-body-font); }
.appointment-fields { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 22px 20px; width: 100%; clear: both; }
.appointment-form .appointment-fields > .elementor-field-group { grid-column: span 12; width: auto; min-width: 0; margin: 0; padding: 0; align-content: flex-start; }
.appointment-form .appointment-fields > .elementor-col-50 { grid-column: span 6; }
.appointment-form .elementor-field-label { display: block; width: 100% !important; height: auto !important; position: static !important; clip: auto !important; clip-path: none !important; overflow: visible !important; white-space: normal !important; margin: 0 0 9px !important; padding: 0 !important; color: #493c38; font: 500 15px/1.5 var(--practice-body-font); }
.appointment-form .elementor-field-label::after { content: none !important; }
.appointment-required { color: var(--practice-wine); }
.practice-appointment .appointment-form :is(input.elementor-field-textual, textarea) { min-height: 50px; border-color: #d4c6ba; border-radius: 0; background: #fffdfa; box-shadow: none; }
.appointment-form :is(input.elementor-field-textual, textarea):focus { border-color: var(--practice-wine); background: #fff; }
.appointment-form textarea { min-height: 124px; resize: vertical; }
.appointment-form .elementor-field-subgroup { display: flex; flex-wrap: wrap; gap: 10px; width: 100%; }
.appointment-form .elementor-field-option { display: flex; align-items: flex-start; gap: 9px; min-width: 0; padding: 12px 14px; border: 1px solid #dfd2c7; border-radius: 0; flex: 1 1 auto; background: #fffdfa; }
.appointment-form .elementor-field-option:has(input:checked) { background: #f8efe7; border-color: var(--practice-wine); }
.appointment-form .elementor-field-option input { flex-shrink: 0; margin: 2px 0 0; }
.appointment-form .elementor-field-option label { min-width: 0; cursor: pointer; color: var(--practice-ink); font: 400 15px/1.5 var(--practice-body-font); }
.appointment-submit { padding: 0 4px; }
.appointment-submit .elementor-field-group { width: 100%; padding: 0; }
.appointment-privacy { margin: 0 0 20px; font-size: 13px; line-height: 1.6; color: #655853; }
.appointment-privacy a { color: var(--practice-wine); text-decoration: underline; text-underline-offset: 3px; }
.appointment-submit .elementor-button { width: 100%; min-height: 54px; }
.appointment-aside { position: sticky; top: 116px; padding: 26px; background: #efe1ce; border-radius: 0; }
.practice-appointment .appointment-aside h2 { margin: 0 0 26px; font: 600 25px/1.2 var(--practice-heading-font); color: var(--practice-wine); }
.appointment-aside .appointment-eyebrow { font-size: 11px; }
.appointment-aside ol { list-style: none; padding: 0; margin: 0; }
.appointment-aside li { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 24px; }
.appointment-aside li > span { display: flex; justify-content: center; align-items: center; flex-shrink: 0; width: 24px; height: 24px; border: 1px solid #bc9b7c; border-radius: 0; color: var(--practice-wine); font: 500 12px/1 var(--practice-body-font); }
.appointment-aside h3 { margin: 0 0 6px; font: 600 15px/1.4 var(--practice-body-font); color: var(--practice-wine-dark); }
.appointment-aside p { margin: 0; color: #594c44; font-size: 14px; line-height: 1.6; }
.appointment-aside > a { display: inline-block; margin-top: 6px; color: var(--practice-wine-dark); font-size: 13px; line-height: 1.6; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 1024px) {
  .careers-intro { padding: 32px; }
  .careers-hero { grid-template-columns: 1.1fr 0.9fr; }
  .careers-benefits { padding: 32px; }
  .careers-contact { flex-direction: column; align-items: flex-start; }
  .appointment-layout { grid-template-columns: minmax(0, 1fr) 250px; gap: 20px; }
  .appointment-section { padding: 24px; }
  .appointment-aside { padding: 22px; }
}
@media (max-width: 767px) {
  .careers-section { padding-inline: 16px; }
  .careers-hero { display: flex; flex-direction: column; }
  .careers-intro { padding: 30px 24px; }
  .practice-home #content .careers-intro h2 { font-size: 37px; }
  .careers-photo-wrap { height: 300px; }
  .careers-photo { object-position: 50% 30%; }
  .careers-benefits { padding: 30px 20px; }
  .careers-shell h3 { font-size: 26px; }
  .careers-benefit-grid, .careers-details { grid-template-columns: 1fr; }
  .careers-benefit { padding: 22px; }
  .careers-details { padding: 30px 24px; gap: 20px; }
  .careers-details h3 { font-size: 23px; }
  .careers-contact { padding: 28px 24px; gap: 18px; }
  .careers-contact h3 { font-size: 23px; }
  .practice-refined.practice-appointment #content { margin: 34px auto 48px; padding-inline: 16px; }
  .practice-appointment #content .appointment-intro h1 { font-size: 34px !important; }
  .appointment-intro { margin-bottom: 28px; }
  .appointment-intro > p:not(.appointment-eyebrow) { font-size: 16px; }
  .appointment-layout { grid-template-columns: minmax(0, 1fr); }
  .appointment-section { padding: 22px 18px; }
  .appointment-section > legend { font-size: 22px; gap: 10px; }
  .appointment-fields { gap: 20px; }
  .appointment-form .appointment-fields > .elementor-col-50 { grid-column: span 12; }
  .appointment-form .elementor-field-option { flex-basis: auto; padding: 11px 12px; }
  .appointment-aside { position: static; margin-top: 18px; padding: 26px; }
}
.practice-home .careers-photo-wrap .careers-photo { width: 100%; height: 100% !important; object-fit: cover; }
.practice-refined .careers-intro a:focus-visible { outline-color: #fff; }

/* Headings share one locally hosted sans-serif; body typography stays unchanged. */
.practice-refined #content :is(h1, h2, h3, h4, h5, h6) {
  font-family: var(--practice-heading-font) !important;
  font-weight: 600;
  font-optical-sizing: auto;
  letter-spacing: -0.02em;
}
.practice-refined .appointment-section > legend { font-optical-sizing: auto; letter-spacing: -0.015em; }
@media (min-width: 768px) and (max-width: 1024px) {
  .practice-home .practice-hero h1.elementor-heading-title { font-size: clamp(2.125rem, 4.8vw, 2.625rem) !important; }
}

/* One locally hosted family, with a distinct rhythm for reading and controls. */
.practice-refined {
  font-family: var(--practice-body-font);
  font-size: 18px;
  line-height: 1.7;
  font-optical-sizing: auto;
}
.practice-refined :is(p, li, address, label, input, textarea, select, button,
.elementor-widget-text-editor, .elementor-tab-title, .elementor-tab-content,
.elementor-testimonial__text, .elementor-testimonial__name, .elementor-icon-list-text,
.elementor-button, .elementor-item) { font-family: var(--practice-body-font) !important; }
.practice-refined .elementor-widget-text-editor { font-size: 18px; line-height: 1.7; }
.practice-refined address { font-style: normal; margin-bottom: 1em; }
.practice-refined :is(input.elementor-field-textual, textarea, select) { font-size: 16px; line-height: 1.5; }
.practice-home .practice-hero h1.elementor-heading-title { font-size: clamp(32px, 3vw, 44px) !important; line-height: 1.15; }
@media (max-width: 767px) {
  .practice-refined { font-size: 17px; }
  .practice-refined .elementor-widget-text-editor { font-size: 17px; }
  .practice-home .practice-hero h1.elementor-heading-title { font-size: clamp(26px, 7.5vw, 36px) !important; }
}

/* Native, interruptible disclosures: fixed padding avoids the old sliding-text effect. */
.practice-home .practice-disclosure { border: 0; border-bottom: 1px solid var(--practice-rule); }
.practice-home .practice-disclosure > summary.elementor-tab-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  min-height: 64px;
  margin: 0;
  border: 0;
  cursor: pointer;
  list-style: none;
  color: var(--practice-wine-dark);
  font-family: var(--practice-body-font);
  font-size: 18px;
  font-weight: 500;
  line-height: 1.45;
  -webkit-tap-highlight-color: transparent;
}
.practice-disclosure > summary::-webkit-details-marker { display: none; }
.practice-disclosure > summary::marker { content: ''; }
.practice-home .practice-disclosure > summary:hover { background: var(--practice-paper); }
.practice-home .practice-disclosure[open] > summary { background: #f2e7db; }
.practice-home .practice-disclosure > .practice-disclosure-panel {
  display: block !important;
  box-sizing: border-box;
  padding: 0 !important;
  border: 0;
  overflow: hidden;
  background: #fff;
}
.practice-disclosure-copy { display: flow-root; padding: 14px 24px 24px; }
.practice-disclosure-copy > :last-child { margin-bottom: 0; }
.practice-disclosure-icon { position: relative; flex: 0 0 18px; width: 18px; height: 18px; }
.practice-disclosure-icon::before, .practice-disclosure-icon::after {
  content: ''; position: absolute; background: currentColor; border-radius: 0;
}
.practice-disclosure-icon::before { width: 14px; height: 2px; left: 2px; top: 8px; }
.practice-disclosure-icon::after { width: 2px; height: 14px; left: 8px; top: 2px; }
.practice-disclosure[open] > summary .practice-disclosure-icon::after,
.practice-disclosure[data-expanded="true"] > summary .practice-disclosure-icon::after { opacity: 0; }
.practice-disclosure[data-expanded="false"] > summary .practice-disclosure-icon::after { opacity: 1; }
@media (max-width: 767px) {
  .practice-home .practice-disclosure > summary.elementor-tab-title { font-size: 17px; gap: 16px; }
  .practice-disclosure-copy { padding: 12px 16px 22px; }
}

/* Square surfaces throughout; rounded silhouettes belong exclusively to buttons. */
.practice-refined *,
.practice-refined *::before,
.practice-refined *::after { border-radius: 0 !important; }
.practice-refined :is(.elementor-button, button, input[type="submit"], input[type="button"],
.elementor-swiper-button, .elementor-menu-toggle) { border-radius: 999px !important; }
.practice-refined .elementor-button { max-width: 100%; }
.practice-refined .elementor-button-content-wrapper {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  min-width: 0;
}
.practice-refined .elementor-button-text { min-width: 0; white-space: normal; }
.practice-button-arrow { display: block; width: 20px; height: 20px; flex: 0 0 20px; }

.practice-refined .elementor-button:disabled { opacity: 0.6; cursor: wait; }
.practice-form-status { width: 100%; margin: 18px 0 0; font-size: 15px; line-height: 1.6; color: var(--practice-ink); }
.practice-form-status[role="alert"] { color: var(--practice-wine-dark); }
.practice-form-security { width: 100%; margin-top: 18px; }

/* Legal content keeps the same square, readable layout as the migrated pages. */
.practice-legal { max-width: 900px; margin: 0 auto; padding: 64px 24px; overflow-wrap: anywhere; }
.practice-legal h1 { font: 600 clamp(32px, 5vw, 48px)/1.15 var(--practice-font, "DM Sans", sans-serif); margin: 0 0 40px; }
.practice-legal h2 { font-size: clamp(26px, 4vw, 34px); line-height: 1.25; margin: 48px 0 24px; }
.practice-legal h3 { font-size: 22px; line-height: 1.35; margin: 32px 0 12px; }
.practice-legal p { margin: 0 0 18px; }
.practice-legal a { color: #813039; text-decoration: underline; text-underline-offset: 3px; }
.practice-legal-date { margin-top: 36px !important; font-size: 15px; }
@media (max-width: 600px) { .practice-legal { padding: 40px 20px; } }
