/* =========================== */
/* !! USE TO WEB SITE COLOR !! -
01. var(--bs-primary)                 -
02. #393738                 -
*/
/* =========================== */
/* =========================== */
/* !! SITE PAGE USE !!       -
01. HOME                     -
*/
/* =========================== */
/* =========================== */
/* !! SITE OF CONTENT'S !!
01. Google Font               -
02. Generated Font            -
04. Site Global               -
03. Site Typography           -
05. Minify Transition         -
06. Cuttom Button             -
07. Form Input                -
08. Form Input Placeholder    -
09. Header ('Navbar')         -
10. Footer                    -
11. All Page's Modal Common   -
13. All Page's Common Content -
14. Hero Banner Wrapper       -
*/
/* =========================== */
/*==============================================*/
/*          !!! GOOGLE FONT IMPORT !!!          */
/*==============================================*/
/* @import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap'); */
/* font-family: "Inter", sans-serif; font-family: "Roboto", sans-serif;  */
/* @import url("https://fonts.googleapis.com/css2?family=Adamina&family=Baskervville&family=Lato:wght@400;700&family=Quattrocento:wght@400;700&family=Roboto:wght@400;500;700&display=swap"); */
/* @import url('https://fonts.googleapis.com/css2?family=Adamina&family=Baskervville&family=Lato:wght@400;700&family=Quattrocento:wght@400;700&family=Roboto:wght@400;500;700&family=Shippori+Mincho:wght@400;600&display=swap'); */


/* --------------------------
+--------------+--------------+
| FONT-WEIGHT  | Value        |
+--------------+--------------+
| thin         | 100          |
| ex-light     | 200          |
| light        | 300          |
| regular      | 400          |
| medium       | 500          |
| semi-bold    | 600          |
| bold         | 700          |
| ex-bold      | 800          |
| black        | 900          |
+--------------+--------------+
--------------------------- */
.container,
.row {
  --bs-gutter-x: 50px;
}
@media (min-width: 768px) {
    .container,
    .row {
      --bs-gutter-x: 30px;
    }
}
@media (min-width: 992px) {
    .container,
    .row {
      --bs-gutter-x: 32px;
    }
}
@media (min-width: 1200px) {
    .container {
        max-width: 1170px;
    }
}
@media (min-width: 1400px) {
    .container {
        max-width: 1356px;
    }
}
/* !!! Allow percentage-based heights in the application !!! */
html, body {
    height: auto;
    padding: 0;
    margin: 0;
    overflow-x: hidden;
}
/* !!! Typographic tweaks! ( Add accessible line-height & Improve text rendering ) !!! */
body {
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeSpeed;
    overflow-x: hidden;
}
/* !!! Improve media defaults !!! */
img, picture, video, canvas, svg {
    max-width: 100%;
}
/* !!! Remove built-in form typography styles !!! */
input, button, textarea, select {
    font: inherit;
}
/* !!! Avoid text overflows !!! */
p, h1, h2, h3, h4, h5, h6, label, a, li {
    overflow-wrap: break-word;
    word-break: break-word;
}
/* !!! Set core root defaults !!! */
html:focus-within {
    scroll-behavior: smooth;
}
/* !!! A elements that don't have a class get default styles !!! */
a:not([class]) {
        text-decoration: none;
}
a, .btn, button {
    cursor: pointer;
}
:focus, :active, .active {
    outline: 0 none;
}
a, a:hover, a:focus, a:active, button, button:hover, button:focus, input, input:hover, input:focus, select, select:hover, select:focus, textarea, textarea:hover, textarea:focus, .btn, .btn:hover, .btn:focus, .btn:active:focus, .btn:active.focus, .btn.active:focus, .btn.active.focus {
    text-decoration: none;
    -webkit-text-decoration-skip: objects;
    outline: none;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    -ms-box-shadow: none;
    -o-box-shadow: none;
    box-shadow: none;
}
.form-control:focus, [type="text"]:focus, [type="email"]:focus, [type="checkbox"]:focus, [type="password"]:focus, [type="file"]:focus, [type="radio"]:focus, [type="submit"]:focus, [type="date"]:focus, [type="time"]:focus, [type="tel"]:focus, [type="search"]:focus, [type="button"]:focus, [type="number"]:focus, [type="reset"]:focus, textarea:focus, select:focus {
    outline: none;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    -ms-box-shadow: none;
    -o-box-shadow: none;
    box-shadow: none;
}
button::-moz-focus-inner, [type="submit"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="button"]::-moz-focus-inner {
    border: none;
    padding: 0;
}
select, select:hover, select:focus {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
select::-ms-expand {
    display: none;
}
input[type="number"] {
    -moz-appearance: textfield;
}
input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
input[type="search"i]::-webkit-search-cancel-button {
    -webkit-appearance: none;
    display: none;
}
/* ============================================== */
/*              !! GENERATED FONT !!              */
/* ============================================== */
/* ============================================= */
/* !!!!        SITE GLOBAL STYLE CSS        !!!! */
/* ============================================= */
  :root {
    --bs-primary:        #30130e;
    --bs-primary-rgb:    48,19,14;
    --bs-secondary:      #d5aa6d;
    --bs-secondary-rgb:  213,170,109;
    --bs-cyan:           #88a9cb;
    --bs-white:          #ffffff;
    --bs-black:          #1c1d20;
    --bs-grey-dark:      #babbbf;
    --bs-dark:          #212529;

    --clr-primary-2:  #4a201a;
    --clr-surface:    #faf8f5;
    --clr-line:       #e8e2da;

    --font-heading: 'Playfair Display', Georgia, serif;
    --font-body:    'Nunito Sans', system-ui, sans-serif;

    --fs-base:   1rem;
    --fs-sm:     0.875rem;
    --fs-lead:   clamp(1rem, 0.95rem + 0.25vw, 1.1rem);
    --fs-h1:     clamp(2rem, 1.5rem + 2vw, 3rem);
    --fs-h2:     clamp(1.5rem, 1.25rem + 1vw, 2rem);
    --fs-h3:     clamp(1.15rem, 1.05rem + 0.4vw, 1.35rem);
    --fs-h4:     1.05rem;
    --fs-eyebrow: 0.78rem;

    --radius-sm: 3px;
    --radius-md: 8px;
    --section-y: clamp(3.5rem, 2.5rem + 3vw, 6rem);

    --transition-base: 0.28s ease;
  }

  *, *::before, *::after { box-sizing: border-box; }
  html { scroll-behavior: smooth; }

  body {
    font-family: var(--font-body);
    font-size: var(--fs-base);
    line-height: 1.72;
    color: var(--bs-black);
    background: var(--bs-white);
    -webkit-font-smoothing: antialiased;
  }

  h1, h2, h3, h4, .font-heading {
    font-family: var(--font-heading);
    color: var(--bs-primary);
    font-weight: 700;
    line-height: 1.25;
    margin-bottom: 0.75rem;
  }
  h1 { font-size: var(--fs-h1); font-weight: 800; }
  h2 { font-size: var(--fs-h2); }
  h3 { font-size: var(--fs-h3); }
  h4 { font-size: var(--fs-h4); }
  p  { margin-bottom: 1rem; }

  a { color: var(--bs-primary); text-decoration: none; }

  .lead-text   { font-size: var(--fs-lead); opacity: .85; }
  .text-gold   { color: var(--bs-secondary); }
  .text-light-85 { color: rgba(255,255,255,.85); }
  .text-light-8  { color: rgba(255,255,255,.8); }
  .fs-88 { font-size: .88rem; }
  .fs-93 { font-size: .93rem; }

  /* SECTIONS */
  .section { padding-top: var(--section-y); padding-bottom: var(--section-y); }
  .section-surface  { background: var(--clr-surface); }
  .section-primary  { background: var(--bs-primary); color: var(--bs-white); }
  .section-primary h1, .section-primary h2, .section-primary h3 { color: var(--bs-white); }

  /* KICKER */
  .kicker {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    font-size: var(--fs-eyebrow);
    font-weight: 700;
    color: var(--bs-secondary);
    letter-spacing: .04em;
    margin-bottom: .65rem;
    text-transform: uppercase;
  }
  .kicker::before {
    content: "";
    width: 24px;
    height: 2px;
    background: var(--bs-secondary);
    flex-shrink: 0;
  }

  /* ICONS — these classes work on inline <svg> icons today. The sizing/display
    rules below (width, height, object-fit, display, vertical-align) are plain
    CSS box properties, so the same classes will still size and align correctly
    if any icon is later swapped for an <img src="icon.svg|png">. Only the
    fill/stroke/currentColor recoloring is SVG-specific and has no effect on
    raster <img> icons — those would need to be pre-colored in the asset itself. */
  .icon, .icon-lg, .icon-xl { fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0; }
  .icon, .icon-lg, .icon-xl,
  .icon-14, .icon-15, .icon-17, .icon-18, .icon-90x60, .icon-120 {
    display: inline-block;
    vertical-align: middle;
    object-fit: contain;
  }
  .icon    { width: 22px; height: 22px; stroke-width: 1.8; }
  .icon-lg { width: 34px; height: 34px; stroke-width: 1.5; }
  .icon-xl { width: 44px; height: 44px; stroke-width: 1.3; }
  .icon-fill { fill: currentColor; stroke: none; }
  .icon-14 { width: 14px; height: 14px; }
  .icon-15 { width: 15px; height: 15px; }
  .icon-17 { width: 17px; height: 17px; }
  .icon-18 { width: 18px; height: 18px; }
  .icon-90x60 { width: 90px; height: 60px; }
  .icon-120   { width: 120px; height: 120px; }

  /* =====================================================================
    BUTTONS — refined hover with clip-path slide effect
  ===================================================================== */
  .btn {
    font-family: var(--font-body);
    font-weight: 700;
    font-size: .93rem;
    border-radius: var(--radius-sm);
    padding: .75rem 1.75rem;
    border: 2px solid transparent;
    position: relative;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    transition: color var(--transition-base), border-color var(--transition-base), background-color var(--transition-base), box-shadow var(--transition-base), transform var(--transition-base);
  }

  .btn::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0);
    transition: background var(--transition-base);
    z-index: 0;
  }
  .btn > * { position: relative; z-index: 1; }
  .btn > span, .btn > svg { position: relative; z-index: 1; }

  .btn-gold {
    background: var(--bs-secondary);
    border-color: var(--bs-secondary);
    color: var(--bs-primary);
  }
  .btn-gold:hover {
    background: var(--bs-white);
    border-color: var(--bs-secondary);
    color: var(--bs-primary);
    box-shadow: 0 6px 20px rgba(213,170,109,.35);
    transform: translateY(-2px);
  }
  .btn-gold:active { transform: translateY(0); }

  .btn-outline-light-custom {
    background: transparent;
    border-color: rgba(255,255,255,.5);
    color: var(--bs-white);
  }
  .btn-outline-light-custom:hover {
    background: var(--bs-white);
    border-color: var(--bs-white);
    color: var(--bs-primary);
    transform: translateY(-2px);
  }

  .btn-maroon {
    background: var(--bs-primary);
    border-color: var(--bs-primary);
    color: var(--bs-white);
  }
  .btn-maroon:hover {
    background: var(--clr-primary-2);
    border-color: var(--clr-primary-2);
    color: var(--bs-white);
    box-shadow: 0 6px 20px rgba(48,19,14,.3);
    transform: translateY(-2px);
  }
  .btn-maroon:active { transform: translateY(0); }

  .btn-outline-maroon {
    background: transparent;
    border-color: var(--bs-primary);
    color: var(--bs-primary);
  }
  .btn-outline-maroon:hover {
    background: var(--bs-primary);
    color: var(--bs-white);
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(48,19,14,.2);
  }

  /* =====================================================================
   TOP BAR
   ===================================================================== */
  .topbar {
    background: var(--bs-black);
    color: var(--bs-grey-dark);
    font-size: var(--fs-sm);
  }
  .topbar a {
    color: var(--bs-grey-dark);
    transition: color var(--transition-base);
  }
  .topbar a:hover { color: var(--bs-secondary); }
  .topbar .divider {
    width: 1px;
    height: 14px;
    background: rgba(255, 255, 255, .18);
    display: inline-block;
  }
  /* ============================================= */
  /* !!!!              HEADER                 !!!! */
  /* ============================================= */
  .main_wrapper {
      /* padding: 98px 0 0; */
      position: relative;
      overflow-x: hidden;
      width: 100%;
  }
  header {
      z-index: 9999;
  }
  header.sticky_header {
      position: fixed;
      background-color: var(--bs-white);
      width: 100%;
      top: 0;
      left: 0;
      box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 10px 0px;
      z-index: 9999;
      animation: goDown 0.6s ease-in-out forwards;
  }

  @keyframes goDown {
  0%{
      transform: translateY(-100px);
  }
  100% {
      transform: translateY(0);
  }
  }
  .navbar {
      --bs-navbar-padding-x: 20px;
      --bs-navbar-padding-y: 10px;
      --bs-navbar-color: var(--bs-secondary);
      --bs-navbar-hover-color: var(--bs-primary);
      --bs-navbar-disabled-color: var(--bs-secondary);
      --bs-navbar-active-color: var(--bs-primary);
      --bs-navbar-brand-padding-y: 0;
      --bs-navbar-brand-margin-end: 0;
      --bs-navbar-nav-link-padding-x: 0;
      --bs-navbar-toggler-font-size: 15px;
      --bs-navbar-toggler-padding-y: 0;
      --bs-navbar-toggler-padding-x: 0;
      --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='50' height='50' viewBox='0 0 50 50' fill='none'%3E%3Cpath d='M5.32227 10.6152C4.56055 11.0156 4.19922 11.6211 4.19922 12.5C4.19922 13.3691 4.56055 13.9844 5.29297 14.3652C5.64453 14.541 6.18164 14.5508 25 14.5508C43.8184 14.5508 44.3555 14.541 44.707 14.3652C45.4395 13.9844 45.8008 13.3789 45.8008 12.5C45.8008 11.8555 45.6445 11.4551 45.2246 11.0059C44.6777 10.4102 46.0742 10.4492 24.9609 10.4492C7.51953 10.459 5.58594 10.4688 5.32227 10.6152Z' fill='%23857651'/%3E%3Cpath d='M5.32227 23.1152C4.56055 23.5156 4.19922 24.1211 4.19922 25C4.19922 25.8691 4.56055 26.4844 5.29297 26.8652C5.64453 27.041 6.18164 27.0508 25 27.0508C43.8184 27.0508 44.3555 27.041 44.707 26.8652C45.4395 26.4844 45.8008 25.8789 45.8008 25C45.8008 24.3555 45.6445 23.9551 45.2246 23.5059C44.6777 22.9102 46.0742 22.9492 24.9609 22.9492C7.51953 22.959 5.58594 22.9688 5.32227 23.1152Z' fill='%23857651'/%3E%3Cpath d='M5.32227 35.6152C4.56055 36.0156 4.19922 36.6211 4.19922 37.5C4.19922 38.3691 4.56055 38.9844 5.29297 39.3652C5.64453 39.541 6.18164 39.5508 25 39.5508C43.8184 39.5508 44.3555 39.541 44.707 39.3652C45.4395 38.9844 45.8008 38.3789 45.8008 37.5C45.8008 36.8555 45.6445 36.4551 45.2246 36.0059C44.6777 35.4102 46.0742 35.4492 24.9609 35.4492C7.51953 35.459 5.58594 35.4688 5.32227 35.6152Z' fill='%23857651'/%3E%3C/svg%3E");
      --bs-navbar-toggler-expanded-icon-bg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='50' height='50' viewBox='0 0 50 50' fill='none'%3E%3Cpath d='M44.7252 3.23185C44.5885 3.28068 40.0963 7.70451 34.7447 13.0658L24.9986 22.8022L15.2623 13.0658C4.66659 2.4799 5.34041 3.09513 4.42245 3.27092C3.94393 3.35881 3.35799 3.94474 3.2701 4.42326C3.09432 5.34123 2.47909 4.6674 13.065 15.2533L22.8014 24.9994L13.0162 34.7846C2.40096 45.4194 2.99666 44.7553 3.16268 45.6635C3.25057 46.1225 3.87557 46.7475 4.33455 46.8354C5.24276 47.0014 4.5787 47.5971 15.2037 36.9819L24.9986 27.1967L34.7838 36.9819C45.4283 47.6166 44.7545 47.0014 45.6724 46.8256C46.151 46.7377 46.7369 46.1518 46.8248 45.6733C47.0006 44.7553 47.6158 45.4291 36.981 34.7944L27.1959 24.9994L36.981 15.2143C47.5865 4.59904 47.0006 5.24357 46.8346 4.34513C46.6685 3.45646 45.5943 2.89006 44.7252 3.23185Z' fill='%23857651'/%3E%3C/svg%3E");
      --bs-navbar-toggler-border-color: transparent;
      --bs-navbar-toggler-border-radius: 0;
      --bs-navbar-toggler-focus-width: 0;
      --bs-navbar-toggler-transition: box-shadow 0.15s ease-in-out;
      /* position: fixed;
      top: 0;
      left: auto;
      right: 0; */
      width: 100%;
      z-index: 1024;
      background-color: var(--bs-white);
  }
  nav.navbar.navbar-expand-lg.sticky_navbar {
      box-shadow: 0px 5px 5px rgba(0, 0, 0, 0.10);
  }
  .navbar-toggler {
      border: 0;
      outline: 0;
      box-shadow: none;
      width: 36px;
      height: 36px;
      display: flex;
      align-items: center;
      justify-content: center;
      margin: 0;
      transition: 0.4s ease-in-out;
  }
  .navbar-toggler[aria-expanded="true"] .navbar-toggler-icon {
      background-image: var(--bs-navbar-toggler-expanded-icon-bg);
  }
  .navbar-toggler-icon {
      display: inline-block;
      width: 34px;
      height: 34px;
  }
  .navbar-collapse {
      flex-grow: 0;
  }
  .navbar-nav > .nav-item {
      position: relative;
  }
  .navbar-nav .nav-item .nav-link {
      position: relative;
      font-family: "Inter", sans-serif;
      font-size: 15px;
      font-weight: 600;
      line-height: 24px;
      color: var(--bs-primary);
      transition: all 0.3s ease;
      word-break: break-word;
      display: block;
      overflow-wrap: break-word;
      white-space: normal;
      padding: 5px 0px;
  }
  .svg_right {
      margin: 0 0 0 10px;
  }
  .navbar-nav .nav-item.menu-item-has-children {
      display: flex;
      align-items: center;
  }
  .navbar-nav .nav-item.menu-item-has-children .nav_toggle {
      transform: rotate(0deg);
      transition: var(--bs-base-transition);
  }
  .navbar-nav .nav-item.menu-item-has-children.menu-open .nav_toggle {
      transform: rotate(180deg);
  }
  /* !!! Header Sub Menu  !!! */
  .navbar_wrapper  .current_page_item > a, .navbar_wrapper .nav-link.active, .navbar_wrapper .current-menu-item > a {
      color: var(--bs-primary) !important;
  }
  .navbar-nav .nav-item .nav-link:hover, .navbar-nav .nav-item .nav-link:focus  {
      color: var(--bs-primary);
  }
  .navbar_wrapper  .current_page_item > .nav_toggle, .navbar_wrapper .current-menu-item > .nav_toggle {
      color: var(--bs-primary);
  }
  .contact_btn svg {
      margin: 0 10px 0 0;
  }
  .contact_btn {
      font-size: 16px;
      --bs-btn-padding-x: 15px;
      margin: 0 0 0 12px;
  }
  @media (min-width: 1200px) {
    .navbar-nav .nav-item.menu-item-has-children > div.sub-menu > ul > li:hover > a {
        background: var(--clr-surface);
        color: var(--bs-secondary);
    }
    
    .sub_menu_inner li a {
        padding: 10px !important;
    }

    .navbar-nav .nav-item.menu-item-has-children > div.sub-menu > ul > li a {
        color: var(--bs-primary);
    }

      /* .main_wrapper {
          padding: 98px 0 0;
      } */
      .navbar-nav .nav-item.menu-item-has-children:hover .nav_toggle {
          transform: rotate(180deg);
      }
      .navbar.navbar-expand-lg .navbar-collapse {
          gap: 20px;
      }
      /* !!!! SUB MENU !!!! */
      .sub-menu {
          position: absolute;
          top: 186%;
          left: 0;
          padding: 16px 0 0;
          max-width: 220px;
          min-width: 220px;
          width: 100%;
          background-color: var(--bs-white);
          transition: var(--bs-base-transition);
          opacity: 0;
          visibility: hidden;
          border-radius: 0 0 10px 10px;
      }
      .navbar-nav .nav-item.menu-item-has-children:hover .sub-menu {
          opacity: 1;
          visibility: visible;
      }
      .sub-menu > ul {
          box-shadow: rgba(0, 0, 0, 0.1) 0px 14px 32px;
          min-width: 240px;
          border-width: medium medium medium;
          border-style: none none none;
          border-color: currentcolor currentcolor currentcolor;
          border-image: none;
          border-top: 3px solid var(--bs-secondary);
          border-radius: 0 0 var(--radius-md) var(--radius-md);
          padding: 0.5rem 0;
      }
      .navbar-nav .nav-item.menu-item-has-children > div.sub-menu > ul > li {
          padding: 0 20px;
      }
      .sub_menu_inner {
          max-width: 250px;
          width: 250px;
          padding: 24px 0px;
          /* align-items: flex-start; */
          border-radius: 0;
          background: var(--bs-light);
          box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.10), 0px 1px 2px 0px rgba(0, 0, 0, 0.06);
          gap: 0;
      }
      .navbar-nav .nav-item .sub_nav_link {
          padding: 8px 14px;
          width: 100%;
      }
      .navbar-nav {
          --bs-nav-link-padding-y: 0;
          gap: 15px;
          align-items: center;
      }
  }
  @media (min-width: 1200px) {
      /* .main_wrapper {
          padding: 98px 0 0;
      } */
      .navbar-nav {
          --bs-nav-link-padding-y: 0;
      }
  }
  @media (min-width: 1400px) {
      .navbar-nav > .nav-item {
          margin: 0 20px 0 0;
      }
      a.navbar-brand {
          max-width: 200px;
          width: 100%;
      }
      /* !!!! SUB MENU !!!! */
      .sub-menu {
          padding: 16px 0px 0;
          top: 100%;
      }
  }
  @media (max-width: 1399px) {
      .navbar-nav > .nav-item {
          margin: 0;
      }
      .navbar-nav .nav-item .nav-link {
          font-size: 14px;
      }
      a.navbar-brand {
          max-width: 200px;
          width: 100%;
      }
      .sub-menu {
          padding: 16px 0px 0;
          top: 100%;
          background-color: transparent;
      }
      .navbar-nav {
          gap: 16px;
      }
  }
  @media (max-width: 1199px) {
      .sub-menu {
          padding: 16px 0 0;
      }
      .contact_btn {
          font-size: 14px;
      }
      .navbar-nav {
          gap: 0;
      }
      a.navbar-brand {
          max-width: 170px;
          width: 100%;
      }
      .navbar-nav .nav-item .nav-link {
          font-size: 14px;
      }
      body.navbar_open {
          overflow: hidden;
      }
      /* .main_wrapper {
          padding: 90px 0 0;
      } */
      .navbar-toggler {
          position: relative;
          z-index: 99999;
      }
      .navbar-collapse {
          background: var(--bs-white);
          position: absolute;
          top: 100%;
          left: 0;
          right: 0;
          bottom: 0;
          z-index: 9999;
          padding: 0;
          overflow-y: auto;
          overflow-x: hidden;
          height: 100%;
          min-height: calc(100vh - 90px);
          max-width: 310px;
          width: 100%;
          margin: 0 0 0 auto;
          transform: translateX(100%);
          transition: transform 0.4s ease;
      }
      /* Ensure default (open) state */
      .navbar-collapse.show {
          transform: translateX(0);
      }
      .navbar .navbar-nav .nav-item .nav-link svg {
          display: none;
      }
      .navbar-nav > .nav-item {
          justify-content: space-between;
          /* border-bottom: 1px solid rgba(4, 8, 15, 0.24); */
      }
      .navbar-nav .nav-item .nav-link {
          font-size: 16px;
      }
      .navbar-nav > .nav-item.menu-open {
          border-color: transparent;
      }
      .navbar-nav .nav-item.menu-item-has-children {
          flex-wrap: wrap;
      }
      .navbar-nav > .nav-item > .nav-link {
          padding: 0;
      }
      .navbar-nav > .nav-item.menu-open > .nav-link {
          font-weight: 700;
      }
      .navbar-nav .nav-item.menu-item-has-children .nav_toggle {
          padding: 0 16px;
      }
      .navbar-collapse .btn {
          margin: 24px 16px;
      }
      .navbar {
          --bs-navbar-padding-x: 27px;
          --bs-navbar-padding-y: 18.6px;
      }
      .navbar-nav.responsive-menu {
          padding: 40px 20px;
          /* background: var(--bs-white);
          height: 75%; */
          overflow-x: hidden;
          overflow-y: auto;
      }
      .navbar-nav > .nav-item:not(:last-child) {
          margin:  0 0 24px;
      }
      ul.sub_menu_inner {
          margin: 0;
      }
      /* !!! Sub Menu !!!*/
      .sub-menu {
          display: none;
          width: 100%;
          padding: 0 16px 16px;
      }
      .navbar-nav > .nav-item {
          width: 100%;
      }
      .navbar .navbar-nav.responsive-menu .nav-item.menu-item-has-children {
          position: relative;
          width: 100%;
      }
      .navbar-nav .nav-item .nav-link {
          width: calc(100% - 60px);
      }
      .menu_btn {
          justify-content: center;
          align-items: center;
      }
      .sub_menu_inner li:not(:last-child) {
          margin: 0 0 12px;
      }
      .navbar .navbar-nav.responsive-menu .menu-item-has-children>a::before {
          content: '';
          background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='svg-circleplus' viewBox='0 0 100 100' stroke='%23fff' height='52'%3E%3Cline x1='32.5' y1='50' x2='67.5' y2='50' stroke-width='5'%3E%3C/line%3E%3Cline x1='50' y1='32.5' x2='50' y2='67.5' stroke-width='5'%3E%3C/line%3E%3C/svg%3E");
          padding: 1px;
          position: absolute;
          right: -60px;
          top: auto;
          z-index: -1;
          width: 32px;
          height: 32px;
          display: flex;
          align-items: center;
          justify-content: center;
          background-repeat: no-repeat;
          background-position: 50% 50%;
          background-size: 40px;
          pointer-events: none;
          background-color: var(--bs-primary);
      }
      .navbar .navbar-nav.responsive-menu .menu-open.menu-item-has-children > a::before {
          /* transform: rotate(180deg); */
          background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='svg-circleplus' viewBox='0 0 100 100' stroke='%23fff' height='52'%3E%3Cline x1='32.5' y1='50' x2='67.5' y2='50' stroke-width='5'%3E%3C/line%3E%3C/svg%3E");
      }
      .navbar .navbar-nav.responsive-menu .sub-menu {
          position: relative;
          display: none;
          opacity: 1;
          visibility: visible;
          border: 0;
          transform: none;
          background: var(--bs-white);
          padding: 0;
          width: 100%;
          border-radius: 0;
          z-index: 99;
          -webkit-transition: opacity .4s ease-in-out;
          transition: opacity .4s ease-in-out;
          top: 0;
          margin: 10px 0 0;
          border-top: 1px solid var(--bs-primary);
          padding: 10px;
      }
      .call_now_btn {
          --bs-btn-font-size: 14px;
          min-width: unset;
          --bs-btn-padding-x: 14px;
          --bs-btn-padding-y: 8px;
          margin: 0 10px 0 auto;
      }
      .sub-sub-menu {
          display: none;
      }
      .menu-item-has-children.menu-open > .sub-sub-menu {
          position: relative;
          left: 0;
          width: 100%;
          border-top: 1px solid var(--bs-primary);
      }
      .menu-item-has-children.menu-open .sub_menu_inner.depth_1 {
          margin-left: 0;
      }
  }
  @media (min-width: 1200px) {
      .sub_menu_inner {
          list-style: none;
          margin: 0;
          padding: 0;
          min-width: 180px;
      }

      .sub_menu_inner.depth_1 {
          background-color: #fff;
          top: 100%;
          padding: 10px 0;
          margin-left: 40px;
          left: 0;
        box-shadow: rgba(0, 0, 0, 0.1) 0px 14px 32px;
        min-width: 240px;
        border-width: medium medium medium;
        border-style: none none none;
        border-color: currentcolor currentcolor currentcolor;
        border-image: none;
        border-top: 3px solid var(--bs-secondary);
        border-radius: 0 0 var(--radius-md) var(--radius-md);
        padding: 0.5rem 0;
      }
        .sub_menu_inner.depth_1 > li:hover > a {
            color: var(--bs-secondary) !important;
        }

      .sub_menu_inner.depth_2 {
          background-color: #f5f5f5;
          left: 100%;
          top: 0;
          min-width: 200px;
          position: absolute;
          box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
      }

      .sub_menu_inner.depth_2 a {
          font-size: 14px;
          padding: 8px 16px;
          color: #444;
      }

      .sub_menu_inner.depth_2 a:hover {
          background-color: #eaeaea;
      }

      .sub-menu,
      .sub-sub-menu {
          display: none;
          position: absolute;
          top: 100%;
          left: 0;
          z-index: 999;
      }

      .sub-sub-menu {
          top: 0;
          left: 100%;
      }

      .menu-item-has-children:hover>.sub-menu,
      .menu-item-has-children:hover>.sub-sub-menu {
          display: block;
      }

      .navbar-nav  > .menu-item-has-children {
          position: relative;
      }

      /* .sub_menu_inner li {
          position: relative;
      } */

      .sub-menu:hover,
      .sub-sub-menu:hover {
          display: block;
      }

      .sub-sub-menu {
          position: absolute;
          top: 0;
          left: 100%;
          display: none;
      }
      .menu-item-has-children:hover>.sub-menu,
      .menu-item-has-children:hover>.sub-sub-menu {
          display: block;
      }

      .menu-item-has-children:hover>.sub-menu,
      .menu-item-has-children:hover>.sub-sub-menu {
          display: block;
      }

      .sub-menu,
      .sub-sub-menu {
          display: none;
          position: absolute;
          top: 100%;
          left: 0;
          z-index: 999;
      }

      .sub-sub-menu {
          top: 0;
          left: 100%;
      }

  }
  @media (max-width: 575px) {
      .navbar .container {
          --bs-gutter-x: 30px;
      }
      .navbar .navbar-brand {
          max-width: 150px;
          width: 100%;
      }
      .navbar .mobile-phone-btn {
          padding: 10px;
      }
  }
  @media (max-width: 400px) {
      .navbar .container {
          flex-wrap: nowrap;
      }

      .call_now_btn {
          margin: 0 0 0 auto;
      }
      .navbar .navbar-brand img {
          max-width: 150px;
          width: 100%;
          /* margin: 0 auto; */
          display: block;
      }
  }
  @media (max-width: 375px) {
      .navbar-collapse {
          background: var(--bs-white);
          position: absolute;
          top: 100%;
          left: 0;
          right: 0;
          bottom: 0;
          z-index: 9999;
          padding: 0;
          overflow-y: auto;
          overflow-x: hidden;
          height: 100%;
          min-height: calc(100vh - 77px);
      }
      .navbar {
          --bs-navbar-padding-x: 0;
      }
      /* .navbar .navbar-brand {
          width: 100%;
          max-width: 100%;
          margin: 0 0 10px;
      }
      .navbar .navbar-brand img {
          width: 100%;
          max-width: 100%;
      }
      
      .navbar .container {
          flex-wrap: wrap;
      } */
      .call_now_btn {
          margin: 0;
      }
  }
  @media (min-width: 1200px) {
      .long_menu .sub-menu > ul {
          margin: 0;
          max-height: 320px;
          height: auto;
          overflow: auto;
          padding: 20px 0;
          direction: rtl;
      }
      .long_menu .sub-sub-menu > ul {
          margin: 0;
          max-height: 320px;
          height: auto;
          overflow: auto;
          padding: 20px 0;
      }

      .long_menu .sub_menu_inner > li .nav-link {
          padding: 0 20px !important;
          display: block !important;
      }
      .sub-menu {
          min-width: 250px;
          width: 100%;
      }

      .sub-sub-menu > .sub_menu_inner.depth_1 {
          margin-left: 0;
      }

      .sub-sub-menu {
          padding: 37px 0px 0;
          height: 100%;
      }

      /* width */
      .long_menu .sub-menu > ul::-webkit-scrollbar {
          width: 4px;
      }
      .long_menu .sub-menu > ul::-webkit-scrollbar-track {
          background: #f1f1f1;
      }

      .long_menu .sub-menu > ul::-webkit-scrollbar-thumb {
          background: var(--bs-primary);
      }
      .long_menu .sub-menu > ul::-webkit-scrollbar-thumb:hover {
          background: var(--bs-primary);
      }
      /* sub-mneu */
      .long_menu .sub-sub-menu > ul::-webkit-scrollbar {
          width: 4px;
      }
      .long_menu .sub-sub-menu > ul::-webkit-scrollbar-track {
          background: #f1f1f1;
      }

      .long_menu .sub-sub-menu > ul::-webkit-scrollbar-thumb {
          background: var(--bs-primary);
      }
      .long_menu .sub-sub-menu > ul::-webkit-scrollbar-thumb:hover {
          background: var(--bs-primary);
      }

      .long_menu .sub_menu_inner  > li {
          width: 100%;
          direction:ltr;
      }

      .long_menu .sub-sub-menu > ul {
          height: 100%;
          border-left: 4px solid var(--bs-primary);
          padding: 20px 0 !important;
      }
  }
  /* =====================================================================
    HERO — static, no slider per instructions
  ===================================================================== */
  .hero-static {
    position: relative;
    min-height: 620px;
    display: flex;
    align-items: center;
    overflow: hidden;
  }
  .hero-static .hero-bg {
    position: absolute;
    inset: 0;
    z-index: 0;
  }
  .hero-static .hero-bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: bottom center;
  }
  .hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(105deg, rgba(48,19,14,.96) 0%, rgba(48,19,14,.82) 45%, rgba(48,19,14,.35) 80%, rgba(48,19,14,.1) 100%);
    z-index: 1;
  }
  .hero-content {
    position: relative;
    z-index: 2;
    color: var(--bs-white);
    padding: 5rem 0;
    max-width: 680px;
  }
  .hero-content h1 {
    color: var(--bs-white);
    max-width: 17ch;
  }
  .hero-content .lead-text {
    color: rgba(255,255,255,.88);
    max-width: 52ch;
  }
  .hero-badge {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 40px;
    padding: .4rem .95rem .4rem .5rem;
    font-size: .82rem;
    font-weight: 700;
    color: var(--bs-white);
    margin-bottom: 1.2rem;
  }
  .hero-badge .dot {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: var(--bs-secondary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--bs-primary);
    flex-shrink: 0;
  }

  @media (max-width: 767.98px) { .hero-static { min-height: 520px; } }

  /* =====================================================================
    GENERIC PHOTO WRAPPER
  ===================================================================== */
  .ph-image {
    position: relative;
    overflow: hidden;
    background: linear-gradient(150deg, var(--bs-primary), var(--clr-primary-2));
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .ph-image .ph-fallback-icon { position: relative; color: rgba(255,255,255,.3); z-index: 0; }
  .ph-image img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 1; }

  /* =====================================================================
    STATS STRIP
  ===================================================================== */
  .stats-strip { background: var(--bs-secondary); color: var(--bs-primary); }
  .stat-item { display: flex; align-items: center; gap: .9rem; padding: 1.5rem 1rem; }
  .stat-item .icon-xl { color: var(--bs-primary); }
  .stat-number { font-family: var(--font-heading); font-weight: 800; font-size: 1.65rem; line-height: 1; }
  .stat-label  { font-size: .8rem; font-weight: 700; line-height: 1.35; max-width: 18ch; margin-top: .35rem; }
  .stat-divider { border-left: 1px solid rgba(48,19,14,.18); }
  @media (max-width: 767.98px) { .stat-divider { border-left: none; border-top: 1px solid rgba(48,19,14,.18); } }
  @media (max-width: 576px) {.stat-item {justify-content: center;}}

  /* =====================================================================
    ABOUT
  ===================================================================== */
  .about-photo { border-radius: var(--radius-md); overflow: hidden; aspect-ratio: 4/5; }
  .about-photo img { width: 100%; height: 100%; object-fit: cover; }
  .about-card-float {
    background: var(--bs-primary);
    color: var(--bs-white);
    border-radius: var(--radius-md);
    padding: 1.4rem 1.6rem;
    max-width: 240px;
    bottom: -1.5rem;
    right: -1.5rem;
  }
  .about-card-float .stat-number { color: var(--bs-secondary); font-size: 2rem; }
  .checklist { list-style: none; padding: 0; margin: 0; }
  .checklist li { display: flex; align-items: flex-start; gap: .75rem; margin-bottom: .9rem; }
  .checklist .icon { color: var(--bs-secondary); margin-top: .18rem; }

  /* =====================================================================
    PRACTICE AREA CARDS
  ===================================================================== */
  .pa-card {
    background: var(--bs-white);
    border: 1px solid var(--clr-line);
    border-radius: var(--radius-md);
    overflow: hidden;
    height: 100%;
    display: flex;
    flex-direction: column;
    transition: border-color var(--transition-base), box-shadow var(--transition-base), transform var(--transition-base);
  }
  .pa-card:hover {
    border-color: var(--bs-secondary);
    box-shadow: 0 18px 40px rgba(48,19,14,.12);
    transform: translateY(-4px);
  }
  .pa-card .ph-image { height: 220px; }
  .pa-card-image { height: 220px; }
  .pa-card-body { padding: 1.6rem 1.8rem 2rem; display: flex; flex-direction: column; flex: 1; }
  .pa-card-icon {
    width: 64px; height: 64px;
    border-radius: 50%;
    background: var(--bs-white);
    border: 1px solid var(--clr-line);
    display: flex; align-items: center; justify-content: center;
    color: var(--bs-primary);
    margin-top: -50px;
    margin-left: 1.6rem;
    position: relative;
    z-index: 2;
  }
  /* Explicit, aspect-correct sizing so the icon isn't shrunk/blurred inside the circle.
    Works whether the icon is an inline <svg> or a raster <img>. */
  .pa-card-icon svg,
  .pa-card-icon img {
    width: 38px;
    height: 24px;
    object-fit: contain;
  }
  .pa-card-link {
    margin-top: auto;
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    font-weight: 700;
    color: var(--bs-primary);
    padding-top: .6rem;
    transition: gap var(--transition-base), color var(--transition-base);
    font-size: 14px;
  }
  .pa-card-link .icon { width: 18px; height: 18px; color: var(--bs-secondary); transition: transform var(--transition-base); }
  .pa-card-link:hover { color: var(--bs-primary); }
  .pa-card-link:hover .icon { transform: translateX(5px); }

  /* =====================================================================
    WHY CHOOSE
  ===================================================================== */
  .feature-item { display: flex; gap: 1.1rem; padding: 1.5rem 0; border-bottom: 1px solid var(--clr-line); }
  .feature-item:last-child { border-bottom: none; }
  .feature-icon-wrap {
    width: 54px; height: 54px;
    border-radius: 50%;
    background: var(--bs-primary);
    color: var(--bs-secondary);
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
    transition: background var(--transition-base);
  }
  .feature-item h4 { margin-bottom: .3rem; }
  .feature-item p  { margin-bottom: 0; font-size: .93rem; opacity: .8; }

  /* =====================================================================
    PROCESS
  ===================================================================== */
  .process-step { position: relative; padding: 0 1rem; text-align: center; }
  .process-num {
    width: 64px; height: 64px;
    border-radius: 50%;
    border: 2px solid var(--bs-secondary);
    color: var(--bs-primary);
    font-family: var(--font-heading);
    font-weight: 800;
    font-size: 1.5rem;
    display: flex; align-items: center; justify-content: center;
    margin: 0 auto 1.1rem;
    background: var(--bs-white);
    position: relative; z-index: 2;
  }
  .process-track {
    position: absolute;
    top: 32px; left: 0; right: 0;
    height: 2px;
    background: var(--clr-line);
    z-index: 1;
  }
  @media (max-width: 767.98px) { .process-track { display: none; } }

  /* =====================================================================
    TESTIMONIALS SWIPER
  ===================================================================== */
  .testimonial-card {
    background: var(--bs-white);
    border: 1px solid var(--clr-line);
    border-radius: var(--radius-md);
    padding: 1.9rem;
    height: 100%;
    display: flex;
    flex-direction: column;
    transition: box-shadow var(--transition-base), border-color var(--transition-base);
  }
  .testimonial-card:hover { box-shadow: 0 12px 30px rgba(0,0,0,.08); border-color: var(--bs-secondary); }
  .testimonial-card .stars { display: flex; gap: 3px; color: var(--bs-secondary); margin-bottom: .75rem; }
  .testimonial-card .stars .icon { width: 17px; height: 17px; }
  .testimonial-quote-icon { color: var(--bs-secondary); opacity: .45; margin-bottom: .5rem; }
  .testimonial-card p.quote-text { flex: 1; font-size: .96rem; }
  .testimonial-author {
    display: flex;
    align-items: center;
    gap: .85rem;
    margin-top: 1.1rem;
    padding-top: 1.1rem;
    border-top: 1px solid var(--clr-line);
  }
  .testimonial-avatar {
    width: 44px; height: 44px;
    border-radius: 50%;
    background: var(--bs-primary);
    color: var(--bs-secondary);
    display: flex; align-items: center; justify-content: center;
    font-weight: 800;
    font-family: var(--font-heading);
    flex-shrink: 0;
  }
  .testimonial-author .name { font-weight: 700; font-size: .9rem; color: var(--bs-primary); }
  .testimonial-author .src  { font-size: .78rem; opacity: .6; }

  .testimonial-swiper { padding-bottom: 3.5rem; }
  .test-pagination { position: absolute; bottom: 0; left: 0; right: 0; text-align: center; }
  .test-pagination .swiper-pagination-bullet { background: var(--bs-grey-dark); opacity: 1; }
  .test-pagination .swiper-pagination-bullet-active { background: var(--bs-primary); }

  /* =====================================================================
    FAQ
  ===================================================================== */
  .accordion-item {
    border: 1px solid var(--clr-line) !important;
    border-radius: var(--radius-sm) !important;
    margin-bottom: .9rem;
    overflow: hidden;
  }
  .accordion-button {
    font-family: var(--font-body);
    font-weight: 700;
    font-size: .97rem;
    color: var(--bs-primary);
    background: var(--bs-white);
    padding: 1.1rem 1.4rem;
  }
  .accordion-button:not(.collapsed) {
    background: var(--clr-surface);
    color: var(--bs-primary);
    box-shadow: none;
  }
  .accordion-button:focus { box-shadow: none; }
  .accordion-body { padding: 0 1.4rem 1.4rem; font-size: .93rem; opacity: .85; }

  /* =====================================================================
    CONTACT FORM SECTION
  ===================================================================== */
  .contact-section { background: var(--bs-primary); }
  .contact-section h2 { color: var(--bs-white); }
  .contact-section p { color: var(--bs-white); }
  .contact-section form p { color: var(--bs-dark); }

  .contact-form-wrap {
    background: var(--bs-white);
    border-radius: var(--radius-md);
    padding: 2.5rem 2rem;
  }
  .contact-form-wrap h2 {
    color: var(--bs-primary);
  }
  .contact-info-block { color: var(--bs-white); }
  .contact-info-item {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1.6rem;
  }
  .contact-info-item .ci-icon {
    width: 48px; height: 48px;
    border-radius: 50%;
    background: rgba(213,170,109,.15);
    border: 1px solid rgba(213,170,109,.3);
    display: flex; align-items: center; justify-content: center;
    color: var(--bs-secondary);
    flex-shrink: 0;
  }
  .contact-info-item .ci-label { font-size: .78rem; font-weight: 700; color: var(--bs-secondary); text-transform: uppercase; letter-spacing: .04em; margin-bottom: .2rem; }
  .contact-info-item .ci-value { color: rgba(255,255,255,.88); font-weight: 600; font-size: .97rem; }
  .contact-info-item .ci-value a { color: rgba(255,255,255,.88); transition: color var(--transition-base); }
  .contact-info-item .ci-value a:hover { color: var(--bs-secondary); }

  .form-label {
    font-weight: 700;
    font-size: .88rem;
    color: var(--bs-primary);
    margin-bottom: .35rem;
  }
  .form-control, .form-select {
    border: 1.5px solid var(--clr-line);
    border-radius: var(--radius-sm);
    font-family: var(--font-body);
    font-size: .93rem;
    color: var(--bs-black);
    padding: .7rem 1rem;
    transition: border-color var(--transition-base), box-shadow var(--transition-base);
  }
  .form-control:focus, .form-select:focus {
    border-color: var(--bs-secondary);
    box-shadow: 0 0 0 3px rgba(213,170,109,.18);
    outline: none;
  }
  textarea.form-control { resize: vertical; min-height: 120px; }
  .form-disclaimer { font-size: .78rem; color: rgba(0,0,0,.5); margin-top: .75rem; text-align: center; }

  /* =====================================================================
    CTA BANNER
  ===================================================================== */
  .cta-banner {
    position: relative;
    border-radius: var(--radius-md);
    overflow: hidden;
    padding: clamp(2.5rem, 2rem + 2.5vw, 4rem);
    background: var(--bs-primary);
  }
  .cta-banner .ph-image { position: absolute; inset: 0; opacity: .22; }
  .cta-banner-content { position: relative; z-index: 2; color: var(--bs-white); }
  .cta-banner-content h2 { color: var(--bs-white); max-width: 22ch; }

  /* =====================================================================
    FOOTER
  ===================================================================== */
  .site-footer { background: var(--bs-black); color: var(--bs-grey-dark); font-size: .9rem; }
  .site-footer h5 { color: var(--bs-white); font-family: var(--font-body); font-weight: 800; font-size: .98rem; margin-bottom: 1.15rem; }
  .site-footer a { color: var(--bs-grey-dark); transition: color var(--transition-base); }
  .site-footer a:hover { color: var(--bs-secondary); }
  .footer-links { list-style: none; padding: 0; margin: 0; }
  .footer-links li { margin-bottom: .65rem; }
  .footer-contact-item { display: flex; gap: .75rem; margin-bottom: .95rem; align-items: flex-start; }
  .footer-contact-item .icon { color: var(--bs-secondary); margin-top: .2rem; }
  .footer-logo { height: auto; width: 200px; filter: brightness(0) invert(1); opacity: .75; }
  .footer-desc { max-width: 36ch; }
  .social-row { display: flex; gap: .6rem; margin-top: 1.2rem; }
  .social-btn {
    width: 40px; height: 40px;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,.18);
    display: flex; align-items: center; justify-content: center;
    color: var(--bs-grey-dark);
    transition: background var(--transition-base), border-color var(--transition-base), color var(--transition-base);
  }
  .social-row .social-btn:hover { background: var(--bs-secondary); border-color: var(--bs-secondary); color: var(--bs-primary); }
  .footer-bottom { border-top: 1px solid rgba(255,255,255,.1); font-size: .8rem; padding-top: 1.4rem; margin-top: 2.2rem; }
  .disclaimer-text { font-size: .76rem; opacity: .55; }

  /* BACK TO TOP */
  .back-to-top {
    position: fixed;
    right: 22px; bottom: 22px;
    width: 46px; height: 46px;
    border-radius: 50%;
    background: var(--bs-primary);
    color: var(--bs-secondary);
    display: flex; align-items: center; justify-content: center;
    z-index: 999;
    border: none;
    opacity: 0;
    visibility: hidden;
    transform: translateY(12px);
    transition: opacity .25s ease, transform .25s ease, visibility .25s ease;
  }
  .back-to-top.is-visible { opacity: 1; visibility: visible; transform: translateY(0); }
  .back-to-top:hover { background: var(--clr-primary-2); }

  /* ACCESSIBILITY */
  a:focus-visible, button:focus-visible, .nav-link:focus-visible { outline: 2px solid var(--bs-cyan); outline-offset: 2px; }
  .skip-link { position: absolute; left: -999px; top: 0; background: var(--bs-primary); color: var(--bs-white); padding: .7rem 1.2rem; z-index: 2000; border-radius: 0 0 var(--radius-sm) 0; }
  .skip-link:focus { left: 0; }

  @media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: .001ms !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
  }
  @media (max-width: 767.98px) {
    .site-footer {
        padding: 30px 10px !important;
    }

    .footer-bottom * {
        text-align: center;
    }
  }

    /* =====================================================================
    ABOUT US PAGE — SCOPED STYLES
    All new selectors are prefixed "au-" so nothing here overlaps with
    any class already defined in the base stylesheet. Colors, fonts and
    spacing all reference the existing :root tokens (--bs-primary,
    --bs-secondary, --font-heading, --font-body, --section-y, etc.)
    ===================================================================== */

  /* ---- Our Story ---- */
  .au-story-copy { max-width: 62ch; }
  .au-story-copy p { color: rgba(28,29,32,.82); }

  .au-story-media { position: relative; }
  .au-story-media .about-photo { box-shadow: 0 24px 48px rgba(48,19,14,.16); }

  /* ---- Values ---- */
  .au-value-card {
    background: var(--bs-white);
    border: 1px solid var(--clr-line);
    border-radius: var(--radius-md);
    padding: 2rem 1.75rem;
    height: 100%;
    transition: border-color var(--transition-base), transform var(--transition-base), box-shadow var(--transition-base);
  }
  .au-value-card:hover {
    border-color: var(--bs-secondary);
    transform: translateY(-4px);
    box-shadow: 0 18px 40px rgba(48,19,14,.1);
  }
  .au-value-index {
    font-family: var(--font-heading);
    font-weight: 800;
    font-size: 1.05rem;
    color: var(--bs-secondary);
    border: 1.5px solid var(--bs-secondary);
    width: 42px;
    height: 42px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.25rem;
  }
  .au-value-card h3 { font-size: 1.1rem; margin-bottom: .55rem; }
  .au-value-card p { font-size: .92rem; color: rgba(28,29,32,.75); margin-bottom: 0; }

  /* ---- Milestones timeline ---- */
  .au-timeline { position: relative; max-width: 760px; margin: 0 auto; }
  .au-timeline::before {
    content: "";
    position: absolute;
    left: 84px;
    top: 6px;
    bottom: 6px;
    width: 2px;
    background: var(--clr-line);
  }
  .au-timeline-row {
    position: relative;
    display: grid;
    grid-template-columns: 84px 1fr;
    column-gap: 1.75rem;
    padding-bottom: 2.5rem;
  }
  .au-timeline-row:last-child { padding-bottom: 0; }
  .au-timeline-year {
    font-family: var(--font-heading);
    font-weight: 800;
    font-size: 1.05rem;
    color: var(--bs-primary);
    text-align: left;
    padding-top: .1rem;
  }
  .au-timeline-row::after {
    content: "";
    position: absolute;
    left: 79px;
    top: 6px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: var(--bs-secondary);
    border: 3px solid var(--bs-white);
    box-shadow: 0 0 0 2px var(--bs-secondary);
  }
  .au-timeline-copy h4 { font-size: 1.02rem; margin-bottom: .35rem; }
  .au-timeline-copy p { font-size: .92rem; color: rgba(28,29,32,.75); margin-bottom: 0; max-width: 52ch; }

  @media (max-width: 575.98px) {
    .au-timeline::before { left: 54px; }
    .au-timeline-row { grid-template-columns: 54px 1fr; column-gap: 1.1rem; }
    .au-timeline-row::after { left: 49px; }
    .au-timeline-year { font-size: .88rem; }
  }

  /* ---- Attorneys / team ---- */
  .au-team-card {
    background: var(--bs-white);
    border: 1px solid var(--clr-line);
    border-radius: var(--radius-md);
    overflow: hidden;
    height: 100%;
    transition: box-shadow var(--transition-base), border-color var(--transition-base);
  }
  .au-team-card:hover { border-color: var(--bs-secondary); box-shadow: 0 18px 40px rgba(48,19,14,.1); }
  .au-team-photo { aspect-ratio: 4/5; overflow: hidden; }
  .au-team-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
  .au-team-info { padding: 1.35rem 1.5rem 1.6rem; }
  .au-team-info h3 { font-size: 1.05rem; margin-bottom: .15rem; }
  .au-team-role { font-size: .82rem; font-weight: 700; color: var(--bs-secondary); text-transform: none; margin-bottom: .65rem; display: block; }
  .au-team-info p { font-size: .9rem; color: rgba(28,29,32,.75); margin-bottom: 0; }

  /* =====================================================================
   CONTACT US PAGE — SCOPED STYLES
   New selectors are prefixed "cu-" so nothing here overlaps with the
   base stylesheet or the About page's "au-" classes. The form and info
   panel below reuse the base .contact-section / .contact-form-wrap /
   .contact-info-item / .form-* classes as-is — no redefinitions.
   Colors, fonts and spacing reference the existing :root tokens.
   ===================================================================== */

  /* ---- Quick-contact cards ---- */
  .cu-quick-card {
    background: var(--bs-white);
    border: 1px solid var(--clr-line);
    border-radius: var(--radius-md);
    padding: 1.9rem 1.6rem;
    height: 100%;
    text-align: center;
    transition: border-color var(--transition-base), transform var(--transition-base), box-shadow var(--transition-base);
  }
  .cu-quick-card:hover {
    border-color: var(--bs-secondary);
    transform: translateY(-4px);
    box-shadow: 0 18px 40px rgba(48,19,14,.1);
  }
  .cu-quick-icon {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: var(--bs-primary);
    color: var(--bs-secondary);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1.1rem;
  }
  .cu-quick-card h3 { font-size: 1rem; margin-bottom: .35rem; }
  .cu-quick-card p { font-size: .88rem; color: rgba(28,29,32,.72); margin-bottom: 0; }
  .cu-quick-card a { color: var(--bs-primary); font-weight: 700; }
  .cu-quick-card a:hover { color: var(--bs-secondary); }

  /* ---- Map ---- */
  .cu-map-wrap {
    border-radius: var(--radius-md);
    overflow: hidden;
    border: 1px solid var(--clr-line);
    height: 100%;
    min-height: 360px;
  }
  .cu-map-wrap iframe { width: 100%; height: 100%; min-height: 360px; display: block; border: 0; }
  .cu-map-note { font-size: .82rem; color: rgba(28,29,32,.6); margin-top: .75rem; }

  /* ============================================= */
    /* PAGE-SPECIFIC STYLES - BLOG PAGE     */
    /* ============================================= */

    /* ── Featured section ── */
    .blog-featured-section {
        background: var(--bs-gray-200);
        padding-top: 50px;
        padding-bottom: 0;
    }
    
    /* Featured card — inverted dark right panel */
    .blog-featured-card {
        display: grid;
        grid-template-columns: 1fr 1fr;
        border-radius: 0;
        overflow: hidden;
        border: none;
        box-shadow: none;
        transition: none;
    }
    
    .blog-featured-card:hover {
        box-shadow: none;
    }
    
    /* Photo side */
    .blog-featured-thumb {
        position: relative;
        overflow: hidden;
        height: 100%;
        max-height: 520px;
    }
    
    .blog-featured-thumb img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
        transition: transform 0.6s ease;
        filter: brightness(0.92);
    }
    
    .blog-featured-card:hover .blog-featured-thumb img {
        transform: scale(1.04);
    }
    
    /* Subtle right-edge vignette on thumb */
    .blog-featured-thumb::after {
        content: '';
        position: absolute;
        inset: 0;
        background: linear-gradient(
            to right,
            transparent 60%,
            rgba(23, 20, 22, 0.35) 100%
        );
        pointer-events: none;
    }
    
    /* Bio / text side — dark panel */
    .blog-featured-body {
        padding: 52px 52px 48px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        background: var(--bs-primary);
        position: relative;
    }
    
    /* Vertical gold rule on left edge of dark panel */
    .blog-featured-body::before {
        content: '';
        position: absolute;
        left: 0;
        top: 48px;
        bottom: 48px;
        width: 2px;
        background: linear-gradient(
            to bottom,
            transparent,
            var(--bs-primary) 20%,
            var(--bs-primary) 80%,
            transparent
        );
    }
    
    /* Meta row */
    .blog-featured-meta {
        display: flex;
        align-items: center;
        gap: 12px;
        margin-bottom: 20px;
        flex-wrap: wrap;
    }
    
    .blog-featured-tag {
        font-family: Inter, sans-serif;
        font-size: 0.62rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.16em;
        color: var(--bs-secondary);
        background: rgba(186, 158, 102, 0.12);
        border: 1px solid rgba(186, 158, 102, 0.35);
        padding: 4px 12px;
        border-radius: 100px;
    }
    
    .blog-featured-date {
        font-family: Inter, sans-serif;
        font-size: 0.72rem;
        color: rgba(200, 210, 218, 0.55);
        letter-spacing: 0.04em;
    }
    
    /* Featured headline */
    .blog-featured-body h2 {
        font-family: "Inter", sans-serif;
        font-size: clamp(1.45rem, 2.2vw, 1.85rem);
        font-weight: 300;
        color: var(--bs-white);
        line-height: 1.3;
        letter-spacing: -0.015em;
        margin-bottom: 16px;
    }
    
    /* Featured excerpt */
    .blog-featured-body p {
        font-size: 0.875rem;
        color: rgba(200, 212, 220, 0.7);
        line-height: 1.85;
        margin-bottom: 28px;
    }
    
    /* Byline */
    .blog-featured-byline {
        font-family: Inter, sans-serif;
        font-size: 0.72rem;
        color: rgba(200, 210, 218, 0.5);
        display: flex;
        align-items: center;
        gap: 7px;
        margin: 0 0 28px;
    }
    
    .blog-featured-byline strong {
        color: rgba(186, 158, 102, 0.85);
        font-weight: 600;
    }
    
    .blog-featured-byline svg {
        width: 18px;
        height: 18px;
        opacity: 0.6;
    }
    
    /* Read more link on dark bg */
    .blog-read-more {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        font-family: Inter, sans-serif;
        font-size: 0.72rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.14em;
        color: var(--bs-secondary);
        text-decoration: none;
        border-bottom: 1px solid rgba(186, 158, 102, 0.3);
        padding-bottom: 2px;
        transition: gap 0.2s, color 0.2s, border-color 0.2s;
        width: fit-content;
    }
    
    .blog-read-more svg {
        width: 14px;
        height: 14px;
        transition: transform 0.2s;
    }
    
    .blog-read-more:hover {
        color: var(--bs-white);
        border-color: rgba(255, 255, 255, 0.4);
        gap: 14px;
    }
    
    .blog-read-more:hover svg {
        transform: translateX(3px);
    }
    
    /* ── Grid section ── */
    .blog-grid-section {
        background: var(--bs-gray-200);
        padding-top: 56px;
        padding-bottom: 72px;
    }
    
    .blog-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 24px;
    }
    
    /* Grid card — shadow-lifted, no border */
    .blog-card-item {
        background: var(--bs-white);
        border-radius: 3px;
        overflow: hidden;
        border: none;
        height: 100%;
        display: flex;
        flex-direction: column;
        box-shadow: 0 2px 12px rgba(47, 42, 45, 0.07);
        transition: box-shadow 0.25s ease, transform 0.25s ease;
    }
    
    .blog-card-item:hover {
        box-shadow: 0 12px 36px rgba(47, 42, 45, 0.13);
        transform: translateY(-4px);
    }
    
    /* Thumb */
    .blog-card-item .blog-thumb {
        height: 210px;
        overflow: hidden;
        position: relative;
        flex: none;
    }
    
    .blog-card-item .blog-thumb img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
        transition: transform 0.45s ease;
        filter: brightness(0.94);
    }
    
    .blog-card-item:hover .blog-thumb img {
        transform: scale(1.07);
    }
    
    /* Gold top-border on card — appears on hover */
    .blog-card-item::before {
        content: '';
        display: block;
        height: 3px;
        background: var(--bs-primary);
        transform: scaleX(0);
        transform-origin: left;
        transition: transform 0.3s ease;
    }
    
    .blog-card-item:hover::before {
        transform: scaleX(1);
    }
    
    /* Card body */
    .blog-card-item .blog-body {
        padding: 24px 26px 28px;
        display: flex;
        flex-direction: column;
        flex: 1;
    }
    
    /* Meta row */
    .blog-card-meta {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 12px;
        flex-wrap: wrap;
        gap: 6px;
    }
    
    .blog-card-tag {
        font-family: Inter, sans-serif;
        font-size: 0.6rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.12em;
        color: var(--bs-primary);
    }
    
    .blog-card-date {
        font-family: Inter, sans-serif;
        font-size: 0.68rem;
        color: var(--bs-dark);
        letter-spacing: 0.02em;
    }
    
    /* Card title */
    .blog-card-item h3,
    .blog-card-item h3 a {
      color: var(--bs-primary);
      margin-bottom: 10px;
      text-decoration: none;
    }
    
    .blog-card-item h3 a:hover {
        color: var(--bs-primary);
    }
    
    /* Card excerpt */
    .blog-card-item p {
        font-size: 0.82rem;
        color: var(--bs-dark);
        line-height: 1.75;
        margin-bottom: 16px;
        flex: 1;
    }
    
    /* Card footer */
    .blog-card-footer {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-top: auto;
        padding-top: 14px;
        border-top: 1px solid var(--bs-gray-300);
    }
    
    .blog-card-byline {
        font-size: 0.7rem;
        color: var(--bs-dark);
    }
    
    .blog-card-byline strong {
        color: var(--bs-black);
        font-weight: 600;
    }
    
    /* Card read-more link */
    .blog-card-link {
        font-size: 0.68rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.12em;
        color: var(--bs-primary);
        display: flex;
        align-items: center;
        gap: 5px;
        text-decoration: none;
        transition: gap 0.2s, color 0.2s;
    }
    
    .blog-card-link svg {
        width: 12px;
        height: 12px;
        transition: transform 0.2s;
    }
    
    .blog-card-link:hover {
        color: var(--bs-brown);
        gap: 9px;
    }
    
    .blog-card-link:hover svg {
        transform: translateX(2px);
    }
    
    /* ── Pagination ── */
    .blog-pagination {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 6px;
        margin-top: 60px;
        flex-wrap: wrap;
    }
    
    .blog-pagination .page-numbers {
        min-width: 38px;
        height: 38px;
        padding: 0 14px;
        display: flex;
        align-items: center;
        justify-content: center;
        border: 1.5px solid var(--bs-gray-300);
        border-radius: 2px;
        font-size: 0.8rem;
        font-weight: 600;
        color: var(--bs-brown);
        background: var(--bs-white);
        text-decoration: none;
        cursor: pointer;
        transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
        user-select: none;
        line-height: 1;
    }
    
    .blog-pagination .page-numbers:not(.prev):not(.next) {
        width: 38px;
        padding: 0;
    }
    
    .blog-pagination .page-numbers.current,
    .blog-pagination .page-numbers:hover {
        background: var(--bs-primary);
        border-color: var(--bs-primary);
        color: #fff;
    }
    
    .blog-pagination .prev,
    .blog-pagination .next {
        width: auto;
        padding: 0 16px;
        font-size: 0.72rem;
        text-transform: uppercase;
        letter-spacing: 0.1em;
    }
    
    .blog-pagination .disabled {
        opacity: 0.4;
        pointer-events: none;
    }
    
    /* ── Responsive ── */
    @media (max-width: 1199px) {
        .blog-grid {
            grid-template-columns: repeat(2, 1fr);
        }
    }
    
    @media (max-width: 991.98px) {
    
        .blog-featured-card {
            grid-template-columns: 1fr;
        }
    
        .blog-featured-thumb {
            max-height: 360px;
        }
    
        .blog-featured-thumb::after {
            background: linear-gradient(
                to bottom,
                transparent 55%,
                rgba(23, 20, 22, 0.4) 100%
            );
        }
    
        .blog-featured-body {
            padding: 36px 32px 40px;
        }
    
        .blog-featured-body::before {
            top: 32px;
            bottom: 32px;
        }
    }
    
    @media (max-width: 767px) {
        .blog-hero {
            padding: 80px 0 64px;
        }
    
        .blog-featured-body h2 {
            font-size: 1.4rem;
        }
    
        .blog-featured-body {
            padding: 28px 24px 32px;
        }
    
        .blog-grid {
            grid-template-columns: 1fr;
            gap: 20px;
        }
    
        .blog-grid-section {
            padding-top: 40px;
            padding-bottom: 56px;
        }
    }
    /* ================================================================
       TESTIMONIALS PAGE — SCOPED STYLES
       Prefix: "tm-"
       All selectors are new. No base-stylesheet class is redefined.
       All values reference existing :root tokens.
       SVG and img sizing always share the same CSS selector.
    ================================================================ */

    /* ==========================================================================
    Hero
    ========================================================================== */

    .tm-hero {
    position: relative;
    min-height: 400px;
    display: flex;
    align-items: center;
    overflow: hidden;
    color: var(--bs-white);
    }

    .tm-hero-bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    }

    .tm-hero-bg svg {
    width: 100%;
    height: 100%;
    display: block;
    }

    .tm-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        rgba(0, 0, 0, .15) 0%,
        rgba(0, 0, 0, .35) 100%
    );
    z-index: 1;
    }

    .tm-hero-content {
    position: relative;
    z-index: 2;
    max-width: 640px;
    padding: 3.5rem 0;
    }

    .tm-hero-content .kicker {
    color: var(--bs-secondary);
    }

    .tm-hero-content h1 {
    font-family: var(--font-heading);
    font-size: var(--fs-h1);
    font-weight: 700;
    margin-bottom: 1rem;
    line-height: 1.2;
    color: var(--bs-white);
    }

    .tm-hero-content .lead-text {
    color: rgba(255, 255, 255, .82);
    }


    /* ---- Featured / hero review ---- */
    .tm-featured-review {
      background: var(--bs-primary);
      border-radius: var(--radius-md);
      padding: 3rem 3.25rem;
      position: relative;
      overflow: hidden;
    }
    .tm-featured-review-bg {
      position: absolute;
      inset: 0;
      z-index: 0;
      pointer-events: none;
    }
    .tm-featured-review-bg svg,
    .tm-featured-review-bg img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
      opacity: .06;
    }
    .tm-featured-review-inner {
      position: relative;
      z-index: 1;
    }
    .tm-quote-mark {
      color: var(--bs-secondary);
      opacity: .5;
      margin-bottom: .65rem;
      display: block;
    }
    .tm-quote-mark svg,
    .tm-quote-mark img {
      width: 52px;
      height: 52px;
      display: inline-block;
      vertical-align: middle;
    }
    .tm-featured-text p {
      font-family: var(--font-heading);
      font-style: italic;
      font-size: clamp(1.15rem, 1rem + .6vw, 1.45rem);
      color: #ffffff;
      line-height: 1.55;
      max-width: 70ch;
      margin-bottom: 1.75rem;
    }
    .tm-featured-author {
      display: flex;
      align-items: center;
      gap: 1rem;
    }
    .tm-featured-avatar {
      width: 52px;
      height: 52px;
      border-radius: 50%;
      background: var(--bs-secondary);
      color: var(--bs-primary);
      font-family: var(--font-heading);
      font-weight: 800;
      font-size: 1rem;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
    }
    .tm-featured-name {
      font-weight: 700;
      font-size: .97rem;
      color: #ffffff;
      line-height: 1.2;
    }
    .tm-featured-meta {
      font-size: .8rem;
      color: rgba(255,255,255,.6);
      margin-top: .2rem;
    }
    .tm-featured-stars {
      display: flex;
      gap: 3px;
      margin-bottom: .5rem;
    }
    .tm-featured-stars svg,
    .tm-featured-stars img {
      width: 20px;
      height: 20px;
      display: inline-block;
      vertical-align: middle;
    }
    .tm-featured-badge {
      display: inline-flex;
      align-items: center;
      gap: .45rem;
      font-size: .75rem;
      font-weight: 700;
      color: var(--bs-secondary);
      border: 1px solid rgba(213,170,109,.35);
      border-radius: 40px;
      padding: .3rem .85rem;
      margin-top: 1.5rem;
    }
    .tm-featured-badge svg,
    .tm-featured-badge img {
      width: 13px;
      height: 13px;
      display: inline-block;
      vertical-align: middle;
    }

    /* ---- Review card grid ---- */
    .tm-card {
      background: #ffffff;
      border: 1px solid var(--clr-line);
      border-radius: var(--radius-md);
      padding: 1.75rem 1.8rem;
      height: 100%;
      display: flex;
      flex-direction: column;
      transition: border-color var(--transition-base), box-shadow var(--transition-base), transform var(--transition-base);
    }
    .tm-card:hover {
      border-color: var(--bs-secondary);
      box-shadow: 0 18px 40px rgba(48,19,14,.1);
      transform: translateY(-3px);
    }
    .tm-card-stars {
      display: flex;
      gap: 3px;
      margin-bottom: .75rem;
    }
    .tm-card-stars svg,
    .tm-card-stars img {
      width: 16px;
      height: 16px;
      display: inline-block;
      vertical-align: middle;
    }
    .tm-card-quote {
      color: var(--bs-secondary);
      opacity: .4;
      margin-bottom: .35rem;
      display: block;
    }
    .tm-card-quote svg,
    .tm-card-quote img {
      width: 28px;
      height: 28px;
      display: inline-block;
      vertical-align: middle;
    }
    .tm-card-text {
      font-size: .93rem;
      color: rgba(28,29,32,.8);
      line-height: 1.7;
      flex: 1;
      margin-bottom: 0;
    }
    .tm-card-footer {
      display: flex;
      align-items: center;
      gap: .85rem;
      margin-top: 1.25rem;
      padding-top: 1.1rem;
      border-top: 1px solid var(--clr-line);
    }
    .tm-card-avatar {
      width: 42px;
      height: 42px;
      border-radius: 50%;
      background: var(--bs-primary);
      color: var(--bs-secondary);
      font-family: var(--font-heading);
      font-weight: 800;
      font-size: .82rem;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
    }
    .tm-card-name {
      font-weight: 700;
      font-size: .88rem;
      color: var(--bs-primary);
      line-height: 1.2;
    }
    .tm-card-src {
      font-size: .73rem;
      color: rgba(28,29,32,.5);
      margin-top: .18rem;
    }
    .tm-card-tag {
      margin-left: auto;
      font-size: .68rem;
      font-weight: 800;
      letter-spacing: .04em;
      color: var(--bs-secondary);
      background: rgba(213,170,109,.1);
      border: 1px solid rgba(213,170,109,.3);
      border-radius: 3px;
      padding: .2rem .6rem;
      white-space: nowrap;
    }

    /* ---- Case outcome card (interspersed) ---- */
    .tm-outcome-card {
      background: var(--clr-surface);
      border: 1px solid var(--clr-line);
      border-left: 4px solid var(--bs-secondary);
      border-radius: var(--radius-md);
      padding: 1.6rem 1.8rem;
      height: 100%;
      display: flex;
      flex-direction: column;
      justify-content: center;
    }
    .tm-outcome-amount {
      font-family: var(--font-heading);
      font-weight: 800;
      font-size: 1.85rem;
      color: var(--bs-primary);
      line-height: 1;
      margin-bottom: .35rem;
    }
    .tm-outcome-type {
      font-size: .8rem;
      font-weight: 700;
      color: var(--bs-secondary);
      margin-bottom: .65rem;
    }
    .tm-outcome-card p {
      font-size: .88rem;
      color: rgba(28,29,32,.72);
      margin-bottom: 0;
      line-height: 1.6;
    }

    /* ---- Video review placeholder cards ---- */
    .tm-video-card {
      position: relative;
      border-radius: var(--radius-md);
      overflow: hidden;
      aspect-ratio: 16/9;
      background: linear-gradient(145deg, var(--bs-primary), var(--clr-primary-2));
      cursor: pointer;
    }
    .tm-video-card svg,
    .tm-video-card img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
      opacity: .35;
      transition: opacity var(--transition-base);
    }
    .tm-video-card:hover svg,
    .tm-video-card:hover img {
      opacity: .5;
    }
    .tm-video-play {
      position: absolute;
      inset: 0;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: .75rem;
      z-index: 2;
    }
    .tm-play-btn {
      width: 60px;
      height: 60px;
      border-radius: 50%;
      background: var(--bs-secondary);
      display: flex;
      align-items: center;
      justify-content: center;
      color: var(--bs-primary);
      transition: transform var(--transition-base), background var(--transition-base);
    }
    .tm-video-card:hover .tm-play-btn {
      transform: scale(1.1);
      background: #ffffff;
    }
    .tm-play-btn svg,
    .tm-play-btn img {
      width: 22px;
      height: 22px;
      display: inline-block;
      vertical-align: middle;
    }
    .tm-video-label {
      font-weight: 700;
      font-size: .82rem;
      color: rgba(255,255,255,.88);
      max-width: 22ch;
      text-align: center;
      line-height: 1.35;
    }
    .tm-video-meta {
      position: absolute;
      bottom: .85rem;
      left: 1rem;
      right: 1rem;
      z-index: 2;
      display: flex;
      align-items: center;
      gap: .65rem;
    }
    .tm-video-avatar {
      width: 34px;
      height: 34px;
      border-radius: 50%;
      background: var(--bs-secondary);
      color: var(--bs-primary);
      font-family: var(--font-heading);
      font-weight: 800;
      font-size: .72rem;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
    }
    .tm-video-name {
      font-size: .8rem;
      font-weight: 700;
      color: #ffffff;
    }

    /* ---- Pagination ---- */
    .tm-pagination {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: .4rem;
      padding-top: 1rem;
    }
    .tm-page-btn {
      width: 40px;
      height: 40px;
      border-radius: var(--radius-sm);
      border: 1.5px solid var(--clr-line);
      background: #ffffff;
      font-family: var(--font-body);
      font-weight: 700;
      font-size: .88rem;
      color: var(--bs-black);
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      transition: border-color var(--transition-base), background var(--transition-base), color var(--transition-base);
    }
    .tm-page-btn:hover,
    .tm-page-btn.is-active {
      border-color: var(--bs-primary);
      background: var(--bs-primary);
      color: #ffffff;
    }
    .tm-page-btn svg,
    .tm-page-btn img {
      width: 16px;
      height: 16px;
      display: inline-block;
      vertical-align: middle;
    }

    /* ---- Responsive ---- */
    @media (max-width: 767.98px) {
      .tm-hero { min-height: 300px; }
      .tm-featured-review { padding: 2rem 1.5rem; }
      .tm-rating-block { padding: 1.3rem 1.25rem; }
      .tm-rating-divider { display: none; }
      .tm-trust-row { gap: 1.5rem; }
    }

    /* =========================================================
   DEFAULT PAGE
========================================================= */

    .defualt_single_page_content {
        padding: 60px 0;
    }
    .page_featured_image {
        position: relative;
        width: 50%;
        z-index: 1;
    }

    .page_featured_image,
    .practice_inner_content img.alignleft  {
        margin: 0 15px 15px 0;
        float: left;
    }
    .practice_inner_content img.alignright  {
        margin: 0 0 15px 15px;
        float: right;
    }
    .page_featured_image img {
        width: 100% !important;
        height: auto;
        margin: 0;
    }

    .page_featured_image img,
    .practice_inner_content img {
        border-radius: 12px;
    }

    .practice_inner_content img {
        width: 50%;
        height: auto;
    }

    .practice_inner_content h1,
    .practice_inner_content h2,
    .practice_inner_content h3,
    .practice_inner_content h4,
    .practice_inner_content h5,
    .practice_inner_content h6,
    .practice_inner_content .h1,
    .practice_inner_content .h2,
    .practice_inner_content .h3,
    .practice_inner_content .h4,
    .practice_inner_content .h5,
    .practice_inner_content .h6 {
        float: inline-start;
        width: 100%;
        display: block;
        font-weight: 500;
    }

    .practice_inner_content * {
        color: var(--bs-black) !important;
    }

    .practice_inner_content ul,
    .practice_inner_content ol {
        font-style: normal;
        margin: 0 0 15px 0;
        padding: 0 0 0 20px;
        list-style-position: inside;
    }

    .practice_inner_content a,
    .practice_inner_content a span {
        color: var(--bs-primary) !important;
        text-decoration: underline;
        word-wrap: break-word;
    }

    .widget {
        background-color: transparent;
        padding: 20px 15px;
        border-radius: 8px;
        margin: 0 0 15px;
        box-shadow: 0 0 6px rgba(0, 0, 0, 0.4);
    }

    .practice_inner_content ul,
    .practice_inner_content ol {
        font-style: normal;
        margin: 0 0 15px 0;
        padding: 0 0 0 20px;
        list-style-position: inside;
    }
    .practice_inner_content ul li,
    .practice_inner_content ol li {
        margin: 0 0 4px;
    }
    .practice_inner_content a,
    .practice_inner_content a span {
        color: var(--bs-primary) !important;
        text-decoration: underline;
        word-wrap: break-word;
        }

    .practice_inner_content h1 {
        font-size: 40px;
        line-height: normal;
        margin: 0 0 30px;
    }

    .practice_inner_content h2 {
        font-size: 26px;
        line-height: normal;
    }

    .practice_inner_content h3 {
        font-size: 22px;
        line-height: normal;
    }

    .widget-title {
        position: relative;
        font-size: 24px;
        line-height: normal;
        color: var(--bs-primary);
        font-weight: 700;
        text-align: center;
        border-bottom: 1px solid var(--bs-gray);
        padding: 0 0 10px;
        margin: 0 0 15px;
    }
    .widget_media_gallery {
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .widget_media_gallery img {
        width: 100%;
        height: auto;
    }

    .widget_media_gallery figure {
        margin: 0;
    }

    .menu-sidebar-practice-area-menu-container .menu li a {
        color: var(--bs-secondary);
    }
    .menu-sidebar-practice-area-menu-container .menu li a:hover {
        color: var(--bs-primary);
    }
    .menu-sidebar-practice-area-menu-container .menu li {
        margin: 0 0 6px;
    }

    .menu-sidebar-practice-area-menu-container .menu {
        list-style: none;
    }

    .gallery-icon {
        display: flex;
        justify-content: center;
        align-items: center;
    }
    /* ── BANNER — CENTERED SERIF EDITORIAL (different from page 1) ── */
    .att-banner {
        position: relative;
        padding: 110px 0 100px;
        text-align: center;
        overflow: hidden;
        background:
            radial-gradient(circle at 15% 30%, rgba(255,255,255,0.12), transparent 30%),
            radial-gradient(circle at 85% 70%, rgba(255,255,255,0.10), transparent 30%),
            linear-gradient(135deg, var(--bs-primary), color-mix(in srgb, var(--bs-primary) 75%, #000));
        color: #fff;
    }



    /* Keep content above decorations */
    .att-banner > * {
        position: relative;
        z-index: 2;
    }

    .att-banner h1 {
        margin-bottom: 15px;
        font-size: clamp(36px, 5vw, 64px);
        font-weight: 700;
        line-height: 1.1;
        letter-spacing: -1px;
    }

    .att-banner p {
        max-width: 700px;
        margin: 0 auto;
        font-size: 18px;
        line-height: 1.7;
        color: rgba(255,255,255,0.85);
    }

    /* Mobile */
    @media (max-width: 767px) {
        .att-banner {
            padding: 75px 20px 70px;
        }

        .att-banner h1 {
            font-size: 38px;
        }

        .att-banner p {
            font-size: 16px;
        }
    }
    /* Layered horizontal rule design — editorial feel */
    /* .att-banner::before{
        content:'';
        position:absolute;
        left:0;right:0;
        top:50%;
        height:1px;
        background:linear-gradient(90deg,transparent,rgba(186,158,102,.35),transparent);
    } */
    .att-banner .banner-rule{
        display:flex;align-items:center;justify-content:center;gap:18px;margin-bottom:28px;
    }
    .att-banner .banner-rule span{width:60px;height:1px;background:var(--bs-secondary);opacity:.6}
    .att-banner .banner-rule .diamond{
        width:10px;height:10px;background:var(--bs-secondary);transform:rotate(45deg);opacity:.8;
    }
    .att-banner h1{
        font-family:"Baskervville",serif;
        font-size:58px;
        color:#fff;
        line-height:1.05;
        letter-spacing:-.01em;
        max-width:760px;
        margin:0 auto 20px;
    }
    .att-banner h1 em{
        color:var(--bs-secondary);
        font-style:italic;
    }
    .att-banner .sub{
        color:rgba(255,255,255,.65);
        font-family:"Roboto",sans-serif;
        font-size:17px;
        line-height:1.7;
        max-width:560px;
        margin:0 auto 36px;
    }
    .att-banner .trust-row{
        display:flex;justify-content:center;align-items:center;gap:32px;flex-wrap:wrap;
        padding-top:32px;
        border-top:1px solid rgba(255,255,255,.1);
    }
    .att-banner .trust-item{
        font-family:"Inter",sans-serif;
        font-size:13px;
        font-weight:600;
        color:rgba(255,255,255,.65);
        display:flex;align-items:center;gap:8px;
    }
    .att-banner .trust-item .dot{
        width:6px;height:6px;border-radius:50%;background:var(--bs-secondary);flex:none;
    }
    .default-banner.att-banner .banner-rule {
        margin: 18px 0 0;
    }
    .default-banner.att-banner h1 {
        font-size: 36px;
        line-height: normal;
    }
    .new_deafault_page_sidebar .widget label{
        display:block;
        font-size:13px;
        font-weight:600;
        color:var(--bs-primary);
        margin-bottom:5px;
    }

    .new_deafault_page_sidebar .widget input,
    .new_deafault_page_sidebar .widget select,
    .new_deafault_page_sidebar .widget textarea{
        width:100%;
        border:1px solid var(--bs-gray-300);
        border-radius:4px;
        padding:11px 14px;
        font-size:14.5px;
        font-family:var(--bs-font-sans-serif);
        color:var(--bs-brown);
        background:var(--bs-gray-200);
        margin-bottom:14px;
        outline:none;
        transition:.2s;
    }

    .new_deafault_page_sidebar .widget input:focus,
    .new_deafault_page_sidebar .widget select:focus,
    .new_deafault_page_sidebar .widget textarea:focus{
        border-color:var(--bs-primary);
        background:var(--bs-white);
    }

    .new_deafault_page_sidebar .widget textarea{
        height:90px;
        resize:none;
    }

    .new_deafault_page_sidebar .widget form .btn-primary {
        width:100%;
        background:var(--bs-primary);
        color:var(--bs-white);
        border:none;
        padding:14px;
        font-size:16px;
        font-weight:700;
        border-radius:4px;
        cursor:pointer;
        letter-spacing:.03em;
        transition:.25s;
    }

    .new_deafault_page_sidebar .widget form .btn-primary:hover{
        background:var(--bs-secondary);
    }
    @media (max-width: 991.98px) {
        .defualt_single_page_content > .row {
            --bs-gutter-y: 30px;
        }
        .default-banner.att-banner h1 {
            font-size: 40px;
            line-height: normal;
        }
    }
    @media (max-width: 767px) {
        .page_featured_image,
        .practice_inner_content img {
            width: 100%;
        }
    }
    .contact-form-wrap .col-12 p {
    position: relative;
}

/* 23-09-2026 */
span.wpcf7-spinner {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    right: 0;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 0;
    height: 100%;
    background-color: var(--bs-secondary);
    opacity: 1;
}

.wpcf7-spinner::before {
    margin: auto;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}
.contact-section .wpcf7 form .wpcf7-response-output {
    color: #fff !important;
    text-align: center !important;
}
/* =============================================================
   NEW HOMEPAGE SECTIONS — Attorneys · Akron Practice Areas · Blogs
   Uses ONLY existing tokens. No new values.
   ============================================================= */


/* ── ATTORNEYS ─────────────────────────────────────────────── */

.attorney-card {
  background: var(--bs-white);
  border: 1px solid var(--clr-line);
  border-radius: var(--radius-md);
  overflow: hidden;
  transition: box-shadow var(--transition-base);
}

.attorney-card:hover {
  box-shadow: 0 6px 24px rgba(var(--bs-primary-rgb), 0.10);
}

.attorney-photo {
  aspect-ratio: 3 / 4;
  overflow: hidden;
  background: var(--clr-surface);
}

.attorney-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  transition: transform var(--transition-base);
}

.attorney-card:hover .attorney-photo img {
  transform: scale(1.03);
}

.attorney-info {
  padding: 1.25rem 1.25rem 1.5rem;
}

.attorney-name {
  font-family: var(--font-heading);
  font-size: var(--fs-h4);
  color: var(--bs-primary);
  margin: 0 0 0.2rem;
  line-height: 1.25;
}

.attorney-title {
  font-size: var(--fs-sm);
  color: var(--bs-secondary);
  font-weight: 600;
  letter-spacing: 0.01em;
  margin-bottom: 0.65rem;
}

.attorney-bio {
  font-size: var(--fs-sm);
  color: var(--bs-grey-dark);
  line-height: 1.6;
  margin-bottom: 1rem;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}


/* ── AKRON PRACTICE AREAS ──────────────────────────────────── */

.akron-pa-card {
  display: flex;
  gap: 1rem;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
  background: var(--bs-white);
  border: 1px solid var(--clr-line);
  border-radius: var(--radius-md);
  transition: border-color var(--transition-base),
              box-shadow var(--transition-base);
}

.akron-pa-card:hover {
  border-color: var(--bs-secondary);
  box-shadow: 0 4px 16px rgba(var(--bs-primary-rgb), 0.08);
}

.akron-pa-icon {
  flex-shrink: 0;
  width: 2.5rem;
  height: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--clr-surface);
  border-radius: var(--radius-sm);
}

.akron-pa-icon img {
  width: 1.5rem;
  height: 1.5rem;
  object-fit: contain;
}

.akron-pa-body h3 {
  font-family: var(--font-heading);
  font-size: var(--fs-h4);
  color: var(--bs-primary);
  margin: 0;
  line-height: 1.3;
  text-align: center;
}

.akron-pa-body p {
  font-size: var(--fs-sm);
  color: var(--bs-grey-dark);
  line-height: 1.55;
  margin: 0 0 0.75rem;
}


/* ── LATEST BLOGS ──────────────────────────────────────────── */

.blog-card {
  background: var(--bs-white);
  border: 1px solid var(--clr-line);
  border-radius: var(--radius-md);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  height: 100%;
  transition: box-shadow var(--transition-base);
}

.blog-card:hover {
  box-shadow: 0 6px 24px rgba(var(--bs-primary-rgb), 0.10);
}

.blog-card-image {
  display: block;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: var(--clr-surface);
}

.blog-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--transition-base);
}

.blog-card:hover .blog-card-image img {
  transform: scale(1.03);
}

.blog-card-body {
  padding: 1.25rem 1.25rem 1.5rem;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.blog-card-meta {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-size: var(--fs-eyebrow);
  color: var(--bs-dark);
  margin-bottom: 0.65rem;
}

.blog-card-meta time {
  color: var(--bs-dark);
}

.blog-cat {
  color: var(--bs-secondary);
  font-weight: 700;
  display: none;
}

.blog-card-title {
  font-family: var(--font-heading);
  font-size: var(--fs-h3);
  color: var(--bs-primary);
  line-height: 1.3;
  margin: 0 0 0.65rem;
}

.blog-card-title a {
  color: inherit;
  text-decoration: none;
  transition: color var(--transition-base);
}

.blog-card-title a:hover {
  color: var(--clr-primary-2);
}

.blog-card-excerpt {
  font-size: var(--fs-sm);
  color: var(--bs-dark);
  line-height: 1.65;
  flex: 1;
}

/* push "Read More" to bottom of card */
.blog-card-body .pa-card-link {
  margin-top: auto;
  padding-top: 1rem;
}

/* ==========================================================================
   Attorneys (grid + single profile + shared cta-banner)
   Uses the existing :root variables — no new tokens introduced.
   ========================================================================== */

.kicker {
  display: inline-block;
  font-family: var(--font-body);
  font-size: var(--fs-eyebrow);
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--bs-primary);
  margin-bottom: .5rem;
}
.kicker.text-gold { color: var(--bs-secondary); }

.lead-text {
  font-family: var(--font-body);
  font-size: var(--fs-lead);
  line-height: 1.6;
  color: rgba(var(--bs-black-rgb, 28, 29, 32), .7);
}
.lead-text.text-light-85 { color: rgba(255, 255, 255, .85); }

.section { padding: var(--section-y) 0; }

.btn {
  border-radius: var(--radius-sm);
  padding: .7rem 1.6rem;
  font-family: var(--font-body);
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  text-decoration: none;
  transition: transform var(--transition-base), box-shadow var(--transition-base);
}
.btn:hover { transform: translateY(-1px); }
.btn-gold { background: var(--bs-secondary); color: var(--bs-primary); }
.btn-gold:hover { box-shadow: 0 8px 20px rgba(var(--bs-secondary-rgb), .35); color: var(--bs-primary); }
.btn-maroon { background: var(--bs-primary); color: var(--bs-white); }
.btn-maroon:hover { box-shadow: 0 8px 20px rgba(var(--bs-primary-rgb), .35); color: var(--bs-white); }
.btn-outline-light-custom { background: transparent; color: var(--bs-white); border: 1.5px solid rgba(255, 255, 255, .55); }
.btn-outline-light-custom:hover { background: rgba(255, 255, 255, .1); color: var(--bs-white); }
.btn-outline-maroon { background: transparent; color: var(--bs-primary); border: 1.5px solid var(--bs-primary); }
.btn-outline-maroon:hover { background: var(--bs-primary); color: var(--bs-white); }

@media (max-width: 575px) {
  .btn {
    white-space: break-spaces;
  }
}
/* ==========================================================================
   Attorney Hero
   ========================================================================== */
.attorney-hero {
  padding: var(--section-y) 0;
  background: var(--clr-surface);
  text-align: center;
}
.attorney-hero h1 {
  font-family: var(--font-heading);
  font-size: var(--fs-h1);
  color: var(--bs-primary);
  margin-bottom: .75rem;
}
.attorney-hero .lead-text { max-width: 640px; margin: 0 auto; }

/* ==========================================================================
   Attorneys Grid
   ========================================================================== */
.attorney-card {
  display: block;
  background: var(--bs-white);
  border: 1px solid var(--clr-line);
  border-radius: var(--radius-md);
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  height: 100%;
  transition: transform var(--transition-base), box-shadow var(--transition-base);
}
.attorney-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 32px rgba(var(--bs-black-rgb, 28, 29, 32), .1);
  color: inherit;
}

.attorney-card-photo { width: 100%; aspect-ratio: 4 / 5; overflow: hidden; background: var(--clr-surface); }
.attorney-card-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }

.attorney-card-body { padding: 1.5rem; }
.attorney-card-name {
  font-family: var(--font-heading);
  font-size: var(--fs-h3);
  color: var(--bs-black);
  margin-bottom: .25rem;
}
.attorney-card-position {
  font-family: var(--font-body);
  font-size: var(--fs-sm);
  font-weight: 700;
  color: var(--bs-secondary);
  margin-bottom: .75rem;
}
.attorney-card-bio {
  font-family: var(--font-body);
  font-size: var(--fs-sm);
  line-height: 1.6;
  color: var(--bs-dark);
}

/* ==========================================================================
   Single Attorney Profile
   ========================================================================== */
.attorney-profile-photo {
  width: 100%;
  aspect-ratio: 4 / 5;
  border-radius: var(--radius-md);
  overflow: hidden;
  background: var(--clr-surface);
  margin-bottom: 1.5rem;
}
.attorney-profile-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }

.attorney-profile-contact { display: flex; flex-direction: column; gap: .75rem; margin-bottom: 1.5rem; }

.attorney-profile-socials { display: flex; flex-wrap: wrap; gap: 1rem; }
.attorney-profile-socials a {
  font-family: var(--font-body);
  font-size: var(--fs-sm);
  font-weight: 700;
  color: var(--bs-primary);
  text-decoration: none;
}
.attorney-profile-socials a:hover { color: var(--bs-secondary); }

.attorney-profile-name {
  font-family: var(--font-heading);
  font-size: var(--fs-h1);
  color: var(--bs-black);
  margin-bottom: .5rem;
}
.attorney-profile-position {
  font-family: var(--font-body);
  font-size: var(--fs-h4);
  font-weight: 700;
  color: var(--bs-secondary);
  margin-bottom: 1rem;
}

.attorney-profile-practice-areas { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1.5rem; }
.practice-tag {
  font-family: var(--font-body);
  font-size: var(--fs-sm);
  font-weight: 700;
  padding: .3rem .75rem;
  border-radius: 999px;
  background: var(--clr-surface);
  color: var(--bs-primary);
  border: 1px solid var(--clr-line);
}

.attorney-profile-bio {
  font-family: var(--font-body);
  font-size: var(--fs-base);
  line-height: 1.75;
  color: var(--bs-black);
}
.attorney-profile-bio p { margin-bottom: 1rem; }

/* ==========================================================================
   Shared CTA Banner
   ========================================================================== */
.cta-banner {
  position: relative;
  border-radius: var(--radius-md);
  overflow: hidden;
  padding: clamp(2rem, 1.5rem + 2vw, 3.5rem);
  color: var(--bs-white);
}
.cta-banner .ph-image { position: absolute; inset: 0; z-index: 2; }
.cta-banner .ph-image img { width: 100%; height: 100%; object-fit: cover; }
.cta-banner::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, rgba(var(--bs-primary-rgb), .92) 0%, rgba(var(--bs-primary-rgb), .85) 100%);
  z-index: 1;
}
.cta-banner-content { position: relative; z-index: 2; }
.cta-banner-content h2 {
  font-family: var(--font-heading);
  font-size: var(--fs-h2);
  margin: .5rem 0 .75rem;
}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 991px) {
  .attorney-profile-name { font-size: var(--fs-h2); }
}

@media (max-width: 575px) {
  .attorney-hero { padding: 3rem 0; }
}

/* ==========================================================================
   Blog / Testimonials List Grid
   ========================================================================== */

.tm-masonry {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.5rem;
}

.tm-masonry-item {
  min-width: 0;
  display: flex;
}

.tm-card {
  width: 100%;
  height: 100%;
  background: var(--bs-white);
  border: 1px solid var(--clr-line);
  border-radius: var(--radius-md);
  padding: 1.75rem;
  box-shadow: 0 8px 20px rgba(28, 29, 32, .04);
  display: flex;
  flex-direction: column;
}

/* Stars */

.tm-card-stars {
  display: flex;
  align-items: center;
  gap: .2rem;
  margin-bottom: .75rem;
}

.tm-card-stars svg {
  width: 16px;
  height: 16px;
}

/* Quote */

.tm-card-quote {
  display: inline-block;
  width: 26px;
  height: 26px;
  color: var(--bs-secondary);
  opacity: .6;
  margin-bottom: .5rem;
}

.tm-card-quote svg {
  width: 100%;
  height: 100%;
}

/* Content */

.tm-card-text {
  font-size: .95rem;
  line-height: 1.6;
  color: var(--bs-black);
  margin-bottom: 1.5rem;
}

/* Footer */

.tm-card-footer {
  display: flex;
  align-items: center;
  gap: .75rem;
  margin-top: auto;
}

.tm-card-avatar {
  width: 40px;
  height: 40px;
  min-width: 40px;
  border-radius: 50%;
  background: var(--bs-primary);
  color: var(--bs-white);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: .9rem;
}

.tm-card-name {
  font-weight: 600;
  font-size: .9rem;
  color: var(--bs-black);
}

.tm-card-src {
  font-size: .78rem;
  color: rgba(28, 29, 32, .7);
}

.tm-card-tag {
  margin-left: auto;
  font-size: .72rem;
  font-weight: 600;
  padding: .25rem .6rem;
  border-radius: 999px;
  background: var(--clr-surface);
  color: var(--clr-primary-2);
  white-space: nowrap;
}


/* ==========================================================================
   Responsive
   ========================================================================== */

@media (max-width: 991px) {
  .tm-masonry {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 575px) {
  .tm-masonry {
    grid-template-columns: 1fr;
  }
}
/* 24-09-2026 */
.page-template-contact-us-template p.form-disclaimer {
    text-align: left;
}

.page-template-contact-us-template .contact-section .wpcf7 form .wpcf7-response-output {
    color: var(--bs-black) !important;
}
.page-template-contact-us-template .contact-form-wrap p {
  color: rgba(28,29,32,.7);
}