@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@700;800;900&family=Open+Sans:wght@400;600;700&display=swap');

/*
Theme Name: Hirzel Law
Theme URI: https://hirzellaw.com
Author: Hirzel Law Development Team
Author URI: https://hirzellaw.com
Description: Custom WordPress theme for Hirzel Law - Community Association Law Firm
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: hirzel-law
Tags: custom, legal, law-firm
*/

/* ============================================================
   HIRZEL LAW PLC - COLOR PALETTE
   ============================================================ */

/* Primary Blue: #2B3990 | rgb(43, 57, 144) */

/* Dark Orange: #F36F21 | rgb(243, 111, 33) */

/* Light Orange: #FC914D | rgb(252, 145, 77) */

/* White: #FFFFFF | rgb(255, 255, 255) */

/* Dark Grey: #333333 | rgb(51, 51, 51) */

/* ============================================================ */

/* ==========================================================================
   Base Styles
   ========================================================================== */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}


body {
  font-family: "Open Sans", sans-serif;
  font-weight: 400;
  font-style: normal;
font-size: clamp(16px, 0.9rem + 0.3vw, 17px);
  line-height: 1.65;
  color: #333;
  background-color: #fff;
}

/* ============================================================
   SKELETON GRID SYSTEM
   ============================================================ */

/* Grid Container */
.container {
    position: relative;
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 40px;
    box-sizing: border-box;
}

/* Row for columns */
.row {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    margin-left: -20px;
    margin-right: -20px;
}

.row::after {
    content: "";
    display: table;
    clear: both;
}

/* Column Base */
.column,
.columns {
    width: 100%;
    float: left;
    box-sizing: border-box;
    padding-left: 20px;
    padding-right: 20px;
}

/* Desktop Grid (1200px+) */
@media (min-width: 1200px) {
    .one.column,
    .one.columns                    { width: 8.33333%; }
    .two.columns                    { width: 16.66667%; }
    .three.columns                  { width: 25%; }
    .four.columns                   { width: 33.33333%; }
    .five.columns                   { width: 41.66667%; }
    .six.columns                    { width: 50%; }
    .seven.columns                  { width: 58.33333%; }
    .eight.columns                  { width: 66.66667%; }
    .nine.columns                   { width: 75%; }
    .ten.columns                    { width: 83.33333%; }
    .eleven.columns                 { width: 91.66667%; }
    .twelve.columns                 { width: 100%; }
    
    .one-third.column               { width: 33.33333%; }
    .two-thirds.column              { width: 66.66667%; }
    
    .one-half.column                { width: 50%; }
}

/* Tablet Grid (768px - 1199px) */
@media (min-width: 768px) and (max-width: 1199px) {
    .one.column,
    .one.columns                    { width: 8.33333%; }
    .two.columns                    { width: 16.66667%; }
    .three.columns                  { width: 25%; }
    .four.columns                   { width: 33.33333%; }
    .five.columns                   { width: 41.66667%; }
    .six.columns                    { width: 50%; }
    .seven.columns                  { width: 58.33333%; }
    .eight.columns                  { width: 66.66667%; }
    .nine.columns                   { width: 75%; }
    .ten.columns                    { width: 83.33333%; }
    .eleven.columns                 { width: 91.66667%; }
    .twelve.columns                 { width: 100%; }
    
    .one-third.column               { width: 33.33333%; }
    .two-thirds.column              { width: 66.66667%; }
    
    .one-half.column                { width: 50%; }
}

/* Mobile Grid (below 768px) */
@media (max-width: 767px) {
    .container {
        padding: 0 20px;
    }
    
    .row {
        margin-left: -10px;
        margin-right: -10px;
    }
    
    .column,
    .columns {
        width: 100%;
        padding-left: 10px;
        padding-right: 10px;
        margin-bottom: 20px;
    }
}

/* Offsets for Desktop */
@media (min-width: 1200px) {
    .offset-by-one.column,
    .offset-by-one.columns          { margin-left: 8.33333%; }
    .offset-by-two.column,
    .offset-by-two.columns          { margin-left: 16.66667%; }
    .offset-by-three.column,
    .offset-by-three.columns        { margin-left: 25%; }
    .offset-by-four.column,
    .offset-by-four.columns         { margin-left: 33.33333%; }
    .offset-by-five.column,
    .offset-by-five.columns         { margin-left: 41.66667%; }
    .offset-by-six.column,
    .offset-by-six.columns          { margin-left: 50%; }
    .offset-by-seven.column,
    .offset-by-seven.columns        { margin-left: 58.33333%; }
    .offset-by-eight.column,
    .offset-by-eight.columns        { margin-left: 66.66667%; }
    .offset-by-nine.column,
    .offset-by-nine.columns         { margin-left: 75%; }
    .offset-by-ten.column,
    .offset-by-ten.columns          { margin-left: 83.33333%; }
    .offset-by-eleven.column,
    .offset-by-eleven.columns       { margin-left: 91.66667%; }
    
    .offset-by-one-third.column,
    .offset-by-one-third.columns    { margin-left: 33.33333%; }
    .offset-by-two-thirds.column,
    .offset-by-two-thirds.columns   { margin-left: 66.66667%; }
    
    .offset-by-one-half.column,
    .offset-by-one-half.columns     { margin-left: 50%; }
}


/* ==========================================================================
   Typography
   ========================================================================== */

h1, h2, h3, h4, h5, h6 {
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  font-style: normal;
  line-height: 1.2;
  margin: 0 0 1rem;
  color:#2B3990;

  /* Safe default for headings (less tracking at large sizes) */
  letter-spacing: -0.02em;
}

/* Responsive heading scale (min, fluid, max) */
h1 { font-size: clamp(2rem, 1.5rem + 2vw, 3rem); }       /* ~32px → 48px */
h2 { font-size: clamp(1.75rem, 1.35rem + 1.5vw, 2.5rem);} /* ~28px → 40px */
h3 { font-size: clamp(.95rem, 1.2rem + 1vw, 1.5rem); }      /* ~24px → 32px */
h4 { font-size: clamp(1.25rem, 1.1rem + 0.6vw, 1.5rem);}  /* ~20px → 24px */
h5 { font-size: clamp(1.125rem, 1.05rem + 0.35vw, 1.25rem);} /* ~18px → 20px */
h6 { font-size: clamp(1rem, 0.98rem + 0.2vw, 1.1rem); }   /* ~16px → ~17.6px */

p {
    margin-bottom: 1rem;
}

a {
    color: #2B3990;
    text-decoration: none;
    transition: color 0.3s ease;
}

a:hover {
    color: #F36F21;
     text-decoration:none;
}

/* ===================================
   GLOBAL: Focus-visible only
   Remove focus outlines on mouse click,
   preserve them for keyboard navigation.
   =================================== */
*:focus {
    outline: none;
}

*:focus-visible {
    outline: 3px solid #F36F21;
    outline-offset: 2px;
}

/* 	BLOG POST IMAGES */
	
.nm-single-content p img.alignleft, .entry-content p img.alignleft {float: left; margin: 0.25rem 1.5rem 0 0; max-width: 300px; height: auto; display: block;}
@media (max-width: 767px) { .nm-single-content img.alignleft, .entry-content img.alignleft {float: left; margin: 0.25rem 1.5rem 0 0; max-width: 300px; height: auto; display: block; } }
.nm-single-content p { margin-bottom: 1rem; }

/* ===================================
   HEADER STYLES
   File: style.css (Header Section)
   =================================== */

/* ===================================
   HEADER STRUCTURE
   =================================== */
.site-header {
position: fixed;
top: 0;
left: 0;
right: 0;
z-index: 1100;
background: #FFFFFF;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

/* ===================================
   HEADER CTA BAR (above logo/nav row)
   =================================== */
/* Initial state */
.header-cta-bar {
    display: flex;
    justify-content: flex-end;
    padding: 20px 0 0 0;       /* was 8px — pushes CTA down */
    margin-bottom: -6px;        /* tightens gap to nav row */
}

/* Shrink state — add this new rule */
.header-main.shrink .header-cta-bar {
    padding: 6px 0 0 0;
    margin-bottom: -4px;
}

.header-cta-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #F36F21;
    color: #FFFFFF;
    text-decoration: none;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: clamp(12px, 1vw, 14px);
    padding: 10px 24px;
    border-radius: 50px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: background 0.3s ease, transform 0.2s ease, box-shadow 0.3s ease;
    white-space: nowrap;
}

.header-cta-pill svg {
    flex-shrink: 0;
}

.header-cta-pill:hover {
    background: #FC914D;
    transform: translateY(-1px);
    box-shadow: 0 4px 14px rgba(243, 111, 33, 0.35);
    color: #FFFFFF;
}

.header-cta-pill:focus-visible {
    outline: 3px solid #2B3990;
    outline-offset: 3px;
    border-radius: 50px;
}

/* ===================================
   MAIN HEADER (Logo & Navigation)
   =================================== */
.header-main {
    background: #FFFFFF;
    padding: 0 50px 20px 50px;
    transition: padding 0.3s ease;
}

.header-main.shrink {
    padding: 0 0 10px 50px;
}

.header-main-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.site-logo {
    flex-shrink: 0;
    transition: all 0.3s ease;
    margin-top: -40px;
}

.site-logo a {
    display: block;
    line-height: 0;
    transition: transform 0.3s ease;
}

.site-logo a:hover {
    transform: translateY(-5px);
}

.site-logo a:focus-visible {
    outline: 2px solid #2B3990;
    outline-offset: 4px;
    border-radius: 4px;
}

.site-logo img {
    height: auto;
    max-width: clamp(200px, 20vw, 240px);
    display: block;
    transition: max-width 0.3s ease;
}

.header-main.shrink .site-logo img {
    max-width: clamp(120px, 12vw, 168px);
}

/* ===================================
   NAVIGATION
   =================================== */
.main-navigation {
    flex-grow: 1;
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

.nav-menu {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: clamp(16px, 2vw, 28px);
    align-items: center;
}

.nav-menu li {
    margin: 0;
    position: relative;
}

.nav-menu a {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
        display: block;
     font-size: clamp(13px, 1.2vw, 20px);
    text-transform: uppercase;
    letter-spacing: 0.02em;
    color: #2B3990;
    text-decoration: none;
    transition: color 0.25s ease;
        padding: 8px 0;
         text-decoration: none;
}

.nav-menu a:hover {
    color: #F36F21;
}

.nav-menu a:focus-visible {
    outline: 2px solid #2B3990;
    outline-offset: 4px;
    border-radius: 3px;
}

/* ===================================
   MOBILE MENU - COMPLETE FIX
   Replace the mobile menu section in your CSS with this
   =================================== */

/* Mobile Menu Close Button - PROPER POSITIONING */
.mobile-menu-close {
    display: none;
}

/* Mobile-only elements: phone link & social icons in slide-in menu */
.mobile-menu-phone {
    display: none;
}

.mobile-menu-social {
    display: none;
}

@media (max-width: 1100px) {
    /* Hide CTA bar on mobile (CTA is in slide-in menu instead) */
    .header-cta-bar {
        display: none;
    }
    
    /* Style the close button (inside nav panel) */
    .mobile-menu-close {
        display: flex;
        position: absolute;
        top: 20px;
        right: 20px;
        background: transparent;
        border: none;
        width: 44px;
        height: 44px;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        color: #2B3990;
        border-radius: 4px;
        transition: all 0.3s ease;
        z-index: 10;
        padding: 0;
    }
    
    .mobile-menu-close:hover {
        background: #F8F9FC;
        color: #F36F21;
    }
    
    .mobile-menu-close:focus-visible {
        outline: 2px solid #2B3990;
        outline-offset: 2px;
    }
    
    .mobile-menu-close svg {
        width: 24px;
        height: 24px;
    }
    
    /* CRITICAL: Hide any pseudo-element X that might be appearing */
    .main-navigation::before,
    .main-navigation::after {
        display: none !important;
        content: none !important;
    }
    
    /* CRITICAL: Remove any generated close buttons */
    .main-navigation .close,
    .main-navigation .menu-close,
    .nav-menu::before,
    .nav-menu::after {
        display: none !important;
        content: none !important;
    }
    
    /* Mobile-only: Phone link at top of slide-in menu */
    .mobile-menu-phone {
        display: block;
        padding: 0 28px 16px 28px;
        border-bottom: 1px solid #E8E8E8;
        margin-bottom: 8px;
    }
    
    .mobile-phone-link {
        display: flex;
        align-items: center;
        gap: 10px;
        background: #F36F21;
        color: #2B3990;
        text-decoration: none;
        font-family: 'Montserrat', sans-serif;
        font-weight: 700;
        font-size: 15px;
        padding: 14px 20px;
        border-radius: 50px;
        transition: background 0.3s ease, color 0.3s ease, transform 0.2s ease, box-shadow 0.3s ease;
        justify-content: center;
    }
    
    .mobile-phone-link:hover {
        background: #FC914D;
        color: #2B3990;
        transform: translateY(-2px);
        box-shadow: 0 8px 20px rgba(243, 111, 33, 0.35);
    }
    
    .mobile-phone-link:focus-visible {
        outline: 3px solid #F36F21;
        outline-offset: 3px;
    }
    
    .mobile-phone-link svg {
        flex-shrink: 0;
    }
    
    /* FIX: Make CTA and Search buttons EXACTLY the same width */
    .nav-menu li.menu-item-cta {
        display: block;
        margin: 20px 28px 0 28px;
        border: none;
        padding: 0;
    }
    
    .nav-menu li.menu-item-cta a,
    .nav-cta a,
    .nav-menu .btn-proposal {
        width: 100%;
        display: block;
        text-align: center;
        padding: 16px 24px !important;
        justify-content: center;
        margin: 0;
        box-sizing: border-box;
    }
    
    /* Search Button in mobile - give it a visible style */
    .main-navigation .search-toggle-btn {
        width: calc(100% - 56px);
        margin: 12px 28px 20px 28px;
        padding: 16px 24px;
        justify-content: center;
        box-sizing: border-box;
        display: flex;
        background: #F8F9FC;
        color: #F36F21;
        border: 2px solid #E8E8E8;
        border-radius: 4px;
    }
    
    .main-navigation .search-toggle-btn:hover {
        background: #2B3990;
        color: #FFFFFF;
        border-color: #2B3990;
    }
    
    /* Mobile-only: Social links at bottom of slide-in menu */
    .mobile-menu-social {
        display: flex;
        justify-content: center;
        gap: 16px;
        padding: 20px 28px;
        border-top: 1px solid #E8E8E8;
        margin-top: 12px;
    }
    
    .mobile-menu-social a {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 42px;
        height: 42px;
        border-radius: 50%;
        background: #F8F9FC;
        color: #2B3990;
        text-decoration: none;
        transition: all 0.3s ease;
    }
    
    .mobile-menu-social a:hover {
        background: #2B3990;
        color: #FFFFFF;
    }
    
    .mobile-menu-social a:focus-visible {
        outline: 2px solid #F36F21;
        outline-offset: 2px;
    }
}

@media (max-width: 480px) {
    .mobile-menu-close {
        top: 16px;
        right: 16px;
        width: 40px;
        height: 40px;
    }
    
    .mobile-menu-close svg {
        width: 20px;
        height: 20px;
    }
    
    /* Consistent button widths on small mobile */
    .nav-menu li.menu-item-cta {
        margin: 16px 20px 0 20px;
    }
    
    .nav-menu li.menu-item-cta a,
    .nav-cta a,
    .nav-menu .btn-proposal {
        width: 100%;
        padding: 16px 20px !important;
    }
    
    .main-navigation .search-toggle-btn {
        width: calc(100% - 40px);
        margin: 12px 20px 16px 20px;
        padding: 16px 20px;
    }
    
    .mobile-menu-phone {
        padding: 0 20px 14px 20px;
    }
    
    .mobile-phone-link {
        font-size: 14px;
        padding: 12px 16px;
    }
    
    .mobile-menu-social {
        padding: 16px 20px;
        gap: 12px;
    }
    
    .mobile-menu-social a {
        width: 38px;
        height: 38px;
    }
}

/* ===================================
   NAV PHONE LINK (inline with nav items)
   =================================== */
.nav-phone-link {
    display: inline-flex;
    align-items: center;
    color: #F36F21;
    text-decoration: none;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: clamp(13px, 1.2vw, 20px);
    padding: 8px 0;
    transition: color 0.3s ease;
    white-space: nowrap;
    margin-left: clamp(28px, 3.5vw, 48px);
}

.nav-phone-link svg {
    display: none;
}

.nav-phone-link:hover {
    color: #2B3990;
}

.nav-phone-link:focus-visible {
    outline: 2px solid #2B3990;
    outline-offset: 4px;
    border-radius: 3px;
}

/* Desktop: hide phone link on mobile (shown in slide-in instead) */
@media (max-width: 1100px) {
    .nav-phone-link {
        display: none;
    }
}

/* ===================================
   REQUEST A PROPOSAL BUTTON (in nav menu)
   Hidden on desktop (shown as pill above), visible in mobile slide-in
   =================================== */
.nav-menu li.menu-item-cta {
    display: none;
}

.nav-menu li.menu-item-cta a,
.nav-cta a,
.nav-menu .btn-proposal {
    background: #F36F21;
    color: #FFFFFF !important;
    padding: 12px clamp(16px, 1.5vw, 24px) !important;
    border-radius: 4px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: clamp(13px, 1.1vw, 15px);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: background 0.3s ease, transform 0.2s ease;
    display: inline-block;
    white-space: nowrap;
}

.nav-menu li.menu-item-cta a:hover,
.nav-cta a:hover,
.nav-menu .btn-proposal:hover {
    background: #FC914D;
    color: #FFFFFF !important;
    transform: translateY(-2px);
}

.nav-menu li.menu-item-cta a:focus-visible,
.nav-cta a:focus-visible,
.nav-menu .btn-proposal:focus-visible {
    outline: 3px solid #2B3990;
    outline-offset: 3px;
}

/* ===================================
   SEARCH TOGGLE BUTTON
   =================================== */
.search-toggle-btn {
    background: transparent;
    color: #F36F21;
    padding: 8px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    transition: color 0.3s ease, transform 0.2s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-left: clamp(8px, 1.2vw, 16px);
}

.search-toggle-btn:hover {
    color: #2B3990;
    transform: translateY(-1px);
}

.search-toggle-btn:focus-visible {
    outline: 2px solid #2B3990;
    outline-offset: 3px;
}

.search-toggle-btn svg {
    display: block;
    width: 22px;
    height: 22px;
}

/* ===================================
   SEARCH OVERLAY
   =================================== */
.search-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.98);
    z-index: 9999;
    display: none;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.search-overlay.active {
    display: flex;
    opacity: 1;
}

.search-overlay-content {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    padding: 40px 20px;
}

.search-overlay-close {
    position: absolute;
    top: 40px;
    right: 40px;
    background: #2B3990;
    color: #FFFFFF;
    border: none;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.3s ease, transform 0.2s ease;
    z-index: 10000;
}

.search-overlay-close:hover {
    background: #F36F21;
    transform: scale(1.1);
}

.search-overlay-close:focus-visible {
    outline: 3px solid #2B3990;
    outline-offset: 4px;
}

.search-overlay-inner {
    max-width: 800px;
    width: 100%;
    text-align: center;
}

.search-overlay-title {
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(28px, 5vw, 42px);
    font-weight: 800;
    color: #2B3990;
    margin-bottom: 40px;
    line-height: 1.2;
}

.search-overlay-form {
    width: 100%;
}

.screen-reader-text {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
}

.search-input-wrapper {
    display: flex;
    gap: 12px;
    width: 100%;
    max-width: 700px;
    margin: 0 auto;
}

.search-overlay-input {
    flex: 1;
    font-family: 'Open Sans', sans-serif;
    font-size: 18px;
    padding: 18px 24px;
    border: 3px solid #2B3990;
    border-radius: 4px;
    background: #FFFFFF;
    color: #333333;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.search-overlay-input::placeholder {
    color: #888888;
}

.search-overlay-input:focus-visible {
    outline: none;
    border-color: #F36F21;
    box-shadow: 0 0 0 3px rgba(243, 111, 33, 0.2);
}

.search-overlay-submit {
    background: #2B3990;
    color: #FFFFFF;
    border: none;
    padding: 18px 32px;
    border-radius: 4px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 16px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 10px;
    transition: background 0.3s ease, transform 0.2s ease;
    white-space: nowrap;
}

.search-overlay-submit:hover {
    background: #1e2a6e;
    transform: translateY(-2px);
}

.search-overlay-submit:focus-visible {
    outline: 3px solid #F36F21;
    outline-offset: 3px;
}

.search-overlay-submit svg {
    width: 20px;
    height: 20px;
}

/* ===================================
   DROPDOWN MENUS (Desktop)
   =================================== */
.nav-menu .sub-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background: #FFFFFF;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    min-width: 220px;
    padding: 12px 0;
    list-style: none;
    margin: 0;
    z-index: 1000;

}

.nav-menu li:hover > .sub-menu,
.nav-menu li:focus-within > .sub-menu {
    display: block;
}

.nav-menu .sub-menu li {
    margin: 0;
}

.nav-menu .sub-menu a {
    padding: 10px 20px;
    font-size: 14px;
    white-space: nowrap;
        text-transform: none;
}

.nav-menu .sub-menu a:hover {
    background: #F8F8F8;
}

/* ===================================
   MOBILE MENU - AmLaw 100 Style
   =================================== */

/* Hamburger Button — bold orange pill */
.mobile-menu-toggle { display: none; background: #F36F21; border: none; border-radius: 8px; padding: 10px 14px; cursor: pointer; transition: background 0.25s ease, transform 0.15s ease, box-shadow 0.25s ease; z-index: 1101; font-size: 0; line-height: 0; appearance: none; -webkit-appearance: none; -moz-appearance: none; box-shadow: 0 2px 8px rgba(243, 111, 33, 0.35); }
.mobile-menu-toggle:hover { background: #d45e14; box-shadow: 0 4px 14px rgba(243, 111, 33, 0.45); transform: translateY(-1px); }
.mobile-menu-toggle:active { transform: translateY(0); box-shadow: 0 2px 6px rgba(243, 111, 33, 0.3); }
.mobile-menu-toggle:focus-visible { outline: 2px solid #2B3990; outline-offset: 3px; border-radius: 8px; }
.hamburger-icon { display: flex; flex-direction: column; gap: 5px; width: 26px; height: 20px; position: relative; }
.hamburger-icon .line { display: block; width: 100%; height: 2.5px; background: #ffffff; border-radius: 3px; transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); transform-origin: center; }
.hamburger-icon .line:first-child { width: 100%; }
.hamburger-icon .line:last-child { width: 75%; }
.mobile-menu-toggle:hover .hamburger-icon .line { background: #ffffff; }
.mobile-menu-toggle:hover .hamburger-icon .line:last-child { width: 100%; }

/* Hamburger → X animation when active */
.mobile-menu-toggle.active { background: #2B3990; box-shadow: 0 2px 8px rgba(43, 57, 144, 0.35); }
.mobile-menu-toggle.active .hamburger-icon .line:nth-child(1) { transform: translateY(7.5px) rotate(45deg); width: 100%; }
.mobile-menu-toggle.active .hamburger-icon .line:nth-child(2) { opacity: 0; transform: scaleX(0); }
.mobile-menu-toggle.active .hamburger-icon .line:nth-child(3) { transform: translateY(-7.5px) rotate(-45deg); width: 100%; }

/* Mobile Menu Overlay (dark background) */
.mobile-menu-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 998;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.4s ease, visibility 0.4s ease;
    backdrop-filter: blur(2px);
}

.mobile-menu-overlay.active {
    opacity: 1;
    visibility: visible;
}

/* Dropdown Indicators */
.dropdown-indicator {
    display: inline-block;
    width: 0;
    height: 0;
    margin-left: 6px;
    vertical-align: middle;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 5px solid currentColor;
    transition: transform 0.3s ease;
    position: relative;
}

.menu-item-has-children > a:hover .dropdown-indicator,
.menu-item-has-children > a:focus .dropdown-indicator {
    border-top-color: #F36F21;
}

/* Desktop: hide dropdown indicators in sub-menus */
.sub-menu .dropdown-indicator {
    display: none;
}

/* ===================================
   CRITICAL MOBILE MENU FIXES
   =================================== */

/* Hide any "Menu" text or unwanted content */
.mobile-menu-toggle .menu-text,
.mobile-menu-toggle span:not(.hamburger-icon):not(.line),
.mobile-menu-toggle::after,
.mobile-menu-toggle::before {
    display: none !important;
}

/* Hide legacy close buttons */
.mobile-menu-overlay + nav .close-btn,
.main-navigation .close-menu,
.main-navigation .menu-close {
    display: none !important;
}
/* Hide any rogue close/X buttons that are not our .mobile-menu-close */
.main-navigation > button:not(.mobile-menu-close):not(.search-toggle-btn) { display: none !important; }
.main-navigation > .close, .main-navigation > [class*="close"]:not(.mobile-menu-close) { display: none !important; }

/* Remove any pseudo-elements that add text */
.nav-menu li::before,
.nav-menu li::after,
.nav-menu li a::before,
.nav-menu li a::after {
    content: none !important;
    display: none !important;
}

/* Remove list markers */
.nav-menu,
.nav-menu li,
.nav-menu ul {
    list-style: none !important;
    list-style-type: none !important;
}

.nav-menu li::marker {
    display: none !important;
    content: none !important;
}


/* WordPress admin bar compatibility */
.admin-bar .main-navigation {
    top: 32px;
}

@media screen and (max-width: 782px) {
    .admin-bar .main-navigation {
        top: 46px;
    }
    

}

@media (max-width: 1100px) {
  /* Hide ALL close buttons inside the nav panel EXCEPT our orange .mobile-menu-close */
  .main-navigation button:not(.mobile-menu-close):not(.search-toggle-btn) { display: none !important; }
  .main-navigation .close-btn, .main-navigation .close, .main-navigation [aria-label="Close Menu"]:not(.mobile-menu-close), .main-navigation [aria-label="Close menu"]:not(.mobile-menu-close) { display: none !important; }
}

/* ===================================
   RESPONSIVE ADJUSTMENTS
   =================================== */
@media (max-width: 1100px) {
    
    .header-main {
        padding: 14px 25px;
    }
    
    .header-main.shrink {
        padding: 10px 25px;
    }
    
    .header-main-content {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: center;
    }
    
    .site-logo {
        order: 1;
        flex: 0 0 auto;
        margin-top: 0;
    }
    
    .site-logo img {
        max-width: 220px;
    }
    
    .header-main.shrink .site-logo img {
        max-width: 160px;
    }
    
    /* Show mobile toggle */
    .mobile-menu-toggle {
        display: flex;
        order: 2;
        flex: 0 0 auto;
    }
    
    /* Mobile Navigation Slide-in Panel */
    .main-navigation {
        position: fixed;
        top: 0;
        right: -100%;
        width: 85%;
        max-width: 400px;
        height: 100vh;
        background: #FFFFFF;
        z-index: 999;
        overflow-y: auto;
        transition: right 0.4s cubic-bezier(0.4, 0, 0.2, 1);
        box-shadow: -4px 0 20px rgba(0, 0, 0, 0.15);
        display: block;
        padding: 80px 0 40px 0;
        visibility: hidden;
    }
    
    .main-navigation.active {
        right: 0;
        visibility: visible;
    }
    
    /* Navigation Menu inside slide-in */
    .nav-menu {
        flex-direction: column;
        gap: 0;
        align-items: stretch;
        padding: 0;
    }
    
    .nav-menu > li {
        width: 100%;
        border-bottom: 1px solid #E8E8E8;
        opacity: 0;
        transform: translateX(30px);
        transition: opacity 0.3s ease, transform 0.3s ease;
    }
    
    /* Stagger animation for menu items */
    .main-navigation.active .nav-menu > li {
        opacity: 1;
        transform: translateX(0);
    }
    
    .main-navigation.active .nav-menu > li:nth-child(1) { transition-delay: 0.05s; }
    .main-navigation.active .nav-menu > li:nth-child(2) { transition-delay: 0.1s; }
    .main-navigation.active .nav-menu > li:nth-child(3) { transition-delay: 0.15s; }
    .main-navigation.active .nav-menu > li:nth-child(4) { transition-delay: 0.2s; }
    .main-navigation.active .nav-menu > li:nth-child(5) { transition-delay: 0.25s; }
    .main-navigation.active .nav-menu > li:nth-child(6) { transition-delay: 0.3s; }
    .main-navigation.active .nav-menu > li:nth-child(7) { transition-delay: 0.35s; }
    .main-navigation.active .nav-menu > li:nth-child(8) { transition-delay: 0.4s; }
    .main-navigation.active .nav-menu > li:nth-child(9) { transition-delay: 0.45s; }
    .main-navigation.active .nav-menu > li:nth-child(10) { transition-delay: 0.5s; }
    
    .nav-menu > li:last-child {
        border-bottom: none;
    }
    
    .nav-menu > li > a {
        padding: 12px 28px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        font-size: 16px;
        font-weight: 600;
        color: #2B3990;
        position: relative;
    }
    
    .nav-menu > li > a:hover,
    .nav-menu > li > a:focus-visible {
        color: #F36F21;
        background: #F8F9FC;
    }
    
    /* Mobile Dropdown Indicator */
    .nav-menu .menu-item-has-children > a .dropdown-indicator {
        display: inline-block;
        border-left: 5px solid transparent;
        border-right: 5px solid transparent;
        border-top: 6px solid currentColor;
        margin-left: auto;
        transform: rotate(0deg);
        transition: transform 0.3s ease;
    }
    
    .nav-menu .menu-item-has-children.active > a .dropdown-indicator {
        transform: rotate(180deg);
    }
    
    /* Mobile Dropdown/Sub-menu */
    .nav-menu .sub-menu {
        display: none;
        position: static;
        box-shadow: none;
        background: #F8F9FC;
        margin: 0;
        padding: 0;
        list-style: none;
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    }
    
    .nav-menu .menu-item-has-children.active > .sub-menu {
        display: block;
        max-height: 1000px;
    }
    
    .nav-menu .sub-menu li {
        border-bottom: 1px solid #E0E4EC;
        opacity: 0;
        transform: translateX(10px);
        transition: opacity 0.3s ease, transform 0.3s ease;
    }
    
    .nav-menu .menu-item-has-children.active > .sub-menu li {
        opacity: 1;
        transform: translateX(0);
    }
    
    .nav-menu .menu-item-has-children.active > .sub-menu li:nth-child(1) { transition-delay: 0.05s; }
    .nav-menu .menu-item-has-children.active > .sub-menu li:nth-child(2) { transition-delay: 0.1s; }
    .nav-menu .menu-item-has-children.active > .sub-menu li:nth-child(3) { transition-delay: 0.15s; }
    .nav-menu .menu-item-has-children.active > .sub-menu li:nth-child(4) { transition-delay: 0.2s; }
    .nav-menu .menu-item-has-children.active > .sub-menu li:nth-child(5) { transition-delay: 0.25s; }
    
    .nav-menu .sub-menu li:last-child {
        border-bottom: none;
    }
    
    .nav-menu .sub-menu a {
        padding: 14px 28px 14px 48px;
        font-size: 15px;
        font-weight: 500;
        color: #333333;
        display: block;
    }
    
    .nav-menu .sub-menu a:hover,
    .nav-menu .sub-menu a:focus-visible {
        color: #F36F21;
        background: #FFFFFF;
        padding-left: 52px;
    }
    
    /* CTA Button in mobile */
    .nav-menu li.menu-item-cta {
        margin: 20px 28px;
        border: none;
    }
    
    .nav-menu li.menu-item-cta a,
    .nav-cta a,
    .nav-menu .btn-proposal {
        width: 100%;
        display: block;
        text-align: center;
        padding: 16px 24px !important;
        justify-content: center;
        margin: 0;
    }
    
    /* Search Button in mobile menu */
    .main-navigation .search-toggle-btn {
        width: calc(100% - 56px);
        margin: 20px 28px;
        padding: 16px;
        justify-content: center;
        background: #F8F9FC;
        color: #F36F21;
        border: 2px solid #E8E8E8;
        border-radius: 4px;
    }
    
    /* Prevent body scroll when menu is open */
    body.mobile-menu-open {
        overflow: hidden;
        position: relative;
    }
    
    @media (max-width: 1100px) {
  body.mobile-menu-open .mobile-menu-toggle {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }
}
    
    /* Search Overlay - Mobile */
    .search-overlay-close {
        top: 20px;
        right: 20px;
        width: 44px;
        height: 44px;
    }
    
    .search-overlay-title {
        font-size: 24px;
        margin-bottom: 24px;
    }
    
    .search-input-wrapper {
        flex-direction: column;
        gap: 12px;
    }
    
    .search-overlay-input {
        font-size: 16px;
        padding: 14px 18px;
    }
    
    .search-overlay-submit {
        width: 100%;
        justify-content: center;
        padding: 14px 24px;
    }
}

@media (max-width: 480px) {
    .site-logo {
        margin-top: 0;
    }

    .site-logo img {
        max-width: 180px;
    }
    
    .header-main.shrink .site-logo img {
        max-width: 120px;
    }
    
    .mobile-menu-toggle { padding: 9px 12px; }
    .hamburger-icon { width: 24px; height: 18px; gap: 4px; }
    .hamburger-icon .line { height: 2.5px; }
    
    .main-navigation {
        width: 90%;
        max-width: 100%;
    }
    
    .nav-menu > li > a {
        padding: 12px 20px;
        font-size: 15px;
    }
    
    .nav-menu .sub-menu a {
        padding: 12px 20px 12px 40px;
        font-size: 14px;
    }
    
    .nav-menu .sub-menu a:hover,
    .nav-menu .sub-menu a:focus-visible {
        padding-left: 44px;
    }
    
    .nav-menu li.menu-item-cta {
        margin: 16px 20px;
    }
    
    .main-navigation .search-toggle-btn {
        width: calc(100% - 40px);
        margin: 16px 20px;
    }
}

/* ==========================================================================
   Content Area
   ========================================================================== */

.site-content {
    padding: 3rem 0;
    min-height: 60vh;
}

.page-header {
    margin-bottom: 2rem;
}

.page-title {
    font-size: 2.5rem;
    color: #222;
}

.entry-content {
    margin-bottom: 2rem;
}

/* ==========================================================================
   UNIFIED CTA + FOOTER
   File: style.css (footer section)
   
   Replaces:
   - Old .site-footer styles
   - Old .nm-cta styles (CTA banner)
   - Old .footer-* styles
   
   The CTA is now an integrated card within a single <footer> element.
   ========================================================================== */

/* Footer Container */
.site-footer-unified {
    position: relative;
    background: #FFFFFF;
    overflow: hidden;
}

/* Top Gradient Accent Bar */
.site-footer-unified::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #2B3990 0%, #F36F21 50%, #FC914D 100%);
    z-index: 2;
}

/* Decorative Background Elements */
.footer-bg-accent {
    position: absolute;
    border-radius: 50%;
    opacity: 0.025;
    pointer-events: none;
}

.footer-bg-accent-1 {
    width: 500px;
    height: 500px;
    background: #2B3990;
    top: -150px;
    right: -80px;
}

.footer-bg-accent-2 {
    width: 350px;
    height: 350px;
    background: #F36F21;
    bottom: -120px;
    left: -80px;
}


/* ==========================================================================
   CTA CARD (within footer)
   ========================================================================== */

.footer-cta {
    position: relative;
    z-index: 1;
    padding: 0;
}

.footer-cta__card {
    background: linear-gradient(135deg, #2B3990 0%, #1a2266 100%);
    padding: clamp(3rem, 6vw, 4.5rem) clamp(2rem, 5vw, 4rem);
    text-align: center;
    position: relative;
    overflow: hidden;
}

/* Subtle radial glow */
.footer-cta__card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 200%;
    height: 100%;
    background: radial-gradient(ellipse at center top, rgba(243, 111, 33, 0.08), transparent 60%);
    pointer-events: none;
}

/* Geometric accent — bottom-right corner */
.footer-cta__card::after {
    content: '';
    position: absolute;
    bottom: -40px;
    right: -40px;
    width: 160px;
    height: 160px;
    border: 3px solid rgba(243, 111, 33, 0.12);
    transform: rotate(45deg);
    pointer-events: none;
}

.footer-cta__label {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: clamp(0.75rem, 1.2vw, 0.875rem);
    text-transform: uppercase;
    letter-spacing: 0.2em;
    color: #F36F21;
    margin-bottom: clamp(0.75rem, 1.5vw, 1rem);
}

.footer-cta__title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 900;
    font-size: clamp(1.75rem, 4vw + 0.5vh, 3rem);
    color: #FFFFFF;
    text-transform: uppercase;
    letter-spacing: -0.02em;
    line-height: 1.1;
    margin-bottom: clamp(1rem, 2vh, 1.25rem);
}

.footer-cta__text {
    font-family: 'Open Sans', sans-serif;
    font-size: clamp(0.95rem, 1.4vw, 1.0625rem);
    color: rgba(255, 255, 255, 0.6);
    max-width: 520px;
    margin: 0 auto clamp(1.75rem, 3.5vh, 2.5rem);
    line-height: 1.7;
}

/* Primary CTA Button */
.footer-cta__btn {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    font-size: clamp(1.0rem, 1.5vw, 1.5rem);
    border-radius: 6px; 
    color: #FFFFFF;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    text-decoration: none;
    padding: clamp(0.875rem, 1.8vh, 1.125rem) clamp(1.75rem, 3.5vw, 2.75rem);
    background: #F36F21;
    border: none;
    cursor: pointer;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    margin-bottom: clamp(1.75rem, 3.5vh, 2.5rem);
}

.footer-cta__btn:hover {
    background: #FC914D;
    color:white;
    transform: translateY(-3px);
    box-shadow: 0 12px 30px rgba(243, 111, 33, 0.4);
}

.footer-cta__btn:focus-visible {
    outline: 3px solid #FFFFFF;
    outline-offset: 4px;
}

.footer-cta__or {font-size: clamp(1rem, 1.5vw, 1.2rem); font-weight: 700; color: #ffffff; text-align: center; margin: 20px 0; letter-spacing: 0.1em;}

/* Divider Line Inside CTA */
.footer-cta__divider {
    width: 80px;
    height: 1px;
    background: rgba(255, 255, 255, 0.15);
    margin: 0 auto clamp(1.5rem, 3vh, 2rem);
}

/* Phone Block Inside CTA */
.footer-cta__phone-block {
    text-align: center;
}

.footer-cta__phone-label {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: clamp(1.0rem, 1vw, 1.8125rem);
    text-transform: uppercase;
    letter-spacing: 0.18em;
    color: #F36F21;
    margin-bottom: clamp(0.375rem, 0.8vh, 0.5rem);
}

.footer-cta__phone-number {
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    font-size: clamp(1.75rem, 3.5vw + 0.5vh, 2.75rem);
    color: #FFFFFF;
    text-decoration: none;
    display: inline-block;
    letter-spacing: 0.02em;
    transition: all 0.3s ease;
    position: relative;
    padding-bottom: 0.15rem;
}

.footer-cta__phone-number::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 3px;
    background-color: #F36F21;
    transition: width 0.4s ease;
}

.footer-cta__phone-number:hover {
    color: #F36F21;
}

.footer-cta__phone-number:hover::after {
    width: 100%;
}

.footer-cta__phone-number:focus-visible {
    outline: 3px solid #F36F21;
    outline-offset: 6px;
}

.footer-cta__phone-tagline {
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    font-size: clamp(0.8125rem, 1.2vw, 0.9375rem);
    color: rgba(255, 255, 255, 0.4);
    margin-top: clamp(0.375rem, 0.8vh, 0.625rem);
}


/* ==========================================================================
   OFFICE LOCATIONS
   ========================================================================== */

.footer-offices__heading {
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    font-size: clamp(1.5rem, 3vw, 2.25rem);
    color: #2B3990;
    text-align: center;
    margin-bottom: clamp(2rem, 4vh, 3rem);
    padding-top: clamp(6rem, 3vh, 3rem);
    text-transform: uppercase;
    letter-spacing: -0.01em;
    line-height: 1.2;
}

.footer-offices {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: clamp(1.5rem, 3vw, 3rem);
    padding: clamp(2.5rem, 5vw, 3.5rem) 0;
    border-bottom: 1px solid rgba(43, 57, 144, 0.08);
}

.footer-office {
    text-align: left;
    position: relative;
}

/* Tapered Orange Vertical Divider Between Offices */
.footer-office:not(:last-child)::after {
    content: '';
    position: absolute;
    top: 10%;
    right: 0;
    width: 2px;
    height: 80%;
    background: linear-gradient(
        180deg,
        transparent 0%,
        rgba(243, 111, 33, 0.35) 25%,
        rgba(243, 111, 33, 0.35) 75%,
        transparent 100%
    );
    transform: translateX(50%);
}

.footer-office-title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: clamp(0.875rem, 1.4vw, 1rem);
    color: #2B3990;
    margin: 0 0 clamp(0.5rem, 1vw, 0.75rem) 0;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.footer-address {
    font-family: 'Open Sans', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: clamp(0.75rem, 1.1vw, 0.8125rem);
    line-height: 1.55;
    color: #555555;
    margin: 0;
}

/* Google Maps Address Link */
.footer-address-link {
    text-decoration: none;
    display: block;
    transition: all 0.3s ease;
}

.footer-address-link:hover .footer-address {
    color: #F36F21;
}

.footer-address-link:focus-visible {
    outline: 2px solid #F36F21;
    outline-offset: 4px;
}


/* ==========================================================================
   HOURS & BADGES
   ========================================================================== */

.footer-meta {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: clamp(2rem, 4vw, 4rem);
    align-items: center;
    padding: clamp(2rem, 4vw, 3rem) 0;
    border-bottom: 1px solid rgba(43, 57, 144, 0.08);
}

/* Office Hours */
.footer-hours {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
}

.hours-icon {
    flex-shrink: 0;
    width: 38px;
    height: 38px;
    background-color: #2B3990;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #FFFFFF;
    margin-top: 2px;
}

.hours-text {
    font-family: 'Open Sans', sans-serif;
    font-size: clamp(0.8rem, 1.3vw, 0.9rem);
    line-height: 1.65;
    color: #555555;
}
.footer-hours__phone {display: inline-block; margin-top: 4px; font-family: 'Montserrat', sans-serif; font-size: clamp(0.85rem, 1.4vw, 0.95rem); font-weight: 700; color: #F36F21; text-decoration: none;}
.footer-hours__phone:hover {color: #FC914D; text-decoration: underline;}
.footer-hours__phone:focus-visible {outline: 2px solid #F36F21; outline-offset: 2px; border-radius: 2px;}

.hours-text strong {
    font-weight: 700;
    color: #2B3990;
}

.hours-text em {
    font-style: italic;
    color: #888888;
    font-size: 0.9em;
}

/* Professional Badges */
.footer-badges {
    display: flex;
    align-items: center;
    gap: clamp(1.25rem, 2.5vw, 2rem);
}

.footer-badge {
    display: block;
    transition: transform 0.3s ease;
}

.footer-badge img {
    height: clamp(45px, 7vw, 65px);
    width: auto;
    transition: all 0.4s ease;
}

.footer-badge:hover {
    transform: translateY(-3px);
}

.footer-badge:focus-visible {
    outline: 2px solid #F36F21;
    outline-offset: 4px;
}


/* ==========================================================================
   SOCIAL MEDIA
   ========================================================================== */

.footer-social {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: clamp(0.75rem, 1.5vw, 1rem);
    padding: clamp(1.75rem, 3.5vw, 2.5rem) 0;
    border-bottom: 1px solid rgba(43, 57, 144, 0.08);
}

.footer-social-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: #2B3990;
    color: #FFFFFF;
    text-decoration: none;
    transition: all 0.3s ease;
    font-size: 1rem;
}

.footer-social-link:hover {
    background: #F36F21;
    color:white;
    transform: translateY(-3px);
    box-shadow: 0 4px 12px rgba(243, 111, 33, 0.3);
}

.footer-social-link:focus-visible {
    outline: 3px solid #F36F21;
    outline-offset: 3px;
}


/* ==========================================================================
   FOOTER BOTTOM
   ========================================================================== */

.footer-bottom {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: clamp(2rem, 4vw, 4rem);
    align-items: center;
    padding: clamp(1.5rem, 3vw, 2rem) 0 clamp(1.5rem, 3vw, 2.5rem);
}

.footer-bottom-left {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.footer-copyright {
    font-family: 'Open Sans', sans-serif;
    font-size: clamp(0.75rem, 1.2vw, 0.8125rem);
    color: #888888;
    margin: 0;
}

.footer-legal-nav {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.footer-legal-nav a {
    font-family: 'Open Sans', sans-serif;
    font-size: clamp(0.75rem, 1.2vw, 0.8125rem);
    color: #888888;
    text-decoration: none;
    transition: color 0.3s ease;
}

.footer-legal-nav a:hover {
    color: #F36F21;
}

.footer-legal-nav a:focus-visible {
    outline: 2px solid #F36F21;
    outline-offset: 2px;
}

.footer-divider {
    color: rgba(136, 136, 136, 0.4);
    font-size: 0.85rem;
}

.footer-credit {
    font-family: 'Open Sans', sans-serif;
    font-size: clamp(0.75rem, 1.2vw, 0.8125rem);
    color: #888888;
    margin: 0;
}

.footer-credit a {
    color: #888888;
    text-decoration: none;
    transition: color 0.3s ease;
}

.footer-credit a:hover {
    color: #F36F21;
}

.footer-credit a:focus-visible {
    outline: 2px solid #F36F21;
    outline-offset: 2px;
}

.footer-bottom-right {
    text-align: right;
}

.footer-disclaimer {
    font-family: 'Open Sans', sans-serif;
    font-size: clamp(0.75rem, 1.2vw, 0.8125rem);
    line-height: 1.5;
    color: #888888;
    margin: 0;
    max-width: 500px;
    margin-left: auto;
}

.footer-disclaimer strong {
    color: #2B3990;
    font-weight: 700;
}


/* ==========================================================================
   RESPONSIVE — UNIFIED FOOTER
   ========================================================================== */

/* Tablet — 1024px */
@media screen and (max-width: 1024px) {
    .footer-offices {
        grid-template-columns: repeat(3, 1fr);
    }

    /* Hide divider on last item of each row (3rd, 6th, etc.) */
    .footer-office:nth-child(3n)::after {
        display: none;
    }

    .footer-meta {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .footer-badges {
        justify-content: flex-start;
    }
}

/* Mobile — 768px */
@media screen and (max-width: 768px) {
    .footer-cta {
        padding: 0;
    }

    .footer-cta__card {
        padding: clamp(2.5rem, 5vw, 3.5rem) clamp(1.5rem, 4vw, 2.5rem);
    }

    .footer-offices {
        grid-template-columns: 1fr 1fr;
        gap: clamp(1.5rem, 4vw, 2rem);
    }

    .footer-office {
        text-align: center;
    }

    /* Remove vertical dividers on mobile 2-col */
    .footer-office::after {
        display: none !important;
    }

    /* Add subtle horizontal separator on mobile instead */
    .footer-office {
        padding-bottom: clamp(1.25rem, 3vw, 1.5rem);
        border-bottom: 1px solid rgba(243, 111, 33, 0.12);
    }

    .footer-office:nth-last-child(-n+2) {
        border-bottom: none;
        padding-bottom: 0;
    }

    .footer-hours {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .footer-badges {
        flex-wrap: wrap;
        justify-content: center;
        gap: 1.25rem;
    }

    .footer-badge img {
        height: 55px;
    }

    .footer-social-link {
        width: 40px;
        height: 40px;
        font-size: 0.9rem;
    }

    .footer-bottom {
        grid-template-columns: 1fr;
        gap: 1.5rem;
        text-align: center;
    }

    .footer-bottom-left {
        align-items: center;
    }

    .footer-bottom-right {
        text-align: center;
    }

    .footer-disclaimer {
        margin-left: auto;
        margin-right: auto;
    }

    .footer-credit {
        text-align: center;
    }

    .footer-legal-nav {
        justify-content: center;
        flex-wrap: wrap;
    }
}

/* Small Mobile — 480px */
@media screen and (max-width: 480px) {
    .footer-offices {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    /* Single column: border on all except last */
    .footer-office:nth-last-child(-n+2) {
        border-bottom: 1px solid rgba(243, 111, 33, 0.12);
        padding-bottom: clamp(1.25rem, 3vw, 1.5rem);
    }

    .footer-office:last-child {
        border-bottom: none;
        padding-bottom: 0;
    }

    .footer-badge img {
        height: 48px;
    }

    .footer-cta__phone-number {
        font-size: clamp(1.5rem, 7vw, 2rem);
    }

    .footer-legal-nav {
        flex-direction: column;
        gap: 0.4rem;
    }

    .footer-divider {
        display: none;
    }
}

/* ==========================================================================
   Team Members
   ========================================================================== */

.team-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 2rem;
    margin-top: 2rem;
}

.team-member-card {
    border: 1px solid #e5e5e5;
    padding: 1.5rem;
    border-radius: 8px;
    text-align: center;
}

.team-member-photo {
    width: 150px;
    height: 150px;
    border-radius: 50%;
    margin: 0 auto 1rem;
    object-fit: cover;
}

/* ==========================================================================
   Practice Areas
   ========================================================================== */

.practice-areas-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 2rem;
    margin-top: 2rem;
}

.practice-area-card {
    border: 1px solid #e5e5e5;
    padding: 2rem;
    border-radius: 8px;
    transition: box-shadow 0.3s ease;
}

.practice-area-card:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

/* ==========================================================================
   Locations
   ========================================================================== */

.locations-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 2rem;
    margin-top: 2rem;
}

.location-card {
    border: 1px solid #e5e5e5;
    padding: 1.5rem;
    border-radius: 8px;
}

.geopage-links {
    margin-top: 2rem;
}

.geopage-links ul {
    list-style: none;
    column-count: 3;
    column-gap: 2rem;
}

.geopage-links li {
    margin-bottom: 0.5rem;
}

/* ==========================================================================
   Blog/News
   ========================================================================== */

.blog-posts {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.blog-post-card {
    border-bottom: 1px solid #e5e5e5;
    padding-bottom: 2rem;
}

.post-meta {
    color: #666;
    font-size: 0.9rem;
    margin-bottom: 0.5rem;
}

/* ==========================================================================
   Forms
   ========================================================================== */

.contact-form {
    max-width: 600px;
    margin: 2rem auto;
}

.form-group {
    margin-bottom: 1.5rem;
}

.form-group label {
    display: block;
    margin-bottom: 0.5rem;
    font-weight: 500;
}

.form-group input,
.form-group textarea,
.form-group select {
    width: 100%;
    padding: 0.75rem;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 1rem;
}

.form-group textarea {
    min-height: 150px;
    resize: vertical;
}

button[type="submit"] {
    background-color:#F36F21;
    color: #fff;
    padding: 0.75rem 2rem;
    border: none;
    border-radius: 4px;
    font-size: 1rem;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

button[type="submit"]:hover {
    background-color: #fc914d;
}

/* ==========================================================================
   Responsive Design
   ========================================================================== */

@media (max-width: 768px) {
    .main-navigation ul {
        flex-direction: column;
        gap: 1rem;
    }
    
    .team-grid,
    .practice-areas-grid,
    .locations-grid {
        grid-template-columns: 1fr;
    }
    
    .geopage-links ul {
        column-count: 1;
    }
    
    h1 { font-size: 2rem; }
    h2 { font-size: 1.75rem; }
}

/* ==========================================================================
   Utility Classes
   ========================================================================== */

.text-center {
    text-align: center;
}

.mt-1 { margin-top: 1rem; }
.mt-2 { margin-top: 2rem; }
.mt-3 { margin-top: 3rem; }

.mb-1 { margin-bottom: 1rem; }
.mb-2 { margin-bottom: 2rem; }
.mb-3 { margin-bottom: 3rem; }



/* ============================================================
   HERO SECTION — v4 "BREATHING ROOM"
   
   v4 Changes (from v3):
   1. Removed eyebrow badge — positioning text moved to bottom ribbon
   2. Orange period after "Complex."
   3. Gradient bar divider replaces ::after underline
   4. Bottom ribbon with frosted glass for positioning statement
   5. Removed secondary CTA (Practice Areas)
   6. CTA text: "Contact Hirzel Law"
   ============================================================ */


/* --- Section Container --- */
.hero-editorial { position: relative; width: 100%; height: calc(100vh - 140px); min-height: 850px; overflow: hidden; background: #1a1f3d; margin-top: 140px; }


/* --- Background Image --- */
.hero-editorial__image-container { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 1; }

/* KEN BURNS — slow push-in zoom.
   transform-origin targets Kevin's face (right-center of frame)
   so the zoom feels anchored rather than floating. */
.hero-editorial__image { width: 100%; height: 100%; object-fit: cover; object-position: 75% 60%; transform-origin: 65% 40%; animation: heroKenBurns 18s cubic-bezier(0.25, 0.1, 0.25, 1) forwards; will-change: transform; }

@keyframes heroKenBurns {
    0%   { transform: scale(1); }
    100% { transform: scale(1.08); }
}


/* --- Overlay Gradient --- */
.hero-editorial__overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(to right, rgba(43, 57, 144, 0.90) 0%, rgba(43, 57, 144, 0.80) 30%, rgba(43, 57, 144, 0.45) 55%, rgba(43, 57, 144, 0.00) 75%, rgba(243, 111, 33, 0.0) 100%); z-index: 2; }


/* --- Content Wrapper --- */
.hero-editorial__content { position: relative; z-index: 3; height: 100%; display: flex; align-items: center; padding-bottom: 100px; }
.hero-editorial__content .container { max-width: 1600px; }


/* --- Headline --- */
.hero-editorial__headline { margin: 0; padding: 0; line-height: 0.88; letter-spacing: -0.03em; line-height: 1.1; }
.hero-editorial__headline-line { display: block; font-family: 'Montserrat', sans-serif; font-weight: 900; font-size: clamp(2.75rem, 5vw, 4.5rem); color: #FFFFFF; text-transform: uppercase; opacity: 0; transform: translateY(50px); animation: heroSlideUp 1s cubic-bezier(0.16, 1, 0.3, 1) forwards; }
.hero-editorial__headline-line--1 { animation-delay: 0.2s; }
.hero-editorial__headline-line--2 { animation-delay: 0.4s; position: relative; display: inline-block; }

/* Orange period */
.hero-editorial__period { color: #F36F21; font-weight: 900; }


/* --- Gradient Bar Divider --- */
.hero-editorial__divider { display: block; width: clamp(280px, 45vw, 520px); height: 6px; margin: clamp(1.5rem, 3.5vh, 2.5rem) 0; background: linear-gradient(90deg, #F36F21 0%, #FC914D 100%); border-radius: 3px; transform: scaleX(0); transform-origin: left; animation: dividerDraw 0.7s cubic-bezier(0.16, 1, 0.3, 1) 0.75s forwards; }

@keyframes dividerDraw {
    from { transform: scaleX(0); opacity: 0.5; }
    to   { transform: scaleX(1); opacity: 1; }
}


/* --- Subheadline --- */
.hero-editorial__subheadline { margin: 0; padding: 0; line-height: 1.1; letter-spacing: -0.02em; }
.hero-editorial__subheadline-line { display: block; font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: clamp(1.75rem, 4.5vw, 4rem); color: #FFFFFF; text-transform: uppercase; opacity: 0; transform: translateY(35px); animation: heroSlideUp 1s cubic-bezier(0.16, 1, 0.3, 1) forwards; animation-delay: 0.85s; }


/* --- CTA Group --- */
.hero-editorial__cta-group { display: flex; align-items: center; flex-wrap: wrap; gap: clamp(1.25rem, 2.5vw, 2.5rem); margin-top: clamp(2rem, 5vh, 3.5rem); opacity: 0; animation: heroFadeIn 1s ease 1.3s forwards; }

/* Primary CTA */
.hero-editorial__cta-primary { display: inline-flex; align-items: center; gap: 10px; font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: clamp(0.875rem, 1.2vw, 1.05rem); text-decoration: none; text-transform: uppercase; letter-spacing: 0.04em; white-space: nowrap; padding: clamp(14px, 1.8vh, 18px) clamp(28px, 3vw, 42px); background: #F36F21; border: 2px solid #F36F21; color: #FFFFFF; transition: background 0.4s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.4s cubic-bezier(0.16, 1, 0.3, 1), transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s cubic-bezier(0.16, 1, 0.3, 1); }
.hero-editorial__cta-primary:hover { background: #e0621a; border-color: #e0621a; transform: translateY(-3px); box-shadow: 0 14px 40px rgba(243, 111, 33, 0.45); }
.hero-editorial__cta-primary:focus-visible { outline: 3px solid #FFFFFF; outline-offset: 4px; }
.hero-editorial__cta-primary svg { display: block; flex-shrink: 0; }


/* --- Bottom Positioning Ribbon (Split) --- */
.hero-editorial__ribbon { position: absolute; bottom: 0; left: 0; width: 100%; z-index: 4; display: flex; opacity: 0; animation: heroFadeIn 1s ease 1.6s forwards; }
.hero-editorial__ribbon-statement { flex: 1; background: rgba(43, 57, 144, 0.82); border-top: 4px solid #F36F21; display: flex; align-items: center; gap: clamp(14px, 1.5vw, 22px); padding: clamp(18px, 2.2vh, 26px) clamp(30px, 3vw, 50px); }
.hero-editorial__ribbon-icon { display: flex; align-items: center; justify-content: center; flex-shrink: 0; width: clamp(38px, 3.5vw, 50px); height: clamp(38px, 3.5vw, 50px); border: 2px solid rgba(255, 255, 255, 0.25); border-radius: 50%; color: #F36F21; font-size: clamp(1rem, 1.5vw, 1.35rem); }
.hero-editorial__ribbon-text { font-family: 'Open Sans', sans-serif; font-size: clamp(1.05rem, 1.6vw, 1.55rem); font-weight: 700; letter-spacing: 0.01em; color: #FFFFFF; line-height: 1.4; }
.hero-editorial__ribbon-text em { font-style: normal; color: #FC914D; }
.hero-editorial__ribbon-cta { flex-shrink: 0; background: rgba(243, 111, 33, 0.82); border-top: 4px solid #e0621a; display: flex; align-items: center; gap: clamp(10px, 1vw, 16px); padding: clamp(18px, 2.2vh, 26px) clamp(28px, 3vw, 48px); text-decoration: none; transition: background 0.3s ease; }
.hero-editorial__ribbon-cta:hover { background: #e0621a; }
.hero-editorial__ribbon-cta:focus-visible { outline: 3px solid #FFFFFF; outline-offset: -3px; }
.hero-editorial__ribbon-cta-icon { display: flex; align-items: center; justify-content: center; flex-shrink: 0; width: 36px; height: 36px; border: 2px solid rgba(255, 255, 255, 0.35); border-radius: 50%; color: #FFFFFF; font-size: 0.85rem; }
.hero-editorial__ribbon-cta-label { font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: clamp(0.7rem, 1vw, 0.85rem); letter-spacing: 0.1em; text-transform: uppercase; color: #FFFFFF; white-space: nowrap; }
.hero-editorial__ribbon-cta-arrow { color: #FFFFFF; font-size: 1rem; margin-left: 4px; transition: transform 0.3s ease; }
.hero-editorial__ribbon-cta:hover .hero-editorial__ribbon-cta-arrow { transform: translateX(4px); }


/* --- Animations --- */
@keyframes heroSlideUp {
    from { opacity: 0; transform: translateY(50px); }
    to   { opacity: 1; transform: translateY(0); }
}

@keyframes heroFadeIn {
    from { opacity: 0; }
    to   { opacity: 1; }
}


/* --- Reduced Motion --- */
@media (prefers-reduced-motion: reduce) {
    .hero-editorial__image { animation: none; transform: scale(1); }
    .hero-editorial__headline-line,
    .hero-editorial__subheadline-line,
    .hero-editorial__cta-group,
    .hero-editorial__ribbon { opacity: 1; transform: none; animation: none; }
    .hero-editorial__divider { transform: scaleX(1); opacity: 1; animation: none; }
}


/* --- Responsive --- */
@media (max-width: 1199px) {
    .hero-editorial { margin-top: 120px; height: calc(100vh - 120px); }
}

@media (max-width: 959px) {
    .hero-editorial__headline-line { font-size: clamp(2.25rem, 8vw, 4.5rem); }
    .hero-editorial__subheadline-line { font-size: clamp(1.5rem, 5vw, 3rem); }
}

@media (max-width: 767px) {
    .hero-editorial { margin-top: 110px; height: calc(100vh - 110px); min-height: 560px; }
    .hero-editorial__overlay { background: rgba(43, 57, 144, 0.88); }
    .hero-editorial__image { object-position: 65% 35%; }
    .hero-editorial__headline-line { font-size: 2.5rem; }
    .hero-editorial__subheadline-line { font-size: 1.65rem; }
    .hero-editorial__cta-group { flex-direction: column; align-items: flex-start; gap: 1.25rem; }
    .hero-editorial__cta-primary { width: 100%; justify-content: center; padding: 16px 28px; }
    .hero-editorial__ribbon { flex-direction: column; }
    .hero-editorial__ribbon-statement { padding: 14px 20px; gap: 10px; }
    .hero-editorial__ribbon-icon { width: 30px; height: 30px; font-size: 0.8rem; border-width: 1.5px; }
    .hero-editorial__ribbon-text { font-size: 0.75rem; font-weight: 600; letter-spacing: 0.02em; }
    .hero-editorial__ribbon-cta { justify-content: center; padding: 14px 20px; gap: 10px; border-top: 1px solid rgba(255, 255, 255, 0.2); }
    .hero-editorial__ribbon-cta-icon { width: 28px; height: 28px; font-size: 0.75rem; }
    .hero-editorial__ribbon-cta-label { font-size: 0.65rem; }

    @keyframes heroKenBurns {
        0%   { transform: scale(1); }
        100% { transform: scale(1.05); }
    }
}

@media (max-width: 480px) {
    .hero-editorial__headline-line { font-size: 2.1rem; }
    .hero-editorial__subheadline-line { font-size: 1.4rem; }
}

@media (max-height: 800px) {
    .hero-editorial__content { padding-bottom: 80px; }
    .hero-editorial__headline-line { font-size: clamp(2rem, 4vw, 3.5rem); }
    .hero-editorial__subheadline-line { font-size: clamp(1.4rem, 3.5vw, 3rem); }
    .hero-editorial__divider { margin: clamp(0.75rem, 2vh, 1.5rem) 0; height: 5px; }
    .hero-editorial__cta-group { margin-top: clamp(1rem, 2.5vh, 2rem); }
}

@media (max-height: 650px) {
    .hero-editorial__content { padding-bottom: 60px; }
    .hero-editorial__headline-line { font-size: clamp(1.6rem, 3.5vw, 2.75rem); }
    .hero-editorial__subheadline-line { font-size: clamp(1.1rem, 2.8vw, 2.2rem); }
    .hero-editorial__divider { margin: clamp(0.5rem, 1.5vh, 1rem) 0; height: 4px; width: clamp(160px, 35vw, 360px); }
    .hero-editorial__cta-group { margin-top: clamp(0.75rem, 1.8vh, 1.5rem); gap: 1rem; }
    .hero-editorial__cta-primary { padding: 10px 24px; font-size: 0.8rem; }
    .hero-editorial__ribbon-statement { padding: 12px 30px; }
    .hero-editorial__ribbon-cta { padding: 12px 28px; }
}

@media (max-height: 500px) {
    .hero-editorial__content { padding-bottom: 40px; }
    .hero-editorial__headline-line { font-size: clamp(1.2rem, 3vw, 2rem); }
    .hero-editorial__subheadline-line { font-size: clamp(0.9rem, 2.2vw, 1.6rem); }
    .hero-editorial__divider { margin: 0.4rem 0; height: 3px; width: clamp(120px, 28vw, 280px); }
    .hero-editorial__cta-group { margin-top: 0.6rem; gap: 0.75rem; }
    .hero-editorial__cta-primary { padding: 8px 18px; font-size: 0.75rem; }
    .hero-editorial__ribbon-statement { padding: 8px 20px; }
    .hero-editorial__ribbon-cta { padding: 8px 20px; }
    .hero-editorial__ribbon-icon { width: 28px; height: 28px; font-size: 0.75rem; }
    .hero-editorial__ribbon-text { font-size: clamp(0.8rem, 1.2vw, 1rem); }
}

/* ==========================================================================
   THREE PILLARS SECTION - Responsive, Results, Resources
   ========================================================================== */

.pillars-section {
    padding: clamp(5rem, 12vh, 9rem) 0;
    background: linear-gradient(180deg, #FFFFFF 0%, #F8F9FC 100%);
    position: relative;
    overflow: hidden;
}

/* Decorative background element */
.pillars-section::before {
    content: '';
    position: absolute;
    top: 0;
    right: -10%;
    width: 50%;
    height: 100%;
    background: linear-gradient(135deg, rgba(243, 111, 33, 0.05) 0%, rgba(252, 145, 77, 0.05) 100%);
    transform: skewX(-15deg);
    pointer-events: none;
}

/* Section Header */
.pillars-section__header {
    text-align: center;
    margin-bottom: clamp(3rem, 8vh, 5rem);
    position: relative;
}

.pillars-section__header-accent {
    width: 80px;
    height: 4px;
    background: linear-gradient(90deg, #F36F21 0%, #FC914D 100%);
    margin: 0 auto 1.5rem auto;
    border-radius: 2px;
}

.pillars-section__title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    font-size: clamp(3rem, 7vw, 6rem);
    color: #2B3990;
    margin: 0 0 clamp(1.5rem, 3vh, 2rem) 0;
    line-height: 1.1;
    text-transform: uppercase;
    letter-spacing: -0.02em;

}

.pillars-section__subtitle {
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    font-size: clamp(1.125rem, 2vw, 1.375rem);
    color: #666666;
    margin: 0;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}

/* Pillar Cards */
.pillar-card {
    background: #FFFFFF;
    border: 1px solid #E8EBF3;
    padding: clamp(2rem, 5vh, 2.5rem);
    height: 100%;
    position: relative;
    transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1);
    box-shadow: 0 4px 20px rgba(43, 57, 144, 0.06);
    border-radius: 4px;
}

.pillar-card:hover {
    border-color: #F36F21;
    transform: translateY(-12px);
    box-shadow: 0 24px 60px rgba(43, 57, 144, 0.18);
}

/* Number Badge */
.pillar-card__number {
    position: absolute;
    top: 1.5rem;
    right: 1.5rem;
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    font-size: 3rem;
    color: #F0F3F8;
    line-height: 1;
    z-index: 1;
    transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}

.pillar-card:hover .pillar-card__number {
    color: #FC914D;
    transform: scale(1.1);
}

/* Accent Bar */
.pillar-card__accent-bar {
    width: 60px;
    height: 4px;
    background: linear-gradient(90deg, #F36F21 0%, #FC914D 100%);
    margin-bottom: 1.5rem;
    border-radius: 2px;
    transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}

.pillar-card:hover .pillar-card__accent-bar {
    width: 100px;
}

/* Icon Container */
.pillar-card__icon-container {
    width: 100%;
    max-width: 350px;
    height: 225px;
    margin: 0 auto 1.5rem auto;
    overflow: hidden;
    border-radius: 4px;
    position: relative;
}

.pillar-card__icon-container::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(180deg, rgba(43, 57, 144, 0) 0%, rgba(43, 57, 144, 0.1) 100%);
    opacity: 0;
    transition: opacity 0.5s cubic-bezier(0.16, 1, 0.3, 1);
    pointer-events: none;
}

.pillar-card:hover .pillar-card__icon-container::after {
    opacity: 1;
}

.pillar-card__icon-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.pillar-card:hover .pillar-card__icon-image {
    transform: scale(1.08);
}

/* Title */
.pillar-card__title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    font-size: clamp(1.5rem, 2.5vw, 2rem);
    color: #2B3990;
    margin: 0 0 clamp(1rem, 2vh, 1.25rem) 0;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    position: relative;
    padding-left: 1.25rem;
    transition: color 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}

.pillar-card__title::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 5px;
    height: 80%;
    background: linear-gradient(180deg, #F36F21 0%, #FC914D 100%);
    border-radius: 3px;
    transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}

.pillar-card:hover .pillar-card__title::before {
    height: 100%;
    width: 6px;
}

.pillar-card:hover .pillar-card__title {
    color: #F36F21;
}

/* Description */
.pillar-card__description {
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    font-size: clamp(0.9375rem, 1.5vw, 1.0625rem);
    line-height: 1.75;
    color: #555555;
    margin: 0;
}

/* Responsive — Tablet (1024px) */
@media (max-width: 1024px) {
    .pillars-section .four.columns { width: 100%; float: none; margin-bottom: 0; }
    .pillar-card { display: flex; flex-direction: column; align-items: stretch; gap: 0; margin-bottom: 1.5rem; padding: clamp(1.5rem, 3vh, 2rem); }
    .pillar-card__icon-container { width: 100%; min-width: unset; height:360px; margin: 0 0 1.25rem 0; flex-shrink: unset; max-width: 100%; }
    .pillar-card__title { text-align: center; padding-left: 0; }
    .pillar-card__title::before { display: none; }
    .pillar-card__description { text-align: center; }
    .pillar-card__accent-bar { margin: 0 auto 1.5rem auto; }
    .pillars-section__title { font-size: clamp(2.25rem, 5vw, 3.5rem); }
}

/* Responsive — Mobile (768px and below) */
@media (max-width: 767px) {
    .pillars-section::before { display: none; }
    .pillars-section { padding: clamp(3rem, 8vh, 5rem) 0; }
    .pillars-section .four.columns { width: 100%; float: none; margin-bottom: 0; }
    .pillar-card { flex-direction: column; gap: 0; margin-bottom: 1.5rem; padding: clamp(1.5rem, 4vw, 2rem); }
    .pillar-card__icon-container { width: 100%; min-width: unset; height: 200px; margin: 0 0 1.25rem 0; }
    .pillar-card__number { font-size: 2rem; top: 0.75rem; right: 0.75rem; }
    .pillar-card__accent-bar { display: block; }
    .pillar-card__title { font-size: 1.25rem; }
    .pillar-card__description { font-size: 0.9375rem; }
    .pillar-card:hover { transform: none; box-shadow: 0 4px 20px rgba(43, 57, 144, 0.06); }
    .pillars-section__title { font-size: clamp(2rem, 8vw, 2.75rem); }
    .pillars-section__subtitle { font-size: 1rem; }
    .pillars-section__header { margin-bottom: clamp(2rem, 5vh, 3rem); }
}

/* ==========================================================================
   PRACTICE AREAS SECTION — Homepage (Mixed Layout)
   File: style.css
   ========================================================================== */
/* ==========================================================================
   PRACTICE AREAS SECTION — Homepage (Mixed Layout)
   Template Part: template-parts/section-practice-areas.php
   Replaces old .practice-card styles
   ========================================================================== */

.practice-areas-section {
    padding: clamp(5rem, 12vh, 9rem) 0;
    background: #ffffff;
    position: relative;
    overflow: hidden;
}

.practice-areas-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(180deg, #f7f8fc 0%, #ffffff 50%, #f7f8fc 100%);
    pointer-events: none;
}

.practice-areas-section::after {
    content: '';
    position: absolute;
    top: -1px;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg,
        #2B3990 0%, #2B3990 60%,
        #F36F21 60%, #F36F21 80%,
        #FC914D 80%, #FC914D 100%
    );
    pointer-events: none;
}

.practice-areas-section__bg-accent {
    position: absolute;
    top: 0;
    right: -10%;
    width: 50%;
    height: 100%;
    background: linear-gradient(135deg, rgba(243, 111, 33, 0.04) 0%, rgba(252, 145, 77, 0.04) 100%);
    transform: skewX(9.5deg);
    pointer-events: none;
}

/* --- Section Header --- */
.practice-areas-section__header-container {
    position: relative;
    z-index: 2;
    margin-bottom: clamp(3rem, 7vh, 5.5rem);
    text-align: center;
}

.practice-areas-section__supertitle {
    font-family: 'Open Sans', sans-serif;
    font-weight: 700;
    font-size: clamp(0.875rem, 1.5vw, 1.125rem);
    color: #F36F21;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    margin: 0 0 clamp(1rem, 2vh, 1.5rem) 0;
}

.practice-areas-section__title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    font-size: clamp(2rem, 5vw, 5rem);
    color: #2B3990;
    margin: 0 0 clamp(1.5rem, 3vh, 2rem) 0;
    line-height: 1.1;
    text-transform: uppercase;
    letter-spacing: -0.02em;
}

.practice-areas-section__subtitle {
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    font-size: clamp(1.125rem, 2vw, 1.5rem);
    line-height: 1.6;
    color: #333333;
    max-width: 900px;
    margin: 0 auto;
}


/* ==========================================================================
   FEATURED CARDS — Top 3 Revenue Drivers
   ========================================================================== */

.practice-areas-section__featured {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(20px, 2vw, 28px);
    margin-bottom: clamp(20px, 2vw, 28px);
}

.pa-featured-card {
    position: relative;
    display: flex;
    flex-direction: column;
    background: #2B3990;
    border-radius: 10px;
    overflow: hidden;
    text-decoration: none;
    color: #ffffff;
    min-height: clamp(300px, 30vw, 400px);
    transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.4s ease;
}

.pa-featured-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 50px rgba(43, 57, 144, 0.25);
}

.pa-featured-card:focus-visible {
    outline: 3px solid #FC914D;
    outline-offset: 3px;
}

.pa-featured-card::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 45%;
    height: 100%;
    background: linear-gradient(135deg, transparent 0%, rgba(243, 111, 33, 0.1) 100%);
    pointer-events: none;
    transition: width 0.5s ease;
}

.pa-featured-card:hover::before {
    width: 55%;
}

.pa-featured-card::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #F36F21, #FC914D);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.pa-featured-card:hover::after {
    transform: scaleX(1);
}

.pa-featured-card__body {
    position: relative;
    z-index: 2;
    padding: clamp(32px, 3.5vw, 44px) clamp(28px, 3vw, 40px);
    display: flex;
    flex-direction: column;
    flex: 1;
}

.pa-featured-card__icon {
    width: 56px;
    height: 56px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.15);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: clamp(22px, 3vh, 32px);
    transition: background-color 0.3s ease, border-color 0.3s ease;
}

.pa-featured-card:hover .pa-featured-card__icon {
    background: rgba(243, 111, 33, 0.25);
    border-color: rgba(243, 111, 33, 0.4);
}

.pa-featured-card__icon i {
    font-size: 1.4rem;
    color: #FC914D;
    transition: color 0.3s ease;
}

.pa-featured-card:hover .pa-featured-card__icon i {
    color: #ffffff;
}

.pa-featured-card__title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    font-size: clamp(1.5rem, 2vw, 1.9rem);
    color: #ffffff;
    margin-bottom: clamp(10px, 1.2vh, 14px);
    line-height: 1.2;
    letter-spacing: -0.01em;
}

.pa-featured-card__excerpt {
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    font-size: clamp(1rem, 1.1vw, 1.1rem);
    color: rgba(255, 255, 255, 0.72);
    line-height: 1.65;
    margin-bottom: auto;
    padding-bottom: clamp(18px, 2.5vh, 28px);
}

.pa-featured-card__cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: clamp(0.85rem, 0.95vw, 0.95rem);
    color: #FC914D;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    transition: gap 0.3s ease, color 0.3s ease;
}

.pa-featured-card:hover .pa-featured-card__cta {
    gap: 14px;
    color: #ffffff;
}

.pa-featured-card__cta i {
    font-size: 0.8rem;
    transition: transform 0.3s ease;
}

.pa-featured-card:hover .pa-featured-card__cta i {
    transform: translateX(3px);
}


/* ==========================================================================
   COMPACT CARDS — Remaining Practice Areas
   ========================================================================== */

.practice-areas-section__compact {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(16px, 1.8vw, 24px);
}

.pa-compact-card {
    display: flex;
    align-items: center;
    gap: clamp(16px, 1.8vw, 22px);
    background: #ffffff;
    border: 2px solid #ecedf5;
    border-radius: 8px;
    padding: clamp(20px, 2.2vw, 28px) clamp(20px, 2.2vw, 26px);
    text-decoration: none;
    color: inherit;
    transition: all 0.35s cubic-bezier(0.22, 1, 0.36, 1);
    position: relative;
    overflow: hidden;
}

.pa-compact-card::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 0;
    background: #F36F21;
    transition: width 0.35s cubic-bezier(0.22, 1, 0.36, 1);
    border-radius: 8px 0 0 8px;
}

.pa-compact-card:hover {
    border-color: #F36F21;
    transform: translateY(-3px);
    box-shadow: 0 8px 28px rgba(43, 57, 144, 0.1);
}

.pa-compact-card:hover::before {
    width: 4px;
}

.pa-compact-card:focus-visible {
    outline: 3px solid #2B3990;
    outline-offset: 3px;
}

.pa-compact-card__icon {
    width: 48px;
    height: 48px;
    min-width: 48px;
    border-radius: 10px;
    background: #f0f1f8;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.3s ease;
}

.pa-compact-card:hover .pa-compact-card__icon {
    background: #fff0e6;
}

.pa-compact-card__icon i {
    font-size: 1.15rem;
    color: #2B3990;
    transition: color 0.3s ease;
}

.pa-compact-card:hover .pa-compact-card__icon i {
    color: #F36F21;
}

.pa-compact-card__text {
    flex: 1;
    min-width: 0;
}

.pa-compact-card__title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: clamp(1rem, 1.15vw, 1.15rem);
    color: #2B3990;
    line-height: 1.25;
    margin-bottom: 3px;
    transition: color 0.3s ease;
}

.pa-compact-card:hover .pa-compact-card__title {
    color: #F36F21;
}

.pa-compact-card__arrow {
    font-size: 0.8rem;
    color: #cccccc;
    transition: color 0.3s ease, transform 0.3s ease;
    flex-shrink: 0;
}

.pa-compact-card:hover .pa-compact-card__arrow {
    color: #F36F21;
    transform: translateX(3px);
}


/* ==========================================================================
   VIEW ALL BUTTON — Homepage
   ========================================================================== */

.practice-areas-section__view-all-container {
    text-align: center;
    margin-top: clamp(2.5rem, 5vh, 4rem);
    position: relative;
    z-index: 2;
}

.practice-areas-section__view-all {
    display: inline-flex;
    align-items: center;
    gap: clamp(0.6rem, 1vw, 0.85rem);
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: clamp(0.9rem, 1vw, 1rem);
    color: #2B3990;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    padding: clamp(15px, 2vh, 20px) clamp(36px, 4.5vw, 52px);
    background: transparent;
    border: 2px solid #2B3990;
    border-radius: 6px;
    transition: all 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}

.practice-areas-section__view-all i {
    font-size: clamp(0.95rem, 1.05vw, 1.1rem);
    transition: transform 0.35s ease;
}

.practice-areas-section__view-all:hover {
    background: #2B3990;
    color: #ffffff;
    transform: translateY(-2px);
    box-shadow: 0 6px 24px rgba(43, 57, 144, 0.2);
}

.practice-areas-section__view-all:focus-visible {
    outline: 3px solid #F36F21;
    outline-offset: 4px;
}


/* ==========================================================================
   HOMEPAGE — Practice Areas Responsive
   ========================================================================== */

@media (max-width: 960px) {
    .practice-areas-section__featured {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .pa-featured-card {
        min-height: auto;
    }

    .practice-areas-section__compact {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .practice-areas-section__compact {
        grid-template-columns: 1fr;
        gap: 12px;
    }
}


/* ==========================================================================
   HOMEPAGE — Practice Areas Animations
   ========================================================================== */

@keyframes pa-fadeUp {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}

.pa-featured-card {
    opacity: 0;
    animation: pa-fadeUp 0.6s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}
.pa-featured-card:nth-child(1) { animation-delay: 0.05s; }
.pa-featured-card:nth-child(2) { animation-delay: 0.12s; }
.pa-featured-card:nth-child(3) { animation-delay: 0.19s; }

.pa-compact-card {
    opacity: 0;
    animation: pa-fadeUp 0.5s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}
.pa-compact-card:nth-child(1) { animation-delay: 0.25s; }
.pa-compact-card:nth-child(2) { animation-delay: 0.30s; }
.pa-compact-card:nth-child(3) { animation-delay: 0.35s; }
.pa-compact-card:nth-child(4) { animation-delay: 0.40s; }
.pa-compact-card:nth-child(5) { animation-delay: 0.45s; }
.pa-compact-card:nth-child(6) { animation-delay: 0.50s; }


/* ==========================================================================
   PRACTICE AREAS DIRECTORY PAGE — Full Showcase Grid
   Template: page-templates/page-practice-areas.php
   ========================================================================== */

.pa-dir__grid-section {
    padding: clamp(5rem, 10vh, 8rem) 0 clamp(5rem, 10vh, 8rem);
    background: #ffffff;
    position: relative;
    overflow: hidden;
    margin-top: 165px
}

.pa-dir__grid-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(180deg, #f7f8fc 0%, #ffffff 40%, #f7f8fc 100%);
    pointer-events: none;
}

.pa-dir__grid-section::after {
    content: '';
    position: absolute;
    top: -1px;
    left: 0;
    right: 0;
        pointer-events: none;
}

/* --- Section Header (Large Editorial) --- */
.pa-dir__section-intro {
    position: relative;
    z-index: 2;
    text-align: center;
    margin-bottom: clamp(3rem, 7vh, 5.5rem);
}

.pa-dir__section-label {
    font-family: 'Open Sans', sans-serif;
    font-weight: 700;
    font-size: clamp(0.875rem, 1.5vw, 1.125rem);
    color: #F36F21;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    margin: 0 0 clamp(1rem, 2vh, 1.5rem) 0;
}

.pa-dir__section-heading {
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    font-size: clamp(3rem, 7vw, 6rem);
    color: #2B3990;
    margin: 0 0 clamp(1.5rem, 3vh, 2rem) 0;
    line-height: 1.1;
    text-transform: uppercase;
    letter-spacing: -0.02em;
}

.pa-dir__section-sub {
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    font-size: clamp(1.125rem, 2vw, 1.5rem);
    line-height: 1.6;
    color: #333333;
    max-width: 900px;
    margin: 0 auto;
}


/* ==========================================================================
   DIRECTORY CARDS
   ========================================================================== */

.pa-dir__grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(22px, 2.5vw, 32px);
}

.pa-dir__card {
    position: relative;
    background: #ffffff;
    border-radius: 10px;
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    display: flex;
    flex-direction: column;
    border: 1px solid #ecedf5;
    transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.4s ease, border-color 0.4s ease;
}

.pa-dir__card:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 50px rgba(43, 57, 144, 0.14);
    border-color: transparent;
}

.pa-dir__card:focus-visible {
    outline: 3px solid #F36F21;
    outline-offset: 3px;
}

/* Card Visual (supports background-image) */
.pa-dir__card-visual {
    position: relative;
    height: clamp(160px, 14vw, 200px);
    background-color: #2B3990;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    overflow: hidden;
}

/* Dark overlay for cards with images */
.pa-dir__card-visual--has-image::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(180deg, rgba(43, 57, 144, 0.0) 0%, rgba(43, 57, 144, 0.2) 100%);
    pointer-events: none;
    z-index: 1;
}

/* Diagonal accent */
.pa-dir__card-visual::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 50%;
    height: 100%;
    background: linear-gradient(135deg, transparent 30%, rgba(243, 111, 33, 0.12) 100%);
    transition: width 0.5s ease;
    pointer-events: none;
    z-index: 2;
}

.pa-dir__card:hover .pa-dir__card-visual::before {
    width: 65%;
}

/* Grid texture on non-image cards */
.pa-dir__card-visual:not(.pa-dir__card-visual--has-image)::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    opacity: 0.04;
    background-image:
        linear-gradient(rgba(255,255,255,0.5) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.5) 1px, transparent 1px);
    background-size: 24px 24px;
    pointer-events: none;
}

/* Floating icon badge */
.pa-dir__card-icon {
    position: absolute;
    z-index: 5;
    bottom: -12px;
    left: clamp(22px, 2.2vw, 30px);
    width: 50px;
    height: 50px;
    border-radius: 10px;
    background: #F36F21;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 16px rgba(243, 111, 33, 0.3);
    transition: background-color 0.3s ease, transform 0.3s ease;
}

.pa-dir__card:hover .pa-dir__card-icon {
    background: #FC914D;
    transform: scale(1.06) translateY(-20px);
}

.pa-dir__card-icon i {
    font-size: 1.2rem;
    color: #ffffff;
}

/* Card Body */
.pa-dir__card-body {
    padding: clamp(38px, 3.5vw, 44px) clamp(22px, 2.5vw, 30px) clamp(24px, 2.8vw, 32px);
    flex: 1;
    display: flex;
    flex-direction: column;
}

.pa-dir__card-title {
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(1.25rem, 1.5vw, 1.5rem);
    font-weight: 700;
    color: #2B3990;
    margin-bottom: 12px;
    line-height: 1.25;
    transition: color 0.3s ease;
}

.pa-dir__card:hover .pa-dir__card-title {
    color: #F36F21;
}

.pa-dir__card-excerpt {
    font-family: 'Open Sans', sans-serif;
    font-size: clamp(1rem, 1.05vw, 1.1rem);
    color: #555555;
    line-height: 1.65;
    margin-bottom: 22px;
    flex: 1;
}

.pa-dir__card-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(0.85rem, 0.92vw, 0.95rem);
    font-weight: 700;
    color: #F36F21;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    transition: gap 0.3s ease, color 0.3s ease;
}

.pa-dir__card:hover .pa-dir__card-link {
    gap: 14px;
    color: #2B3990;
}

.pa-dir__card-link i {
    font-size: 0.78rem;
    transition: transform 0.3s ease;
}

.pa-dir__card:hover .pa-dir__card-link i {
    transform: translateX(3px);
}


/* ==========================================================================
   DIRECTORY — Responsive
   ========================================================================== */

@media (max-width: 960px) {
    .pa-dir__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .pa-dir__grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .pa-dir__card-visual {
        height: 180px;
    }
}


/* ==========================================================================
   DIRECTORY — Animations
   ========================================================================== */

@keyframes pa-dir-fadeUp {
    from { opacity: 0; transform: translateY(22px); }
    to { opacity: 1; transform: translateY(0); }
}

.pa-dir__card {
    opacity: 0;
    animation: pa-dir-fadeUp 0.55s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.pa-dir__card:nth-child(1) { animation-delay: 0.08s; }
.pa-dir__card:nth-child(2) { animation-delay: 0.14s; }
.pa-dir__card:nth-child(3) { animation-delay: 0.20s; }
.pa-dir__card:nth-child(4) { animation-delay: 0.26s; }
.pa-dir__card:nth-child(5) { animation-delay: 0.32s; }
.pa-dir__card:nth-child(6) { animation-delay: 0.38s; }
.pa-dir__card:nth-child(7) { animation-delay: 0.44s; }
.pa-dir__card:nth-child(8) { animation-delay: 0.50s; }
.pa-dir__card:nth-child(9) { animation-delay: 0.56s; }
.pa-dir__card:nth-child(10) { animation-delay: 0.62s; }
.pa-dir__card:nth-child(11) { animation-delay: 0.68s; }
.pa-dir__card:nth-child(12) { animation-delay: 0.74s; }



/* ==========================================================================
   CONTACT FORM SECTION
   ========================================================================== */
.contact-form-section {
    padding: clamp(5rem, 12vh, 10rem) 0;
    background-image: url('/wp-content/uploads/2026/02/Seminar-Pic-5.webp');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-attachment: fixed;
    position: relative;
}

.contact-form-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(43, 57, 144, 0.85); /* Semi-opaque blue overlay - adjust opacity as needed */
    z-index: 1;
}

.contact-form-section__content {
    position: relative;
    z-index: 2;
}

.contact-form-section__supertitle {
    font-family: 'Open Sans', sans-serif;
    font-weight: 700;
    font-size: clamp(0.875rem, 1.5vw, 1.125rem);
    color: #FC914D;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    margin: 0 0 clamp(1rem, 2vh, 1.5rem) 0;
}

.contact-form-section__title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    font-size: clamp(2.5rem, 6vw, 4.5rem);
    color: #FFFFFF;
    margin: 0 0 clamp(1.5rem, 3vh, 2rem) 0;
    line-height: 1.1;
    text-transform: uppercase;
    letter-spacing: -0.02em;
}

.contact-form-section__description {
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    font-size: clamp(1rem, 1.8vw, 1.25rem);
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.9);
    margin: 0 0 clamp(2rem, 4vh, 3rem) 0;
}

.contact-form-section__features {
    display: flex;
    flex-direction: column;
    gap: clamp(1rem, 2vh, 1.5rem);
}

.contact-form-section__feature {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.contact-form-section__feature-icon {
    font-size: clamp(1.25rem, 2vw, 1.5rem);
    color: #FC914D;
    font-weight: 700;
}

.contact-form-section__feature-text h4 {
    font-family: 'Open Sans', sans-serif;
    font-weight: 600;
    font-size: clamp(1rem, 1.5vw, 1.125rem);
    color: #FFFFFF;
    margin: 0 0 0.25rem 0;
}

.contact-form-section__feature-text p {
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    font-size: clamp(0.875rem, 1.3vw, 1rem);
    color: rgba(255, 255, 255, 0.85);
    margin: 0;
}

.contact-form-section__form-container {
    background: #FFFFFF;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.3);
    position: relative;
    z-index: 2;
}

.contact-form-section__iframe {
    width: 100%;
    height: 700px;
    border: none;
}

/* ==========================================================================
   REVIEWS SECTION
   ========================================================================== */

.reviews-section {
    padding: clamp(4rem, 10vh, 8rem) 0;
    background: #FFFFFF;
}

.reviews-section__title {
   font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    font-size: clamp(2rem, 5vw, 5rem);
    color: #2B3990;
    text-align: center;
    margin: 0 0 clamp(3rem, 7vh, 6rem) 0;
    line-height: 1.1;
    text-transform: uppercase;
    letter-spacing: -0.02em;
}

.reviews-section__widget {
    /* Google Reviews widget styles will be applied via JavaScript */
}

/* ==========================================================================
   MEDIA SECTION - YouTube & As Seen On
   ========================================================================== */

.media-section {
    padding: clamp(5rem, 12vh, 10rem) 0;
    background: linear-gradient(180deg, #F8F9FA 0%, #FFFFFF 100%);
}

.media-section__supertitle {
    font-family: 'Open Sans', sans-serif;
    font-weight: 700;
    font-size: clamp(0.875rem, 1.5vw, 1.125rem);
    color: #F36F21;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    text-align: center;
    margin: 0 0 clamp(1rem, 2vh, 1.5rem) 0;
}

.media-section__title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    font-size: clamp(2rem, 4vw, 4rem);
    color: #2B3990;
    text-align: center;
    margin: 0 0 0 0;
    line-height: 1.1;
    text-transform: uppercase;
    letter-spacing: -0.02em;
}

.media-section__subtitle {
    font-family: "Open Sans", sans-serif;
    font-weight: 400;
    font-size: clamp(1.0rem, 2vw, 1.2rem);
    line-height: 1.6;
    color: rgb(51, 51, 51);
    max-width: 900px;
	margin: clamp(30px, 5vw, 60px) auto clamp(45px, 7vw, 90px) auto;
    text-align: center;
}




.media-section__featured-video {
    width: 100%;
    height: 450px;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(43, 57, 144, 0.2);
    margin-bottom: clamp(2rem, 4vh, 3rem);
}

.media-section__featured-video iframe {
    width: 100%;
    height: 100%;
}

/* ========================================
   MEDIA SECTION - VIDEO LIST STYLES
   Enhanced styling with orange accents
   ======================================== */

.media-section__video-list {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding-top:20px;
}

.media-section__video-item {
    position: relative;
    padding: clamp(1rem, 2vw, 1.5rem) 0;
    border-bottom: 2px solid #e5e5e5;
    transition: all 0.3s ease;
}

/* Remove border from last item */
.media-section__video-item:last-child {
    border-bottom: none;
}

/* Orange accent line on hover */
.media-section__video-item::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 4px;
    height: 100%;
    background: linear-gradient(180deg, #F36F21 0%, #FC914D 100%);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.media-section__video-item:hover::before {
    opacity: 1;
}

/* Hover state - lift and add shadow */
.media-section__video-item:hover {
    padding-left: clamp(0.75rem, 1.5vw, 1.25rem);
    background: #fafafa;
}

/* Link wrapper */
.media-section__video-item a {
    display: flex;
    align-items: flex-start;
    gap: clamp(0.75rem, 1.5vw, 1rem);
    text-decoration: none;
    color: inherit;
}

/* Thumbnail container */
.media-section__video-thumb {
    flex-shrink: 0;
    width: clamp(100px, 15vw, 140px);
    height: auto;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    border-radius: 6px;
    transition: all 0.3s ease;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

/* Thumbnail hover effect */
.media-section__video-item:hover .media-section__video-thumb {
    box-shadow: 0 4px 12px rgba(243, 111, 33, 0.3);
    transform: scale(1.03);
}

/* Play button overlay */
.media-section__video-thumb::after {
    content: '';
    position: absolute;
    top: 50%;
    left: clamp(50px, 7.5vw, 70px);
    transform: translate(-50%, -50%);
    width: clamp(32px, 4vw, 40px);
    height: clamp(32px, 4vw, 40px);
    background: rgba(243, 111, 33, 0.9);
    border-radius: 50%;
    opacity: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;
}

/* Play icon triangle */
.media-section__video-thumb::before {
    content: '';
    position: absolute;
    top: 50%;
    left: clamp(50px, 7.5vw, 70px);
    transform: translate(-40%, -50%);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: clamp(6px, 1vw, 8px) 0 clamp(6px, 1vw, 8px) clamp(10px, 1.5vw, 12px);
    border-color: transparent transparent transparent #ffffff;
    opacity: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;
    z-index: 1;
}

/* Show play button on hover */
.media-section__video-item:hover .media-section__video-thumb::after,
.media-section__video-item:hover .media-section__video-thumb::before {
    opacity: 1;
}

/* Title styles */
.media-section__video-title {
    margin: 0;
    font-family: 'Open Sans', sans-serif;
    font-size: clamp(0.875rem, 1.5vw, 1rem);
    font-weight: 600;
    line-height: 1.4;
    color: #2B3990;
    transition: color 0.3s ease;
    
    /* Limit to 3 lines with ellipsis */
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Orange highlight on hover */
.media-section__video-item:hover .media-section__video-title {
    color: #F36F21;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .media-section__video-item {
        padding: 1rem 0;
    }
    
    .media-section__video-item a {
        gap: 0.75rem;
    }
    
    .media-section__video-thumb {
        width: 100px;
    }
    
    .media-section__video-title {
        font-size: 0.875rem;
        -webkit-line-clamp: 2;
    }
}

@media (max-width: 480px) {
    .media-section__video-item {
        padding: 0.75rem 0;
    }
    
    .media-section__video-thumb {
        width: 80px;
    }
    
    .media-section__video-title {
        font-size: 0.8125rem;
    }
}

/* Accessibility - focus states */
.media-section__video-item a:focus-visible {
    outline: 2px solid #F36F21;
    outline-offset: 4px;
    border-radius: 4px;
}

.media-section__video-item a:focus .media-section__video-title {
    color: #F36F21;
}

/* Loading state (optional - if you want to add skeleton screens) */
.media-section__video-item.loading {
    opacity: 0.6;
    pointer-events: none;
}

.media-section__video-item.loading .media-section__video-thumb {
    background: linear-gradient(90deg, #e5e5e5 25%, #f0f0f0 50%, #e5e5e5 75%);
    background-size: 200% 100%;
    animation: loading 1.5s infinite;
}

@keyframes loading {
    0% {
        background-position: 200% 0;
    }
    100% {
        background-position: -200% 0;
    }
}

.media-section__youtube-cta {
    display: inline-flex;
    align-items: center;
    gap: 1rem;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: clamp(1rem, 1.5vw, 1.125rem);
    color: #FFFFFF;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: clamp(1rem, 2vh, 1.25rem) clamp(2rem, 4vw, 3rem);
    background: #FF0000;
    border-radius: 4px;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.media-section__youtube-cta:hover {
    background: #CC0000;
    transform: translateY(-3px);
    box-shadow: 0 10px 30px rgba(255, 0, 0, 0.3);
}

.media-section__youtube-cta:focus-visible {
    outline: 3px solid #2B3990;
    outline-offset: 4px;
}

.media-section__youtube-icon {
    font-size: 1.5rem;
}

.media-section__as-seen-title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    font-size: clamp(2rem, 4vw, 3rem);
    color: #2B3990;
    text-align: center;
    margin: clamp(4rem, 8vh, 6rem) 0 clamp(2rem, 4vh, 3rem) 0;
    text-transform: uppercase;
}

.media-section__logos {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: clamp(2rem, 4vw, 4rem);
}

.media-section__logo {
    height: clamp(80px, 8vw, 120px);
    width: auto;
}

.media-section__logo:hover {
    filter: grayscale(0%) opacity(1);
}

/* ==========================================================================
   BLOG SECTION
   ========================================================================== */

.blog-section {
   padding: 0 0 clamp(0rem, 12vh, 5rem) 0;
    background: linear-gradient(180deg, #FFFFFF 0%, #F8F9FA 100%);
}

.blog-section__supertitle {
    font-family: 'Open Sans', sans-serif;
    font-weight: 700;
    font-size: clamp(0.875rem, 1.5vw, 1.125rem);
    color: #F36F21;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    text-align: center;
    margin: 0 0 clamp(1rem, 2vh, 1.5rem) 0;
}

.blog-section__title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    font-size: clamp(2rem, 5vw, 5rem);
    color: #2B3990;
    text-align: center;
    margin: 0 0 clamp(3rem, 7vh, 3rem) 0;
    line-height: 1.1;
    text-transform: uppercase;
    letter-spacing: -0.02em;
}

.blog-card {
    background: #FFFFFF;
    border: 3px solid #F0F0F0;
    padding: clamp(2rem, 4vh, 3rem);
    height: 100%;
    transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}

.blog-card:hover {
    border-color: #F36F21;
    transform: translateY(-10px);
    box-shadow: 0 20px 60px rgba(43, 57, 144, 0.15);
}

.blog-card__label {
    font-family: 'Open Sans', sans-serif;
    font-weight: 700;
    font-size: clamp(0.75rem, 1.2vw, 0.875rem);
    color: #F36F21;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin: 0 0 clamp(1.5rem, 3vh, 2rem) 0;
}

.blog-card__title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    font-size: clamp(1.5rem, 3vw, 2rem);
    color: #2B3990;
    margin: 0 0 clamp(1rem, 2vh, 1.5rem) 0;
    line-height: 1.3;
}

.blog-card__excerpt {
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    font-size: clamp(1rem, 1.5vw, 1.125rem);
    line-height: 1.6;
    color: #666666;
    margin: 0 0 clamp(1rem, 2vh, 1.5rem) 0;
}

.blog-card__date {
    font-family: 'Open Sans', sans-serif;
    font-weight: 600;
    font-size: clamp(0.875rem, 1.2vw, 1rem);
    color: #999999;
    margin: 0 0 clamp(1.5rem, 3vh, 2rem) 0;
}

.blog-card__cta {
    font-family: 'Open Sans', sans-serif;
    font-weight: 700;
    font-size: clamp(0.875rem, 1.5vw, 1rem);
    color: #F36F21;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    transition: transform 0.3s ease;
    display: inline-block;
}

.blog-card__cta:hover {
    transform: translateX(8px);
}

.blog-card__cta:focus-visible {
    outline: 3px solid #2B3990;
    outline-offset: 4px;
}

/* ==========================================================================
   BADGES / RECOGNITION SECTION
   Background: Group attorney photo with blue-to-dark gradient overlay
   Bottom: Infinite scrolling badge carousel (white → color on hover)
   ========================================================================== */

.badges-section {
    position: relative;
    overflow: hidden;
    background-image: url('/wp-content/uploads/2026/03/group-photo-2026-1.webp');
    background-size: 100% auto;
    background-position: center bottom;
    background-repeat: no-repeat;
    display: flex;	
    flex-direction: column;
    justify-content: space-between;
    min-height: clamp(200px, 45vw, 900px);
}

/* Dark blue gradient overlay for text legibility */
.badges-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(
        180deg,
        rgba(43, 57, 144, 0.0) 0%,
        rgba(43, 57, 144, 0.00) 40%,
        rgba(20, 28, 72, 0.0) 75%,
        rgba(10, 14, 40, 0.75) 100%
    );
    z-index: 1;
}

/* --- Content Area (above the photo) --- */
.badges-section__content {
    position: relative;
    z-index: 2;
    padding: clamp(4rem, 8vh, 6rem) 0 clamp(4rem, 4vh, 6rem) 0;
    text-align: center;
    margin-bottom: auto;
   
}

/* Accent label */
.badges-section__heading {
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    font-size: clamp(0.875rem, 1.6vw, 1.0625rem);
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: #F36F21;
    margin-bottom: clamp(0.75rem, 1.5vh, 1rem);
}



/* Main heading */
.badges-section__subheading {
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    font-size: clamp(2.25rem, 3vw, 6.25rem);
    color: #2B3990;
    line-height: 1.1;
    text-transform: uppercase;
    margin-bottom: clamp(1rem, 2vh, 1.5rem);
}

/* Supporting description */
.badges-section__description {
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    font-size: clamp(1rem, 1.5vw, 1.1875rem);
    color: #555555;
    max-width: 900px;
    margin: 0 auto;
    line-height: 1.7;
    margin-bottom: clamp(2.5rem, 6vh, 5rem);
}

/* --- Carousel Wrapper --- */
.badges-carousel-wrapper {
    position: relative;
    z-index: 2;
    padding: clamp(1.5rem, 3vh, 2.5rem) 0;
    border-top: 0px solid rgba(255, 255, 255, 0.1);
    background: rgba(10, 14, 40, 0.0);
    -webkit-backdrop-filter: blur(0px);
    backdrop-filter: blur(0px);
    overflow: hidden;
}

/* Left/right fade masks for seamless scroll appearance */
.badges-carousel-wrapper::before,
.badges-carousel-wrapper::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    width: clamp(40px, 8vw, 120px);
    z-index: 3;
    pointer-events: none;
}
.badges-carousel-wrapper::before {
    left: 0;
    background: linear-gradient(90deg, rgba(10, 14, 40, 0.9) 0%, transparent 100%);
}
.badges-carousel-wrapper::after {
    right: 0;
    background: linear-gradient(270deg, rgba(10, 14, 40, 0.9) 0%, transparent 100%);
}

/* --- Carousel Track --- */
.badges-carousel {
    position: relative;
    width: 100%;
    overflow: hidden;
}

.badges-carousel__track {
    display: flex;
    align-items: center;
    gap: clamp(3rem, 6vw, 5rem);
    animation: scroll-badges 35s linear infinite;
    width: max-content;
}

.badges-carousel__track:hover {
    animation-play-state: paused;
}

/* --- Individual Badge --- */
.badges-carousel__badge {
    height: clamp(55px, 9vw, 85px);
   border:  20px solid white; 
    width: auto;
    flex-shrink: 0;
    /* White/bright appearance: grayscale + brightness boost */

    opacity: 1.0;
    transition: filter 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94),
                opacity 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94),
                transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    cursor: pointer;
}


/* --- Infinite Scroll Keyframes --- */
@keyframes scroll-badges {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-50%);
    }
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */

/* Tablet (1024px) */
@media (max-width: 1024px) {
    .badges-section { min-height: 700px; aspect-ratio: auto }
    .badges-section__subheading { font-size: clamp(1.5rem, 3.5vw, 2.25rem); }
    .badges-section__description { font-size: 1rem; padding: 0 1rem; }
    .badges-carousel__badge { height: clamp(50px, 8vw, 70px); border: 14px solid white; }
    .badges-carousel__track { gap: clamp(2rem, 4vw, 3.5rem); }
}

/* Mobile (768px and below) */
@media (max-width: 767px) {
    .badges-section { min-height: 500px; aspect-ratio: auto}
    .badges-section__content { padding: clamp(2.5rem, 6vh, 4rem) 0 0 0; }
    .badges-section__heading { font-size: 0.85rem; letter-spacing: 0.15em; }
    .badges-section__subheading { font-size: 1.5rem; }
    .badges-section__description { font-size: 0.9375rem; padding: 0 1rem; margin-bottom: clamp(2rem, 4vh, 3rem); }
    .badges-carousel-wrapper { padding: clamp(1rem, 2vh, 1.5rem) 0; }
    .badges-carousel__track { gap: clamp(1.5rem, 4vw, 2.5rem); }
    .badges-carousel__badge { height: clamp(40px, 12vw, 55px); border: 10px solid white; }
    .badges-carousel-wrapper::before,
    .badges-carousel-wrapper::after { width: clamp(20px, 5vw, 40px); }
}

@media (max-width: 480px) {
    .badges-section { min-height: 420px; }
    .badges-carousel__badge { height: clamp(35px, 14vw, 45px); border: 8px solid white; }
}

/* ==========================================================================
   ANIMATIONS
   ========================================================================== */


/* ============================================================
   ANIMATION INITIAL STATES
   ============================================================ */

/* Ensure cards start hidden for scroll animations */
.pillar-card,
.practice-card,
.blog-card {
    opacity: 0;
    transform: translateY(30px);
}

/* Will be animated in by JavaScript when in viewport */
.animate-in .pillar-card,
.animate-in .practice-card,
.animate-in .blog-card {
    opacity: 1;
    transform: translateY(0);
}

@keyframes slideUpFade {
    from {
        opacity: 0;
        transform: translateY(60px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@keyframes scaleX {
    from {
        opacity: 0;
        transform: scaleX(0);
    }
    to {
        opacity: 1;
        transform: scaleX(1);
    }
}

@keyframes scroll-badges {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-50%);
    }
}

/* ==========================================================================
   RESPONSIVE BREAKPOINTS
   ========================================================================== */

@media (max-width: 768px) {
    .hero-editorial {
        min-height: 600px;
    }
    
    .hero-editorial__headline-line--2 {
        margin-left: clamp(0.0rem, 0vw, 0rem);
    }
    
    
    .hero-editorial__practice-links {
        flex-direction: column;
    }
    
    .practice-card {
        margin-bottom: 2rem;
    }
    
    .media-section__featured-video {
        height: 300px;
        margin-bottom: 2rem;
    }
    
    .contact-form-section__iframe {
        height: 600px;
    }
}

@media (max-width: 550px) {
    .hero-editorial {
        min-height: 500px;
    }
    
    .hero-editorial__headline-line {
        font-size: 3rem;
    }
    
    .hero-editorial__subheadline-line {
        font-size: 1.75rem;
    }
    
    .badges-carousel__track {
        gap: 2rem;
    }
}

/* ============================================================
   File: style.css (append to existing)
   Section: PRACTICE AREA SINGLE TEMPLATE - ENHANCED
   Template: single-practice_area.php
   
   HIGH-PRIORITY UX IMPROVEMENTS:
   - Enhanced hero visual impact with better contrast
   - Improved breadcrumb readability
   - Added icons to approach pillars and issue tags
   - Increased sidebar contrast and spacing
   - Enhanced visual hierarchy
   - Improved accessibility (focus states, contrast)
   ============================================================ */

/* ─── HERO - ENHANCED ─── */
.pa-hero {
    position: relative;
    background: #2B3990;
    margin-top: 165px;
    padding: clamp(60px, 8vw, 100px) 0 clamp(70px, 10vw, 120px);
    overflow: hidden;
}

/* Background image layer with grayscale */
.pa-hero::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: inherit;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    filter: grayscale(100%);
    z-index: 0;
}

/* Improved overlay for better text readability */
.pa-hero__overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(
        to right,
        rgba(43, 57, 144, 0.92) 0%,
        rgba(43, 57, 144, 0.88) 40%,
        rgba(43, 57, 144, 0.75) 70%,
        rgba(43, 57, 144, 0.65) 100%
    );
    z-index: 1;
}

.pa-hero .container { 
    position: relative; 
    z-index: 3;
}

/* Improved breadcrumb readability (HIGH PRIORITY) */
.pa-hero__breadcrumb {
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(12px, 1.2vw, 14px);
    font-weight: 600;
    color: rgba(255, 255, 255, 0.85); /* Increased from 0.6 */
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 16px;
}

.pa-hero__breadcrumb a {
    color: rgba(255, 255, 255, 0.85); /* Increased from 0.6 */
    transition: color 0.25s ease;
    text-decoration: none;
}

.pa-hero__breadcrumb a:hover { 
    color: #FC914D; 
}

.pa-hero__breadcrumb a:focus-visible { 
    outline: 2px solid #FC914D;
    outline-offset: 2px;
}

.pa-hero__breadcrumb span { 
    margin: 0 8px; 
}

/* Orange accent line for visual interest (HIGH PRIORITY) */
.pa-hero__accent-line {
    width: 70px;
    height: 4px;
    background: #F36F21;
    border-radius: 2px;
    margin-bottom: 20px;
}

/* Enhanced title hierarchy (HIGH PRIORITY) */
.pa-hero__title {
    color: #ffffff;
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(32px, 5vw, 56px); /* Increased from 28px/48px */
    font-weight: 800;
    line-height: 1.15;
    margin-bottom: 16px;
    max-width: 750px;
}

.pa-hero__subtitle {
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(16px, 1.8vw, 20px); /* Increased from 15px/19px */
    font-weight: 500;
    color: #FC914D;
    margin-bottom: 0;
}

/* Mobile adjustments */
@media (max-width: 768px) {
    .pa-hero {
        margin-top: 100px;
        background-position: center center;
    }
    
    .pa-hero__overlay {
        background: linear-gradient(
            to bottom,
            rgba(43, 57, 144, 0.95) 0%,
            rgba(43, 57, 144, 0.9) 100%
        );
    }
}

/* ─── DIFFERENTIATOR BANNER ─── */
.pa-differentiator {
    background: linear-gradient(90deg, #F36F21 0%, #FC914D 100%);
    padding: 20px 0;
    text-align: center;
}
.pa-differentiator__text {
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(14px, 1.5vw, 17px);
    font-weight: 700;
    color: #ffffff;
    letter-spacing: 0.5px;
    margin-bottom: 0;
}
.pa-differentiator__text svg {
    display: inline-block;
    vertical-align: middle;
    margin-right: 10px;
    width: 22px;
    height: 22px;
    fill: #ffffff;
}

/* ─── CONTENT + SIDEBAR LAYOUT - ENHANCED SPACING (HIGH PRIORITY) ─── */
.pa-content-wrapper {
    padding: clamp(40px, 6vw, 80px) 0;
}

@media (min-width: 768px) {
    .pa-content-wrapper .container {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: clamp(32px, 4vw, 56px); /* Increased from 24px/44px */
    }
    .pa-main-content {
        flex: 1 1 auto;
        width: auto;
        float: none;
    }
    .pa-sidebar {
        flex: 0 0 min(380px, 34%); /* Increased from 360px/33% */
        width: auto;
        float: none;
    }
}

/* ─── CONTENT SECTIONS ─── */
.pa-section { margin-bottom: clamp(40px, 5vw, 60px); }
.pa-section:last-child { margin-bottom: 0; }
.pa-section__label {
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    font-weight: 700;
    color: #F36F21;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 10px;
}

/* Practice Area Introduction Section */
.pa-intro-section {
    margin-bottom: 60px;
    padding-bottom: 0;
}

.pa-intro-section h1 {
    margin-top: 0;
    margin-bottom: 24px; /* Better spacing after H1 */
}

.pa-intro-section p {
    margin-bottom: 1.8rem; /* Increased from 1.5rem */
}

.pa-intro-section p:last-child {
    margin-bottom: 0;
}

.pa-intro-section ul,
.pa-intro-section ol {
    margin-left: 20px;
    margin-bottom: 1.8rem; /* Increased from 1.5rem */
}

.pa-intro-section li {
    margin-bottom: 0.85rem; /* Increased from 0.75rem */
    line-height: 1.7;
}

@media (max-width: 768px) {
    .pa-intro-section {
        margin-bottom: 40px;
        padding-bottom: 30px;
    }
}

/* ─── APPROACH PILLARS WITH ICONS (HIGH PRIORITY) ─── */
.pa-pillars {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin: 24px 0;
}

@media (max-width: 500px) { 
    .pa-pillars { 
        grid-template-columns: 1fr; 
    } 
}

.pa-pillar {
    display: flex;
    align-items: flex-start;
    gap: 14px; /* Increased from 12px */
    padding: 18px; /* Increased from 16px */
    background: #f8f9fc;
    border-radius: 8px;
    border-left: 3px solid #2B3990;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.pa-pillar:hover {
    transform: translateX(2px);
    box-shadow: 0 2px 8px rgba(43, 57, 144, 0.08);
}

.pa-pillar__icon {
    width: 22px; /* Increased from 20px */
    height: 22px;
    flex-shrink: 0;
    margin-top: 2px;
    color: #F36F21;
}

.pa-pillar__text {
    font-family: 'Open Sans', sans-serif;
    font-size: clamp(14px, 1.4vw, 16px);
    font-weight: 600;
    color: #2B3990;
    line-height: 1.5; /* Increased from 1.4 */
}

/* ─── ISSUE TAGS WITH ICONS (HIGH PRIORITY) ─── */
.pa-issue-tags {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin: 24px 0;
}

@media (max-width: 500px) { 
    .pa-issue-tags { 
        grid-template-columns: 1fr; 
    } 
}

.pa-issue-tag {
    display: flex;
    align-items: flex-start;
    gap: 14px; /* Increased from 12px */
    padding: 18px; /* Increased from 16px */
    background: #f8f9fc;
    border-radius: 8px;
    border-left: 3px solid #2B3990;
    font-family: 'Open Sans', sans-serif;
    font-size: clamp(14px, 1.4vw, 16px);
    font-weight: 600;
    color: #2B3990;
    line-height: 1.5; /* Increased from 1.4 */
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.pa-issue-tag:hover {
    transform: translateX(2px);
    box-shadow: 0 2px 8px rgba(43, 57, 144, 0.08);
}

.pa-issue-tag svg {
    width: 22px; /* Increased from 20px */
    height: 22px;
    flex-shrink: 0;
    margin-top: 2px;
    color: #F36F21;
}

/* ─── SERVICE GROUPS WITH ENHANCED ICONS (HIGH PRIORITY) ─── */
.pa-service-group {
    margin-bottom: 32px;
    padding: 32px; /* Increased from 28px */
    background: #ffffff;
    border: 1px solid #e8e9f0;
    border-radius: 10px;
    box-shadow: 0 2px 12px rgba(43, 57, 144, 0.04);
    transition: box-shadow 0.3s ease;
}

.pa-service-group:hover { 
    box-shadow: 0 4px 20px rgba(43, 57, 144, 0.08); 
}

.pa-service-group__header {
    display: flex;
    align-items: center;
    gap: 16px; /* Increased from 14px */
    margin-bottom: 20px; /* Increased from 18px */
    padding-bottom: 16px; /* Increased from 14px */
    border-bottom: 2px solid #f0f1f8;
}

.pa-service-group__icon {
    width: 44px; /* Increased from 40px */
    height: 44px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #2B3990, #3d4eb0);
    border-radius: 8px;
    color: #ffffff;
}

.pa-service-group__icon svg { 
    width: 22px; /* Increased from 20px */
    height: 22px; 
}

.pa-service-group h3 { 
    margin-bottom: 0; 
    color: #2B3990;
    font-size: clamp(17px, 1.7vw, 20px); /* Increased for better hierarchy */
}

.pa-service-group ul { 
    list-style: none; 
    padding: 0; 
    margin: 0; 
}

.pa-service-group li {
    position: relative;
    padding: 10px 0 10px 28px; /* Increased padding */
    font-size: clamp(14px, 1.4vw, 16px);
    line-height: 1.7; /* Increased from 1.6 */
    border-bottom: 1px solid #f5f5f8;
}

.pa-service-group li:last-child { 
    border-bottom: none; 
}

.pa-service-group li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 17px; /* Adjusted for new padding */
    width: 8px;
    height: 8px;
    background: #F36F21;
    border-radius: 50%;
}

/* ─── FAQ ACCORDION - FIRST ITEM OPEN (HIGH PRIORITY) ─── */
.pa-faq { margin-bottom: clamp(40px, 5vw, 60px); }

.pa-faq__item {
    border: 1px solid #e8e9f0;
    border-radius: 10px;
    margin-bottom: 12px;
    overflow: hidden;
    transition: box-shadow 0.3s ease;
}

.pa-faq__item:hover { 
    box-shadow: 0 2px 12px rgba(43, 57, 144, 0.06); 
}

.pa-faq__question {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 20px 24px;
    background: #ffffff;
    border: none;
    cursor: pointer;
    text-align: left;
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(15px, 1.5vw, 17px);
    font-weight: 600;
    color: #2B3990;
    line-height: 1.4;
    transition: background 0.2s ease;
}

.pa-faq__question:hover { 
    background: #f8f9fc; 
}

.pa-faq__question:focus-visible { 
    outline: 3px solid #FC914D; 
    outline-offset: -3px; 
}

.pa-faq__question[aria-expanded="true"] { 
    background: #f8f9fc; 
}

.pa-faq__chevron {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    margin-left: 16px;
    color: #F36F21;
    transition: transform 0.3s ease;
}

.pa-faq__question[aria-expanded="true"] .pa-faq__chevron { 
    transform: rotate(180deg); 
}

.pa-faq__answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease, padding 0.3s ease;
}

.pa-faq__answer.is-open { 
    max-height: 600px; 
}

.pa-faq__answer-inner {
    padding: 0 24px 24px;
    font-size: clamp(14px, 1.4vw, 16px);
    line-height: 1.75;
    color: #555555;
}

/* ─── RESOURCES - ENHANCED CARDS (HIGH PRIORITY) ─── */
.pa-resources { margin-bottom: clamp(40px, 5vw, 60px); }

.pa-resources__links { 
    display: flex; 
    flex-direction: column; 
    gap: 14px; /* Increased from 12px */
    margin-top: 16px; 
}

.pa-resources__link {
    display: flex;
    align-items: center;
    gap: 14px; /* Increased from 12px */
    padding: 18px 22px; /* Increased from 16px 20px */
    background: #f8f9fc;
    border: 1px solid #e8e9f0;
    border-radius: 8px;
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(14px, 1.4vw, 16px);
    font-weight: 600;
    color: #2B3990;
    transition: all 0.25s ease;
    text-decoration: none;
}

.pa-resources__link:hover { 
    background: #2B3990; 
    color: #ffffff; 
    border-color: #2B3990;
    transform: translateX(2px);
}

.pa-resources__link:hover svg { 
    color: #FC914D; 
}

.pa-resources__link:focus-visible {
    outline: 3px solid #FC914D;
    outline-offset: 2px;
}

.pa-resources__link svg { 
    width: 22px; /* Increased from 20px */
    height: 22px; 
    flex-shrink: 0; 
    color: #F36F21; 
    transition: color 0.25s ease; 
}

/* ─── RESOURCES — ADDITIONAL WYSIWYG CONTENT ─── */
.pa-resources__additional-content { margin-top: clamp(24px, 3vw, 36px); padding-top: clamp(24px, 3vw, 36px); border-top: 1px solid #e8e9f0; }
.pa-resources__additional-content h2 { font-size: clamp(1.25rem, 1.1rem + 0.8vw, 1.75rem); color: #2B3990; margin-bottom: 0.75rem; }
.pa-resources__additional-content h3 { font-size: clamp(1rem, 0.95rem + 0.5vw, 1.25rem); color: #2B3990; margin-bottom: 0.5rem; }
.pa-resources__additional-content p { font-size: clamp(14px, 1.4vw, 16px); line-height: 1.75; color: #555555; }
.pa-resources__additional-content ul { list-style: none; padding: 0; margin: 0 0 1rem 0; }
.pa-resources__additional-content ul li { position: relative; padding: 6px 0 6px 24px; font-size: clamp(14px, 1.4vw, 16px); line-height: 1.7; color: #555555; }
.pa-resources__additional-content ul li::before { content: ''; position: absolute; left: 0; top: 14px; width: 8px; height: 8px; background: #F36F21; border-radius: 50%; }
.pa-resources__additional-content a { color: #2B3990; font-weight: 600; text-decoration: underline; text-underline-offset: 2px; transition: color 0.25s ease; }
.pa-resources__additional-content a:hover { color: #F36F21; }

/* ─── COMMON ISSUES — GROUPED CONTENT (Category + Bullet Lists) ─── */
.pa-issues-grouped { margin: 24px 0; display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.pa-issues-grouped__category { background: #f8f9fc; border-radius: 10px; border-left: 4px solid #2B3990; padding: clamp(20px, 2.5vw, 28px); transition: box-shadow 0.3s ease; }
.pa-issues-grouped__category:hover { box-shadow: 0 4px 20px rgba(43, 57, 144, 0.08); }
.pa-issues-grouped__heading { font-family: 'Montserrat', sans-serif; font-size: clamp(15px, 1.5vw, 18px); font-weight: 700; color: #2B3990; margin: 0 0 14px 0; padding-bottom: 12px; border-bottom: 2px solid rgba(43, 57, 144, 0.1); }
.pa-issues-grouped__items { font-family: 'Open Sans', sans-serif; }
.pa-issues-grouped__items ul { list-style: none; padding: 0; margin: 0; }
.pa-issues-grouped__items ul li { position: relative; padding: 7px 0 7px 24px; font-size: clamp(13px, 1.3vw, 15px); line-height: 1.65; color: #444444; border-bottom: 1px solid rgba(43, 57, 144, 0.05); }
.pa-issues-grouped__items ul li:last-child { border-bottom: none; }
.pa-issues-grouped__items ul li::before { content: ''; position: absolute; left: 0; top: 15px; width: 7px; height: 7px; background: #F36F21; border-radius: 50%; }

@media (max-width: 960px) {
    .pa-issues-grouped { grid-template-columns: 1fr; gap: 20px; }
}

/* ─── SIDEBAR - ENHANCED CONTRAST (HIGH + MEDIUM PRIORITY) ─── */
.pa-sidebar { 
    background: #f8fafb; /* Light background for differentiation */
    padding: clamp(24px, 3vw, 32px);
    border-radius: 12px;
}

.pa-sidebar__sticky { 
    position: sticky; 
    top: 30px; 
}

.pa-sidebar__cta {
    background: #2B3990;
    border-radius: 12px;
    padding: 36px 32px; /* Increased from 32px 28px */
    margin-bottom: 28px; /* Increased from 24px */
    overflow: hidden;
    position: relative;
    box-shadow: 0 4px 16px rgba(43, 57, 144, 0.15); /* Added shadow for depth */
}

.pa-sidebar__cta::before {
    content: '';
    position: absolute;
    top: -20px;
    right: -20px;
    width: 100px;
    height: 100px;
    background: rgba(243, 111, 33, 0.15);
    border-radius: 50%;
}

/* Icon for CTA card - MEDIUM PRIORITY */
.pa-sidebar__cta-icon {
    width: 48px;
    height: 48px;
    background: rgba(243, 111, 33, 0.15);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
    position: relative;
}

.pa-sidebar__cta-icon svg {
    width: 24px;
    height: 24px;
    color: #FC914D;
}

.pa-sidebar__cta-title {
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(20px, 2.2vw, 24px); /* Increased from 18px/22px */
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 14px; /* Increased from 12px */
    position: relative;
    line-height: 1.3;
}

.pa-sidebar__cta-text {
    font-size: clamp(14px, 1.3vw, 15px);
    color: rgba(255, 255, 255, 0.9); /* Increased from 0.85 */
    margin-bottom: 26px; /* Increased from 24px */
    line-height: 1.7; /* Increased from 1.65 */
    position: relative;
}

.pa-sidebar__cta-btn {
    display: block;
    width: 100%;
    padding: 16px 24px; /* Increased from 14px */
    background: #F36F21;
    color: #ffffff;
    font-family: 'Montserrat', sans-serif;
    font-size: 16px; /* Increased from 15px */
    font-weight: 700;
    text-align: center;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: background 0.25s ease, transform 0.2s ease, box-shadow 0.25s ease;
    position: relative;
    text-decoration: none;
    box-shadow: 0 2px 8px rgba(243, 111, 33, 0.3);
}

.pa-sidebar__cta-btn:hover { 
    background: #e05f14; 
    transform: translateY(-2px); /* Increased from -1px */
    color: #ffffff;
    box-shadow: 0 4px 12px rgba(243, 111, 33, 0.4);
}

.pa-sidebar__cta-btn:focus-visible { 
    outline: 3px solid #FC914D; 
    outline-offset: 2px; 
}

.pa-sidebar__cta-phone {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 18px; /* Increased from 16px */
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.85); /* Increased from 0.75 */
    position: relative;
}

.pa-sidebar__cta-phone a { 
    color: #FC914D;
    font-weight: 700; /* Added for emphasis */
}

.pa-sidebar__cta-phone a:hover { 
    color: #ffffff; 
}

.pa-sidebar__nav {
    background: #ffffff; /* Changed from #f8f9fc for contrast */
    border: 1px solid #e0e2ec; /* Slightly darker border */
    border-radius: 12px;
    padding: 32px; /* Increased from 28px */
    margin-bottom: 28px; /* Increased from 24px */
    box-shadow: 0 2px 8px rgba(43, 57, 144, 0.04); /* Added shadow */
}

.pa-sidebar__nav-title {
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    font-weight: 700;
    color: #2B3990;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 20px; /* Increased from 18px */
    padding-bottom: 14px; /* Increased from 12px */
    border-bottom: 2px solid #2B3990;
}

.pa-sidebar__nav-list { 
    list-style: none; 
    padding: 0; 
    margin: 0; 
}

.pa-sidebar__nav-link {
    display: block;
    padding: 12px 16px; /* Increased from 10px 14px */
    font-size: 14px;
    font-weight: 500;
    color: #555555;
    border-radius: 6px;
    border-left: 3px solid transparent;
    transition: all 0.2s ease;
    text-decoration: none;
}

.pa-sidebar__nav-link:hover { 
    background: #f8f9fc; /* Lighter hover state */
    color: #2B3990; 
    border-left-color: #F36F21; 
}

.pa-sidebar__nav-link.is-active {
    background: #f0f2f8; /* Slightly darker for active state */
    color: #2B3990;
    font-weight: 700;
    border-left-color: #F36F21;
    box-shadow: 0 1px 4px rgba(0,0,0,0.05);
}

.pa-sidebar__badges {
    background: #ffffff;
    border: 1px solid #e0e2ec; /* Slightly darker border */
    border-radius: 12px;
    padding: 32px; /* Increased from 28px */
    box-shadow: 0 2px 8px rgba(43, 57, 144, 0.04); /* Added shadow */
}

.pa-sidebar__badges-title {
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    font-weight: 700;
    color: #2B3990;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 20px; /* Increased from 18px */
    padding-bottom: 14px; /* Increased from 12px */
    border-bottom: 2px solid #2B3990;
}

.pa-sidebar__badge-item {
    display: flex;
    align-items: center;
    gap: 14px; /* Increased from 12px */
    padding: 14px 0; /* Increased from 12px */
    border-bottom: 1px solid #f0f1f8;
}

.pa-sidebar__badge-item:last-child { 
    border-bottom: none; 
}

.pa-sidebar__badge-icon {
    width: 48px; /* Increased from 44px */
    height: 48px;
    flex-shrink: 0;
    background: #f0f1f8;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.pa-sidebar__badge-icon svg { 
    width: 24px; /* Increased from 22px */
    height: 24px; 
    color: #2B3990; 
}

.pa-sidebar__badge-text { 
    font-size: 13px; 
    font-weight: 600; 
    color: #333333; 
    line-height: 1.4; /* Increased from 1.3 */
}

/* ─── WHY CHOOSE US ─── */
.pa-why-us {
    background: #f8f9fc;
    padding: clamp(50px, 7vw, 80px) 0;
    position: relative;
}

.pa-why-us::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(90deg, #2B3990, #F36F21, #FC914D);
}

.pa-why-us__wrapper {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: clamp(30px, 5vw, 60px);
    align-items: start;
}

/* ─── LEFT COLUMN ─── */
.pa-why-us__left h2 {
    font-size: clamp(24px, 3vw, 34px);
    font-weight: 800;
    color: #2B3990;
    margin-bottom: 24px;
    line-height: 1.2;
}

.pa-why-us__intro {
    font-size: clamp(15px, 1.5vw, 17px);
    line-height: 1.7;
    color: #333333;
}

.pa-why-us__intro p {
    margin-bottom: 16px;
}

.pa-why-us__intro p:last-child {
    margin-bottom: 0;
}

/* ─── FLOATING DIVIDER ─── */
.pa-why-us__divider {
    position: relative;
    width: 1px;
    height: 100%;
    min-height: 300px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.pa-why-us__divider-line {
    position: absolute;
    width: 2px;
    height: 70%;
    top: 15%;
    background: linear-gradient(180deg, 
        transparent 0%, 
        #2B3990 10%, 
        #2B3990 50%, 
        #F36F21 50%, 
        #F36F21 90%, 
        transparent 100%
    );
    border-radius: 2px;
}

.pa-why-us__divider-accent {
    position: absolute;
    width: 12px;
    height: 12px;
    background: #F36F21;
    border: 3px solid #ffffff;
    border-radius: 50%;
    box-shadow: 0 2px 8px rgba(243, 111, 33, 0.3);
    z-index: 1;
}

/* ─── RIGHT COLUMN ─── */
.pa-why-us__list-intro {
    font-size: clamp(15px, 1.5vw, 16px);
    font-weight: 600;
    color: #2B3990;
    margin-bottom: 20px;
}

.pa-why-us__right {padding-top:25px;}

/* Style for WYSIWYG-generated lists */
.pa-why-us__right ul {
    list-style: none;
    padding: 0;
    margin: 0 0 24px 0;
}

.pa-why-us__right ul li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 16px;
    font-size: clamp(14px, 1.4vw, 16px);
    line-height: 1.6;
    color: #333333;
    position: relative;
    padding-left: 36px;
}

.pa-why-us__right ul li:last-child {
    margin-bottom: 0;
}

.pa-why-us__right ul li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 2px;
    width: 24px;
    height: 24px;
    flex-shrink: 0;
    background-color: #F36F21;
    mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 20 20' fill='currentColor' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' d='M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z' clip-rule='evenodd'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 20 20' fill='currentColor' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' d='M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z' clip-rule='evenodd'/%3E%3C/svg%3E");
    mask-size: contain;
    -webkit-mask-size: contain;
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
}

/* Legacy styles for manual list (keeping for backwards compatibility) */
.pa-why-us__list {
    list-style: none;
    padding: 0;
    margin: 0 0 24px 0;
}

.pa-why-us__list li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 16px;
    font-size: clamp(14px, 1.4vw, 16px);
    line-height: 1.6;
    color: #333333;
}

.pa-why-us__list li:last-child {
    margin-bottom: 0;
}

.pa-why-us__check {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
    color: #F36F21;
    margin-top: 2px;
}

.pa-why-us__list-content {
    flex: 1;
}

.pa-why-us__list-content p {
    margin: 0;
    font-size: clamp(14px, 1.4vw, 16px);
    line-height: 1.6;
    color: #333333;
}

.pa-why-us__list-content p + p {
    margin-top: 8px;
}

.pa-why-us__outro {
    background: #ffffff;
    border-left: 4px solid #F36F21;
    padding: 20px 24px;
    border-radius: 0 8px 8px 0;
    font-size: clamp(14px, 1.4vw, 16px);
    line-height: 1.7;
    color: #2B3990;
    font-weight: 600;
    box-shadow: 0 2px 12px rgba(43, 57, 144, 0.06);
    margin-top: 40px;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}

.pa-why-us__outro p {
    margin: 0;
}

/* ─── RESPONSIVE ─── */
@media (max-width: 900px) {
    .pa-why-us__wrapper {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    
    .pa-why-us__divider {
        display: none;
    }
    
    .pa-why-us__left {
        padding-bottom: 40px;
        border-bottom: 3px solid #F36F21;
        position: relative;
    }
    
    .pa-why-us__left::after {
        content: '';
        position: absolute;
        bottom: -6px;
        left: 0;
        width: 60px;
        height: 6px;
        background: #2B3990;
        border-radius: 3px;
    }
}

@media (max-width: 600px) {
    .pa-why-us__list li {
        font-size: 14px;
    }
    
    .pa-why-us__check {
        width: 20px;
        height: 20px;
    }
}


/* ─── BOTTOM CTA ─── */
.pa-bottom-cta {
    background: #2B3990;
    padding: clamp(50px, 7vw, 80px) 0;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.pa-bottom-cta::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -10%;
    width: 50%;
    height: 200%;
    background: linear-gradient(135deg, rgba(243, 111, 33, 0.1) 0%, transparent 50%);
    transform: rotate(-15deg);
}

.pa-bottom-cta::after {
    content: '';
    position: absolute;
    bottom: -50%;
    right: -10%;
    width: 50%;
    height: 200%;
    background: linear-gradient(135deg, transparent 50%, rgba(252, 145, 77, 0.08) 100%);
    transform: rotate(-15deg);
}

.pa-bottom-cta .container { 
    position: relative; 
    z-index: 2; 
}

.pa-bottom-cta h2 { 
    color: #ffffff; 
    font-size: clamp(26px, 3.5vw, 40px); 
    margin-bottom: 16px; 
}

.pa-bottom-cta__text {
    font-size: clamp(16px, 1.6vw, 18px);
    color: rgba(255, 255, 255, 0.85);
    max-width: 800px;
    margin: 0 auto 32px;
    line-height: 1.7;
}

.pa-bottom-cta__actions { 
    display: flex; 
    align-items: center; 
    justify-content: center; 
    gap: 20px; 
    flex-wrap: wrap; 
}

.pa-bottom-cta__btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 16px 36px;
    font-family: 'Montserrat', sans-serif;
    font-size: 16px;
    font-weight: 700;
    border-radius: 8px;
    border: none;
    cursor: pointer;
    transition: all 0.25s ease;
    text-decoration: none;
}

.pa-bottom-cta__btn--primary { 
    background: #F36F21; 
    color: #ffffff; 
}

.pa-bottom-cta__btn--primary:hover { 
    background: #e05f14; 
    transform: translateY(-2px); 
    color: #ffffff; 
}

.pa-bottom-cta__btn--secondary { 
    background: transparent; 
    color: #ffffff; 
    border: 2px solid rgba(255, 255, 255, 0.4); 
}

.pa-bottom-cta__btn--secondary:hover { 
    border-color: #FC914D; 
    color: #FC914D; 
}

.pa-bottom-cta__btn:focus-visible { 
    outline: 3px solid #FC914D; 
    outline-offset: 2px; 
}

.pa-bottom-cta__btn svg { 
    width: 18px; 
    height: 18px; 
}

/* ─── RESPONSIVE ─── */
@media (max-width: 768px) {
    .pa-main-content, .pa-sidebar { 
        width: 100%; 
        float: none; 
    }
    .pa-sidebar { 
        margin-top: 40px; 
    }
    .pa-sidebar__sticky { 
        position: static; 
    }
    .pa-service-group { 
        padding: 24px; 
    }
    .pa-bottom-cta__actions { 
        flex-direction: column; 
    }
    .pa-bottom-cta__btn { 
        width: 100%; 
        max-width: 320px; 
        justify-content: center; 
    }
}

/* ============================================================
   MEDIUM-PRIORITY UX IMPROVEMENTS
   ============================================================ */

/* ─── SCROLL ANIMATIONS (MEDIUM PRIORITY) ─── */
@media (prefers-reduced-motion: no-preference) {
    .pa-section,
    .pa-service-group,
    .pa-why-us__card,
    .pa-faq__item {
        opacity: 0;
        transform: translateY(20px);
        animation: fadeInUp 0.6s ease-out forwards;
    }
    
    /* Stagger animations */
    .pa-service-group:nth-child(1) { animation-delay: 0.1s; }
    .pa-service-group:nth-child(2) { animation-delay: 0.2s; }
    .pa-service-group:nth-child(3) { animation-delay: 0.3s; }
    .pa-service-group:nth-child(4) { animation-delay: 0.4s; }
    
    .pa-why-us__card:nth-child(1) { animation-delay: 0.1s; }
    .pa-why-us__card:nth-child(2) { animation-delay: 0.2s; }
    .pa-why-us__card:nth-child(3) { animation-delay: 0.3s; }
    .pa-why-us__card:nth-child(4) { animation-delay: 0.4s; }
    .pa-why-us__card:nth-child(5) { animation-delay: 0.5s; }
    .pa-why-us__card:nth-child(6) { animation-delay: 0.6s; }
    
    .pa-faq__item:nth-child(1) { animation-delay: 0.05s; }
    .pa-faq__item:nth-child(2) { animation-delay: 0.1s; }
    .pa-faq__item:nth-child(3) { animation-delay: 0.15s; }
    .pa-faq__item:nth-child(4) { animation-delay: 0.2s; }
    .pa-faq__item:nth-child(5) { animation-delay: 0.25s; }
    .pa-faq__item:nth-child(6) { animation-delay: 0.3s; }
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ─── ENHANCED MICRO-INTERACTIONS (MEDIUM PRIORITY) ─── */

/* Service Group Card Enhancements */
.pa-service-group {
    position: relative;
    overflow: hidden;
}

.pa-service-group::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 4px;
    height: 0;
    background: linear-gradient(180deg, #F36F21, #FC914D);
    transition: height 0.3s ease;
}

.pa-service-group:hover::before {
    height: 100%;
}

.pa-service-group:hover h3 {
    color: #F36F21;
    transition: color 0.3s ease;
}

/* Why Choose Us Card Enhancements */
.pa-why-us__card {
    position: relative;
    overflow: hidden;
}

.pa-why-us__card::after {
    content: '';
    position: absolute;
    top: -50%;
    right: -50%;
    width: 100%;
    height: 100%;
    background: radial-gradient(circle, rgba(243, 111, 33, 0.05) 0%, transparent 70%);
    opacity: 0;
    transition: opacity 0.4s ease;
}

.pa-why-us__card:hover::after {
    opacity: 1;
}

.pa-why-us__card:hover .pa-why-us__card-icon {
    transform: scale(1.1) rotate(5deg);
    transition: transform 0.3s ease;
}

/* Pillar and Issue Tag Enhancements */
.pa-pillar,
.pa-issue-tag {
    position: relative;
    overflow: hidden;
}

.pa-pillar::after,
.pa-issue-tag::after {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(243, 111, 33, 0.05), transparent);
    transition: left 0.5s ease;
}

.pa-pillar:hover::after,
.pa-issue-tag:hover::after {
    left: 100%;
}

/* Button Ripple Effect */
.pa-sidebar__cta-btn,
.pa-bottom-cta__btn {
    position: relative;
    overflow: hidden;
}

.pa-sidebar__cta-btn::after,
.pa-bottom-cta__btn--primary::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
    transform: translate(-50%, -50%);
    transition: width 0.6s ease, height 0.6s ease;
}

.pa-sidebar__cta-btn:hover::after,
.pa-bottom-cta__btn--primary:hover::after {
    width: 300px;
    height: 300px;
}

/* Resource Link Icon Animation */
.pa-resources__link svg {
    transition: transform 0.3s ease;
}

.pa-resources__link:hover svg {
    transform: translateX(4px) translateY(-4px);
}

/* Badge Item Subtle Hover */
.pa-sidebar__badge-item {
    transition: background 0.2s ease, padding-left 0.2s ease;
    padding-left: 0;
    border-radius: 8px;
}

.pa-sidebar__badge-item:hover {
    background: rgba(243, 111, 33, 0.03);
    padding-left: 8px;
}

.pa-sidebar__badge-icon {
    transition: transform 0.3s ease, background 0.3s ease;
}

.pa-sidebar__badge-item:hover .pa-sidebar__badge-icon {
    transform: scale(1.05);
    background: rgba(43, 57, 144, 0.08);
}

/* Navigation Link Animation */
.pa-sidebar__nav-link {
    position: relative;
}

.pa-sidebar__nav-link::after {
    content: '';
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    width: 0;
    height: 2px;
    background: #F36F21;
    transition: width 0.3s ease;
}

.pa-sidebar__nav-link:hover::after {
    width: 20px;
}

.pa-sidebar__nav-link.is-active::after {
    width: 20px;
}

/* ─── IMPROVED WHITE SPACE (MEDIUM PRIORITY) ─── */
.pa-intro-section h1 {
    margin-top: 0;
    margin-bottom: 24px;
}

.pa-intro-section p {
    margin-bottom: 1.8rem;
}

.pa-intro-section ul,
.pa-intro-section ol {
    margin-bottom: 1.8rem;
}

.pa-intro-section li {
    margin-bottom: 0.85rem;
}

/* ─── SCROLL ANIMATIONS (MEDIUM PRIORITY) ─── */
@media (prefers-reduced-motion: no-preference) {
    .pa-section,
    .pa-service-group,
    .pa-why-us__card,
    .pa-faq__item {
        opacity: 0;
        transform: translateY(20px);
        animation: fadeInUp 0.6s ease-out forwards;
    }
    
    /* Stagger animations */
    .pa-service-group:nth-child(1) { animation-delay: 0.1s; }
    .pa-service-group:nth-child(2) { animation-delay: 0.2s; }
    .pa-service-group:nth-child(3) { animation-delay: 0.3s; }
    .pa-service-group:nth-child(4) { animation-delay: 0.4s; }
    
    .pa-why-us__card:nth-child(1) { animation-delay: 0.1s; }
    .pa-why-us__card:nth-child(2) { animation-delay: 0.2s; }
    .pa-why-us__card:nth-child(3) { animation-delay: 0.3s; }
    .pa-why-us__card:nth-child(4) { animation-delay: 0.4s; }
    .pa-why-us__card:nth-child(5) { animation-delay: 0.5s; }
    .pa-why-us__card:nth-child(6) { animation-delay: 0.6s; }
    
    .pa-faq__item:nth-child(1) { animation-delay: 0.05s; }
    .pa-faq__item:nth-child(2) { animation-delay: 0.1s; }
    .pa-faq__item:nth-child(3) { animation-delay: 0.15s; }
    .pa-faq__item:nth-child(4) { animation-delay: 0.2s; }
    .pa-faq__item:nth-child(5) { animation-delay: 0.25s; }
    .pa-faq__item:nth-child(6) { animation-delay: 0.3s; }
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ─── ENHANCED MICRO-INTERACTIONS (MEDIUM PRIORITY) ─── */

/* Service Group Card Enhancements */
.pa-service-group {
    position: relative;
    overflow: hidden;
}

.pa-service-group::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 4px;
    height: 0;
    background: linear-gradient(180deg, #F36F21, #FC914D);
    transition: height 0.3s ease;
}

.pa-service-group:hover::before {
    height: 100%;
}

.pa-service-group:hover h3 {
    color: #F36F21;
    transition: color 0.3s ease;
}

/* Why Choose Us Card Enhancements */
.pa-why-us__card {
    position: relative;
    overflow: hidden;
}

.pa-why-us__card::after {
    content: '';
    position: absolute;
    top: -50%;
    right: -50%;
    width: 100%;
    height: 100%;
    background: radial-gradient(circle, rgba(243, 111, 33, 0.05) 0%, transparent 70%);
    opacity: 0;
    transition: opacity 0.4s ease;
}

.pa-why-us__card:hover::after {
    opacity: 1;
}

.pa-why-us__card:hover .pa-why-us__card-icon {
    transform: scale(1.1) rotate(5deg);
    transition: transform 0.3s ease;
}

/* Pillar and Issue Tag Enhancements */
.pa-pillar,
.pa-issue-tag {
    position: relative;
    overflow: hidden;
}

.pa-pillar::after,
.pa-issue-tag::after {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(243, 111, 33, 0.05), transparent);
    transition: left 0.5s ease;
}

.pa-pillar:hover::after,
.pa-issue-tag:hover::after {
    left: 100%;
}

/* Button Ripple Effect */
.pa-sidebar__cta-btn,
.pa-bottom-cta__btn {
    position: relative;
    overflow: hidden;
}

.pa-sidebar__cta-btn::after,
.pa-bottom-cta__btn--primary::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
    transform: translate(-50%, -50%);
    transition: width 0.6s ease, height 0.6s ease;
}

.pa-sidebar__cta-btn:hover::after,
.pa-bottom-cta__btn--primary:hover::after {
    width: 300px;
    height: 300px;
}

/* Resource Link Icon Animation */
.pa-resources__link svg {
    transition: transform 0.3s ease;
}

.pa-resources__link:hover svg {
    transform: translateX(4px) translateY(-4px);
}

/* Badge Item Subtle Hover */
.pa-sidebar__badge-item {
    transition: background 0.2s ease, padding-left 0.2s ease;
    padding-left: 0;
    border-radius: 8px;
}

.pa-sidebar__badge-item:hover {
    background: rgba(243, 111, 33, 0.03);
    padding-left: 8px;
}

.pa-sidebar__badge-icon {
    transition: transform 0.3s ease, background 0.3s ease;
}

.pa-sidebar__badge-item:hover .pa-sidebar__badge-icon {
    transform: scale(1.05);
    background: rgba(43, 57, 144, 0.08);
}

/* Navigation Link Animation */
.pa-sidebar__nav-link {
    position: relative;
}

.pa-sidebar__nav-link::after {
    content: '';
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    width: 0;
    height: 2px;
    background: #F36F21;
    transition: width 0.3s ease;
}

.pa-sidebar__nav-link:hover::after {
    width: 20px;
}

.pa-sidebar__nav-link.is-active::after {
    width: 20px;
}

/* Real Estate Practice Area - Unique Content Sections */
/* Namespace: .pa-re- */

.pa-re-sections { margin-top: 10px; }

.pa-re-block {
    margin-bottom: 48px;
    padding-bottom: 48px;
    
}
.pa-re-block:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }

.pa-re-block__header { display: flex; align-items: flex-start; gap: 16px; margin-bottom: 20px; }

.pa-re-block__icon {
    width: 44px; height: 44px; min-width: 44px;
    border-radius: 10px; display: flex; align-items: center; justify-content: center;
    font-size: 1.15rem; color: #FFFFFF; margin-top: 2px;
}

.pa-re-block--commercial .pa-re-block__icon {  background: #F36F21;}
.pa-re-block--banking .pa-re-block__icon { background: #F36F21; }
.pa-re-block--zoning .pa-re-block__icon {  background: #F36F21;}
.pa-re-block--litigation .pa-re-block__icon {  background: #F36F21; }

.pa-re-block__title {
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(1.25rem, 2.2vw, 1.55rem);
    font-weight: 700; color: #2B3990; line-height: 1.3;
}

.pa-re-block__content { font-size: clamp(0.95rem, 1.4vw, 1.05rem); line-height: 1.75; color: #333333; }
.pa-re-block__content p { margin-bottom: 16px; }
.pa-re-block__content h3 {
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(0.95rem, 1.5vw, 1.1rem);
    font-weight: 700; color: #2B3990; margin-top: 24px; margin-bottom: 12px;
}
.pa-re-block__content ul { list-style: none; padding: 0; margin: 16px 0; display: grid; gap: 10px; }
.pa-re-block__content ul li {
    position: relative; padding-left: 28px;
    font-size: clamp(0.9rem, 1.3vw, 1rem); line-height: 1.65; color: #333333;
}
.pa-re-block__content ul li::before {
    content: ''; position: absolute; left: 0; top: 9px;
    width: 8px; height: 8px; border-radius: 50%; background: #F36F21;
}
.pa-re-block__content ul + p {
    margin-top: 16px; padding-top: 12px;
    border-top: 1px dashed #e0e2ea; font-style: italic; color: #444444;
}

@media (max-width: 600px) {
    .pa-re-block__header { flex-direction: column; gap: 10px; }
    .pa-re-block__icon { width: 38px; height: 38px; min-width: 38px; font-size: 1rem; }
}

/* ==========================================================================
   TEAM DIRECTORY PAGE STYLES
   Hirzel Law PLC
   Palette: Primary Blue #2B3990 | Dark Orange #F36F21 | Light Orange #FC914D
   Fonts: Montserrat (headings) | Open Sans (body)
   ========================================================================== */

/* --- CSS Variables (shared) --- */
:root {
    --tm-blue:          #2B3990;
    --tm-blue-dark:     #1a2563;
    --tm-blue-light:    #3d4faa;
    --tm-orange:        #F36F21;
    --tm-orange-light:  #FC914D;
    --tm-orange-hover:  #e05f10;
    --tm-charcoal:      #1a1a1a;
    --tm-dark-grey:     #333333;
    --tm-mid-grey:      #666666;
    --tm-light-grey:    #f5f5f5;
    --tm-border:        #e0e0e0;
    --tm-white:         #ffffff;
    --tm-radius:        4px;
    --tm-radius-lg:     8px;
    --tm-shadow:        0 2px 12px rgba(0, 0, 0, 0.08);
    --tm-shadow-hover:  0 8px 32px rgba(0, 0, 0, 0.12);
    --tm-transition:    0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* ==========================================================================
   TEAM DIRECTORY STYLES — ELEVATED REDESIGN v3
   ==========================================================================
   Replace lines 5135–5477 in style.css with the following.
   All CSS variables (--tm-*) remain unchanged from line 5114–5133.
   ========================================================================== */

/* ------------------------------------------------------------------
   DIRECTORY: Main wrapper — warm gradient that fades over ~700px
   ------------------------------------------------------------------ */
.tm-directory-main {
    position: relative;
    background: #ffffff;
    margin-top: 165px;
}

.tm-directory-main::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 700px;
    background:
        radial-gradient(ellipse 80% 50% at 15% 10%, rgba(43, 57, 144, 0.04) 0%, transparent 70%),
        radial-gradient(ellipse 60% 40% at 85% 5%, rgba(43, 57, 144, 0.03) 0%, transparent 60%),
        linear-gradient(180deg, #f0f1f5 0%, #f5f6f9 25%, rgba(255, 255, 255, 0) 100%);
    pointer-events: none;
    z-index: 0;
}

/* Abstract decorative ring (top-right) — removed per design review */
.tm-directory-main::after { display: none; }

/* Second decorative ring (left side — requires .tm-directory-main-ring div) */
.tm-directory-main-ring {
    position: absolute;
    top: 180px;
    left: -50px;
    width: 220px;
    height: 220px;
    border: 2px solid rgba(43, 57, 144, 0.04);
    border-radius: 50%;
    pointer-events: none;
    z-index: 0;
}

/* ------------------------------------------------------------------
   DIRECTORY: Page Header — Transparent, sits on gradient
   ------------------------------------------------------------------ */
.tm-directory-header {
    position: relative;
    z-index: 1;
    padding: 56px 0 24px;
    text-align: center;
    background: transparent;
}

.tm-directory-breadcrumb,
.tm-bio-breadcrumb {
    margin-bottom: 20px;
    font-family: "Open Sans", sans-serif;
    font-size: 0.82rem;
    color: #999999;
    letter-spacing: 0.02em;
}

.tm-directory-breadcrumb a,
.tm-bio-breadcrumb a {
    color: #2B3990;
    text-decoration: none;
    transition: color 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.tm-directory-breadcrumb a:hover,
.tm-directory-breadcrumb a:focus-visible,
.tm-bio-breadcrumb a:hover,
.tm-bio-breadcrumb a:focus-visible {
    color: #F36F21;
    text-decoration: underline;
}

.tm-directory-breadcrumb__sep,
.tm-bio-breadcrumb__sep {
    margin: 0 10px;
    color: #d0d0d0;
}

.tm-directory-breadcrumb__current,
.tm-bio-breadcrumb__current {
    color: #333333;
}

.tm-directory-header__title {
    font-family: "Montserrat", sans-serif;
    font-weight: 800;
    font-size: clamp(2.2rem, 3vw + 1rem, 3.4rem);
    color: #2B3990;
    line-height: 1.1;
    letter-spacing: -0.03em;
    margin-bottom: 16px;
}

.tm-directory-header__intro {
    max-width: 640px;
    margin: 0 auto;
    font-size: 1.05rem;
    color: #555555;
    line-height: 1.75;
}

.tm-directory-header__intro p { margin-bottom: 0; }

/* ------------------------------------------------------------------
   DIRECTORY: Section Headings — Centered with gradient accent bar
   ------------------------------------------------------------------ */
.tm-directory-section__heading {
    font-family: "Montserrat", sans-serif;
    font-weight: 800;
    font-size: clamp(1.6rem, 2.2vw + 0.5rem, 2.4rem);
    color: #2B3990;
    letter-spacing: -0.02em;
    text-align: center;
    margin-bottom: 12px;
    position: relative;
    padding-bottom: 20px;
}

.tm-directory-section__heading::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 4px;
    background: linear-gradient(90deg, #F36F21, #FC914D);
    border-radius: 2px;
}

/* Subtitle below section headings */
.tm-directory-section__subtitle {
    text-align: center;
    font-family: "Open Sans", sans-serif;
    font-size: 1rem;
    color: #888888;
    margin-bottom: 40px;
    letter-spacing: 0.01em;
}

/* ------------------------------------------------------------------
   DIRECTORY: Attorney Section
   ------------------------------------------------------------------ */
.tm-directory-attorneys {
    position: relative;
    z-index: 1;
    padding: 36px 0 72px;
    background: transparent;
}

/* ------------------------------------------------------------------
   DIRECTORY: Filter Controls — Centered pill bar
   ------------------------------------------------------------------ */
.tm-directory-filters {
    margin: 0 auto 48px;
    max-width: 900px;
}

.tm-directory-filters__row {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: flex-end;
    justify-content: center;
    padding: 24px 28px;
    background: #ffffff;
    border-radius: 12px;
    border: 1.5px solid #dde0ec;
    border-top: 4px solid #2B3990;
    box-shadow: 0 4px 20px rgba(43, 57, 144, 0.08);
}

.tm-directory-filters__group {
    flex: 1 1 180px;
    max-width: 240px;
}

.tm-directory-filters__group--reset {
    flex: 0 0 auto;
    max-width: none;
    padding-top: calc(0.68rem * 1.4 + 6px); /* matches label line-height + margin-bottom */
    display: flex;
    align-items: flex-end;
}

.tm-directory-filters__label {
    display: block;
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #2B3990;
    margin-bottom: 6px;
}

.tm-directory-filters__select {
    width: 100%;
    height: 42px;
    padding: 0 34px 0 14px;
    font-family: "Open Sans", sans-serif;
    font-size: 0.85rem;
    color: #333333;
    background: #ffffff;
    border: 1.5px solid #d0d4e0;
    border-radius: 8px;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath fill='%232B3990' d='M0 0l5 6 5-6z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.tm-directory-filters__select:hover {
    border-color: #2B3990;
}

.tm-directory-filters__select:focus-visible {
    outline: none;
    border-color: #2B3990;
    box-shadow: 0 0 0 3px rgba(43, 57, 144, 0.12);
}

.tm-directory-filters__reset {
    height: 42px;
    padding: 0 20px;
    font-family: "Open Sans", sans-serif;
    font-size: 0.82rem;
    font-weight: 600;
    color: #888888;
    background: #ffffff;
    border: 1.5px solid #d0d4e0;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.3s ease;
    white-space: nowrap;
}

.tm-directory-filters__reset:hover,
.tm-directory-filters__reset:focus-visible {
    color: #F36F21;
    border-color: #F36F21;
    background: rgba(243, 111, 33, 0.04);
}

.tm-directory-filters__reset i { margin-right: 6px; }

/* ------------------------------------------------------------------
   DIRECTORY: Grid
   ------------------------------------------------------------------ */
.tm-directory-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 36px 28px;
}

@media (min-width: 768px)  { .tm-directory-grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1200px) { .tm-directory-grid { grid-template-columns: repeat(4, 1fr); } }

/* ------------------------------------------------------------------
   DIRECTORY: Cards — Grayscale-to-color + diagonal corner accent
   ------------------------------------------------------------------ */
.tm-directory-card {
    transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94),
                box-shadow 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.tm-directory-card[hidden] { display: none; }

.tm-directory-card__link {
    display: block;
    text-decoration: none;
    color: inherit;
}

.tm-directory-card__link:focus-visible {
    outline: 3px solid #2B3990;
    outline-offset: 4px;
    border-radius: 12px;
}

.tm-directory-card__photo-wrap {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border-radius: 12px;
    background: #eef0f6;
    margin-bottom: 18px;
    box-shadow: 0 4px 16px rgba(43, 57, 144, 0.06);
    transition: box-shadow 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.tm-directory-card__link:hover .tm-directory-card__photo-wrap,
.tm-directory-card__link:focus .tm-directory-card__photo-wrap {
    box-shadow: 0 12px 36px rgba(43, 57, 144, 0.14);
}

/* Diagonal orange corner accent */
.tm-directory-card__photo-wrap::before {
    content: "";
    position: absolute;
    top: -2px;
    right: -2px;
    width: 56px;
    height: 56px;
    background: linear-gradient(135deg, transparent 50%, #F36F21 50%);
    z-index: 3;
    border-radius: 0 12px 0 0;
    opacity: 0;
    transform: translate(8px, -8px);
    transition: opacity 0.35s ease, transform 0.35s ease;
}

.tm-directory-card__link:hover .tm-directory-card__photo-wrap::before,
.tm-directory-card__link:focus .tm-directory-card__photo-wrap::before {
    opacity: 1;
    transform: translate(0, 0);
}

.tm-directory-card__photo {
    width: 100%;
    height: 100%;
    object-fit: cover;
     transition: transform 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94),
                filter 0.55s ease;
}

.tm-directory-card__link:hover .tm-directory-card__photo,
.tm-directory-card__link:focus .tm-directory-card__photo {
    transform: scale(1.06);
    filter: grayscale(0%) saturate(1.05);
}

.tm-directory-card__placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #eef0f6;
    color: #c0c5d4;
    font-size: 3.2rem;
}

/* ------------------------------------------------------------------
   DIRECTORY: Hover Overlay — Multi-office aware
   ------------------------------------------------------------------ */
.tm-directory-card__overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 0 10px 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    opacity: 0;
    transform: translateY(6px);
    transition: opacity 0.35s ease, transform 0.35s ease;
    pointer-events: none;
    z-index: 2;
}

.tm-directory-card__link:hover .tm-directory-card__overlay,
.tm-directory-card__link:focus .tm-directory-card__overlay {
    opacity: 1;
    transform: translateY(0);
}

/* Single pill (1–2 offices) */
.tm-directory-card__overlay-inner {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 14px;
    margin-bottom: 2px;
    background: rgba(43, 57, 144, 0.92);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    border-radius: 20px;
    max-width: 100%;
}

.tm-directory-card__overlay-icon {
    flex-shrink: 0;
    width: 13px;
    height: 13px;
    color: #FC914D;
}

.tm-directory-card__overlay-text {
    font-family: "Open Sans", sans-serif;
    font-size: 0.7rem;
    font-weight: 600;
    color: #ffffff;
    letter-spacing: 0.03em;
    line-height: 1.35;
    white-space: nowrap;
}

/* Stacked pills (3+ offices) */
.tm-directory-card__overlay-stack {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    justify-content: center;
    max-width: 100%;
}

.tm-directory-card__overlay-pill {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 11px;
    background: rgba(43, 57, 144, 0.92);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    border-radius: 16px;
}

.tm-directory-card__overlay-pill .tm-directory-card__overlay-icon {
    width: 11px;
    height: 11px;
}

.tm-directory-card__overlay-pill .tm-directory-card__overlay-text {
    font-size: 0.65rem;
}

/* ------------------------------------------------------------------
   DIRECTORY: Card Info
   ------------------------------------------------------------------ */
.tm-directory-card__info {
    text-align: center;
    padding: 0 4px;
}

.tm-directory-card__name {
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    font-size: 0.98rem;
    color: #2B3990;
    margin-bottom: 4px;
    line-height: 1.3;
    transition: color 0.3s ease;
}

.tm-directory-card__link:hover .tm-directory-card__name,
.tm-directory-card__link:focus .tm-directory-card__name {
    color: #2B3990;
}

.tm-directory-card__position {
    font-family: "Open Sans", sans-serif;
    font-size: 0.75rem;
    font-weight: 700;
    color: #F36F21;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    margin-bottom: 0;
}

/* ------------------------------------------------------------------
   DIRECTORY: No Results
   ------------------------------------------------------------------ */
.tm-directory-noresults {
    text-align: center;
    padding: 56px 20px;
    font-size: 1rem;
    color: #888888;
}

.tm-directory-noresults__reset {
    background: none;
    border: none;
    color: #2B3990;
    font-weight: 600;
    cursor: pointer;
    text-decoration: underline;
    font-size: inherit;
    font-family: inherit;
}

.tm-directory-noresults__reset:hover { color: #F36F21; }

/* ------------------------------------------------------------------
   DIRECTORY: Staff Section
   ------------------------------------------------------------------ */
.tm-directory-staff {
    padding: 72px 0 88px;
    background: #f6f7fb;
    position: relative;
    z-index: 1;
}

.tm-directory-staff::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 120px;
    height: 3px;
    background: linear-gradient(90deg, #2B3990, #3d4faa);
    border-radius: 2px;
}

.tm-directory-grid--staff .tm-directory-card__photo-wrap::before {
    display: none;
}

.tm-directory-grid--staff .tm-directory-card__photo {
    filter: none;
}

.tm-directory-grid--staff .tm-directory-card__link:hover .tm-directory-card__photo,
.tm-directory-grid--staff .tm-directory-card__link:focus .tm-directory-card__photo {
    transform: scale(1.04);
    filter: saturate(1.1);
}

/* ------------------------------------------------------------------
   DIRECTORY: Responsive
   ------------------------------------------------------------------ */
@media (max-width: 1100px) {
    .tm-directory-main { margin-top: 105px; }
}
@media (max-width: 768px) {
    .tm-directory-main { margin-top: 100px; }
    .tm-directory-header { padding: 40px 0 36px; }
    .tm-directory-attorneys { padding: 44px 0 52px; }
    .tm-directory-staff { padding: 52px 0 64px; }

    .tm-directory-filters { max-width: 100%; }

    .tm-directory-filters__row {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 12px 16px;
        padding: 18px 16px 16px;
        align-items: end;
        border-top-width: 3px;
    }

    .tm-directory-filters__group { max-width: 100%; flex: unset; }

    /* Reset button spans full width at bottom of grid */
    .tm-directory-filters__group--reset {
        grid-column: 1 / -1;
        display: flex;
        justify-content: flex-end;
    }

    .tm-directory-filters__reset { width: auto; padding: 0 20px; }

    .tm-directory-grid { grid-template-columns: repeat(2, 1fr); gap: 24px 20px; }

    .tm-directory-card__photo-wrap::before {
        width: 44px;
        height: 44px;
    }

    .tm-directory-main::after { display: none; }
    .tm-directory-main-ring { width: 140px; height: 140px; top: 120px; }
}

@media (max-width: 480px) {
    .tm-directory-filters__row {
        grid-template-columns: 1fr;
        gap: 10px;
    }
    .tm-directory-filters__group--reset { justify-content: stretch; }
    .tm-directory-filters__reset { width: 100%; justify-content: center; }
    .tm-directory-grid { grid-template-columns: 1fr; gap: 28px; }
    .tm-directory-card__photo-wrap { max-width: 300px; margin-left: auto; margin-right: auto; }
}

/* ==========================================================================
   SINGLE BIO PAGE STYLES
   Hirzel Law PLC — Updated with accordion sidebar, tab redesign,
   headshot treatment, highlights, watermark background, responsive
   ========================================================================== */

/* ------------------------------------------------------------------
   BIO: Hero Section
   ------------------------------------------------------------------ */
.tm-bio-hero {
    padding: 48px 0 56px;
    background: #F5F7F9;
    border-bottom: 1px solid #E2E6EA;
    margin-top: 165px;
}

/* Top Bar: Breadcrumbs + Back to Team */
.tm-bio-hero__topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 32px;
}

.tm-bio-breadcrumb {
    font-size: 0.82rem;
    color: #6F6F6F;
}

.tm-bio-breadcrumb a {
    color: #6F6F6F;
    text-decoration: none;
    transition: color 0.25s ease;
}

.tm-bio-breadcrumb a:hover,
.tm-bio-breadcrumb a:focus-visible {
    color: #2B3990;
}

.tm-bio-breadcrumb__sep {
    margin: 0 8px;
    color: #CCCCCC;
}

.tm-bio-breadcrumb__current {
    color: #2B3990;
    font-weight: 600;
}

/* Back to Team Link */
.tm-bio-hero__back-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    font-size: 0.82rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #2B3990;
    text-decoration: none;
    padding: 8px 16px;
    border: 2px solid #2B3990;
    border-radius: 6px;
    transition: background 0.25s ease, color 0.25s ease, transform 0.25s ease;
}

.tm-bio-hero__back-link:hover,
.tm-bio-hero__back-link:focus-visible {
    background: #2B3990;
    color: #FFFFFF;
    transform: translateX(-2px);
}

.tm-bio-hero__back-link i {
    font-size: 0.75rem;
    transition: transform 0.25s ease;
}

.tm-bio-hero__back-link:hover i {
    transform: translateX(-3px);
}

/* Hero Layout */
.tm-bio-hero__layout {
    display: grid;
    grid-template-columns: 300px 1fr;
    gap: 48px;
    align-items: start;
}

/* Photo — Enhanced Treatment */
.tm-bio-hero__photo-col {
    position: relative;
}

.tm-bio-hero__photo-frame {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;
    border-radius: 12px;
    overflow: hidden;
    background: #E8EBF0;
    box-shadow: 0 8px 32px rgba(43, 57, 144, 0.12),
                0 2px 8px rgba(0, 0, 0, 0.06);
}

.tm-bio-hero__photo-frame::before {
    content: '';
    position: absolute;
    top: -4px;
    left: -4px;
    right: -4px;
    bottom: -4px;
    border-radius: 14px;
    background: linear-gradient(135deg, #2B3990 0%, #F36F21 50%, #FC914D 100%);
    z-index: -1;
}

.tm-bio-hero__photo-accent {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 6px;
    background: linear-gradient(90deg, #F36F21, #FC914D);
    z-index: 2;
}

.tm-bio-hero__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.tm-bio-hero__photo-frame:hover .tm-bio-hero__img {
    transform: scale(1.03);
}

.tm-bio-hero__img-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 4rem;
    color: #CCCCCC;
}

/* Info Column */
.tm-bio-hero__name {
    font-family: "Montserrat", sans-serif;
    font-weight: 800;
    font-size: clamp(1.8rem, 2.5vw + 1rem, 2.8rem);
    color: #2B3990;
    line-height: 1.15;
    letter-spacing: -0.02em;
    margin-bottom: 8px;
}

.tm-bio-hero__position {
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #F36F21;
    margin-bottom: 16px;
}

/* Locations — Linked with Orange Dot Delimiter */
.tm-bio-hero__locations {
    font-size: 0.9rem;
    color: #666666;
    margin-bottom: 20px;
    line-height: 1.6;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px;
}

.tm-bio-hero__locations > i {
    color: #2B3990;
    margin-right: 8px;
}

.tm-bio-hero__loc-link {
    color: #333333;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.25s ease;
}

.tm-bio-hero__loc-link:hover,
.tm-bio-hero__loc-link:focus-visible {
    color: #2B3990;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.tm-bio-hero__loc-sep {
    display: inline-block;
    width: 7px;
    height: 7px;
    background: #F36F21;
    border-radius: 50%;
    margin: 0 10px;
    vertical-align: middle;
}

/* Contact */
.tm-bio-hero__contact {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-bottom: 20px;
}

.tm-bio-hero__contact-item {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 0.9rem;
    color: #333333;
    text-decoration: none;
    transition: color 0.25s ease;
}

.tm-bio-hero__contact-item:hover,
.tm-bio-hero__contact-item:focus-visible {
    color: #2B3990;
}

.tm-bio-hero__contact-item i {
    color: #2B3990;
    font-size: 1rem;
}

/* Social */
.tm-bio-hero__social {
    display: flex;
    gap: 12px;
    margin-bottom: 24px;
}

.tm-bio-hero__social-link {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #E2E6EA;
    border-radius: 50%;
    color: #888888;
    font-size: 0.95rem;
    text-decoration: none;
    transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.tm-bio-hero__social-link:hover,
.tm-bio-hero__social-link:focus-visible {
    border-color: #2B3990;
    color: #FFFFFF;
    background: #2B3990;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(43, 57, 144, 0.25);
}

/* Key Credentials / Bio Highlights */
.tm-bio-hero__highlights {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 4px;
}

.tm-bio-hero__highlight-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    background: rgba(43, 57, 144, 0.06);
    border: 1px solid rgba(43, 57, 144, 0.12);
    border-radius: 100px;
    font-size: 0.78rem;
    font-weight: 600;
    color: #2B3990;
    line-height: 1.3;
    max-width: 100%;
    overflow-wrap: break-word;
    word-break: break-word;
}

.tm-bio-hero__highlight-tag i {
    color: #F36F21;
    font-size: 0.7rem;
}

@media (max-width: 768px) {
    .tm-bio-tabs {
        flex-direction: column;
        gap: 8px;
    }

    .tm-bio-tabs__btn {
        width: 100%;
        text-align: center;
        padding: 14px 20px;
        font-size: 0.8rem;
    }
}

@media (max-width: 480px) {
    .tm-bio-tabs__btn {
        padding: 13px 16px;
        font-size: 0.78rem;
    }
}


/* ------------------------------------------------------------------
   BIO: Content Section (Tabs + Sidebar)
   ------------------------------------------------------------------ */
.tm-bio-content {
    position: relative;
    padding: 50px 0 210px 0;
    background: linear-gradient(180deg, #FFFFFF 0%, #F5F8F9 100%);
    overflow: hidden;
}

/* Watermark */
.tm-bio-content__watermark {
    position: absolute;
    bottom: -20px;
    left: 50%;
    transform: translateX(-50%);
    font-family: "Montserrat", sans-serif;
    font-weight: 900;
    font-size: clamp(5rem, 12vw, 10rem);
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: rgba(43, 57, 144, 0.03);
    white-space: nowrap;
    pointer-events: none;
    user-select: none;
    z-index: 0;
}

.tm-bio-content > .container {
    position: relative;
    z-index: 1;
}

.tm-bio-content__layout {
    display: grid;
    grid-template-columns: 1fr 340px;
    gap: 48px;
    align-items: start;
}

.tm-bio-content__main {
    min-width: 0;
    overflow: hidden;
}

/* ------------------------------------------------------------------
   BIO: Tab Buttons — Refined, Compact, Elegant
   ------------------------------------------------------------------ */
.tm-bio-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 32px;
}

.tm-bio-tabs__btn {
    padding: clamp(7px, 0.8vw, 12px) clamp(10px, 1.4vw, 22px);
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    font-size: clamp(0.58rem, 0.4rem + 0.55vw, 0.78rem);
    text-transform: uppercase;
    letter-spacing: clamp(0.03em, 0.05em, 0.06em);
    color: #2B3990;
    background: #FFFFFF;
    border: 1.5px solid #C8CCE0;
    border-radius: 0;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    transition: color 0.3s ease,
                background 0.3s ease,
                border-color 0.3s ease,
                transform 0.2s ease,
                box-shadow 0.3s ease;
    white-space: nowrap;
}

/* Hover sweep effect */
.tm-bio-tabs__btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: rgba(43, 57, 144, 0.04);
    transition: left 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    z-index: 0;
}

.tm-bio-tabs__btn:hover::before {
    left: 0;
}

.tm-bio-tabs__btn:hover {
    border-color: #2B3990;
    transform: translateY(-1px);
    box-shadow: 0 3px 12px rgba(43, 57, 144, 0.1);
}

.tm-bio-tabs__btn:focus-visible {
    outline: 3px solid #F36F21;
    outline-offset: 2px;
}

/* Active state */
.tm-bio-tabs__btn--active {
    background: #E5601A;
    border-color: #E5601A;
    color: #FFFFFF;
    box-shadow: 0 3px 14px rgba(243, 111, 33, 0.25);
    transform: translateY(-1px);
}

.tm-bio-tabs__btn--active::before {
    display: none;
}

.tm-bio-tabs__btn--active:hover {
    background: #D4560F;
    border-color: #D4560F;
    box-shadow: 0 4px 18px rgba(243, 111, 33, 0.3);
}

/* ------------------------------------------------------------------
   BIO: Tab Panels
   ------------------------------------------------------------------ */
.tm-bio-panels__panel {
    display: none;
}

.tm-bio-panels__panel--active {
    display: block;
    animation: tmBioFadeSlide 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

@keyframes tmBioFadeSlide {
    from { opacity: 0; transform: translateY(12px); }
    to   { opacity: 1; transform: translateY(0); }
}

.tm-bio-panels__content {
    padding: 0 0;
    max-width: 900px;
font-size: 0.95rem;
    line-height: 1.75;
    color: #333333;
    overflow-wrap: break-word;
    word-break: break-word;
}

.tm-bio-panels__content h2,
.tm-bio-panels__content h3,
.tm-bio-panels__content h4 {
    font-family: "Montserrat", sans-serif;
    color: #2B3990;
    margin-top: 1.5em;
    margin-bottom: 0.5em;
}

.tm-bio-panels__content h2:first-child,
.tm-bio-panels__content h3:first-child,
.tm-bio-panels__content h4:first-child {
    margin-top: 0;
}

.tm-bio-panels__content ul,
.tm-bio-panels__content ol {
    padding-left: 1.5em;
    margin-bottom: 1em;
}

.tm-bio-panels__content li {
    margin-bottom: 0.6em;
}

.tm-bio-panels__content a {
    color: #2B3990;
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: color 0.25s ease;
}

.tm-bio-panels__content a:hover {
    color: #F36F21;
}

.tm-bio-panels__content p {
    margin-bottom: 1em;
}

.tm-bio-panels__content p:last-child {
    margin-bottom: 0;
}


/* ------------------------------------------------------------------
   BIO: Sidebar — Accordion Design
   ------------------------------------------------------------------ */
.tm-bio-sidebar {
    position: sticky;
   
}

/* Accordion Block */
.tm-bio-accordion {
    background: #FFFFFF;
    border-radius: 10px;
    margin-bottom: 16px;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06),
                0 1px 3px rgba(0, 0, 0, 0.04);
    overflow: hidden;
    border: 1px solid #E8EBF0;
    transition: box-shadow 0.3s ease;
}

.tm-bio-accordion:hover {
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08),
                0 2px 6px rgba(0, 0, 0, 0.04);
}

.tm-bio-accordion__trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 18px 24px;
    background: none;
    border: none;
    cursor: pointer;
    text-align: left;
    transition: background 0.25s ease;
}

.tm-bio-accordion__trigger:hover {
    background: #F8F9FC;
}

.tm-bio-accordion__trigger:focus-visible {
    outline: 3px solid #F36F21;
    outline-offset: -3px;
    border-radius: 10px;
}

.tm-bio-accordion__heading {
    font-family: "Montserrat", sans-serif;
    font-weight: 800;
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #2B3990;
    margin: 0;
    padding: 0;
    border: none;
}

.tm-bio-accordion__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: rgba(43, 57, 144, 0.06);
    color: #2B3990;
    font-size: 0.65rem;
    flex-shrink: 0;
    transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94),
                background 0.25s ease;
}

.tm-bio-accordion--open .tm-bio-accordion__icon {
    transform: rotate(180deg);
    background: rgba(243, 111, 33, 0.1);
    color: #F36F21;
}

/* Accordion Body — height animated via JS */
.tm-bio-accordion__body {
    transition: height 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.tm-bio-accordion__inner {
    padding: 0 24px 20px;
}

/* Sidebar List */
.tm-bio-sidebar__list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.tm-bio-sidebar__list li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 10px 0;
    border-bottom: 1px solid #F0F2F5;
    font-size: 0.82rem;
    color: #333333;
    line-height: 1.5;
    overflow-wrap: break-word;
    word-break: break-word;
    min-width: 0;
}

.tm-bio-sidebar__list li:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.tm-bio-sidebar__list li i {
    color: #F36F21;
    font-size: 0.72rem;
    margin-top: 4px;
    flex-shrink: 0;
}

/* Sidebar WYSIWYG Content */
.tm-bio-sidebar__content p {
    margin: 0 0 8px 0;
    font-size: 0.82rem;
    line-height: 1.5;
    color: #333333;
    overflow-wrap: break-word;
    word-break: break-word;
}

.tm-bio-sidebar__content p:last-child {
    margin-bottom: 0;
}

.tm-bio-sidebar__content ul {
    margin: 4px 0 12px 18px;
    padding: 0;
}

.tm-bio-sidebar__content li {
    font-size: 0.82rem;
    line-height: 1.5;
    color: #333333;
    margin-bottom: 4px;
}

.tm-bio-sidebar__content a {
    color: #2B3990;
    text-decoration: underline;
    text-underline-offset: 2px;
    transition: color 0.25s ease;
}

.tm-bio-sidebar__content a:hover {
    color: #F36F21;
}

/* Contact CTA Card */
.tm-bio-sidebar__contact-card {
    background: linear-gradient(135deg, #2B3990 0%, #1E2A6E 100%);
    border-radius: 10px;
    padding: 28px;
    text-align: center;
    margin-top: 4px;
    box-shadow: 0 4px 20px rgba(43, 57, 144, 0.2);
}

.tm-bio-sidebar__contact-heading {
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    font-size: 1rem;
    color: #FFFFFF;
    margin-bottom: 16px;
}

.tm-bio-sidebar__contact-link {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: rgba(255, 255, 255, 0.85);
    text-decoration: none;
    font-size: 0.82rem;
    margin-bottom: 16px;
    transition: color 0.25s ease;
}

.tm-bio-sidebar__contact-link:hover {
    color: #FFFFFF;
}

.tm-bio-sidebar__contact-btn {
    display: inline-block;
    width: 100%;
    padding: 14px 24px;
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #2B3990;
    background: #FFFFFF;
    border-radius: 6px;
    text-decoration: none;
    text-align: center;
    transition: background 0.25s ease, color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
}

.tm-bio-sidebar__contact-btn:hover,
.tm-bio-sidebar__contact-btn:focus-visible {
    background: #F36F21;
    color: #FFFFFF;
    transform: translateY(-1px);
    box-shadow: 0 4px 16px rgba(243, 111, 33, 0.3);
}


/* ------------------------------------------------------------------
   BIO: Responsive
   ------------------------------------------------------------------ */

/* Tablet landscape */
@media (max-width: 1024px) {
    .tm-bio-hero__layout {
        grid-template-columns: 260px 1fr;
        gap: 36px;
    }

    .tm-bio-content__layout {
        grid-template-columns: 1fr;
    }

    .tm-bio-content__main {
        max-width: 100%;
    }

    .tm-bio-sidebar {
        position: static;
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
        gap: 16px;
    }

    .tm-bio-sidebar__contact-card {
        grid-column: 1 / -1;
    }
}

/* Tablet portrait */
@media (max-width: 768px) {
    .tm-bio-hero {
        padding: 28px 0 36px;
        margin-top: 180px;
    }

    .tm-bio-hero__topbar {
        flex-direction: column;
        align-items: center;
        gap: 12px;
        margin-bottom: 28px;
    }

    .tm-bio-breadcrumb {
        text-align: center;
    }

    .tm-bio-hero__back-link {
        font-size: 0.76rem;
        padding: 7px 14px;
    }

    .tm-bio-hero__layout {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    /* Center the photo column on mobile */
    .tm-bio-hero__photo-col {
        display: flex;
        justify-content: center;
    }

    .tm-bio-hero__photo-frame {
        max-width: 240px;
    }

    /* Center all hero info on mobile */
    .tm-bio-hero__info-col {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .tm-bio-hero__name {
        font-size: 1.8rem;
    }

    .tm-bio-hero__locations {
        justify-content: center;
    }

    .tm-bio-hero__contact {
        justify-content: center;
    }

    .tm-bio-hero__social {
        justify-content: center;
    }

    .tm-bio-hero__highlights {
        justify-content: center;
    }



    .tm-bio-panels__content {
        padding: 24px 0;
    }

    .tm-bio-content {
        padding: 40px 0 56px;
    }

    .tm-bio-sidebar {
        grid-template-columns: 1fr;
    }

    /* Watermark smaller on mobile */
    .tm-bio-content__watermark {
        font-size: clamp(3rem, 15vw, 5rem);
        bottom: -10px;
    }
}

/* Mobile small */
@media (max-width: 480px) {
    .tm-bio-hero {
        margin-top: 140px;
    }

    .tm-bio-hero__photo-frame {
        max-width: 200px;
    }

    .tm-bio-hero__contact {
        flex-direction: column;
        gap: 10px;
    }

    .tm-bio-hero__highlight-tag {
        font-size: 0.72rem;
        padding: 5px 12px;
    }

    .tm-bio-hero__loc-sep {
        width: 5px;
        height: 5px;
        margin: 0 6px;
    }


    .tm-bio-accordion__trigger {
        padding: 14px 16px;
    }

    .tm-bio-accordion__inner {
        padding: 0 16px 16px;
    }

    .tm-bio-sidebar__contact-card {
        padding: 20px;
    }

    .tm-bio-sidebar__contact-btn {
        padding: 12px 16px;
        font-size: 0.78rem;
    }

    .tm-bio-panels__content ul,
    .tm-bio-panels__content ol {
        padding-left: 1.2em;
    }
}


/* ==========================================================================
   TEAM MEMBER BIO — SUMMARY TAB FLEXIBLE CONTENT BLOCKS
   Classes match the template partial in bio-content-tabs-sidebar.php
   ========================================================================== */

/* ── Bio Introduction ── */

.tm-summary__intro p {
    margin-bottom: 12px;
}
.tm-summary__intro p:last-child {
    margin-bottom: 0;
}
.tm-summary__intro strong {
    color: #2B3990;
    font-weight: 700;
}

/* ── Pull Quote / Distinction ── */
.tm-summary__pullquote {
    position: relative;
    margin: 40px 0;
    padding: 28px 32px 28px 36px;
    background: linear-gradient(135deg, #2B3990 0%, #1e2a6b 100%);
    border-left: 5px solid #F36F21;
    border-radius: 0 8px 8px 0;
    color: #ffffff;
}
.tm-summary__pullquote p {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: clamp(1.05rem, 1.1rem + 0.2vw, 1.25rem);
    line-height: 1.55;
    letter-spacing: -0.01em;
    margin: 0;
}
.tm-summary__pullquote-label {
    display: inline-block;
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    font-size: 0.7rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #FC914D;
    margin-bottom: 10px;
}

/* ── Two-Column List Cards Grid ── */
.tm-summary__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 28px;
    margin: 36px 0;
}
@media (max-width: 640px) {
    .tm-summary__grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
}

/* ── Individual Card (used in two-col grid) ── */
.tm-summary__card {
    background: #f7f8fc;
    border-radius: 8px;
    padding: 24px 24px 20px;
    border-top: 3px solid #F36F21;
    transition: box-shadow 0.25s ease;
}
.tm-summary__card:hover {
    box-shadow: 0 6px 20px rgba(43, 57, 144, 0.1);
}
.tm-summary__card-heading {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: clamp(0.85rem, 0.9rem + 0.1vw, 0.95rem);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #2B3990;
    margin-bottom: 12px;
}
.tm-summary__card-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.tm-summary__card-list li {
    position: relative;
    padding-left: 18px;
    margin-bottom: 8px;
    font-size: 0.925rem;
    line-height: 1.55;
    color: #333333;
}
.tm-summary__card-list li:last-child {
    margin-bottom: 0;
}
.tm-summary__card-list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 8px;
    width: 7px;
    height: 7px;
    background: #F36F21;
    border-radius: 50%;
}

/* ── Card WYSIWYG Content (when using rich text instead of repeater) ── */
.tm-summary__card-content {
    font-size: 0.925rem;
    line-height: 1.55;
    color: #333333;
}
.tm-summary__card-content ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
.tm-summary__card-content ul li {
    position: relative;
    padding-left: 18px;
    margin-bottom: 8px;
    font-size: 0.925rem;
    line-height: 1.55;
    color: #333333;
}
.tm-summary__card-content ul li:last-child {
    margin-bottom: 0;
}
.tm-summary__card-content ul li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 8px;
    width: 7px;
    height: 7px;
    background: #F36F21;
    border-radius: 50%;
}
.tm-summary__card-content p {
    margin-bottom: 10px;
}
.tm-summary__card-content p:last-child {
    margin-bottom: 0;
}

/* ── Full-Width Content Block ── */
.tm-summary__wide-card {
    background: #f7f8fc;
    border-radius: 8px;
    padding: 28px 28px 24px;
    margin-bottom: 28px;
}
.tm-summary__wide-card:last-child {
    margin-bottom: 0;
}

/* Accent color variants */
.tm-summary__wide-card--blue {
    border-top: 3px solid #2B3990;
}
.tm-summary__wide-card--orange {
    border-top: 3px solid #F36F21;
}

.tm-summary__wide-card-heading {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: clamp(0.85rem, 0.9rem + 0.1vw, 0.95rem);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #2B3990;
    margin-bottom: 14px;
}
.tm-summary__wide-card-content {
    font-size: 0.925rem;
    line-height: 1.65;
    color: #333333;
}
.tm-summary__wide-card-content p {
    margin-bottom: 12px;
}
.tm-summary__wide-card-content p:last-child {
    margin-bottom: 0;
}
.tm-summary__wide-card-content em {
    font-style: italic;
    color: #2B3990;
}

/* ── Media Appearances (inline outlet list) ── */
.tm-summary__media-intro {
    font-size: 0.925rem;
    line-height: 1.65;
    color: #333333;
    margin-bottom: 12px;
}
.tm-summary__media-list {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 14px;
    margin-top: 8px;
    list-style: none;
    padding: 0;
}
.tm-summary__media-list li {
    font-size: 0.85rem;
    font-weight: 600;
    color: #555555;
    white-space: nowrap;
}
.tm-summary__media-list li::after {
    content: '\00B7';
    margin-left: 14px;
    color: #cccccc;
}
.tm-summary__media-list li:last-child::after {
    content: '';
    margin: 0;
}

/* ── Closing Statement ── */
.tm-summary__closing {
    font-size: clamp(1rem, 1.05rem + 0.15vw, 1.125rem);
    line-height: 1.7;
    margin-top: 12px;
    color: #333333;
}
.tm-summary__closing p {
    margin-bottom: 12px;
}
.tm-summary__closing p:last-child {
    margin-bottom: 0;
}

/* ============================================================
   ABOUT PAGE TEMPLATES — page-about.php & single-about.php
   Append this entire block to the end of style.css.
   ============================================================ */

/* 1. ABOUT HERO — FULL-PAGE */
.about-hero { position: relative; width: 100%; height: calc(100vh - 165px); min-height: 550px; overflow: hidden; background: #1a1f3d;  }
.about-hero__image-container { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 1; }
.about-hero__image { width: 100%; height: 100%; object-fit: cover; object-position: center 40%; transform-origin: 50% 40%; animation: aboutHeroZoom 20s cubic-bezier(0.25, 0.1, 0.25, 1) forwards; will-change: transform; }
@keyframes aboutHeroZoom { 0% { transform: scale(1); } 100% { transform: scale(1.06); } }
.about-hero__overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(to left, rgba(43, 57, 144, 0.00) 0%, rgba(43, 57, 144, 0.35) 35%, rgba(43, 57, 144, 0.55) 60%, rgba(43, 57, 144, 0.95) 100%); z-index: 2; }
.about-hero__content { position: relative; z-index: 3; height: 100%; display: flex; align-items: center; }
.about-hero__text { max-width: 680px; }
.about-hero__eyebrow { display: inline-block; font-family: 'Open Sans', sans-serif; font-size: clamp(0.7rem, 1vw, 0.825rem); font-weight: 700; letter-spacing: 0.15em; text-transform: uppercase; color: #ffffff; line-height: 1.55; margin-bottom: clamp(1.2rem, 2.5vh, 1.75rem); background: rgba(255, 255, 255, 0.1); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); border-left: 3px solid #F36F21; padding: clamp(10px, 1.5vh, 14px) clamp(14px, 2vw, 22px); opacity: 0; transform: translateY(18px); animation: aboutSlideUp 0.9s cubic-bezier(0.16, 1, 0.3, 1) 0.15s forwards; }
.about-hero__title { font-family: 'Montserrat', sans-serif; font-size: clamp(40px, 6vw, 72px); font-weight: 900; color: #ffffff; line-height: 1.05; margin-bottom: clamp(16px, 2.5vh, 28px); opacity: 0; transform: translateY(24px); animation: aboutSlideUp 1s cubic-bezier(0.16, 1, 0.3, 1) 0.35s forwards; }

.about-hero__title {   font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    font-size: clamp(3rem, 7vw, 6rem);
    color: #FFF;
    margin: 0 0 clamp(1.5rem, 3vh, 2rem) 0;
    line-height: 1.1;
    text-transform: uppercase;
    letter-spacing: -0.02em;
    }


.about-hero__subtitle { font-family: 'Montserrat', sans-serif; font-size: clamp(14px, 1.6vw, 18px); font-weight: 600; color: rgba(255, 255, 255, 0.9); letter-spacing: 0.05em; text-transform: uppercase; margin-bottom: 6px; opacity: 0; transform: translateY(18px); animation: aboutSlideUp 0.9s cubic-bezier(0.16, 1, 0.3, 1) 0.55s forwards; }
.about-hero__subtitle-2 { font-family: 'Montserrat', sans-serif; font-size: clamp(14px, 1.6vw, 18px); font-weight: 600; color: #FC914D; letter-spacing: 0.05em; text-transform: uppercase; margin-bottom: clamp(24px, 4vh, 40px); opacity: 0; transform: translateY(18px); animation: aboutSlideUp 0.9s cubic-bezier(0.16, 1, 0.3, 1) 0.65s forwards; }
.about-hero__cta { display: inline-flex; align-items: center; gap: 10px; padding: 16px 36px; background: #F36F21; color: #ffffff; font-family: 'Montserrat', sans-serif; font-size: 16px; font-weight: 700; border: none; border-radius: 6px; cursor: pointer; transition: background 0.3s ease, transform 0.2s ease, box-shadow 0.3s ease; box-shadow: 0 4px 16px rgba(243, 111, 33, 0.35); text-decoration: none; opacity: 0; animation: aboutFadeIn 1s ease 0.9s forwards; }
.about-hero__cta:hover { background: #e05f14; transform: translateY(-2px); box-shadow: 0 6px 24px rgba(243, 111, 33, 0.45); color: #ffffff; }
.about-hero__cta:focus-visible { outline: 3px solid #FC914D; outline-offset: 2px; }
.about-hero__cta svg { width: 18px; height: 18px; transition: transform 0.3s ease; }
.about-hero__cta:hover svg { transform: translateX(3px); }
@keyframes aboutSlideUp { to { opacity: 1; transform: translateY(0); } }
@keyframes aboutFadeIn { to { opacity: 1; } }

/* 2. ABOUT BODY */
.about-body { padding: clamp(50px, 7vw, 90px) 0; position: relative; }
.about-body::before { content: ''; position: absolute; top: 0; right: 0; width: 35%; height: 100%; background: linear-gradient(to left, rgba(43, 57, 144, 0.02) 0%, transparent 100%); pointer-events: none; }
.about-main { width: 66.66667%; float: left; padding-left: 20px; padding-right: 20px; }
.about-story__section-label { font-family: 'Open Sans', sans-serif; font-size: clamp(11px, 1vw, 13px); font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; color: #999999; margin-bottom: 10px; }
.about-story__heading { font-family: 'Montserrat', sans-serif; font-size: clamp(28px, 3.5vw, 42px); font-weight: 800; color: #2B3990; line-height: 1.15; margin-bottom: 28px; padding-bottom: 20px; border-bottom: 3px solid #F36F21;display: inline-block }
.about-story__content { font-size: clamp(15px, 0.9rem + 0.2vw, 17px); line-height: 1.85; color: #444444; max-width: 850px; }
.about-story__content p { margin-bottom: 22px; }
.about-story__content p:last-child { margin-bottom: 0; }
.about-story__content ul, .about-story__content ol { margin: 0 0 clamp(18px, 2.5vh, 26px) 0; padding-left: 24px; }
.about-story__content li { margin-bottom: 10px; padding-left: 4px; line-height: 1.75; }
.about-story__content ul li::marker { color: #F36F21; }
.about-story__content h2 { font-family: 'Montserrat', sans-serif; font-size: clamp(22px, 2.5vw, 30px); font-weight: 800; color: #2B3990; margin-top: 36px; margin-bottom: 16px; line-height: 1.2; }
.about-story__content h3 { font-family: 'Montserrat', sans-serif; font-size: clamp(18px, 2vw, 24px); font-weight: 700; color: #2B3990; margin-top: 30px; margin-bottom: 12px; line-height: 1.25; }



/* 3. ABOUT SIDEBAR (shared) */
.about-sidebar { width: 33.33333%; float: left; padding-left: 20px; padding-right: 20px; margin-top: 0}
.about-sidebar__nav { background: #ffffff; border: 1px solid #e0e2ec; border-top: 3px solid #2B3990; border-radius: 0 0 12px 12px; padding: 32px; margin-bottom: 28px; box-shadow: 0 4px 20px rgba(43, 57, 144, 0.06); position: relative; }
.about-sidebar__nav-title { font-family: 'Montserrat', sans-serif; font-size: 14px; font-weight: 700; color: #ffffff; text-transform: uppercase; letter-spacing: 1.5px; margin: -32px -32px 24px -32px; padding: 20px 32px; background: #2B3990; border-radius: 0 0 0 0; }

.about-sidebar__nav { background: #ffffff; border: 1px solid #e0e2ec; border-radius: 12px; overflow: hidden; padding: 0; margin-bottom: 28px; box-shadow: 0 4px 20px rgba(43, 57, 144, 0.06); position: relative; }
.about-sidebar__nav-title { font-family: 'Montserrat', sans-serif; font-size: 14px; font-weight: 700; color: #ffffff; text-transform: uppercase; letter-spacing: 1.5px; margin: 0; padding: 20px 32px; background: #2B3990; border-radius: 12px 12px 0 0; }
.about-sidebar__nav-list { list-style: none; padding: 20px 32px 24px; margin: 0; }
.about-sidebar__nav-link { display: flex; align-items: center; gap: 12px; padding: 14px 16px; font-size: 14px; font-weight: 500; color: #555555; border-radius: 6px; border-left: 3px solid transparent; transition: all 0.25s ease; text-decoration: none; }
.about-sidebar__nav-link::before { content: ''; display: block; width: 8px; height: 8px; border-radius: 50%; background: #d0d2de; flex-shrink: 0; transition: background 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease; }
.about-sidebar__nav-link:hover { background: #f8f9fc; color: #2B3990; border-left-color: #F36F21; }
.about-sidebar__nav-link:hover::before { background: #F36F21; transform: scale(1.3); }
.about-sidebar__nav-link.is-active { background: linear-gradient(90deg, rgba(243, 111, 33, 0.08) 0%, transparent 100%); color: #2B3990; font-weight: 700; border-left-color: #F36F21; }
.about-sidebar__nav-link.is-active::before { background: #F36F21; width: 10px; height: 10px; box-shadow: 0 0 0 3px rgba(243, 111, 33, 0.2); }


.about-sidebar__cta { background: #2B3990; border-radius: 12px; padding: 36px 32px; overflow: hidden; position: relative; box-shadow: 0 4px 16px rgba(43, 57, 144, 0.15); }
.about-sidebar__cta::before { content: ''; position: absolute; top: -20px; right: -20px; width: 100px; height: 100px; background: rgba(243, 111, 33, 0.15); border-radius: 50%; }
.about-sidebar__cta-title { font-family: 'Montserrat', sans-serif; font-size: clamp(20px, 2.2vw, 24px); font-weight: 700; color: #ffffff; margin-bottom: 14px; position: relative; line-height: 1.3; }
.about-sidebar__cta-text { font-size: clamp(14px, 1.3vw, 15px); color: rgba(255, 255, 255, 0.9); margin-bottom: 26px; line-height: 1.7; position: relative; }
.about-sidebar__cta-btn { display: block; width: 100%; padding: 16px 24px; background: #F36F21; color: #ffffff; font-family: 'Montserrat', sans-serif; font-size: 16px; font-weight: 700; text-align: center; border: none; border-radius: 8px; cursor: pointer; transition: background 0.25s ease, transform 0.2s ease, box-shadow 0.25s ease; position: relative; text-decoration: none; box-shadow: 0 2px 8px rgba(243, 111, 33, 0.3); }
.about-sidebar__cta-btn:hover { background: #e05f14; transform: translateY(-2px); color: #ffffff; box-shadow: 0 4px 12px rgba(243, 111, 33, 0.4); }
.about-sidebar__cta-btn:focus-visible { outline: 3px solid #FC914D; outline-offset: 2px; }
.about-sidebar__cta-phone { display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 18px; font-family: 'Montserrat', sans-serif; font-size: 14px; font-weight: 600; color: rgba(255, 255, 255, 0.85); position: relative; }
.about-sidebar__cta-phone a { color: #FC914D; font-weight: 700; text-decoration: none; }
.about-sidebar__cta-phone a:hover { color: #ffffff; }

/* 4. HORIZONTAL TIMELINE */
/* COMMUNITY INVOLVEMENT */
.about-involvement { padding: clamp(60px, 8vw, 100px) 0; background: #ffffff; position: relative; border-top: 1px solid #ebedf5}
.about-involvement__header { text-align: center; margin-bottom: 16px; }
.about-involvement__label { font-family: 'Open Sans', sans-serif; font-size: clamp(11px, 1vw, 13px); font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; color: #F36F21; margin-bottom: 10px; }
.about-involvement__title { font-family: 'Montserrat', sans-serif; font-size: clamp(28px, 4vw, 48px); font-weight: 800; color: #2B3990; line-height: 1.1; }
.about-involvement__intro { text-align: center; max-width: 720px; margin: 0 auto clamp(36px, 5vw, 56px); }
.about-involvement__intro p { font-size: clamp(15px, 1.1vw, 17px); color: #444444; line-height: 1.75; }
.about-involvement__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; max-width: 1200px; margin: 0 auto; }
.about-involvement__item { background: #f8fafb; border-radius: 12px; padding: clamp(28px, 3vw, 36px) clamp(24px, 2.5vw, 32px); border: 1px solid #ebedf5; transition: transform 0.3s ease, box-shadow 0.3s ease; position: relative; }
.about-involvement__item:hover { transform: translateY(-4px); box-shadow: 0 12px 32px rgba(43, 57, 144, 0.1); }
.about-involvement__icon { width: 52px; height: 52px; border-radius: 12px; background: linear-gradient(135deg, #2B3990 0%, #3a4db3 100%); display: flex; align-items: center; justify-content: center; margin-bottom: 18px; }
.about-involvement__icon i { font-size: 22px; color: #ffffff; }
.about-involvement__item-title { font-family: 'Montserrat', sans-serif; font-size: clamp(16px, 1.4vw, 19px); font-weight: 700; color: #2B3990; margin-bottom: 10px; }
.about-involvement__item-text { font-size: clamp(14px, 1vw, 15px); color: #555555; line-height: 1.7; }
.about-involvement__cta { text-align: center; margin-top: clamp(36px, 5vw, 56px); padding-top: clamp(28px, 4vw, 40px); border-top: 1px solid #ebedf5; max-width: 720px; margin-left: auto; margin-right: auto; }
.about-involvement__cta p { font-size: clamp(16px, 1.2vw, 18px); color: #333333; line-height: 1.75; font-weight: 500; }
.about-involvement__cta a { color: #F36F21; font-weight: 700; text-decoration: none; border-bottom: 2px solid rgba(243, 111, 33, 0.3); transition: border-color 0.25s ease, color 0.25s ease; }
.about-involvement__cta a:hover { border-color: #F36F21; color: #e05f14; }
.about-involvement__cta a:focus-visible { outline: 2px solid #FC914D; outline-offset: 2px; }

/* TIMELINE (VERTICAL) */
.about-timeline { padding: clamp(60px, 8vw, 100px) 0; background: #f6f7fb url('/wp-content/uploads/2026/02/6F4A5088.webp') center center / cover no-repeat; overflow: hidden; position: relative; }
.about-timeline::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: rgba(246, 247, 251, 0.88); pointer-events: none; z-index: 0; }
.about-timeline__header { text-align: center; margin-bottom: clamp(36px, 5vw, 56px); position: relative; z-index: 1; }
.about-timeline__label { font-family: 'Open Sans', sans-serif; font-size: clamp(11px, 1vw, 13px); font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; color: #F36F21; margin-bottom: 10px; }
.about-timeline__title { font-family: 'Montserrat', sans-serif; font-size: clamp(28px, 4vw, 48px); font-weight: 800; color: #2B3990; line-height: 1.1; }
.about-timeline__vertical { position: relative; z-index: 1; max-width: 900px; margin: 0 auto; }
.about-timeline__vertical::before { content: ''; position: absolute; left: 50%; top: 0; bottom: 0; width: 3px; background: linear-gradient(to bottom, rgba(43, 57, 144, 0.08) 0%, #2B3990 10%, #2B3990 90%, rgba(43, 57, 144, 0.08) 100%); transform: translateX(-50%); border-radius: 3px; }
.about-timeline__row { display: grid; grid-template-columns: 1fr 50px 1fr; align-items: center; margin-bottom: 12px; }
.about-timeline__row--left .about-timeline__row-card { grid-column: 1; text-align: right; padding-right: 24px; }
.about-timeline__row--left .about-timeline__row-node { grid-column: 2; }
.about-timeline__row--left .about-timeline__row-spacer { grid-column: 3; }
.about-timeline__row--right .about-timeline__row-spacer { grid-column: 1; }
.about-timeline__row--right .about-timeline__row-node { grid-column: 2; }
.about-timeline__row--right .about-timeline__row-card { grid-column: 3; text-align: left; padding-left: 24px; }
.about-timeline__row-node { display: flex; align-items: center; justify-content: center; }
.about-timeline__node { display: block; width: 16px; height: 16px; background: #F36F21; border: 3px solid #ffffff; border-radius: 50%; box-shadow: 0 0 0 3px rgba(243, 111, 33, 0.25), 0 2px 6px rgba(0,0,0,0.08); transition: transform 0.3s ease, box-shadow 0.3s ease; }
.about-timeline__row:hover .about-timeline__node { transform: scale(1.35); box-shadow: 0 0 0 5px rgba(243, 111, 33, 0.35), 0 3px 10px rgba(0,0,0,0.12); }
.about-timeline__row-card { transition: transform 0.3s ease; }
.about-timeline__row:hover .about-timeline__row-card { transform: translateY(-2px); }
.about-timeline__date { font-family: 'Montserrat', sans-serif; font-size: clamp(13px, 1.1vw, 15px); font-weight: 800; color: #F36F21; margin-bottom: 3px; }
.about-timeline__event { font-size: clamp(13px, 1vw, 15px); font-weight: 600; color: #2B3990; line-height: 1.45; }


/* 5. CORE VALUES */
.about-values { padding: clamp(60px, 8vw, 100px) 0; background: #ffffff; position: relative;  margin: 0 auto; }
.about-values::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background-image: url("data:image/svg+xml,%3Csvg width='100' height='100' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M50 10 Q60 25 50 40 Q40 55 50 70 Q60 85 50 100' fill='none' stroke='%232B3990' stroke-opacity='0.03' stroke-width='1'/%3E%3Cpath d='M20 0 Q30 20 20 40 Q10 60 20 80 Q30 100 20 120' fill='none' stroke='%232B3990' stroke-opacity='0.02' stroke-width='1'/%3E%3Cpath d='M80 0 Q90 15 80 30 Q70 45 80 60 Q90 75 80 90' fill='none' stroke='%232B3990' stroke-opacity='0.02' stroke-width='1'/%3E%3C/svg%3E"); opacity: 0.5; pointer-events: none; }
.about-values__header { text-align: center; margin-bottom: clamp(40px, 6vw, 60px); position: relative; }
.about-values__label { font-family: 'Open Sans', sans-serif; font-size: clamp(11px, 1vw, 13px); font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; color: #F36F21; margin-bottom: 10px; }
.about-values__title { font-family: 'Montserrat', sans-serif; font-size: clamp(28px, 4vw, 48px); font-weight: 800; color: #2B3990; line-height: 1.1; }
.about-values__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; position: relative; max-width:1200px; margin: 0 auto}

.about-values#single-about-page { padding: clamp(60px, 8vw, 100px) 0; background: red; position: relative; max-width:1200px; margin: 0 auto; }

.about-values__card {
    background: #2B3990;
    border-radius: 14px;
    padding: clamp(28px, 3vw, 40px);
    position: relative;
    overflow: hidden;
    transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.35s ease;
}
.about-values__card:hover { transform: translateY(-6px); box-shadow: 0 16px 40px rgba(43, 57, 144, 0.25); }
.about-values__card::before { content: ''; position: absolute; top: -30px; right: -30px; width: 100px; height: 100px; background: radial-gradient(circle, rgba(243, 111, 33, 0.25) 0%, transparent 70%); border-radius: 50%; transition: transform 0.4s ease; }
.about-values__card:hover::before { transform: scale(1.5); }
.about-values__number { font-family: 'Montserrat', sans-serif; font-size: clamp(40px, 5vw, 56px); font-weight: 900; color: rgba(255, 255, 255, 0.06); position: absolute; top: 14px; right: 20px; line-height: 1; }
.about-values__card-heading { font-family: 'Montserrat', sans-serif; font-size: clamp(18px, 2vw, 22px); font-weight: 800; color: #FC914D; margin-bottom: 12px; position: relative; text-transform: uppercase; letter-spacing: 0.03em; }
.about-values__card-text { font-size: clamp(14px, 1.2vw, 16px); color: rgba(255, 255, 255, 0.9); line-height: 1.65; position: relative; }

/* CORE VALUES — INLINE SHORTCODE VARIANT */
.about-values--inline { padding: 16px 0 20px; margin: 16px 0 24px; background: transparent; overflow: visible; }
.about-values--inline::before { display: none; }
.about-values--inline .about-values__header { display: none; }
.about-values--inline .about-values__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; max-width: 100%; }
.about-values--inline .about-values__card { background: #f8f9fd; border-radius: 8px; padding: 16px 18px; border: 1px solid #e0e2ea; box-shadow: none; overflow: visible; display: flex; flex-direction: row; align-items: center; gap: 12px; cursor: default; transition: none; position: relative; }
.about-values--inline .about-values__card:hover { transform: none; box-shadow: none; }
.about-values--inline .about-values__card::before { content: '\f562'; font-family: 'Font Awesome 6 Pro'; font-weight: 900; font-size: 15px; color: #F36F21; flex-shrink: 0; display: flex; align-items: center; justify-content: center; width: 34px; height: 34px; min-width: 34px; background: rgba(243, 111, 33, 0.1); border-radius: 7px; position: static; top: auto; right: auto; left: auto; bottom: auto; transform: none; opacity: 1; border-radius: 7px; line-height: 1; }
.about-values--inline .about-values__card:nth-child(1)::before { content: '\f562'; }
.about-values--inline .about-values__card:nth-child(2)::before { content: '\f140'; }
.about-values--inline .about-values__card:nth-child(3)::before { content: '\f086'; }
.about-values--inline .about-values__card:nth-child(4)::before { content: '\f0c0'; }
.about-values--inline .about-values__card:nth-child(5)::before { content: '\f005'; }
.about-values--inline .about-values__card:nth-child(6)::before { content: '\f06d'; }
.about-values--inline .about-values__number { display: none; }
.about-values--inline .about-values__card-heading { font-family: 'Montserrat', sans-serif; font-size: clamp(13px, 1.1vw, 15px); font-weight: 700; color: #2B3990; margin: 0; padding: 0; text-transform: uppercase; letter-spacing: 0.03em; position: static; line-height: 1.3; }
.about-values--inline .about-values__card-text { display: none; }

/* 6. SINGLE-ABOUT HERO (full-height) */
.about-sub-hero { position: relative; width: 100%; height: calc(100vh - 165px); min-height: 500px; overflow: hidden; background: #1a1f3d; background-size: cover; background-position: center; }
.about-sub-hero__overlay { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: linear-gradient(135deg, rgba(43, 57, 144, 0.92) 0%, rgba(43, 57, 144, 0.78) 40%, rgba(43, 57, 144, 0.6) 70%, rgba(43, 57, 144, 0.45) 100%); z-index: 1; }
.about-sub-hero .container { position: relative; z-index: 3; height: 100%; display: flex; flex-direction: column; justify-content: flex-end;padding-bottom: clamp(48px, 6vh, 80px); }
.about-sub-hero__breadcrumb { display: inline-block; font-family: 'Open Sans', sans-serif; font-size: clamp(0.7rem, 1vw, 0.825rem); font-weight: 700; letter-spacing: 0.15em; text-transform: uppercase; color: #ffffff; line-height: 1.55; margin-bottom: clamp(1.2rem, 2.5vh, 1.75rem); background: rgba(255, 255, 255, 0.1); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); border-left: 3px solid #F36F21; padding: clamp(10px, 1.5vh, 14px) clamp(14px, 2vw, 22px); }
.about-sub-hero__breadcrumb a { color: #ffffff; transition: color 0.25s ease; text-decoration: none; }
.about-sub-hero__breadcrumb a:hover { color: #FC914D; }
.about-sub-hero__breadcrumb a:focus-visible { outline: 2px solid #FC914D; outline-offset: 2px; }
.about-sub-hero__accent-line { display: none; }
.about-sub-hero__title { font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: clamp(3rem, 7vw, 6rem); color: #ffffff; line-height: 1.1; text-transform: uppercase; letter-spacing: -0.02em; margin-bottom: clamp(12px, 2vh, 20px); max-width: 750px; }
.about-sub-hero__subtitle { font-family: 'Open Sans', sans-serif; font-size: clamp(15px, 1.4vw, 18px); font-weight: 400; color: rgba(255, 255, 255, 0.85); letter-spacing: 0; text-transform: none; line-height: 1.7; margin-bottom: 0; max-width: 560px; }

/* 7. SINGLE-ABOUT BODY */
.about-sub-body { padding: clamp(50px, 7vw, 90px) 0; }
.about-sub-main { width: 66.66667%; float: left; padding-left: 20px; padding-right: 20px; }
.about-sub-main .entry-content { font-size: clamp(15px, 0.9rem + 0.2vw, 17px); line-height: 1.85; color: #444444; max-width: 700px; }
.about-sub-main .entry-content p { margin-bottom: 22px; }
.about-sub-main .entry-content h2 { font-family: 'Montserrat', sans-serif; font-size: clamp(22px, 2.5vw, 30px); font-weight: 800; color: #2B3990; margin-top: 40px; margin-bottom: 18px; line-height: 1.2; }
.about-sub-main .entry-content h3 { font-family: 'Montserrat', sans-serif; font-size: clamp(18px, 2vw, 24px); font-weight: 700; color: #2B3990; margin-top: 32px; margin-bottom: 14px; line-height: 1.25; }

/* 8. RESPONSIVE */
@media (max-width: 1024px) {
    .about-values__grid { grid-template-columns: repeat(2, 1fr); }
    .about-involvement__grid { grid-template-columns: repeat(2, 1fr); }
    .about-values--inline .about-values__grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 768px) {
    .about-hero { height: 65vh; min-height: 450px; margin-top: 100px; }
    .about-hero__overlay { background: linear-gradient(to bottom, rgba(43, 57, 144, 0.92) 0%, rgba(43, 57, 144, 0.80) 100%); }
    .about-main, .about-sidebar, .about-sub-main { width: 100%; float: none; }
    .about-sidebar { margin-top: 40px; }
    .about-sidebar__sticky { position: static; }
    .about-values__grid { grid-template-columns: 1fr; }
    .about-involvement__grid { grid-template-columns: 1fr; }
    .about-values--inline .about-values__grid { grid-template-columns: repeat(2, 1fr); }
    .about-timeline__vertical::before { left: 24px; }
    .about-timeline__row { grid-template-columns: 48px 1fr; }
    .about-timeline__row--left .about-timeline__row-card, .about-timeline__row--right .about-timeline__row-card { grid-column: 2; text-align: left; padding-left: 20px; padding-right: 0; }
    .about-timeline__row--left .about-timeline__row-node, .about-timeline__row--right .about-timeline__row-node { grid-column: 1; }
    .about-timeline__row--left .about-timeline__row-spacer, .about-timeline__row--right .about-timeline__row-spacer { display: none; }
    .about-sub-hero { height: 65vh; min-height: 400px; margin-top: 100px; background-position: center center; }
    .about-sub-hero__overlay { background: linear-gradient(to bottom, rgba(43, 57, 144, 0.92) 0%, rgba(43, 57, 144, 0.82) 100%); }
}
@media (max-width: 480px) {
    .about-hero { height: 60vh; min-height: 380px; }
    .about-values--inline .about-values__grid { grid-template-columns: 1fr; }
}

/* 9. REDUCED MOTION */
@media (prefers-reduced-motion: reduce) {
    .about-hero__image { animation: none; }
    .about-hero__eyebrow, .about-hero__title, .about-hero__subtitle, .about-hero__subtitle-2, .about-hero__cta { opacity: 1; transform: none; animation: none; }
}

/* ==========================================================================
   NEWS & MEDIA STYLES
   Hirzel Law, PLC
   
   Covers: index.php, single.php, archive.php, category.php, search.php
   Grid:   Skeleton CSS (layout only)
   Fonts:  Montserrat (headers), Open Sans (body)
   Colors: #2B3990 (blue), #F36F21 (dark orange), #FC914D (light orange)
   ========================================================================== */


/* ==========================================================================
   NEWS & MEDIA STYLES
   Hirzel Law, PLC
   
   Covers: index.php, single.php, archive.php, category.php, search.php
   Grid:   Skeleton CSS (layout only)
   Fonts:  Montserrat (headers), Open Sans (body)
   Colors: #2B3990 (blue), #F36F21 (dark orange), #FC914D (light orange)
   ========================================================================== */


/* ==========================================================================
   NEWS & MEDIA STYLES
   Hirzel Law, PLC
   
   Covers: index.php, single.php, archive.php, category.php, search.php
   Grid:   Skeleton CSS (layout only)
   Fonts:  Montserrat (headers), Open Sans (body)
   Colors: #2B3990 (blue), #F36F21 (dark orange), #FC914D (light orange)
   ========================================================================== */


/* ==========================================================================
   1. NEWS & MEDIA HUB (index.php) — HERO
   ========================================================================== */

.nm-hero {
    position: relative;
    background: #2B3990 url('/wp-content/uploads/2026/02/jason-dent-w3eFhqXjkZE-unsplash-copy.webp') center center / cover no-repeat;
    padding: clamp(5rem, 18vh, 8rem) 0 clamp(5rem, 12vh, 8rem);
    overflow: hidden;
    margin-top: 165px;
}

.nm-hero__overlay {
    position: absolute;
    inset: 0;
    background: rgba(43, 57, 144, 0.82);
    z-index: 1;
}

.nm-hero > .container {
    position: relative;
    z-index: 2;
}

.nm-hero::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -20%;
    width: 80%;
    height: 200%;
    background: radial-gradient(ellipse, rgba(243, 111, 33, 0.12) 0%, transparent 70%);
    pointer-events: none;
}

.nm-hero::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 6px;
    background: linear-gradient(90deg, #F36F21, #FC914D, #F36F21);
}

.nm-hero__supertitle {
    font-family: 'Open Sans', sans-serif;
    font-weight: 700;
    font-size: clamp(0.75rem, 1.2vw, 0.9375rem);
    color: #FC914D;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    margin-bottom: clamp(1rem, 2vh, 1.5rem);
    opacity: 0;
    animation: nmHeroFadeUp 0.8s 0.2s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.nm-hero__title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 900;
    font-size: clamp(3.5rem, 8vw, 7rem);
    color: #FFFFFF;
    line-height: 0.95;
    text-transform: uppercase;
    letter-spacing: -0.03em;
    margin-bottom: clamp(1.5rem, 3vh, 2.5rem);
    opacity: 0;
    animation: nmHeroFadeUp 0.8s 0.35s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.nm-hero__title span {
    display: block;
    color: #F36F21;
}

.nm-hero__description {
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    font-size: clamp(1.0625rem, 1.5vw, 1.25rem);
    color: rgba(255, 255, 255, 0.7);
    max-width: 560px;
    line-height: 1.7;
    opacity: 0;
    animation: nmHeroFadeUp 0.8s 0.5s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.nm-hero__stats {
    display: flex;
    flex-direction: column;
    gap: clamp(2rem, 4vh, 3rem);
    padding-top: clamp(1rem, 4vh, 3rem);
    opacity: 0;
    animation: nmHeroFadeUp 0.8s 0.65s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.nm-hero__stat {
    border-left: 3px solid #F36F21;
    padding-left: clamp(1rem, 2vw, 1.5rem);
}

.nm-hero__stat-number {
    font-family: 'Montserrat', sans-serif;
    font-weight: 900;
    font-size: clamp(2.5rem, 5vw, 3.5rem);
    color: #FFFFFF;
    line-height: 1;
    margin-bottom: 0.25rem;
}

.nm-hero__stat-label {
    font-family: 'Open Sans', sans-serif;
    font-weight: 600;
    font-size: clamp(0.8125rem, 1.2vw, 0.9375rem);
    color: rgba(255, 255, 255, 0.5);
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

@keyframes nmHeroFadeUp {
    from { opacity: 0; transform: translateY(30px); }
    to   { opacity: 1; transform: translateY(0); }
}


/* ==========================================================================
   2. STICKY FILTER NAV
   ========================================================================== */

.nm-filter {
    position: relative;
    z-index: 1000;
    background: #FFFFFF;
    border-bottom: 1px solid #E8E8E8;
    box-shadow: 0 2px 20px rgba(0, 0, 0, 0.06);
    width: 100%;
}

.nm-filter__inner {
    display: flex;
    align-items: center;
    gap: clamp(0.5rem, 2vw, 2rem);
    padding: clamp(0.75rem, 1.5vh, 1rem) 0;
    overflow-x: auto;
    scrollbar-width: none;
}

.nm-filter__inner::-webkit-scrollbar {
    display: none;
}

.nm-filter__btn {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: clamp(0.75rem, 1.2vw, 0.875rem);
    color: #666666;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    padding: 0.625rem 1.25rem;
    border: 2px solid transparent;
    border-radius: 0;
    background: none;
    cursor: pointer;
    white-space: nowrap;
    transition: all 0.3s ease;
}

.nm-filter__btn:hover {
    color: #2B3990;
}

.nm-filter__btn:focus-visible {
    outline: none;
}

.nm-filter__btn:focus-visible {
    outline: 3px solid #F36F21;
    outline-offset: 2px;
}

.nm-filter__btn.is-active {
    color: #2B3990;
    border-bottom: 3px solid #F36F21;
}


/* ==========================================================================
   3. SHARED SECTION HEADER
   ========================================================================== */

.nm-section-header {
    margin-bottom: clamp(2.5rem, 6vh, 4rem);
}

.nm-section-label {
    font-family: 'Open Sans', sans-serif;
    font-weight: 700;
    font-size: clamp(0.75rem, 1.2vw, 0.875rem);
    color: #F36F21;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    margin-bottom: 0.75rem;
}

.nm-section-title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    font-size: clamp(2.25rem, 5vw, 4rem);
    color: #2B3990;
    line-height: 1.05;
    text-transform: uppercase;
    letter-spacing: -0.02em;
}


/* ==========================================================================
   4. BLOG POSTS — FEATURED (index.php)
   ========================================================================== */

.nm-blogs {
    padding: clamp(4rem, 10vh, 7rem) 0;
    background: #FFFFFF;
}

.nm-blog-featured {
    position: relative;
    display: flex;
    background: #F8F9FA;
    overflow: hidden;
    margin-bottom: clamp(2rem, 4vh, 3rem);
    transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}

.nm-blog-featured:hover {
    box-shadow: 0 20px 60px rgba(43, 57, 144, 0.12);
    transform: translateY(-4px);
}

.nm-blog-featured__image {
    flex: 0 0 45%;
    min-height: 360px;
    background-size: cover;
    background-position: center;
    position: relative;
}

.nm-blog-featured__image::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(43, 57, 144, 0.3) 0%, transparent 60%);
}

.nm-blog-featured__content {
    flex: 1;
    padding: clamp(2rem, 4vw, 3.5rem);
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.nm-blog-featured__source {
    font-family: 'Open Sans', sans-serif;
    font-weight: 700;
    font-size: clamp(0.6875rem, 1vw, 0.8125rem);
    color: #F36F21;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    margin-bottom: clamp(0.75rem, 1.5vh, 1rem);
}

.nm-blog-featured__title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    font-size: clamp(1.5rem, 3vw, 2.25rem);
    color: #2B3990;
    line-height: 1.2;
    margin-bottom: clamp(1rem, 2vh, 1.5rem);
}

.nm-blog-featured__excerpt {
    font-family: 'Open Sans', sans-serif;
    font-size: clamp(0.9375rem, 1.3vw, 1.0625rem);
    color: #555555;
    line-height: 1.7;
    margin-bottom: clamp(1.5rem, 3vh, 2rem);
}

.nm-blog-featured__meta {
    font-family: 'Open Sans', sans-serif;
    font-weight: 600;
    font-size: clamp(0.8125rem, 1vw, 0.875rem);
    color: #999999;
}


/* ==========================================================================
   5. BLOG CARD (shared component — index, archive, category, search)
   ========================================================================== */

.nm-blog-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(1.5rem, 3vw, 2rem);
    margin-bottom: clamp(2rem, 4vh, 3rem);
}

.nm-blog-card {
    background: #FFFFFF;
    border: 2px solid #EEEEEE;
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.nm-blog-card:hover {
    border-color: #F36F21;
    transform: translateY(-6px);
    box-shadow: 0 15px 40px rgba(43, 57, 144, 0.1);
}

.nm-blog-card__image {
    height: 180px;
    background-size: cover;
    background-position: center;
    position: relative;
    background-color: #2B3990;
}

.nm-blog-card__image::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 50%;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.15), transparent);
}

/* Blog card fallback (no featured image) */
.nm-blog-card__fallback {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #1a2560 0%, #2B3990 60%, #3d4db3 100%);
}

.nm-blog-card__fallback i {
    font-size: 48px;
    color: rgba(255, 255, 255, 0.18);
}

.nm-blog-card__fallback svg {
    width: 48px;
    height: 48px;
    fill: rgba(255, 255, 255, 0.18);
}

.nm-blog-card__body {
    padding: clamp(1.25rem, 2.5vw, 1.75rem);
}

.nm-blog-card__source {
    font-family: 'Open Sans', sans-serif;
    font-weight: 700;
    font-size: clamp(0.625rem, 0.9vw, 0.75rem);
    color: #F36F21;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 0.625rem;
}

.nm-blog-card__title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: clamp(1rem, 1.5vw, 1.1875rem);
    color: #2B3990;
    line-height: 1.3;
    margin-bottom: 0.75rem;
}

.nm-blog-card__excerpt {
    font-family: 'Open Sans', sans-serif;
    font-size: clamp(0.875rem, 1.2vw, 0.9375rem);
    color: #666666;
    line-height: 1.6;
    margin-bottom: 0.75rem;
}

.nm-blog-card__date {
    font-family: 'Open Sans', sans-serif;
    font-weight: 600;
    font-size: clamp(0.75rem, 1vw, 0.8125rem);
    color: #AAAAAA;
}

.nm-blog-card__cta-arrow {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: clamp(0.75rem, 1vw, 0.8125rem);
    color: #F36F21;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-top: 1rem;
    transition: gap 0.3s ease;
}

.nm-blog-card:hover .nm-blog-card__cta-arrow {
    gap: 0.875rem;
}

/* Category badge on blog cards */
.nm-blog-card__category {
    display: inline-block;
    font-family: 'Open Sans', sans-serif;
    font-weight: 700;
    font-size: 0.625rem;
    color: #FFFFFF;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    background: #2B3990;
    padding: 0.25rem 0.625rem;
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 2;
}


/* ==========================================================================
   6. LOAD MORE / PAGINATION
   ========================================================================== */

.nm-load-more {
    text-align: center;
}

.nm-load-more__btn {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: clamp(0.8125rem, 1.2vw, 0.9375rem);
    color: #2B3990;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    padding: 1rem 2.5rem;
    background: none;
    border: 3px solid #2B3990;
    cursor: pointer;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.nm-load-more__btn:hover {
    background: #2B3990;
    color: #FFFFFF;
}

.nm-load-more__btn:focus-visible {
    outline: 3px solid #F36F21;
    outline-offset: 4px;
}


/* ==========================================================================
   6b. HIRZEL LAW NEWS SECTION (firm-specific posts)
   ========================================================================== */

.nm-firm-news {
    padding: clamp(4rem, 10vh, 7rem) 0;
    background: #F8F9FA;
    border-top: 1px solid #E8E8E8;
}

/* Standard WordPress pagination */
.nm-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;
    padding: clamp(3rem, 6vh, 5rem) 0;
}

.nm-pagination a,
.nm-pagination span {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: clamp(0.8125rem, 1.2vw, 0.9375rem);
    padding: 0.75rem 1.125rem;
    border: 2px solid #EEEEEE;
    color: #2B3990;
    transition: all 0.3s ease;
}

.nm-pagination a:hover {
    background: #2B3990;
    border-color: #2B3990;
    color: #FFFFFF;
}

.nm-pagination a:focus-visible {
    outline: 3px solid #F36F21;
    outline-offset: 2px;
}

.nm-pagination .current {
    background: #2B3990;
    border-color: #2B3990;
    color: #FFFFFF;
}


/* ==========================================================================
   7. AS SEEN ON MEDIA BANNER
   ========================================================================== */

.nm-as-seen {
    padding: clamp(3rem, 6vh, 5rem) 0;
    background: #2B3990;
    position: relative;
    overflow: hidden;
}

.nm-as-seen::before {
    content: '';
    position: absolute;
    inset: 0;
    background: repeating-linear-gradient(
        90deg,
        transparent,
        transparent 120px,
        rgba(255, 255, 255, 0.02) 120px,
        rgba(255, 255, 255, 0.02) 121px
    );
    pointer-events: none;
}

.nm-as-seen__title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    font-size: clamp(0.8125rem, 1.2vw, 1rem);
    color: rgba(255, 255, 255, 0.4);
    text-transform: uppercase;
    letter-spacing: 0.25em;
    text-align: center;
    margin-bottom: clamp(2rem, 4vh, 3rem);
}

.nm-as-seen__logos {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: clamp(2rem, 5vw, 4.5rem);
}

.nm-as-seen__logo {
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    font-size: clamp(1rem, 2vw, 1.375rem);
    color: rgba(255, 255, 255, 0.35);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    transition: color 0.4s ease;
    white-space: nowrap;
}

.nm-as-seen__logo:hover {
    color: rgba(255, 255, 255, 0.85);
}

/* When using actual logo images */
.nm-as-seen__logo img {
    height: clamp(35px, 6vw, 50px);
    width: auto;
    filter: brightness(0) invert(1) opacity(0.35);
    transition: filter 0.4s ease;
}

.nm-as-seen__logo:hover img {
    filter: brightness(0) invert(1) opacity(0.85);
}


/* ==========================================================================
   8. VIDEO / TV INTERVIEWS SECTION
   ========================================================================== */

.nm-video {
    padding: clamp(5rem, 12vh, 8rem) 0;
    background: #F8F9FA;
}

.nm-video-featured {
    margin-bottom: clamp(3rem, 6vh, 5rem);
}

.nm-video-featured__player {
    position: relative;
    width: 100%;
    padding-bottom: 56.25%;
    background: #1a1a2e;
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(43, 57, 144, 0.2);
}

.nm-video-featured__player iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

.nm-video-playlist {
    display: flex;
    flex-direction: column;
    gap: 0;
    height: 100%;
    background: #2B3990;
    overflow-y: auto;
}

.nm-video-playlist__item {
    display: flex;
    align-items: center;
    gap: clamp(0.75rem, 1.5vw, 1rem);
    padding: clamp(0.875rem, 1.5vh, 1.125rem) clamp(1rem, 2vw, 1.25rem);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    cursor: pointer;
    transition: background 0.3s ease;
}

.nm-video-playlist__item:hover,
.nm-video-playlist__item.is-active {
    background: rgba(243, 111, 33, 0.15);
}

.nm-video-playlist__item:focus-visible {
    outline: 2px solid #FC914D;
    outline-offset: -2px;
}

.nm-video-playlist__item.is-active {
    border-left: 3px solid #F36F21;
}

.nm-video-playlist__num {
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    font-size: clamp(0.75rem, 1vw, 0.875rem);
    color: rgba(255, 255, 255, 0.25);
    flex-shrink: 0;
    width: 1.5rem;
}

.nm-video-playlist__info {
    display: flex;
    flex-direction: column;
}

.nm-video-playlist__title {
    font-family: 'Open Sans', sans-serif;
    font-weight: 600;
    font-size: clamp(0.75rem, 1.1vw, 0.875rem);
    color: rgba(255, 255, 255, 0.8);
    line-height: 1.4;
}

.nm-video-playlist__item.is-active .nm-video-playlist__title {
    color: #FFFFFF;
}

.nm-video-playlist__outlet {
    font-family: 'Open Sans', sans-serif;
    font-weight: 700;
    font-size: clamp(0.5625rem, 0.8vw, 0.6875rem);
    color: #FC914D;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-top: 0.125rem;
}

/* Video card grid */
.nm-video-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(1.5rem, 3vw, 2rem);
}

.nm-video-card {
    position: relative;
    overflow: hidden;
    cursor: pointer;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.nm-video-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 40px rgba(43, 57, 144, 0.12);
}

.nm-video-card__thumb {
    position: relative;
    padding-bottom: 56.25%;
    background-size: cover;
    background-position: center;
    background-color: #1a1a2e;
}

.nm-video-card__play {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 56px;
    height: 56px;
    background: rgba(243, 111, 33, 0.9);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.nm-video-card__play::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 8px 0 8px 14px;
    border-color: transparent transparent transparent #FFFFFF;
    margin-left: 3px;
}

.nm-video-card:hover .nm-video-card__play {
    background: #F36F21;
    transform: translate(-50%, -50%) scale(1.1);
}

.nm-video-card__outlet {
    position: absolute;
    top: 12px;
    left: 12px;
    font-family: 'Open Sans', sans-serif;
    font-weight: 700;
    font-size: 0.625rem;
    color: #FFFFFF;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    background: rgba(43, 57, 144, 0.85);
    padding: 0.25rem 0.625rem;
    backdrop-filter: blur(4px);
}

.nm-video-card__body {
    background: #FFFFFF;
    padding: clamp(1rem, 2vw, 1.5rem);
}

.nm-video-card__title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: clamp(0.875rem, 1.3vw, 1.0625rem);
    color: #2B3990;
    line-height: 1.35;
}


/* ==========================================================================
   9. PRINT ARTICLES & RADIO
   ========================================================================== */

.nm-print {
    padding: clamp(5rem, 12vh, 8rem) 0;
    background: #FFFFFF;
}

.nm-print-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: clamp(1.25rem, 2.5vw, 1.75rem);
}

.nm-print-card {
    background: #FFFFFF;
    border: 2px solid #EEEEEE;
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.nm-print-card:hover {
    border-color: #2B3990;
    transform: translateY(-5px);
    box-shadow: 0 12px 35px rgba(43, 57, 144, 0.1);
}

.nm-print-card__image {
    height: 160px;
    background-size: cover;
    background-position: center top;
    background-color: #F0F0F0;
    position: relative;
}

.nm-print-card__badge {
    position: absolute;
    bottom: 10px;
    left: 10px;
    font-family: 'Open Sans', sans-serif;
    font-weight: 700;
    font-size: 0.5625rem;
    color: #FFFFFF;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    background: #2B3990;
    padding: 0.25rem 0.5rem;
}

.nm-print-card__badge--radio {
    background: #F36F21;
}

.nm-print-card__body {
    padding: clamp(1rem, 2vw, 1.25rem);
}

.nm-print-card__outlet {
    font-family: 'Open Sans', sans-serif;
    font-weight: 700;
    font-size: clamp(0.5625rem, 0.8vw, 0.6875rem);
    color: #F36F21;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 0.5rem;
}

.nm-print-card__title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: clamp(0.8125rem, 1.2vw, 0.9375rem);
    color: #2B3990;
    line-height: 1.35;
}


/* ==========================================================================
   10. CTA BANNER (shared across all news templates)
   ========================================================================== */

.nm-cta {
    padding: clamp(4rem, 10vh, 7rem) 0;
    background: linear-gradient(135deg, #2B3990 0%, #1a2266 100%);
    text-align: center;
    position: relative;
    overflow: hidden;
}

.nm-cta::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 200%;
    height: 100%;
    background: radial-gradient(ellipse at center top, rgba(243, 111, 33, 0.1), transparent 60%);
    pointer-events: none;
}

.nm-cta__title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 900;
    font-size: clamp(2rem, 5vw, 3.5rem);
    color: #FFFFFF;
    text-transform: uppercase;
    letter-spacing: -0.02em;
    margin-bottom: clamp(1rem, 2vh, 1.5rem);
    line-height: 1.1;
}

.nm-cta__text {
    font-family: 'Open Sans', sans-serif;
    font-size: clamp(1rem, 1.5vw, 1.125rem);
    color: rgba(255, 255, 255, 0.65);
    max-width: 520px;
    margin: 0 auto clamp(2rem, 4vh, 3rem);
    line-height: 1.7;
}

.nm-cta__btn {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    font-size: clamp(0.875rem, 1.2vw, 1rem);
    color: #2B3990;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    padding: clamp(1rem, 2vh, 1.25rem) clamp(2rem, 4vw, 3rem);
    background: #F36F21;
    border: none;
    cursor: pointer;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.nm-cta__btn:hover {
    background: #FC914D;
    transform: translateY(-3px);
    box-shadow: 0 12px 30px rgba(243, 111, 33, 0.4);
}

.nm-cta__btn:focus-visible {
    outline: 3px solid #FFFFFF;
    outline-offset: 4px;
}


/* ==========================================================================
   11. SINGLE POST (single.php)
   ========================================================================== */

.nm-single-hero {
  position: relative;
  background: #2B3990;
  overflow: hidden;

  margin-top: 165px;
  padding: 100px 0;
}

.nm-single-hero .container {
  width: 100%;
}



.nm-single-hero::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(90deg, #F36F21, #FC914D);
}

.nm-single-hero__category {
    display: inline-block;
    font-family: 'Open Sans', sans-serif;
    font-weight: 700;
    font-size: clamp(0.6875rem, 1vw, 0.8125rem);
    color: #FC914D;
    text-transform: none;
    letter-spacing: 0.15em;
    margin-bottom: clamp(1rem, 2vh, 1.5rem);
}

.nm-single-hero__category a {
    color: #FC914D;
    transition: color 0.3s ease;
}

.nm-single-hero__category a:hover {
    color: #FFFFFF;
}

.nm-single-hero__title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    font-size: clamp(2rem, 5vw, 3.5rem);
    color: #FFFFFF;
    line-height: 1.15;
    max-width: 100%;
    margin-bottom: clamp(1.5rem, 3vh, 2rem);

}

.nm-single-hero__meta {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    flex-wrap: wrap;
}

.nm-single-hero__meta-item {
    font-family: 'Open Sans', sans-serif;
    font-weight: 600;
    font-size: clamp(0.8125rem, 1.1vw, 0.9375rem);
    color: rgba(255, 255, 255, 0.5);
}

.nm-single-hero__meta-item i {
    margin-right: 0.375rem;
    color: #F36F21;
}

/* Post body */
.nm-single-body {
    padding: clamp(3rem, 7vh, 5rem) 0;
}

.nm-single-content {
    font-family: 'Open Sans', sans-serif;
    font-size: clamp(1rem, 1.3vw, 1.125rem);
    color: #333333;
    line-height: 1.8;
}

.nm-single-content h2 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    font-size: clamp(1.5rem, 3vw, 2rem);
    color: #2B3990;
    margin: clamp(2rem, 4vh, 3rem) 0 clamp(1rem, 2vh, 1.25rem);
    line-height: 1.2;
}

.nm-single-content h3 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: clamp(1.25rem, 2.5vw, 1.625rem);
    color: #2B3990;
    margin: clamp(1.75rem, 3.5vh, 2.5rem) 0 clamp(0.75rem, 1.5vh, 1rem);
    line-height: 1.25;
}

.nm-single-content p {
    margin-bottom: clamp(1.25rem, 2.5vh, 1.75rem);
}

.nm-single-content a {
    color: #F36F21;
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: color 0.3s ease;
}

.nm-single-content a:hover {
    color: #2B3990;
}

.nm-single-content a:focus-visible {
    outline: 3px solid #F36F21;
    outline-offset: 2px;
}

.nm-single-content ul,
.nm-single-content ol {
    margin: 0 0 clamp(1.25rem, 2.5vh, 1.75rem) clamp(1.5rem, 3vw, 2rem);
}

.nm-single-content li {
    margin-bottom: 0.5rem;
}

.nm-single-content blockquote {
    border-left: 4px solid #F36F21;
    padding: clamp(1rem, 2vh, 1.5rem) clamp(1.25rem, 2.5vw, 2rem);
    margin: clamp(1.5rem, 3vh, 2.5rem) 0;
    background: #F8F9FA;
    font-style: italic;
    color: #2B3990;
}

.nm-single-content img {
    max-width: 100%;
    height: auto;
    margin: clamp(1.5rem, 3vh, 2rem) 0;
}

/* Single post sidebar */
.nm-single-sidebar {
    position: sticky;
    top: 100px;
}

.nm-single-sidebar__card {
    background: #F8F9FA;
    padding: clamp(1.5rem, 3vw, 2rem);
    margin-bottom: clamp(1.5rem, 3vh, 2rem);
}

.nm-single-sidebar__heading {
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    font-size: clamp(0.9375rem, 1.3vw, 1.0625rem);
    color: #2B3990;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 1rem;
    padding-bottom: 0.75rem;
    border-bottom: 2px solid #F36F21;
}

.nm-single-sidebar__list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.nm-single-sidebar__list li {
    margin-bottom: 0.625rem;
}

.nm-single-sidebar__list a {
    font-family: 'Open Sans', sans-serif;
    font-weight: 600;
    font-size: clamp(0.8125rem, 1.1vw, 0.9375rem);
    color: #333333;
    transition: color 0.3s ease;
    display: block;
    padding: 0.375rem 0;
}

.nm-single-sidebar__list a:hover {
    color: #F36F21;
}

.nm-single-sidebar__list a:focus-visible {
    outline: 2px solid #F36F21;
    outline-offset: 2px;
}

/* Related posts at bottom of single */
.nm-related {
    padding: clamp(4rem, 8vh, 6rem) 0;
    background: #F8F9FA;
}


/* ==========================================================================
   12. ARCHIVE / CATEGORY / SEARCH HEADER
   ========================================================================== */

.nm-archive-hero {
    background: #2B3990;
    padding: clamp(6rem, 14vh, 9rem) 0 clamp(3rem, 7vh, 4rem);
    position: relative;
    margin-top: 165px;
}

.nm-archive-hero::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(90deg, #F36F21, #FC914D);
}

/* ── Search-specific hero: elevated, centered, inviting ── */
.nm-archive-hero--search {
    background: linear-gradient(160deg, #1a2560 0%, #2B3990 40%, #3448a8 100%);
    padding: clamp(3.5rem, 8vh, 5rem) 0 clamp(3.5rem, 8vh, 5rem);
    text-align: center;
    overflow: hidden;
}

.nm-archive-hero--search::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -20%;
    width: 140%;
    height: 200%;
    background: radial-gradient(ellipse at 30% 20%, rgba(243, 111, 33, 0.08) 0%, transparent 55%),
                radial-gradient(ellipse at 70% 80%, rgba(252, 145, 77, 0.06) 0%, transparent 50%);
    pointer-events: none;
}

.nm-archive-hero--search .nm-archive-hero__label {
    display: inline-block;
    position: relative;
    z-index: 1;
}

.nm-archive-hero--search .nm-archive-hero__title {
    position: relative;
    z-index: 1;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
}

.nm-archive-hero--search .nm-archive-hero__description {
    position: relative;
    z-index: 1;
    margin-left: auto;
    margin-right: auto;
}

.nm-archive-hero--search .nm-search-form {
    position: relative;
    z-index: 1;
    max-width: 640px;
    margin-left: auto;
    margin-right: auto;
    margin-top: clamp(2rem, 4vh, 2.5rem);
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 6px;
    padding: 6px;
    backdrop-filter: blur(8px);
}

.nm-archive-hero--search .nm-search-form__input {
    border: none;
    background: rgba(255, 255, 255, 0.95);
    color: #333333;
    border-radius: 4px 0 0 4px;
    padding: 1rem 1.5rem;
    font-size: clamp(1rem, 1.4vw, 1.125rem);
}

.nm-archive-hero--search .nm-search-form__input::placeholder {
    color: #999999;
}

.nm-archive-hero--search .nm-search-form__input:focus-visible {
    border-color: transparent;
    box-shadow: inset 0 0 0 2px #F36F21;
}

.nm-archive-hero--search .nm-search-form__btn {
    background: #F36F21;
    border: none;
    color: #FFFFFF;
    border-radius: 0 4px 4px 0;
    padding: 1rem 2rem;
    font-size: clamp(0.875rem, 1.2vw, 1rem);
    letter-spacing: 0.08em;
    transition: background 0.3s ease, transform 0.15s ease;
}

.nm-archive-hero--search .nm-search-form__btn:hover {
    background: #FC914D;
    border-color: transparent;
}

.nm-archive-hero--search .nm-search-form__btn:focus-visible {
    outline: 3px solid #FFFFFF;
    outline-offset: 2px;
}

.nm-archive-hero__label {
    font-family: 'Open Sans', sans-serif;
    font-weight: 700;
    font-size: clamp(0.75rem, 1.2vw, 0.9375rem);
    color: #FC914D;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    margin-bottom: clamp(0.75rem, 1.5vh, 1rem);
}

.nm-archive-hero__title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 900;
    font-size: clamp(1.5rem, 6vw, 2.5rem);
    color: #FFFFFF;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: -0.02em;
}

.nm-archive-hero__description {
    font-family: 'Open Sans', sans-serif;
    font-size: clamp(1rem, 1.3vw, 1.125rem);
    color: rgba(255, 255, 255, 0.6);
    max-width: 600px;
    margin-top: clamp(1rem, 2vh, 1.5rem);
    line-height: 1.7;
}

/* Search form in search hero */
.nm-search-form {
    margin-top: clamp(1.5rem, 3vh, 2rem);
    max-width: 560px;
    display: flex;
    gap: 0;
}

.nm-search-form__input {
    flex: 1;
    font-family: 'Open Sans', sans-serif;
    font-size: clamp(0.9375rem, 1.3vw, 1.0625rem);
    padding: 0.875rem 1.25rem;
    border: 2px solid rgba(255, 255, 255, 0.2);
    background: rgba(255, 255, 255, 0.1);
    color: #FFFFFF;
    outline: none;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.nm-search-form__input::placeholder {
    color: rgba(255, 255, 255, 0.4);
}

.nm-search-form__input:focus-visible {
    border-color: #F36F21;
}

.nm-search-form__btn {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: clamp(0.8125rem, 1.1vw, 0.9375rem);
    color: #FFFFFF;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 0.875rem 1.5rem;
    background: #F36F21;
    border: 2px solid #F36F21;
    cursor: pointer;
    transition: all 0.3s ease;
}

.nm-search-form__btn:hover {
    background: #FC914D;
    border-color: #FC914D;
}

.nm-search-form__btn:focus-visible {
    outline: 3px solid #FFFFFF;
    outline-offset: 2px;
}

/* No results message */
.nm-no-results {
    text-align: center;
    padding: clamp(4rem, 10vh, 7rem) 0;
}

.nm-no-results__title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    font-size: clamp(1.75rem, 4vw, 2.5rem);
    color: #2B3990;
    margin-bottom: clamp(1rem, 2vh, 1.5rem);
}

.nm-no-results__text {
    font-family: 'Open Sans', sans-serif;
    font-size: clamp(1rem, 1.3vw, 1.125rem);
    color: #666666;
    max-width: 500px;
    margin: 0 auto;
    line-height: 1.7;
}


/* ==========================================================================
   13. SCROLL REVEAL ANIMATIONS
   ========================================================================== */

.nm-reveal {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1),
                transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

.nm-reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.nm-reveal-stagger > * {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.6s cubic-bezier(0.16, 1, 0.3, 1),
                transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.nm-reveal-stagger.is-visible > *:nth-child(1)  { transition-delay: 0.05s; opacity: 1; transform: translateY(0); }
.nm-reveal-stagger.is-visible > *:nth-child(2)  { transition-delay: 0.1s;  opacity: 1; transform: translateY(0); }
.nm-reveal-stagger.is-visible > *:nth-child(3)  { transition-delay: 0.15s; opacity: 1; transform: translateY(0); }
.nm-reveal-stagger.is-visible > *:nth-child(4)  { transition-delay: 0.2s;  opacity: 1; transform: translateY(0); }
.nm-reveal-stagger.is-visible > *:nth-child(5)  { transition-delay: 0.25s; opacity: 1; transform: translateY(0); }
.nm-reveal-stagger.is-visible > *:nth-child(6)  { transition-delay: 0.3s;  opacity: 1; transform: translateY(0); }
.nm-reveal-stagger.is-visible > *:nth-child(7)  { transition-delay: 0.35s; opacity: 1; transform: translateY(0); }
.nm-reveal-stagger.is-visible > *:nth-child(8)  { transition-delay: 0.4s;  opacity: 1; transform: translateY(0); }
.nm-reveal-stagger.is-visible > *:nth-child(9)  { transition-delay: 0.45s; opacity: 1; transform: translateY(0); }
.nm-reveal-stagger.is-visible > *:nth-child(10) { transition-delay: 0.5s;  opacity: 1; transform: translateY(0); }
.nm-reveal-stagger.is-visible > *:nth-child(11) { transition-delay: 0.55s; opacity: 1; transform: translateY(0); }
.nm-reveal-stagger.is-visible > *:nth-child(12) { transition-delay: 0.6s;  opacity: 1; transform: translateY(0); }


/* ==========================================================================
   14. RESPONSIVE
   ========================================================================== */

@media (max-width: 960px) {
    .nm-blog-featured {
        flex-direction: column;
    }

    .nm-blog-featured__image {
        min-height: 240px;
    }

    .nm-blog-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .nm-video-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .nm-print-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .nm-video-featured .row {
        flex-direction: column;
    }

    .nm-video-featured .eight.columns,
    .nm-video-featured .four.columns {
        width: 100%;
    }

    .nm-video-playlist {
        max-height: 300px;
    }

    /* Single post layout */
    .nm-single-body .eight.columns,
    .nm-single-body .four.columns {
        width: 100%;
    }

    .nm-single-sidebar {
        position: static;
        margin-top: clamp(2rem, 4vh, 3rem);
    }

    /* Hero — stack columns */
    .nm-hero .row {
        flex-direction: column;
    }

    .nm-hero .eight.columns,
    .nm-hero .four.columns {
        width: 100%;
    }

    .nm-hero__stats {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 1.5rem;
        margin-top: clamp(2rem, 4vh, 3rem);
        padding-top: clamp(1.5rem, 3vh, 2rem);
        border-top: 1px solid rgba(255, 255, 255, 0.1);
    }
}

@media (max-width: 600px) {
    .nm-blog-grid {
        grid-template-columns: 1fr;
    }

    .nm-video-grid {
        grid-template-columns: 1fr;
    }

    .nm-print-grid {
        grid-template-columns: 1fr;
    }

    /* Hero — tighter padding on small screens */
    .nm-hero {
        padding: clamp(5rem, 10vh, 6rem) 0 clamp(3rem, 6vh, 4rem);
    }

    .nm-hero__title {
        font-size: clamp(2.5rem, 10vw, 3.5rem);
    }

    .nm-hero__stats {
        flex-direction: column;
        gap: 1.25rem;
    }

    .nm-hero__stat {
        display: flex;
        align-items: center;
        gap: 0.75rem;
    }

    .nm-hero__stat-number {
        font-size: clamp(1.75rem, 6vw, 2.25rem);
    }

    /* Filter nav — compact for mobile */
    .nm-filter__inner {
        gap: 0;
        padding: 0;
    }

    .nm-filter__btn {
        font-size: 0.6875rem;
        padding: 0.75rem 0.75rem;
        letter-spacing: 0.03em;
    }

    .nm-search-form {
        flex-direction: column;
    }

    .nm-archive-hero--search .nm-search-form {
        padding: 4px;
    }

    .nm-archive-hero--search .nm-search-form__input {
        border-radius: 4px;
    }

    .nm-archive-hero--search .nm-search-form__btn {
        border-radius: 4px;
    }

    .nm-single-hero__meta {
        flex-direction: column;
        gap: 0.5rem;
    }

    .nm-single-hero__title {
        font-size: clamp(1.5rem, 6vw, 2rem);
    }
}

/* ═══════════════════════════════════════════════════════════════
   LOCATIONS STYLES
   Covers: page-locations.php, single-office_locations.php, single-geopage.php
   ═══════════════════════════════════════════════════════════════ */


/* ─── PAGE-LOCATIONS: HERO ─── */
/* ─── PAGE-LOCATIONS: HERO (full-viewport, about-hero pattern) ─── */

.loc-hero { position: relative; width: 100%; height: calc(100vh - 165px); min-height: 690px; overflow: hidden; background: #1a1f3d; margin-top: 165px; }
.loc-hero__image-container { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 1; }
.loc-hero__image { width: 100%; height: 100%; object-fit: cover; object-position: center 40%; transform-origin: 50% 40%; animation: locHeroZoom 20s cubic-bezier(0.25, 0.1, 0.25, 1) forwards; will-change: transform; }
@keyframes locHeroZoom { 0% { transform: scale(1); } 100% { transform: scale(1.06); } }
.loc-hero__overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(to left, rgba(43, 57, 144, 0.2) 0%, rgba(43, 57, 144, 0.65) 35%, rgba(43, 57, 144, 0.75) 60%, rgba(43, 57, 144, 0.85) 100%); z-index: 2; }
.loc-hero__content { position: relative; z-index: 3; height: 100%; display: flex; align-items: center; }
.loc-hero__text { max-width: 680px; }
.loc-hero__eyebrow { display: inline-block; font-family: 'Open Sans', sans-serif; font-size: clamp(0.7rem, 1vw, 0.825rem); font-weight: 700; letter-spacing: 0.15em; text-transform: uppercase; color: #ffffff; line-height: 1.55; margin-bottom: clamp(1.2rem, 2.5vh, 1.75rem); background: rgba(255, 255, 255, 0.1); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); border-left: 3px solid #F36F21; padding: clamp(10px, 1.5vh, 14px) clamp(14px, 2vw, 22px); opacity: 0; transform: translateY(18px); animation: locSlideUp 0.9s cubic-bezier(0.16, 1, 0.3, 1) 0.15s forwards; }
.loc-hero__title { font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: clamp(3rem, 7vw, 6rem); color: #ffffff; margin: 0 0 clamp(1rem, 2vh, 1.5rem) 0; line-height: 1.1; text-transform: uppercase; letter-spacing: -0.02em; opacity: 0; transform: translateY(24px); animation: locSlideUp 1s cubic-bezier(0.16, 1, 0.3, 1) 0.35s forwards; }
.loc-hero__subtitle { font-family: 'Montserrat', sans-serif; font-size: clamp(14px, 1.6vw, 18px); font-weight: 600; color: rgba(255, 255, 255, 0.9); letter-spacing: 0.05em; text-transform: uppercase; margin-bottom: clamp(24px, 4vh, 40px); opacity: 0; transform: translateY(18px); animation: locSlideUp 0.9s cubic-bezier(0.16, 1, 0.3, 1) 0.55s forwards; }

/* Office location pills */
.loc-hero__map-nav { opacity: 0; animation: locFadeIn 1s ease 0.8s forwards; }
.loc-hero__map-list { display: flex; flex-wrap: wrap; gap: 10px; }
.loc-hero__map-pin { display: inline-flex; align-items: center; gap: 10px; padding: 10px 18px; background: rgba(255, 255, 255, 0.1); border: 1px solid rgba(255, 255, 255, 0.18); border-radius: 8px; text-decoration: none; color: #ffffff; transition: background 0.25s ease, border-color 0.25s ease, transform 0.2s ease; }
.loc-hero__map-pin:hover { background: rgba(255, 255, 255, 0.2); border-color: rgba(243, 111, 33, 0.5); transform: translateY(-2px); color: #ffffff; }
.loc-hero__map-pin:focus-visible { outline: 2px solid #FC914D; outline-offset: 2px; }
.loc-hero__pin-icon { flex-shrink: 0; color: #F36F21; display: flex; align-items: center; }
.loc-hero__pin-city { font-family: 'Montserrat', sans-serif; font-size: clamp(13px, 1.2vw, 15px); font-weight: 700; line-height: 1.2; }
.loc-hero__pin-state { font-family: 'Open Sans', sans-serif; font-size: 13px; color: rgba(255, 255, 255, 0.6); font-weight: 400; }
.loc-hero__pin-badge { margin-left: 2px; background: #F36F21; color: #ffffff; font-family: 'Montserrat', sans-serif; font-size: 9px; font-weight: 800; letter-spacing: 0.5px; padding: 3px 7px; border-radius: 3px; text-transform: uppercase; }

@keyframes locSlideUp { to { opacity: 1; transform: translateY(0); } }
@keyframes locFadeIn { to { opacity: 1; } }

/* Hero responsive */
@media (max-width: 768px) {
    .loc-hero { height: 65vh; min-height: 450px; margin-top: 100px; }
    .loc-hero__overlay { background: linear-gradient(to bottom, rgba(43, 57, 144, 0.92) 0%, rgba(43, 57, 144, 0.80) 100%); }
    .loc-hero__text { max-width: 100%; }
    .loc-hero__map-nav { display: none; }
    .loc-hero__map-list { gap: 8px; }
    .loc-hero__map-pin { padding: 8px 14px; }
}
@media (max-width: 480px) {
    .loc-hero { height: 60vh; min-height: 380px; }
    .loc-hero__map-list { flex-direction: column; }
    .loc-hero__map-pin { width: 100%; }
}


/* ─── PAGE-LOCATIONS: FEATURED OFFICE ─── */

.loc-featured {
    padding: clamp(50px, 8vw, 90px) 0;
    background: #ffffff;
}
.loc-featured__label {
    margin-bottom: 28px;
}
.loc-featured__badge {
    display: inline-block;
    background: #2B3990;
    color: #ffffff;
    font-family: 'Montserrat', sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    padding: 8px 20px;
    border-radius: 4px;
}

/* ── 3-Column Grid ── */
.loc-featured__grid {
    display: grid;
    grid-template-columns: 1fr 1fr auto;
    gap: 0 clamp(28px, 3.5vw, 48px);
    align-items: start;
}

/* ── Col 1: Image ── */
.loc-featured__image-wrap {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 12px 40px rgba(43, 57, 144, 0.12);
}
.loc-featured__image {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
    aspect-ratio: 16 / 10;
}

/* ── Col 2: All contact info in one straight column ── */
.loc-featured__contact {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
}
.loc-featured__title {
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(26px, 3vw, 38px);
    font-weight: 800;
    color: #2B3990;
    line-height: 1.15;
    margin: 0 0 12px 0;
}
.loc-featured__address {
    font-family: 'Open Sans', sans-serif;
    font-size: clamp(15px, 1.3vw, 17px);
    color: #333333;
    line-height: 1.75;
    font-style: normal;
    margin: 0 0 14px 0;
}
.loc-featured__phone {
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(16px, 1.4vw, 18px);
    color: #333333;
    margin: 0 0 8px 0;
    display: flex;
    align-items: center;
    gap: 10px;
}
.loc-featured__phone i { color: #F36F21; font-size: 16px; }
.loc-featured__phone a {
    color: #2B3990;
    text-decoration: none;
    font-weight: 700;
    transition: color 0.2s ease;
}
.loc-featured__phone a:hover { color: #F36F21; }
.loc-featured__phone a:focus-visible { outline: 2px solid #F36F21; outline-offset: 2px; }
.loc-featured__notice {
    font-family: 'Open Sans', sans-serif;
    font-size: 14px;
    color: #666666;
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
}
.loc-featured__notice i { color: #F36F21; }

/* ── Col 3: CTA Buttons ── */
.loc-featured__actions {
    grid-column: 3 / 4;
    grid-row: 1 / 2;
    display: flex;
    flex-direction: column;
    gap: 12px;
    flex-shrink: 0;
    align-self: start;
}

/* Mobile buttons – hidden on desktop */
.loc-featured__actions--mobile {
    display: none;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 24px;
}

/* ── Map: full-width row 2 ── */
.loc-featured__map {
    grid-column: 1 / -1;
    grid-row: 2 / 3;
    margin-top: 32px;
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid #e0e2ec;
    box-shadow: 0 4px 16px rgba(43, 57, 144, 0.06);
}
.loc-featured__map iframe {
    width: 100%;
    height: 360px;
    border: 0;
    display: block;
}
.loc-featured__map-link-wrap {
    grid-column: 1 / -1;
    grid-row: 2 / 3;
    margin-top: 32px;
}

/* ── Buttons ── */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    text-decoration: none;
    padding: 13px 22px;
    border-radius: 6px;
    transition: all 0.25s ease;
    cursor: pointer;
    text-align: center;
    white-space: nowrap;
}
.btn:focus-visible { outline: 2px solid #F36F21; outline-offset: 2px; }
.btn--primary {
    background: #F36F21;
    color: #ffffff;
    border: 2px solid #F36F21;
}
.btn--primary:hover { background: #d95e18; border-color: #d95e18; }
.btn--secondary {
    background: transparent;
    color: #2B3990;
    border: 2px solid #2B3990;
}
.btn--secondary:hover { background: #2B3990; color: #ffffff; }

/* ════════════════════
   RESPONSIVE
   ════════════════════ */

@media (max-width: 1024px) {
    .btn {
        font-size: 11px;
        padding: 12px 18px;
    }
}

/* Tablet – 2 columns, hide desktop buttons, show mobile buttons */
@media (max-width: 860px) {
    .loc-featured__grid {
        grid-template-columns: 1fr 1fr;
        gap: 0 clamp(24px, 3vw, 36px);
    }
    .loc-featured__image-wrap {
        grid-column: 1 / 2;
        grid-row: 1 / 2;
    }
    .loc-featured__contact {
        grid-column: 2 / 3;
        grid-row: 1 / 2;
    }
    .loc-featured__actions {
        display: none;
    }
    .loc-featured__actions--mobile {
        display: flex;
    }
    .loc-featured__map,
    .loc-featured__map-link-wrap {
        grid-column: 1 / -1;
        grid-row: 2 / 3;
        margin-top: 28px;
    }
    .loc-featured__map iframe { height: 240px; }
}

/* Small tablet / large phone – single column */
@media (max-width: 640px) {
    .loc-featured__grid {
        grid-template-columns: 1fr;
        gap: 0;
    }
    .loc-featured__image-wrap {
        grid-column: 1;
        grid-row: 1;
        margin-bottom: 24px;
    }
    .loc-featured__contact {
        grid-column: 1;
        grid-row: 2;
    }
    .loc-featured__map,
    .loc-featured__map-link-wrap {
        grid-column: 1;
        grid-row: 3;
    }
}

/* Mobile – full-width stacked buttons */
@media (max-width: 500px) {
    .loc-featured {
        padding: clamp(36px, 8vw, 50px) 0;
    }
    .loc-featured__actions--mobile {
        flex-direction: column;
    }
    .loc-featured__actions--mobile .btn {
        width: 100%;
    }
    .loc-featured__map iframe { height: 200px; }
}


/* ─── PAGE-LOCATIONS: OFFICE CARDS GRID ─── */

.loc-offices {
    padding: clamp(50px, 8vw, 80px) 0;
    background: #F5F6FA;
}
.loc-offices__heading {
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(24px, 3vw, 34px);
    font-weight: 800;
    color: #2B3990;
    margin-bottom: clamp(30px, 4vw, 50px);
    text-align: center;
}
.loc-offices__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(20px, 3vw, 30px);
}
.loc-office-card {
    background: #ffffff;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(43, 57, 144, 0.08);
    transition: box-shadow 0.3s ease, transform 0.3s ease;
}
.loc-office-card:hover {
    box-shadow: 0 8px 35px rgba(43, 57, 144, 0.14);
    transform: translateY(-3px);
}
.loc-office-card__image-wrap {
    width: 100%;
    overflow: hidden;
}
.loc-office-card__image {
    width: 100%;
    height: 200px;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}
.loc-office-card:hover .loc-office-card__image {
    transform: scale(1.04);
}
.loc-office-card__body {
    padding: clamp(20px, 3vw, 30px);
}
.loc-office-card__title {
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(18px, 2vw, 22px);
    font-weight: 700;
    color: #2B3990;
    margin-bottom: 12px;
}
.loc-office-card__address {
    font-family: 'Open Sans', sans-serif;
    font-size: 15px;
    color: #333333;
    line-height: 1.7;
    font-style: normal;
    margin-bottom: 8px;
}
.loc-office-card__phone {
    margin-bottom: 6px;
}
.loc-office-card__phone a {
    font-family: 'Montserrat', sans-serif;
    font-size: 15px;
    font-weight: 600;
    color: #2B3990;
    text-decoration: none;
}
.loc-office-card__phone a:hover { color: #F36F21; }
.loc-office-card__phone a:focus-visible { outline: 2px solid #F36F21; outline-offset: 2px; }

.loc-office-card__notice {
    font-family: 'Open Sans', sans-serif;
    font-size: 13px;
    color: #888888;
    margin-bottom: 16px;
    font-style: italic;
}
.loc-office-card__map {
    margin-bottom: 16px;
    border-radius: 6px;
    overflow: hidden;
    border: 1px solid #e8e8e8;
}
.loc-office-card__map iframe {
    width: 100%;
    height: 180px;
    border: 0;
    display: block;
}
.loc-office-card__map-link-wrap {
    margin-bottom: 16px;
}
.loc-office-card__actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

@media (max-width: 768px) {
    .loc-offices__grid {
        grid-template-columns: 1fr;
    }
}


/* ─── SHARED: Map Direction Link ─── */
.loc-map-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: #2B3990;
    text-decoration: none;
    padding: 10px 0;
    transition: color 0.25s ease;
}
.loc-map-link:hover { color: #F36F21; }
.loc-map-link:focus-visible { outline: 2px solid #F36F21; outline-offset: 2px; }


/* ─── SHARED: Buttons ─── */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 14px;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 14px 28px;
    border-radius: 6px;
    border: 2px solid transparent;
    transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease, transform 0.2s ease;
    cursor: pointer;
}
.btn:focus-visible {
    outline: 2px solid #F36F21;
    outline-offset: 2px;
}
.btn--primary {
    background: #F36F21;
    color: #ffffff;
    border-color: #F36F21;
}
.btn--primary:hover {
    background: #e0601a;
    border-color: #e0601a;
    transform: translateY(-1px);
}
.btn--secondary {
    background: transparent;
    color: #2B3990;
    border-color: #2B3990;
}
.btn--secondary:hover {
    background: #2B3990;
    color: #ffffff;
    transform: translateY(-1px);
}
.btn--sm {
    padding: 10px 20px;
    font-size: 13px;
}
.btn--full {
    width: 100%;
}


/* ═══════════════════════════════════════════════════════════════
   SINGLE OFFICE LOCATION
   ═══════════════════════════════════════════════════════════════ */

/* ─── Office Hero (full-viewport with card overlap) ─── */
.ofc-hero {
    position: relative;
    background: #2B3990;
    background-size: cover;
    background-position: center center;
    margin-top: 165px;
    min-height: calc(100vh - 165px);
    display: flex;
    align-items: flex-start;
    padding: clamp(50px, 6vw, 80px) 0 0;
    overflow: hidden;
    min-height:650px;
}
.ofc-hero__overlay {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background:
        linear-gradient(
            to bottom,
            rgba(43, 57, 144, 0.6) 0%,
            rgba(43, 57, 144, 0.7) 40%,
            rgba(43, 57, 144, 0.8) 100%
        );
    z-index: 1;
}
/* Bottom fade — ensures split card zone has enough contrast */
.ofc-hero::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 45%;
    background: linear-gradient(
        to top,
        rgba(43, 57, 144, 00) 0%,
        rgba(43, 57, 144, 0.0) 40%,
        transparent 100%
    );
    z-index: 1;
    pointer-events: none;
}

.ofc-hero .container {
    position: relative;
    z-index: 2;
    padding-top: clamp(20px, 4vw, 60px);
    text-align: center;
}

.ofc-hero__breadcrumb {
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(12px, 1.2vw, 14px);
    font-weight: 600;
    color: rgba(255, 255, 255, 0.6);
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 16px;
}
.ofc-hero__breadcrumb a {
    color: rgba(255, 255, 255, 0.6);
    text-decoration: none;
    transition: color 0.25s ease;
}
.ofc-hero__breadcrumb a:hover { color: #FC914D; }
.ofc-hero__breadcrumb a:focus-visible { outline: 2px solid #FC914D; outline-offset: 2px; }
.ofc-hero__breadcrumb span { margin: 0 8px; }

.ofc-hero__accent-line {
    width: 70px;
    height: 4px;
    background: #F36F21;
    border-radius: 2px;
    margin-bottom: 20px;
    margin-left: auto;
    margin-right: auto;
}

.ofc-hero__title {
    color: #ffffff;
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(28px, 4vw, 48px);
    font-weight: 800;
    line-height: 1.2;
    margin-bottom: 12px;
}
.ofc-hero__subtitle {
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(15px, 1.6vw, 19px);
    font-weight: 500;
    color: #FC914D;
}


/* ─── Office Content Area (overlaps hero) ─── */
.ofc-content-area {
    position: relative;
    z-index: 3;
    margin-top: -220px;
    padding: 0;
    background: transparent;
}
/* White background kicks in after the card */
.ofc-content-area::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 50%;
   background: #F5F6FA;
    z-index: -1;
}
.ofc-split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    align-items: stretch;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 16px 60px rgba(0, 0, 0, 0.25), 0 2px 6px rgba(0, 0, 0, 0.08);
    position: relative;
    z-index: 2;
}
.ofc-split__info {
    min-width: 0;
    background: #2B3990;
    padding: clamp(28px, 4vw, 48px);
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 24px;
    position: relative;
}
.ofc-split__info::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 120px;
    height: 120px;
    background: radial-gradient(circle at top right, rgba(243, 111, 33, 0.12) 0%, transparent 70%);
    pointer-events: none;
}
.ofc-split__info::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 180px;
    height: 180px;
    background: radial-gradient(circle at bottom left, rgba(252, 145, 77, 0.08) 0%, transparent 70%);
    pointer-events: none;
}
.ofc-split__map {
    min-width: 0;
    display: flex;
    flex-direction: column;
}

/* Details Card (inside blue panel — restyle for dark bg) */
.ofc-details-card {
    background: rgba(255, 255, 255, 0.07);
    border-radius: 10px;
    padding: clamp(24px, 3vw, 36px);
    border-left: 4px solid #F36F21;
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    position: relative;
    z-index: 1;
}
.ofc-details-card__title {
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(18px, 2vw, 22px);
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 20px;
}
.ofc-details-card__row {
    display: flex;
    gap: 14px;
    margin-bottom: 16px;
    align-items: flex-start;
}
.ofc-details-card__row:last-child { margin-bottom: 0; }
.ofc-details-card__icon {
    flex-shrink: 0;
    width: 24px;
    text-align: center;
    color: #FC914D;
    font-size: 18px;
    padding-top: 3px;
}
.ofc-details-card__address {
    font-family: 'Open Sans', sans-serif;
    font-size: 17px;
    color: rgba(255, 255, 255, 0.9);
    line-height: 1.7;
    font-style: normal;
    padding-bottom:15px;
}
.ofc-details-card__phone {
    font-family: 'Montserrat', sans-serif;
    font-size: 18px;
    font-weight: 600;
    color: #FC914D;
    text-decoration: none;
    transition: color 0.25s ease;
}
.ofc-details-card__phone:hover { color: #ffffff; }
.ofc-details-card__phone:focus-visible { outline: 2px solid #FC914D; outline-offset: 2px; }
.ofc-details-card__hours {
    font-family: 'Open Sans', sans-serif;
    font-size: 17px;
    color: rgba(255, 255, 255, 0.85);
    line-height: 1.6;
}
/* Directions link (inside details card) */
.ofc-details-card__directions {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: 'Montserrat', sans-serif;
    font-size: 15px;
    font-weight: 600;
    color: #FC914D;
    text-decoration: none;
    margin-top: 6px;
    padding: 6px 14px;
    border: 1px solid rgba(252, 145, 77, 0.35);
    border-radius: 6px;
    transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}
.ofc-details-card__directions:hover {
    background: rgba(243, 111, 33, 0.15);
    color: #ffffff;
    border-color: #F36F21;
}
.ofc-details-card__directions:focus-visible {
    outline: 2px solid #FC914D;
    outline-offset: 2px;
}

/* Map (fills right column) */
.ofc-map {
    margin-bottom: 0;
    display: flex;
    flex-direction: column;
    flex: 1;
    height: 100%;
}
.ofc-map__embed {
    border-radius: 0;
    overflow: hidden;
    border: none;
    margin-bottom: 0;
    flex: 1;
    height: 100%;
}
.ofc-map__embed iframe {
    width: 100%;
    height: 100%;
    min-height: 350px;
    border: 0;
    display: block;
}
.ofc-map__directions-link {
    display: none;
}

/* Additional Content (inside blue panel) */
.ofc-additional-content {
    margin-bottom: 0;
    font-family: 'Open Sans', sans-serif;
    font-size: clamp(15px, 1.4vw, 17px);
    color: rgba(255, 255, 255, 0.85);
    line-height: 1.8;
    position: relative;
    z-index: 1;
}
.ofc-additional-content a {
    color: #FC914D;
    transition: color 0.25s ease;
}
.ofc-additional-content a:hover {
    color: #ffffff;
}


/* ─── Other Offices Inline (inside areas-served) ─── */
.ofc-other-offices-inline {
    margin-top: clamp(40px, 6vw, 60px);
    padding-top: clamp(30px, 4vw, 48px);
    border-top: 1px solid #dcdee6;
}

/* ─── Full-Width Contact Section ─── */
.ofc-contact-section {
    padding: clamp(50px, 8vw, 80px) 0;
    background: #ffffff;
}
.ofc-contact-section__inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(32px, 5vw, 60px);
    align-items: start;
    background: #F5F6FA;
    border-radius: 12px;
    padding: clamp(32px, 4vw, 50px);
    border-top: 4px solid #2B3990;
}
.ofc-contact-section__header {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.ofc-contact-section__title {
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(24px, 3vw, 32px);
    font-weight: 800;
    color: #2B3990;
    line-height: 1.2;
}
.ofc-contact-section__text {
    font-family: 'Open Sans', sans-serif;
    font-size: clamp(15px, 1.4vw, 17px);
    color: #555555;
    line-height: 1.7;
    max-width: 440px;
}
.ofc-contact-section__form {
    min-width: 0;
}


/* ─── Areas We Serve Section ─── */
.ofc-areas-served {
    padding: clamp(50px, 8vw, 80px) 0;
    background: #F5F6FA;
}
.ofc-areas-served__heading {
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(24px, 3vw, 34px);
    font-weight: 800;
    color: #2B3990;
    margin-bottom: 12px;
}
.ofc-areas-served__intro {
    font-family: 'Open Sans', sans-serif;
    font-size: clamp(16px, 1.4vw, 18px);
    color: #555555;
    line-height: 1.7;
    margin-bottom: clamp(24px, 4vw, 40px);
    margin-bottom: 30px;
}
.ofc-areas-served__grid {
    column-count: 4;
    column-gap: 8px;
}
.ofc-areas-served__link {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    margin-bottom: 8px;
    background: #ffffff;
    border-radius: 6px;
    font-family: 'Open Sans', sans-serif;
    font-size: 15px;
    color: #333333;
    text-decoration: none;
    transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
    border: 1px solid transparent;
    break-inside: avoid;
}
.ofc-areas-served__link:hover {
    background: #2B3990;
    color: #ffffff;
    transform: translateX(3px);
}
.ofc-areas-served__link:focus-visible {
    outline: 2px solid #F36F21;
    outline-offset: 2px;
}
.ofc-areas-served__dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #F36F21;
    flex-shrink: 0;
}
.ofc-areas-served__link:hover .ofc-areas-served__dot {
    background: #FC914D;
}


/* ─── Other Offices Cards (shared styles) ─── */
.ofc-other-offices__heading {
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(20px, 2.5vw, 28px);
    font-weight: 700;
    color: #2B3990;
    margin-bottom: clamp(20px, 3vw, 32px);
    text-align: center;
}
.ofc-other-offices__grid {
    display: flex;
    gap: 16px;
    justify-content: center;
    flex-wrap: wrap;
}
.ofc-other-offices__card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    padding: 16px;
    background: #F5F6FA;
    border-radius: 8px;
    text-decoration: none;
    color: #333333;
    transition: background 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
    width: 160px;
    text-align: center;
}
.ofc-other-offices__card:hover {
    background: #ffffff;
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(43, 57, 144, 0.12);
}
.ofc-other-offices__card:focus-visible {
    outline: 2px solid #F36F21;
    outline-offset: 2px;
}
.ofc-other-offices__img {
    width: 100%;
    height: 90px;
    object-fit: cover;
    border-radius: 6px;
}
.ofc-other-offices__name {
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    font-weight: 700;
    color: #2B3990;
}


/* ═══════════════════════════════════════════════════════════════
   SINGLE GEOPAGE (CITY PAGES)
   ═══════════════════════════════════════════════════════════════ */

/* ─── Geopage Hero ─── */
.geo-hero {
    position: relative;
    background: #2B3990;
    background-size: cover;
    background-position: center center;
    margin-top: 80px;
    padding: clamp(60px, 8vw, 100px) 0 clamp(70px, 10vw, 120px);
    overflow: hidden;
    margin-top: 165px
}
.geo-hero__overlay {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: linear-gradient(
        to right,
        rgba(43, 57, 144, 0.95) 0%,
        rgba(43, 57, 144, 0.85) 40%,
        rgba(43, 57, 144, 0.6) 100%
    );
    z-index: 1;
}
.geo-hero .container { position: relative; z-index: 2; }

.geo-hero__breadcrumb {
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(12px, 1.2vw, 14px);
    font-weight: 600;
    color: rgba(255, 255, 255, 0.6);
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 16px;
}
.geo-hero__breadcrumb a {
    color: rgba(255, 255, 255, 0.6);
    text-decoration: none;
    transition: color 0.25s ease;
}
.geo-hero__breadcrumb a:hover { color: #FC914D; }
.geo-hero__breadcrumb a:focus-visible { outline: 2px solid #FC914D; outline-offset: 2px; }
.geo-hero__breadcrumb span { margin: 0 8px; }

.geo-hero__accent-line {
    width: 70px;
    height: 4px;
    background: #F36F21;
    border-radius: 2px;
    margin-bottom: 20px;
}
.geo-hero__title {
    color: #ffffff;
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(24px, 3.5vw, 42px);
    font-weight: 800;
    line-height: 1.2;
    max-width: 750px;
}


/* ─── Geopage Content Area ─── */
.geo-content-area {
    padding: clamp(40px, 6vw, 70px) 0;
    background: #ffffff;
}
.geo-main__content {
    font-family: 'Open Sans', sans-serif;
    font-size: clamp(15px, 1.4vw, 17px);
    color: #333333;
    line-height: 1.8;
}
.geo-main__content h2 {
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(20px, 2.5vw, 28px);
    font-weight: 700;
    color: #2B3990;
    margin-top: 32px;
    margin-bottom: 16px;
}
.geo-main__content h3 {
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(18px, 2vw, 22px);
    font-weight: 700;
    margin-top: 24px;
    margin-bottom: 12px;
}

.geo-main__content img {float:left; padding-right:15px}

.geo-main__content p {
    margin-bottom: 16px;
}
.geo-main__content a {
    color: #2B3990;
    text-decoration: underline;
    text-underline-offset: 2px;
    transition: color 0.25s ease;
}
.geo-main__content a:hover { color: #F36F21; }
.geo-main__content a:focus-visible { outline: 2px solid #F36F21; outline-offset: 2px; }

.geo-main__content ul,
.geo-main__content ol {
    margin-bottom: 16px;
    padding-left: 24px;
}
.geo-main__content li {
    margin-bottom: 8px;
}


/* ─── Geopage Sidebar ─── */
.geo-sidebar {
    position: sticky;
    top: 100px;
}

.geo-sidebar__form-title {
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(18px, 2vw, 22px);
    font-weight: 700;
    color: #2B3990;
    line-height: 1.3;
    margin-bottom: 10px;
}
.geo-sidebar__form-text {
    font-family: 'Open Sans', sans-serif;
    font-size: 15px;
    color: #555555;
    line-height: 1.6;
    margin-bottom: 18px;
}
.geo-sidebar__form-embed {
    margin-top: 8px;
}

.geo-sidebar__office-card {
    background: #2B3990;
    border-radius: 10px;
    padding: clamp(20px, 2.5vw, 28px);
    margin-bottom: 20px;
    color: #ffffff;
}
.geo-sidebar__card-title {
    font-family: 'Montserrat', sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: #FC914D;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 12px;
}
.geo-sidebar__office-name {
    font-family: 'Montserrat', sans-serif;
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 10px;
}
.geo-sidebar__phone {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 6px;
}
.geo-sidebar__phone i { color: #FC914D; }
.geo-sidebar__phone a {
    color: #ffffff;
    text-decoration: none;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
}
.geo-sidebar__phone a:hover { color: #FC914D; }
.geo-sidebar__phone a:focus-visible { outline: 2px solid #FC914D; outline-offset: 2px; }
.geo-sidebar__notice {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.65);
    font-style: italic;
    margin-bottom: 16px;
}

.geo-sidebar__form-card {
    background: #F5F6FA;
    border-radius: 10px;
    padding: clamp(20px, 2.5vw, 28px);
    border-top: 4px solid #F36F21;
}
.geo-sidebar__form-intro {
    font-family: 'Open Sans', sans-serif;
    font-size: 14px;
    color: #666666;
    line-height: 1.6;
    margin-bottom: 16px;
}
.geo-sidebar__cta-card {
    background: #2B3990;
    border-radius: 10px;
    padding: clamp(20px, 2.5vw, 28px);
    margin-top: 20px;
    text-align: center;
}
.geo-sidebar__cta-text {
    font-family: 'Open Sans', sans-serif;
    font-size: 15px;
    color: rgba(255, 255, 255, 0.9);
    line-height: 1.6;
    margin-bottom: 16px;
}
.geo-sidebar__cta-card .btn--primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 14px 24px;
    background: #F36F21;
    color: #ffffff;
    font-family: 'Montserrat', sans-serif;
    font-size: 15px;
    font-weight: 700;
    border-radius: 8px;
    text-decoration: none;
    transition: background 0.25s ease, transform 0.2s ease, box-shadow 0.25s ease;
    box-shadow: 0 2px 8px rgba(243, 111, 33, 0.3);
}
.geo-sidebar__cta-card .btn--primary:hover {
    background: #e05f14;
    transform: translateY(-2px);
    color: #ffffff;
    box-shadow: 0 4px 12px rgba(243, 111, 33, 0.4);
}
.geo-sidebar__cta-card .btn--primary:focus-visible {
    outline: 3px solid #FC914D;
    outline-offset: 2px;
}
.geo-sidebar__cta-card .btn--primary i {
    color: #ffffff;
    font-size: 14px;
}


/* ─── Other Areas (geopage bottom) ─── */
.geo-other-areas {
    padding: clamp(40px, 6vw, 60px) 0;
    background: #F5F6FA;
}
.geo-other-areas__heading {
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(22px, 2.8vw, 30px);
    font-weight: 700;
    color: #2B3990;
    margin-bottom: clamp(20px, 3vw, 32px);
}
.geo-other-areas__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 8px;
}
.geo-other-areas__link {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    background: #ffffff;
    border-radius: 6px;
    font-family: 'Open Sans', sans-serif;
    font-size: 14px;
    color: #333333;
    text-decoration: none;
    transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}
.geo-other-areas__link:hover {
    background: #2B3990;
    color: #ffffff;
    transform: translateX(3px);
}
.geo-other-areas__link:focus-visible {
    outline: 2px solid #F36F21;
    outline-offset: 2px;
}
.geo-other-areas__dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #F36F21;
    flex-shrink: 0;
}
.geo-other-areas__link:hover .geo-other-areas__dot {
    background: #FC914D;
}


/* ─── Responsive: Single Office + Geopage ─── */

/* Tablet */
@media (max-width: 959px) {
    .ofc-hero {
        min-height: 80vh;
    }
    .ofc-content-area {
        margin-top: -160px;
    }
    .ofc-areas-served__grid {
        column-count: 3;
    }
}

/* Mobile */
@media (max-width: 768px) {
    .ofc-hero {
        min-height: 70vh;
        margin-top: 165px;
        padding: clamp(30px, 5vw, 50px) 0 0;
    }
    .ofc-hero .container {
        padding-top: clamp(10px, 3vw, 30px);
    }
    .ofc-content-area {
        margin-top: -100px;
        padding-bottom: clamp(30px, 5vw, 50px);
    }
    .ofc-split {
        grid-template-columns: 1fr;
        border-radius: 10px;
    }
    .ofc-split__info {
        padding: clamp(24px, 4vw, 36px);
    }
    .ofc-areas-served__grid {
        column-count: 2;
    }
    .ofc-map__embed iframe {
        min-height: 280px;
        height: 280px;
    }
    .ofc-content-area .row,
    .geo-content-area .row {
        flex-direction: column;
    }
    .geo-content-area .eight.columns,
    .geo-content-area .four.columns {
        width: 100%;
    }
    .geo-sidebar {
        position: static;
        margin-top: 30px;
    }
    .ofc-other-offices__grid {
        flex-wrap: wrap;
    }
    .ofc-other-offices__card {
        width: calc(50% - 8px);
    }
    .ofc-contact-section__inner {
        grid-template-columns: 1fr;
    }
}

/* Small mobile */
@media (max-width: 480px) {
    .ofc-hero {
        min-height: 45vh;
    }
    .ofc-content-area {
        margin-top: -80px;
    }
    .ofc-other-offices__card {
        width: 100%;
    }
    .ofc-areas-served__grid {
        column-count: 1;
    }
}


/* ============================================================
   File: style.css (append to existing)
   Section: SINGLE HIRZEL HANDBOOK TEMPLATE
   Template: single-hirzel_handbook.php
   ============================================================ */

/* ─── SUPPRESS DEFAULT HERO ON HANDBOOK PAGES ─── */
.single-hirzel_handbook .page-title-area,
.single-hirzel_handbook .page-hero,
.single-hirzel_handbook .entry-header,
.single-hirzel_handbook .page-header,
.single-hirzel_handbook .site-hero,
.single-hirzel_handbook .page-banner,
.single-hirzel_handbook .hero-editorial { display: none; }


/* ─── HERO ─── */
.hb-hero {
    position: relative;
    background: #2B3990;
    padding: clamp(70px, 10vw, 110px) 0 clamp(70px, 9vw, 110px);
    overflow: hidden;
    margin-top: 165px;
}

.hb-hero::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 55%;
    height: 100%;
    background: linear-gradient(135deg, rgba(243, 111, 33, 0.12) 0%, rgba(252, 145, 77, 0.06) 100%);
    clip-path: polygon(25% 0, 100% 0, 100% 100%, 0% 100%);
}

.hb-hero::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 100%;
    height: 50px;
    background: #ffffff;
    clip-path: polygon(0 100%, 100% 100%, 100% 0);
}

.hb-hero__pattern {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0.03;
    background-image:
        linear-gradient(rgba(255,255,255,0.1) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.1) 1px, transparent 1px);
    background-size: 40px 40px;
    z-index: 1;
}

.hb-hero .container {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(40px, 5vw, 80px);
}

/* Book Image */
.hb-hero__book {
    flex-shrink: 0;
    width: clamp(220px, 25vw, 340px);
    position: relative;
}

.hb-hero__book-image {
    width: 100%;
    max-height: clamp(380px, 45vh, 520px);
    object-fit: contain;
    border-radius: 4px;
    transform: perspective(800px) rotateY(-5deg);
    transition: transform 0.5s ease;
}

.hb-hero__book:hover .hb-hero__book-image {
    transform: perspective(800px) rotateY(0deg);
}

.hb-hero__book::before {
    content: '';
    position: absolute;
    top: 10%;
    left: -10%;
    width: 120%;
    height: 80%;
    background: radial-gradient(ellipse, rgba(243, 111, 33, 0.25) 0%, transparent 70%);
    filter: blur(30px);
    z-index: -1;
}

/* Badge */
.hb-hero__badge {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 100px;
    padding: 8px 18px;
    margin-bottom: 20px;
    animation: hbFadeInUp 0.6s ease both;
}

.hb-hero__badge-icon {
    width: 20px;
    height: 20px;
    color: #FC914D;
}

.hb-hero__badge-text {
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(11px, 1.1vw, 13px);
    font-weight: 700;
    color: rgba(255, 255, 255, 0.85);
    text-transform: uppercase;
    letter-spacing: 1.5px;
}

/* Hero Text Content */
.hb-hero__edition {
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(12px, 1.2vw, 14px);
    font-weight: 700;
    color: #FC914D;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 12px;
    animation: hbFadeInUp 0.6s 0.1s ease both;
}

.hb-hero__title {
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(28px, 3.5vw, 48px);
    font-weight: 800;
    color: #ffffff;
    line-height: 1.15;
    margin-bottom: 16px;
    animation: hbFadeInUp 0.6s 0.2s ease both;
}

.hb-hero__subtitle {
    font-family: 'Open Sans', sans-serif;
    font-size: clamp(16px, 1.6vw, 20px);
    font-weight: 400;
    color: rgba(255, 255, 255, 0.8);
    line-height: 1.55;
    margin-bottom: 32px;
    max-width: 520px;
    animation: hbFadeInUp 0.6s 0.3s ease both;
}

/* Hero Buttons */
.hb-hero__actions {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
    animation: hbFadeInUp 0.6s 0.4s ease both;
}

.hb-hero__btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 16px 32px;
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(14px, 1.3vw, 16px);
    font-weight: 700;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.3s ease;
    border: 2px solid transparent;
    text-decoration: none;
}

.hb-hero__btn--amazon {
    background: #FF9900;
    color: #111111;
    border-color: #FF9900;
}
.hb-hero__btn--amazon:hover {
    background: #e68a00;
    border-color: #e68a00;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(255, 153, 0, 0.35);
    color: #111111;
}
.hb-hero__btn--amazon:focus-visible {
    outline: 3px solid #FC914D;
    outline-offset: 2px;
}
.hb-hero__btn--amazon svg {
    width: 20px;
    height: 20px;
}

.hb-hero__btn--secondary {
    background: transparent;
    color: #ffffff;
    border-color: rgba(255, 255, 255, 0.35);
}
.hb-hero__btn--secondary:hover {
    border-color: #ffffff;
    background: rgba(255, 255, 255, 0.08);
    transform: translateY(-2px);
    color: #ffffff;
}
.hb-hero__btn--secondary:focus-visible {
    outline: 3px solid #FC914D;
    outline-offset: 2px;
}

/* Kindle note */
.hb-hero__kindle {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 20px;
    font-size: clamp(12px, 1.2vw, 14px);
    color: rgba(255, 255, 255, 0.55);
    animation: hbFadeInUp 0.6s 0.5s ease both;
}
.hb-hero__kindle i { color: #FC914D; }


/* ─── ABOUT THE AUTHOR ─── */
.hb-author {
    padding: clamp(60px, 8vw, 100px) 0;
    background: #ffffff;
}

.hb-author__layout {
    display: flex;
    align-items: flex-start;
    gap: clamp(40px, 5vw, 70px);
}

.hb-author__photo-wrap {
    flex-shrink: 0;
    width: clamp(280px, 30vw, 380px);
    position: relative;
}

.hb-author__photo {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    object-position: center top;
    border-radius: 12px;
    box-shadow: 0 12px 40px rgba(43, 57, 144, 0.12);
    position: relative;
    z-index: 2;
}

.hb-author__photo-wrap::before {
    content: '';
    position: absolute;
    top: -12px;
    left: -12px;
    width: 80px;
    height: 80px;
    border: 3px solid #F36F21;
    border-radius: 12px 0 0 0;
    z-index: 1;
}

.hb-author__photo-wrap::after {
    content: '';
    position: absolute;
    bottom: -12px;
    right: -12px;
    width: 80px;
    height: 80px;
    border: 3px solid #2B3990;
    border-radius: 0 0 12px 0;
    z-index: 1;
}

.hb-author__text { flex: 1; }

.hb-section-label {
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(11px, 1.1vw, 13px);
    font-weight: 700;
    color: #F36F21;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 10px;
}

.hb-section-title {
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(26px, 3vw, 38px);
    font-weight: 800;
    color: #2B3990;
    line-height: 1.2;
    margin-bottom: 24px;
}

.hb-author__bio {
    font-size: clamp(15px, 1.4vw, 17px);
    color: #555555;
    line-height: 1.8;
}
.hb-author__bio p { margin-bottom: 16px; }
.hb-author__bio p:last-child { margin-bottom: 0; }

.hb-author__credentials {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 28px;
    padding-top: 28px;
    border-top: 1px solid #e8e9f0;
}

.hb-author__credential {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    background: #f0f2f8;
    border-radius: 100px;
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(11px, 1.1vw, 13px);
    font-weight: 600;
    color: #2B3990;
}
.hb-author__credential i {
    color: #F36F21;
    font-size: 0.85em;
}


/* ─── ABOUT THE HANDBOOK ─── */
.hb-about {
    padding: clamp(60px, 8vw, 100px) 0;
    background: #f5f7fa;
}

.hb-about__layout {
    display: flex;
    align-items: center;
    gap: clamp(40px, 5vw, 70px);
}

.hb-about__text { flex: 1; }

.hb-about__description {
    font-size: clamp(15px, 1.4vw, 17px);
    color: #555555;
    line-height: 1.8;
}
.hb-about__description p { margin-bottom: 16px; }

.hb-about__features {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-top: 28px;
}

.hb-about__feature {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 18px;
    background: #f0f2f8;
    border-radius: 100px;
    border: none;
    transition: background 0.25s ease;
}
.hb-about__feature:hover {
    background: #e4e7f2;
}

.hb-about__feature-icon {
    flex-shrink: 0;
    width: auto;
    height: auto;
    background: none;
    border-radius: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #F36F21;
    font-size: clamp(13px, 1.2vw, 15px);
}

.hb-about__feature-text {
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(12px, 1.15vw, 14px);
    font-weight: 600;
    color: #2B3990;
    line-height: 1.4;
}

.hb-about__image-wrap {
    flex-shrink: 0;
    width: clamp(280px, 30vw, 380px);
    position: relative;
}

.hb-about__image {
    width: 100%;
    border-radius: 12px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.hb-about__image-wrap a:hover .hb-about__image {
    transform: translateY(-4px);
    box-shadow: 0 16px 48px rgba(0, 0, 0, 0.15);
}


/* ─── CHAPTER OVERVIEW ─── */
.hb-chapters {
    padding: clamp(60px, 8vw, 100px) 0;
    background: #ffffff;
}

.hb-chapters__header {
    text-align: center;
    margin-bottom: clamp(40px, 5vw, 60px);
}

.hb-chapters__intro {
    font-size: clamp(15px, 1.4vw, 17px);
    color: #666666;
    max-width: 640px;
    margin: 0 auto;
    margin-top: 12px;
    line-height: 1.65;
}

.hb-chapters__list {
    max-width: 900px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.hb-chapter {
    border: 1px solid #e8e9f0;
    border-bottom: none;
    overflow: hidden;
    transition: box-shadow 0.3s ease;
}
.hb-chapter:first-child { border-radius: 12px 12px 0 0; }
.hb-chapter:last-child {
    border-bottom: 1px solid #e8e9f0;
    border-radius: 0 0 12px 12px;
}
.hb-chapter:hover { box-shadow: 0 4px 16px rgba(43, 57, 144, 0.06); }

.hb-chapter__trigger {
    display: flex;
    align-items: center;
    gap: 16px;
    width: 100%;
    padding: 20px 24px;
    background: #ffffff;
    border: none;
    cursor: pointer;
    text-align: left;
    transition: background 0.25s ease;
    font-family: inherit;
}
.hb-chapter__trigger:hover { background: #f8f9fc; }
.hb-chapter__trigger:focus-visible {
    outline: 3px solid #FC914D;
    outline-offset: -3px;
}

.hb-chapter__number {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    background: #2B3990;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    font-weight: 800;
    color: #ffffff;
    transition: background 0.25s ease;
}
.hb-chapter.is-open .hb-chapter__number { background: #F36F21; }

.hb-chapter__label {
    flex: 1;
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(14px, 1.4vw, 17px);
    font-weight: 700;
    color: #2B3990;
    line-height: 1.35;
}

.hb-chapter__icon {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    color: #999999;
    transition: transform 0.3s ease, color 0.25s ease;
}
.hb-chapter.is-open .hb-chapter__icon {
    transform: rotate(180deg);
    color: #F36F21;
}

.hb-chapter__body {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease;
}
.hb-chapter.is-open .hb-chapter__body { max-height: 400px; }

.hb-chapter__description {
    padding: 25px 24px 15px 24px;
    padding-left: 80px;
    font-size: clamp(14px, 1.3vw, 16px);
    color: #666666;
    line-height: 1.75;
}


/* ─── BOTTOM CTA ─── */
.hb-cta {
    padding: clamp(50px, 6vw, 80px) 0;
    background: #2B3990;
    position: relative;
    overflow: hidden;
}

.hb-cta::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -10%;
    width: 400px;
    height: 400px;
    background: radial-gradient(circle, rgba(243, 111, 33, 0.15) 0%, transparent 70%);
    border-radius: 50%;
}

.hb-cta .container {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
}

.hb-cta__title {
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(22px, 2.5vw, 32px);
    font-weight: 800;
    color: #ffffff;
    line-height: 1.25;
    margin-bottom: 10px;
}

.hb-cta__subtitle {
    font-size: clamp(15px, 1.4vw, 18px);
    color: rgba(255, 255, 255, 0.75);
    line-height: 1.5;
}

.hb-cta__actions {
    display: flex;
    gap: 16px;
    flex-shrink: 0;
}

.hb-cta__btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 16px 32px;
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(14px, 1.3vw, 16px);
    font-weight: 700;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.3s ease;
    border: 2px solid transparent;
    text-decoration: none;
}

.hb-cta__btn--primary {
    background: #F36F21;
    color: #ffffff;
    border-color: #F36F21;
}
.hb-cta__btn--primary:hover {
    background: #e05f14;
    border-color: #e05f14;
    transform: translateY(-2px);
    color: #ffffff;
}
.hb-cta__btn--primary:focus-visible {
    outline: 3px solid #FC914D;
    outline-offset: 2px;
}

.hb-cta__btn--outline {
    background: transparent;
    color: #ffffff;
    border-color: rgba(255, 255, 255, 0.35);
}
.hb-cta__btn--outline:hover {
    border-color: #ffffff;
    background: rgba(255, 255, 255, 0.08);
    color: #ffffff;
}
.hb-cta__btn--outline:focus-visible {
    outline: 3px solid #FC914D;
    outline-offset: 2px;
}


/* ─── ANIMATION ─── */
@keyframes hbFadeInUp {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}

.single-hirzel-handbook .fade-in {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.6s ease, transform 0.6s ease;
}
.single-hirzel-handbook .fade-in.is-visible {
    opacity: 1;
    transform: translateY(0);
}


/* ─── RESPONSIVE ─── */
@media (max-width: 960px) {
    .hb-hero .container {
        flex-direction: column;
        text-align: center;
    }
    .hb-hero__book { width: clamp(180px, 40vw, 250px); }
    .hb-hero__subtitle { margin-left: auto; margin-right: auto; }
    .hb-hero__actions { justify-content: center; }
    .hb-hero__kindle { justify-content: center; }

    .hb-author__layout {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
    .hb-author__photo-wrap { width: clamp(240px, 60vw, 340px); }
    .hb-author__credentials { justify-content: center; }

    .hb-about__layout { flex-direction: column-reverse; }
    .hb-about__image-wrap { width: clamp(240px, 60vw, 340px); }
    .hb-about__features { grid-template-columns: 1fr; }

    .hb-cta .container {
        flex-direction: column;
        text-align: center;
    }
    .hb-cta__actions {
        flex-direction: column;
        align-items: center;
    }
}

@media (max-width: 600px) {
    .hb-hero {
        padding: clamp(80px, 8vw, 100px) 0 clamp(60px, 7vw, 80px);
    }
    .hb-hero__book { width: 180px; }
    .hb-hero__actions {
        flex-direction: column;
        align-items: center;
    }
    .hb-hero__btn {
        width: 100%;
        max-width: 300px;
        justify-content: center;
    }

    .hb-author__photo-wrap { width: clamp(240px, 75vw, 300px); }
    .hb-author__photo-wrap::before,
    .hb-author__photo-wrap::after { display: none; }

    .hb-about__image-wrap { width: 220px; }

    .hb-chapter__trigger { padding: 16px; gap: 12px; }
    .hb-chapter__description { padding-left: 68px; }
    .hb-chapter__number { width: 34px; height: 34px; font-size: 12px; }
}

@media (prefers-reduced-motion: reduce) {
    .hb-hero__badge,
    .hb-hero__edition,
    .hb-hero__title,
    .hb-hero__subtitle,
    .hb-hero__actions,
    .hb-hero__kindle {
        animation: none;
        opacity: 1;
        transform: none;
    }
    .single-hirzel-handbook .fade-in {
        opacity: 1;
        transform: none;
        transition: none;
    }
    .hb-hero__book-image { transition: none; }
    .hb-chapter__body { transition: none; }
    .hb-chapter__icon { transition: none; }
    .hb-chapter__number { transition: none; }
}

/* ============================================================
   FILE: community-association-laws.css
   Community Association Laws Landing Page
   Hirzel Law, PLC – Redesign 2026
   
   Namespace: .cal-  (Community Association Laws)
   ============================================================ */

/* ─── HERO ─── */
.cal-hero { position: relative; padding: clamp(50px, 14vh, 70px) 0 clamp(60px, 8vh, 90px); background-color: #161d52; overflow: hidden; margin-top: 165px; }
.cal-hero__overlay { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: linear-gradient(to right, rgba(43, 57, 144, 0.94) 0%, rgba(30, 42, 110, 0.85) 40%, rgba(22, 29, 82, 0.6) 100%); z-index: 1; }
.cal-hero::after { content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg, #F36F21, #FC914D, #F36F21); z-index: 2; }

.cal-hero__breadcrumb {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: 'Open Sans', sans-serif;
    font-size: 14px;
    color: rgba(255, 255, 255, 0.6);
    margin-bottom: 20px;
    position: relative;
    z-index: 2;
}

.cal-hero__breadcrumb a { color: rgba(255, 255, 255, 0.6); }
.cal-hero__breadcrumb a:hover { color: #FC914D; }
.cal-hero__breadcrumb a:focus-visible { outline: 2px solid #FC914D; outline-offset: 2px; }

.cal-hero__accent-line {
    width: 60px;
    height: 4px;
    background: linear-gradient(90deg, #F36F21, #FC914D);
    border-radius: 2px;
    margin-bottom: 20px;
    position: relative;
    z-index: 2;
}

.cal-hero__title {
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(2.2rem, 5vw, 3.6rem);
    font-weight: 800;
    color: #FFFFFF;
    max-width: 800px;
    margin-bottom: 16px;
    position: relative;
    z-index: 2;
    line-height: 1.15;
}

.cal-hero__subtitle {
    font-family: 'Open Sans', sans-serif;
    font-size: clamp(15px, 1.5vw, 18px);
    color: rgba(255, 255, 255, 0.75);
    max-width: 640px;
    line-height: 1.7;
    position: relative;
    z-index: 2;
}

.cal-hero__badges {
    display: flex;
    gap: 12px;
    margin-top: 28px;
    position: relative;
    z-index: 2;
    flex-wrap: wrap;
}

.cal-hero__badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 6px;
    font-family: 'Open Sans', sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.85);
    letter-spacing: 0.02em;
}

.cal-hero__badge i { color: #FC914D; font-size: 14px; }

a.cal-hero__badge {
    cursor: pointer;
    text-decoration: none;
}

a.cal-hero__badge:hover {
    background: rgba(255, 255, 255, 0.15);
    border-color: rgba(255, 255, 255, 0.3);
    color: #FFFFFF;
    transform: translateY(-2px);
}

a.cal-hero__badge:focus-visible {
    outline: 2px solid #FC914D;
    outline-offset: 2px;
}

/* ─── INTRO / CTA BAND ─── */
.cal-intro {
    padding: clamp(40px, 6vh, 64px) 0;
    background: #f8fafb;
    border-bottom: 1px solid #e8ecf0;
}

.cal-intro__inner {
    display: flex;
    align-items: center;
    gap: clamp(24px, 4vw, 48px);
}

.cal-intro__text { flex: 1; }

.cal-intro__text p {
    font-family: 'Open Sans', sans-serif;
    font-size: clamp(15px, 1.4vw, 17px);
    color: #444444;
    line-height: 1.75;
    margin-bottom: 0;
}

.cal-intro__text strong { color: #2B3990; }

.cal-intro__cta { flex-shrink: 0; }

.cal-intro__btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 28px;
    background: #F36F21;
    color: #FFFFFF;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    font-weight: 700;
    border-radius: 8px;
    letter-spacing: 0.03em;
    cursor: pointer;
    white-space: nowrap;
    text-decoration: none;
    transition: all 0.25s ease;
}

.cal-intro__btn:hover { background: #e05f14; transform: translateY(-2px); color: #FFFFFF; }
.cal-intro__btn:focus-visible { outline: 3px solid #FC914D; outline-offset: 2px; }
.cal-intro__btn i { font-size: 13px; }

/* ─── TABS ─── */
.cal-body {
    padding: clamp(48px, 8vh, 80px) 0;
    scroll-margin-top: 185px;
    
}

.cal-tabs {
    display: flex;
    gap: 4px;
    margin-bottom: clamp(32px, 5vh, 48px);
    border-bottom: 3px solid #e8ecf0;
    flex-wrap: wrap;
    scroll-margin-top: 185px;
}

.cal-tab {
    padding: 14px 28px;
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(16px, 1.2vw, 20px);
    font-weight: 700;
    color: #666666;
    background: transparent;
    border: none;
    border-bottom: 3px solid transparent;
    margin-bottom: -3px;
    cursor: pointer;
    transition: all 0.25s ease;
    display: flex;
    align-items: center;
    gap: 8px;
}

.cal-tab:hover { color: #2B3990; }

.cal-tab.is-active {
    color: #2B3990;
    border-bottom-color: #F36F21;
}

.cal-tab:focus-visible { outline: 2px solid #2B3990; outline-offset: 2px; }

.cal-tab i { font-size: 16px; opacity: 0.7; }
.cal-tab.is-active i { opacity: 1; color: #F36F21; }

/* Tab panels */
.cal-panel { display: none; }
.cal-panel.is-active { display: block; }

/* ─── LAW CATEGORY CARDS ─── */
.cal-category {
    margin-bottom: clamp(32px, 5vh, 48px);
}

.cal-category__header {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 20px;
    padding-bottom: 14px;
    border-bottom: 2px solid #e8ecf0;
}

.cal-category__icon {
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #2B3990, #1e2a6e);
    border-radius: 10px;
    flex-shrink: 0;
}

.cal-category__icon i { color: #FFFFFF; font-size: 18px; }

.cal-category__title {
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(1.15rem, 2vw, 1.5rem);
    font-weight: 700;
    color: #2B3990;
    margin: 0;
}

/* ─── LAW LINKS GRID ─── */
.cal-links {
    column-count: 3;
    column-gap: 8px;
}

.cal-link {
    display: inline-flex;
    width: 100%;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    margin-bottom: 8px;
        background: #F5F6FA;
    border-radius: 6px;
    font-family: 'Open Sans', sans-serif;
    font-size: 15px;
    color: #111;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
    border: 1px solid transparent;
    break-inside: avoid;
}

.cal-link:hover {
    background: #2B3990;
    color: #ffffff;
    transform: translateX(3px);
}

.cal-link:focus-visible { outline: 2px solid #F36F21; outline-offset: 2px; }

.cal-link::before {
    content: '';
    display: block;
    width: 6px;
    min-width: 6px;
    height: 6px;
    min-height: 6px;
    border-radius: 50%;
    background: #F36F21;
    flex-shrink: 0;
}

.cal-link:hover::before { background: #FC914D; }

/* External link indicator */
.cal-link--external::after {
    content: '\f35d';
    font-family: 'Font Awesome 6 Pro', 'Font Awesome 6 Free', 'FontAwesome';
    font-weight: 900;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    font-size: 10px;
    color: #999999;
    margin-left: auto;
    flex-shrink: 0;
    display: inline-block;
    line-height: 1;
}

.cal-link--external:hover::after { color: #ffffff; }

/* ─── BOTTOM CTA BAND ─── */
.cal-bottom-cta {
    padding: clamp(56px, 8vh, 80px) 0;
    background: linear-gradient(135deg, #2B3990 0%, #1e2a6e 100%);
    text-align: center;
    position: relative;
    overflow: hidden;
}

.cal-bottom-cta::before {
    content: '';
    position: absolute;
    top: -60%;
    left: 50%;
    transform: translateX(-50%);
    width: 1200px;
    height: 1200px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(243, 111, 33, 0.06) 0%, transparent 60%);
    pointer-events: none;
}

.cal-bottom-cta__label {
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    font-weight: 700;
    color: #FC914D;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    margin-bottom: 12px;
    position: relative;
    z-index: 2;
}

.cal-bottom-cta__title {
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(1.8rem, 4vw, 2.8rem);
    font-weight: 800;
    color: #FFFFFF;
    margin-bottom: 16px;
    position: relative;
    z-index: 2;
}

.cal-bottom-cta__text {
    font-family: 'Open Sans', sans-serif;
    font-size: clamp(15px, 1.5vw, 17px);
    color: rgba(255, 255, 255, 0.8);
    max-width: 600px;
    margin: 0 auto 32px;
    line-height: 1.7;
    position: relative;
    z-index: 2;
}

.cal-bottom-cta__actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    flex-wrap: wrap;
    position: relative;
    z-index: 2;
}

.cal-bottom-cta__btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 16px 32px;
    font-family: 'Montserrat', sans-serif;
    font-size: 15px;
    font-weight: 700;
    border-radius: 8px;
    cursor: pointer;
    text-decoration: none;
    transition: all 0.25s ease;
}

.cal-bottom-cta__btn--primary {
    background: #F36F21;
    color: #FFFFFF;
    border: none;
}

.cal-bottom-cta__btn--primary:hover { background: #e05f14; transform: translateY(-2px); color: #FFFFFF; }

.cal-bottom-cta__btn--secondary {
    background: transparent;
    color: #FFFFFF;
    border: 2px solid rgba(255, 255, 255, 0.3);
}

.cal-bottom-cta__btn--secondary:hover { border-color: #FC914D; color: #FC914D; }
.cal-bottom-cta__btn:focus-visible { outline: 3px solid #FC914D; outline-offset: 2px; }
.cal-bottom-cta__btn i { font-size: 14px; }

/* ─── ANIMATIONS ─── */
@keyframes calFadeUp {
    from { opacity: 0; transform: translateY(20px); }
    to   { opacity: 1; transform: translateY(0); }
}

.cal-hero__breadcrumb,
.cal-hero__accent-line,
.cal-hero__title,
.cal-hero__subtitle,
.cal-hero__badges {
    animation: calFadeUp 0.7s cubic-bezier(0.23, 1, 0.32, 1) both;
}

.cal-hero__accent-line { animation-delay: 0.1s; }
.cal-hero__title       { animation-delay: 0.2s; }
.cal-hero__subtitle    { animation-delay: 0.3s; }
.cal-hero__badges      { animation-delay: 0.4s; }

.cal-category {
    animation: calFadeUp 0.6s cubic-bezier(0.23, 1, 0.32, 1) both;
}

/* ─── RESPONSIVE ─── */
@media (max-width: 1024px) {
    .cal-links { column-count: 2; }
}
@media (max-width: 768px) {
    .cal-intro__inner { flex-direction: column; text-align: center; }
    .cal-links { column-count: 1; }
    .cal-tabs { gap: 0; flex-direction: column; border-bottom: none; border-left: 3px solid #e8ecf0; }
    .cal-tab { padding: 14px 20px; font-size: 14px; border-bottom: none; border-left: 3px solid transparent; margin-bottom: 0; margin-left: -3px; justify-content: flex-start; width: 100%; }
    .cal-tab.is-active { border-bottom-color: transparent; border-left-color: #F36F21; background: #f5f7ff; }
    .cal-bottom-cta__actions { flex-direction: column; }
    .cal-bottom-cta__btn { width: 100%; max-width: 320px; justify-content: center; }
    .cal-hero__badges { flex-direction: column; }
}

@media (max-width: 550px) {
    .cal-category__header { flex-direction: column; align-items: flex-start; gap: 10px; }
}

/* ============================================================
   FILE: page-default.css
   Default Page Template (page.php)
   Hirzel Law, PLC – Redesign 2026

   Namespace: .pg-default-
   ============================================================ */

/* ─── HERO — Compact blue band ─── */
.pg-default-hero {
    position: relative;
   padding-top: clamp(100px, 14vh, 150px);
padding-right: 0;
padding-bottom: clamp(100px, 14vh, 150px);
padding-left: 0;
    background: linear-gradient(135deg, #2B3990 0%, #1e2a6e 40%, #161d52 100%);
    overflow: hidden;
    margin-top: 165px;
}

.pg-default-hero::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -25%;
    width: 700px;
    height: 700px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(243, 111, 33, 0.06) 0%, transparent 70%);
    pointer-events: none;
}

.pg-default-hero::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #F36F21, #FC914D, #F36F21);
}

.pg-default-hero__breadcrumb {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: 'Open Sans', sans-serif;
    font-size: 14px;
    color: rgba(255, 255, 255, 0.6);
    margin-bottom: 20px;
    position: relative;
    z-index: 2;
    flex-wrap: wrap;
}

.pg-default-hero__breadcrumb a { color: rgba(255, 255, 255, 0.6); text-decoration: none; }
.pg-default-hero__breadcrumb a:hover { color: #FC914D; }
.pg-default-hero__breadcrumb a:focus-visible { outline: 2px solid #FC914D; outline-offset: 2px; }

.pg-default-hero__accent-line {
    width: 60px;
    height: 4px;
    background: linear-gradient(90deg, #F36F21, #FC914D);
    border-radius: 2px;
    margin-bottom: 20px;
    position: relative;
    z-index: 2;
}

.pg-default-hero__title {
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(2rem, 4.5vw, 3.2rem);
    font-weight: 800;
    color: #FFFFFF;
    max-width: 800px;
    margin-bottom: 0;
    position: relative;
    z-index: 2;
    line-height: 1.15;
}

/* ─── BODY — Content + Sidebar ─── */
.pg-default-body {
    padding: clamp(40px, 6vh, 72px) 0;
}

.pg-default-body .row {
    display: flex;
    flex-wrap: wrap;
    gap: clamp(32px, 4vw, 48px);
}

/* Main Content Column */
.pg-default-main {
    flex: 1;
    min-width: 0;

}

.pg-default-main .entry-content {
    font-family: 'Open Sans', sans-serif;
    font-size: clamp(15px, 0.9rem + 0.15vw, 17px);
    color: #444444;
    line-height: 1.85;
}

/* ─── Content typography ─── */
.pg-default-main .entry-content h2 {
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(1.5rem, 2.5vw, 2rem);
    font-weight: 700;
    color: #2B3990;
    margin: clamp(32px, 4vh, 48px) 0 16px;
    padding-bottom: 12px;
    border-bottom: 2px solid #e8ecf0;
}

.pg-default-main .entry-content h3 {
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(1.2rem, 2vw, 1.5rem);
    font-weight: 700;
    color: #2B3990;
    margin: clamp(24px, 3vh, 36px) 0 12px;
}

.pg-default-main .entry-content h4 {
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(1.05rem, 1.5vw, 1.25rem);
    font-weight: 700;
    color: #333333;
    margin: clamp(20px, 2.5vh, 28px) 0 10px;
}

.pg-default-main .entry-content p {
    margin-bottom: clamp(14px, 2vh, 20px);
}

.pg-default-main .entry-content ul,
.pg-default-main .entry-content ol {
    margin: 0 0 clamp(14px, 2vh, 20px) 0;
    padding-left: 24px;
}

.pg-default-main .entry-content li {
    margin-bottom: 8px;
    padding-left: 4px;
}

.pg-default-main .entry-content ul li::marker {
    color: #F36F21;
}

.pg-default-main .entry-content blockquote {
    border-left: 4px solid #F36F21;
    padding: 16px 24px;
    margin: clamp(20px, 3vh, 32px) 0;
    background: #f8fafb;
    border-radius: 0 8px 8px 0;
    font-style: italic;
    color: #555555;
}

.pg-default-main .entry-content a {
    color: #2B3990;
    text-decoration: underline;
    text-decoration-color: rgba(43, 57, 144, 0.3);
    text-underline-offset: 3px;
    transition: all 0.25s ease;
}

.pg-default-main .entry-content a:hover {
    color: #F36F21;
    text-decoration-color: #F36F21;
}

.pg-default-main .entry-content a:focus-visible {
    outline: 2px solid #FC914D;
    outline-offset: 2px;
}

.pg-default-main .entry-content table {
    width: 100%;
    border-collapse: collapse;
    margin: clamp(20px, 3vh, 32px) 0;
    font-size: 14px;
}

.pg-default-main .entry-content table th {
    background: #2B3990;
    color: #FFFFFF;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: 12px 16px;
    text-align: left;
}

.pg-default-main .entry-content table td {
    padding: 12px 16px;
    border-bottom: 1px solid #e8ecf0;
    vertical-align: top;
}

.pg-default-main .entry-content table tr:hover td {
    background: #f8fafb;
}

.pg-default-main .entry-content img {
    border-radius: 8px;
    margin: clamp(16px, 2vh, 24px) 0;
}

.pg-default-main .entry-content hr {
    border: none;
    height: 2px;
    background: #e8ecf0;
    margin: clamp(28px, 4vh, 44px) 0;
}

/* Page links (multi-page content) */
.pg-default-main .page-links {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: clamp(24px, 3vh, 36px);
    padding-top: 20px;
    border-top: 2px solid #e8ecf0;
    font-family: 'Open Sans', sans-serif;
    font-size: 14px;
}

.pg-default-main .page-links__label {
    font-weight: 700;
    color: #2B3990;
    margin-right: 4px;
}

.pg-default-main .page-links a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 6px;
    background: #f0f4ff;
    color: #2B3990;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.25s ease;
}

.pg-default-main .page-links a:hover {
    background: #2B3990;
    color: #FFFFFF;
}

/* ─── SIDEBAR ─── */
.pg-default-sidebar {
    width: 320px;
    flex-shrink: 0;
}

.pg-default-sidebar__sticky {
    position: sticky;
    top: 130px;
}

/* CTA Card */
.pg-default-sidebar__cta {
    background: linear-gradient(135deg, #2B3990 0%, #1e2a6e 100%);
    border-radius: 12px;
    padding: clamp(24px, 3vw, 32px);
    text-align: center;
    margin-bottom: 24px;
}

.pg-default-sidebar__cta-title {
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(1.1rem, 1.4vw, 1.3rem);
    font-weight: 700;
    color: #FFFFFF;
    margin-bottom: 12px;
}

.pg-default-sidebar__cta-text {
    font-family: 'Open Sans', sans-serif;
    font-size: 14px;
    color: rgba(255, 255, 255, 0.8);
    line-height: 1.65;
    margin-bottom: 20px;
}

.pg-default-sidebar__cta-btn {
    display: inline-block;
    width: 100%;
    padding: 14px 24px;
    background: #F36F21;
    color: #FFFFFF;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    font-weight: 700;
    border-radius: 8px;
    text-align: center;
    text-decoration: none;
    transition: all 0.25s ease;
}

.pg-default-sidebar__cta-btn:hover {
    background: #e05f14;
    transform: translateY(-2px);
    color: #FFFFFF;
}

.pg-default-sidebar__cta-btn:focus-visible {
    outline: 3px solid #FC914D;
    outline-offset: 2px;
}

.pg-default-sidebar__cta-phone {
    font-family: 'Open Sans', sans-serif;
    font-size: 14px;
    color: rgba(255, 255, 255, 0.65);
    margin-top: 14px;
}

.pg-default-sidebar__cta-phone a {
    color: #FC914D;
    font-weight: 600;
    text-decoration: none;
}

.pg-default-sidebar__cta-phone a:hover { color: #FFFFFF; }
.pg-default-sidebar__cta-phone a:focus-visible { outline: 2px solid #FC914D; outline-offset: 2px; }


/* ─── ANIMATIONS ─── */
@keyframes pgFadeUp {
    from { opacity: 0; transform: translateY(18px); }
    to   { opacity: 1; transform: translateY(0); }
}

.pg-default-hero__breadcrumb,
.pg-default-hero__accent-line,
.pg-default-hero__title {
    animation: pgFadeUp 0.65s cubic-bezier(0.23, 1, 0.32, 1) both;
}

.pg-default-hero__accent-line { animation-delay: 0.1s; }
.pg-default-hero__title       { animation-delay: 0.2s; }

/* ─── RESPONSIVE ─── */
@media (max-width: 960px) {
    .pg-default-sidebar { width: 280px; }
}

@media (max-width: 768px) {
    .pg-default-body .row { flex-direction: column; }
    .pg-default-main { max-width: 100%; }
    .pg-default-sidebar { width: 100%; }
    .pg-default-sidebar__sticky { position: static; }
    .pg-default-bottom-cta__actions { flex-direction: column; }
    .pg-default-bottom-cta__btn { width: 100%; max-width: 320px; justify-content: center; }
}

@media (prefers-reduced-motion: reduce) {
    .pg-default-hero__breadcrumb,
    .pg-default-hero__accent-line,
    .pg-default-hero__title { animation: none; opacity: 1; transform: none; }
}

/* ============================================================
   RESOURCES PAGE (page-resources.php)
   ============================================================ */

/* ─── HERO ─── */
.res-hero {
    position: relative;
    min-height: clamp(320px, 45vh, 480px);
    display: flex;
    align-items: center;
    background-color: #2B3990;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    overflow: hidden;
    margin-top: 165px
}

.res-hero__bg {
    position: absolute;
    inset: 0;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    filter: grayscale(100%);
    z-index: 0;
}

.res-hero__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        135deg,
        rgba(43, 57, 144, 0.92) 0%,
        rgba(43, 57, 144, 0.78) 50%,
        rgba(43, 57, 144, 0.65) 100%
    );
    z-index: 1;
}

.res-hero__accent {
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 100%;
    height: 5px;
    background: linear-gradient(90deg, #F36F21 0%, #FC914D 40%, #2B3990 100%);
    z-index: 3;
}

.res-hero > .container {
    position: relative;
    z-index: 2;
}

.res-hero__content {
    max-width: 700px;
    padding: clamp(100px, 14vh, 140px) 0 clamp(50px, 8vh, 80px);
}

.res-hero__eyebrow {
    display: inline-block;
    font-family: 'Open Sans', sans-serif;
    font-size: clamp(0.7rem, 1vw, 0.825rem);
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: #ffffff;
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    border-left: 3px solid #F36F21;
    padding: clamp(8px, 1.2vh, 12px) clamp(12px, 1.8vw, 20px);
    margin-bottom: clamp(16px, 2.5vh, 24px);
    opacity: 0;
    transform: translateY(16px);
    animation: resSlideUp 0.8s cubic-bezier(0.16, 1, 0.3, 1) 0.1s forwards;
}

.res-hero__title {
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(36px, 5.5vw, 64px);
    font-weight: 800;
    color: #ffffff;
    line-height: 1.08;
    margin-bottom: clamp(12px, 2vh, 20px);
    opacity: 0;
    transform: translateY(20px);
    animation: resSlideUp 0.9s cubic-bezier(0.16, 1, 0.3, 1) 0.25s forwards;
}

.res-hero__subtitle {
    font-family: 'Open Sans', sans-serif;
    font-size: clamp(15px, 1.5vw, 18px);
    font-weight: 400;
    color: rgba(255, 255, 255, 0.88);
    line-height: 1.65;
    max-width: 560px;
    opacity: 0;
    transform: translateY(16px);
    animation: resSlideUp 0.9s cubic-bezier(0.16, 1, 0.3, 1) 0.4s forwards;
}

@keyframes resSlideUp {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ─── QUICK NAV ─── */
.res-quicknav {
    background: #2B3990;
    border-bottom: none;
    padding: 0;
    position: sticky;
    top: 105px; /* matches .hero-header-offset / fixed header height */
    z-index: 90;
    box-shadow: 0 4px 16px rgba(43, 57, 144, 0.25);
}

.res-quicknav__list {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(4px, 1.5vw, 16px);
    list-style: none;
    margin: 0;
    padding: 0;
}

.res-quicknav__list li {
    margin: 0;
}

.res-quicknav__list a {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(12px, 1.2vw, 14px);
    font-weight: 700;
    color: rgba(255, 255, 255, 0.75);
    text-decoration: none;
    padding: clamp(16px, 2.2vh, 22px) clamp(14px, 2vw, 24px);
    border-bottom: 3px solid transparent;
    letter-spacing: 0.03em;
    transition: color 0.3s cubic-bezier(0.25, 0.1, 0.25, 1),
                border-color 0.3s cubic-bezier(0.25, 0.1, 0.25, 1),
                background 0.3s cubic-bezier(0.25, 0.1, 0.25, 1);
    white-space: nowrap;
}

.res-quicknav__list a i {
    color: #FC914D;
    font-size: 15px;
    transition: color 0.3s cubic-bezier(0.25, 0.1, 0.25, 1);
}

.res-quicknav__list a:hover,
.res-quicknav__list a:focus-visible {
    color: #ffffff;
    border-bottom-color: #F36F21;
    background: rgba(255, 255, 255, 0.08);
    outline: none;
}

.res-quicknav__list a:hover i,
.res-quicknav__list a:focus i {
    color: #F36F21;
}

/* ─── SHARED SECTION HEADER ─── */
.res-section-header {
    text-align: center;
    max-width: 680px;
    margin: 0 auto clamp(36px, 5vh, 56px);
}

.res-section-header__label {
    display: inline-block;
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(11px, 1vw, 13px);
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #F36F21;
    margin-bottom: 12px;
}

.res-section-header__label--light {
    color: #FC914D;
}

.res-section-header__title {
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(28px, 3.5vw, 40px);
    font-weight: 800;
    color: #2B3990;
    line-height: 1.15;
    margin-bottom: clamp(12px, 2vh, 20px);
}

.res-section-header__intro {
    font-family: 'Open Sans', sans-serif;
    font-size: clamp(15px, 1.4vw, 17px);
    font-weight: 400;
    color: #555555;
    line-height: 1.7;
}

/* ─── BLOGS SECTION ─── */
.res-blogs {
    padding: clamp(56px, 8vh, 90px) 0;
    background: #ffffff;
    scroll-margin-top: 170px; /* header ~165px + quicknav ~50px + buffer */
}

.res-blog-card {
    display: block;
    text-decoration: none;
    border-radius: 10px;
    overflow: hidden;
    background: #ffffff;
    border: 1px solid #e8eaf0;
    transition: transform 0.4s cubic-bezier(0.25, 0.1, 0.25, 1),
                box-shadow 0.4s cubic-bezier(0.25, 0.1, 0.25, 1);
    margin-bottom: 24px;
}

.res-blog-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 16px 40px rgba(43, 57, 144, 0.12);
}

.res-blog-card__image {
    position: relative;
    height: clamp(180px, 22vw, 240px);
    overflow: hidden;
}

.res-blog-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s cubic-bezier(0.25, 0.1, 0.25, 1);
}

.res-blog-card:hover .res-blog-card__image img {
    transform: scale(1.05);
}

.res-blog-card__placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.res-blog-card__placeholder--il {
    background: linear-gradient(135deg, #2B3990 0%, #3d4db3 100%);
}

.res-blog-card__placeholder--mi {
    background: linear-gradient(135deg, #1a2560 0%, #2B3990 100%);
}

.res-blog-card__placeholder i {
    font-size: 56px;
    color: rgba(255, 255, 255, 0.25);
}

.res-blog-card__state-badge {
    position: absolute;
    top: 16px;
    right: 16px;
    font-family: 'Montserrat', sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #ffffff;
    background: #F36F21;
    padding: 6px 14px;
    border-radius: 4px;
}

.res-blog-card__body {
    padding: clamp(20px, 3vw, 28px);
}

.res-blog-card__title {
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(18px, 2vw, 22px);
    font-weight: 700;
    color: #2B3990;
    line-height: 1.3;
    margin-bottom: 10px;
    transition: color 0.3s;
}

.res-blog-card:hover .res-blog-card__title {
    color: #F36F21;
}

.res-blog-card__desc {
    font-family: 'Open Sans', sans-serif;
    font-size: clamp(14px, 1.3vw, 15px);
    font-weight: 400;
    color: #555555;
    line-height: 1.65;
    margin-bottom: 16px;
}

.res-blog-card__date {
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    font-weight: 600;
    color: #999999;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    margin-bottom: 8px;
}

.res-blog-card__link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    font-weight: 700;
    color: #F36F21;
    letter-spacing: 0.02em;
    transition: gap 0.3s;
}

.res-blog-card:hover .res-blog-card__link {
    gap: 10px;
}

.res-blog-card__visit-all {
    text-align: right;
    margin-top: -12px;
    margin-bottom: 24px;
}

.res-blog-card__visit-all a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    font-weight: 700;
    color: #2B3990;
    text-decoration: none;
    transition: color 0.3s, gap 0.3s;
}

.res-blog-card__visit-all a:hover {
    color: #F36F21;
    gap: 10px;
}

/* ─── COMMUNITY ASSOCIATION LAWS ─── */
.res-laws {
    position: relative;
    padding: clamp(56px, 8vh, 90px) 0;
    background: #f5f6fa;
    scroll-margin-top: 170px;
}

.res-laws__accent-bar {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(90deg, #2B3990, #F36F21, #FC914D);
}

.res-laws__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
    padding-right: clamp(20px, 4vw, 48px);
}

.res-laws__title {
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(28px, 3.5vw, 40px);
    font-weight: 800;
    color: #2B3990;
    line-height: 1.15;
    margin-bottom: clamp(12px, 2vh, 20px);
}

.res-laws__intro {
    font-family: 'Open Sans', sans-serif;
    font-size: clamp(15px, 1.4vw, 17px);
    font-weight: 400;
    color: #555555;
    line-height: 1.7;
}

.res-laws__cards {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.res-laws__card {
    display: flex;
    align-items: center;
    gap: clamp(14px, 2vw, 20px);
    padding: clamp(18px, 2.5vw, 24px);
    background: #ffffff;
    border-radius: 8px;
    border: 1px solid #e8eaf0;
    text-decoration: none;
    transition: transform 0.35s cubic-bezier(0.25, 0.1, 0.25, 1),
                box-shadow 0.35s cubic-bezier(0.25, 0.1, 0.25, 1),
                border-color 0.35s;
}

.res-laws__card:hover {
    transform: translateX(4px);
    box-shadow: 0 8px 28px rgba(43, 57, 144, 0.1);
    border-color: #2B3990;
}

.res-laws__card-icon {
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #2B3990 0%, #3d4db3 100%);
    border-radius: 10px;
    color: #ffffff;
    font-size: 18px;
}

.res-laws__card-text {
    flex: 1;
    min-width: 0;
}

.res-laws__card-text h3 {
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(15px, 1.5vw, 17px);
    font-weight: 700;
    color: #2B3990;
    margin-bottom: 4px;
    line-height: 1.3;
    transition: color 0.3s;
}

.res-laws__card:hover .res-laws__card-text h3 {
    color: #F36F21;
}

.res-laws__card-text p {
    font-family: 'Open Sans', sans-serif;
    font-size: clamp(13px, 1.2vw, 14px);
    font-weight: 400;
    color: #777777;
    line-height: 1.55;
    margin: 0;
}

.res-laws__card-arrow {
    flex-shrink: 0;
    color: #cccccc;
    font-size: 14px;
    transition: color 0.3s, transform 0.3s;
}

.res-laws__card:hover .res-laws__card-arrow {
    color: #F36F21;
    transform: translateX(3px);
}

.res-laws__view-all {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    font-weight: 700;
    color: #2B3990;
    text-decoration: none;
    margin-top: 20px;
    padding: 10px 0;
    border-bottom: 2px solid transparent;
    transition: color 0.3s, border-color 0.3s, gap 0.3s;
}

.res-laws__view-all:hover {
    color: #F36F21;
    border-bottom-color: #F36F21;
    gap: 12px;
}

/* ─── HIRZEL'S HANDBOOK ─── */
.res-handbook {
    padding: clamp(56px, 8vh, 90px) 0;
    background: #ffffff;
     scroll-margin-top: 170px;
}

.res-handbook__visual {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    padding-right: clamp(20px, 3vw, 40px);
}

.res-handbook__image {
    width: 100%;
    max-width: 420px;
    border-radius: 10px;
    box-shadow: 0 20px 50px rgba(43, 57, 144, 0.15);
    transition: transform 0.5s cubic-bezier(0.25, 0.1, 0.25, 1);
}

.res-handbook__image:hover {
    transform: scale(1.02) rotate(-0.5deg);
}

.res-handbook__placeholder {
    width: 100%;
    max-width: 380px;
    aspect-ratio: 3 / 4;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 16px;
    background: linear-gradient(145deg, #2B3990 0%, #1a2560 100%);
    border-radius: 10px;
    box-shadow: 0 20px 50px rgba(43, 57, 144, 0.2);
}

.res-handbook__placeholder i {
    font-size: 64px;
    color: rgba(255, 255, 255, 0.25);
}

.res-handbook__placeholder span {
    font-family: 'Montserrat', sans-serif;
    font-size: 18px;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.5);
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.res-handbook__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
}

.res-handbook__title {
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(28px, 3.5vw, 40px);
    font-weight: 800;
    color: #2B3990;
    line-height: 1.15;
    margin-bottom: clamp(12px, 2vh, 20px);
}

.res-handbook__intro {
    font-family: 'Open Sans', sans-serif;
    font-size: clamp(15px, 1.4vw, 17px);
    font-weight: 400;
    color: #555555;
    line-height: 1.7;
    margin-bottom: clamp(24px, 3.5vh, 36px);
}

.res-handbook__buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

.res-handbook__btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(13px, 1.2vw, 15px);
    font-weight: 700;
    text-decoration: none;
    padding: clamp(12px, 1.8vh, 16px) clamp(20px, 3vw, 28px);
    border-radius: 6px;
    transition: transform 0.3s cubic-bezier(0.25, 0.1, 0.25, 1),
                box-shadow 0.3s cubic-bezier(0.25, 0.1, 0.25, 1),
                background 0.3s;
}

.res-handbook__btn--mi {
    background: #2B3990;
    color: #ffffff;
}

.res-handbook__btn--mi:hover {
    background: #1e2b70;
    color: #ffffff;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(43, 57, 144, 0.3);
}

.res-handbook__btn--il {
    background: #F36F21;
    color: #ffffff;
}

.res-handbook__btn--il:hover {
    background: #d95f19;
    color: #ffffff;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(243, 111, 33, 0.3);
}

/* ─── READY COLLECT ─── */
.res-readycollect {
    position: relative;
    padding: clamp(56px, 8vh, 90px) 0;
    background: #f5f6fa;
    scroll-margin-top: 170px;
}

.res-readycollect__accent-bar {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(90deg, #2B3990, #F36F21, #FC914D);
}

.res-readycollect__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
    padding-right: clamp(20px, 4vw, 48px);
}

.res-readycollect__title {
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(28px, 3.5vw, 40px);
    font-weight: 800;
    color: #2B3990;
    line-height: 1.15;
    margin-bottom: clamp(12px, 2vh, 18px);
}

.res-readycollect__intro {
    font-family: 'Open Sans', sans-serif;
    font-size: clamp(15px, 1.4vw, 17px);
    font-weight: 400;
    color: #555555;
    line-height: 1.7;
    margin-bottom: clamp(24px, 3.5vh, 36px);
}

.res-readycollect__btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(13px, 1.2vw, 15px);
    font-weight: 700;
    color: #ffffff;
    background: #F36F21;
    padding: clamp(14px, 2vh, 18px) clamp(24px, 3.5vw, 36px);
    border-radius: 6px;
    text-decoration: none;
    align-self: flex-start;
    transition: transform 0.3s cubic-bezier(0.25, 0.1, 0.25, 1),
                box-shadow 0.3s cubic-bezier(0.25, 0.1, 0.25, 1),
                background 0.3s;
}

.res-readycollect__btn:hover {
    background: #d95f19;
    color: #ffffff;
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(243, 111, 33, 0.3);
}

.res-readycollect__graphic {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
}

.res-readycollect__graphic img {
    max-width: 100%;
    border-radius: 8px;
    box-shadow: 0 12px 36px rgba(43, 57, 144, 0.12);
}

.res-readycollect__icon-wrap {
    width: clamp(120px, 16vw, 180px);
    height: clamp(120px, 16vw, 180px);
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    border: 2px solid #e8eaf0;
    border-radius: 50%;
    box-shadow: 0 8px 28px rgba(43, 57, 144, 0.08);
}

.res-readycollect__icon-wrap i {
    font-size: clamp(36px, 5vw, 56px);
    color: #F36F21;
}

/* ─── BOTTOM CTA ─── */
.res-cta {
    padding: clamp(48px, 7vh, 72px) 0;
    background: #f5f6fa;
}

.res-cta__inner {
    text-align: center;
    max-width: 620px;
    margin: 0 auto;
}

.res-cta__title {
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(24px, 3vw, 34px);
    font-weight: 800;
    color: #2B3990;
    line-height: 1.2;
    margin-bottom: 12px;
}

.res-cta__text {
    font-family: 'Open Sans', sans-serif;
    font-size: clamp(15px, 1.4vw, 17px);
    font-weight: 400;
    color: #555555;
    line-height: 1.65;
    margin-bottom: clamp(20px, 3vh, 32px);
}

.res-cta__btn {
    display: inline-flex;
    align-items: center;
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(14px, 1.3vw, 16px);
    font-weight: 700;
    color: #ffffff;
    background: #F36F21;
    padding: clamp(14px, 2vh, 18px) clamp(28px, 4vw, 40px);
    border-radius: 6px;
    text-decoration: none;
    transition: transform 0.3s cubic-bezier(0.25, 0.1, 0.25, 1),
                box-shadow 0.3s cubic-bezier(0.25, 0.1, 0.25, 1),
                background 0.3s;
}

.res-cta__btn:hover {
    background: #d95f19;
    color: #ffffff;
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(243, 111, 33, 0.3);
}

/* ─── FOCUS STATES (A11y) ─── */
.res-quicknav__list a:focus-visible,
.res-blog-card:focus-visible,
.res-laws__card:focus-visible,
.res-laws__view-all:focus-visible,
.res-handbook__btn:focus-visible,
.res-readycollect__btn:focus-visible,
.res-cta__btn:focus-visible {
    outline: 3px solid #F36F21;
    outline-offset: 3px;
}

/* ─── RESPONSIVE: TABLET ─── */
@media (max-width: 1100px) {
    .res-quicknav { top: 105px; }
    .res-blogs, .res-laws, .res-handbook, .res-readycollect { scroll-margin-top: 160px; }
}

@media (max-width: 768px) {
    .res-quicknav { top: 100px; }
    .res-blogs, .res-laws, .res-handbook, .res-readycollect { scroll-margin-top: 155px; }
}

/* ─── RESPONSIVE: TABLET ─── */
@media (max-width: 960px) {
    .res-laws .row {
        flex-direction: column;
    }

    .res-laws .six.columns {
        width: 100%;
        margin-left: 0;
    }

    .res-laws__content {
        padding-right: 0;
        margin-bottom: 36px;
    }

    .res-handbook .row {
        flex-direction: column;
    }

    .res-handbook .six.columns {
        width: 100%;
        margin-left: 0;
    }

    .res-handbook__visual {
        padding-right: 0;
        margin-bottom: 36px;
    }

    .res-handbook__image {
        max-width: 320px;
    }

    .res-handbook__placeholder {
        max-width: 280px;
    }
}

/* ─── RESPONSIVE: MOBILE ─── */
@media (max-width: 768px) {
    .res-quicknav__list {
        gap: 0;
        justify-content: stretch;
    }

    .res-quicknav__list li {
        flex: 1;
        text-align: center;
    }

    .res-quicknav__list a {
        justify-content: center;
        padding: 14px 6px;
        font-size: 11px;
        font-weight: 600;
    }

    .res-quicknav__list a i {
        display: none;
    }

    .res-blogs .row {
        flex-direction: column;
    }

    .res-blogs .six.columns {
        width: 100%;
        margin-left: 0;
    }

    .res-blog-card {
        margin-bottom: 20px;
    }

    .res-readycollect .row {
        flex-direction: column;
    }

    .res-readycollect .six.columns {
        width: 100%;
        margin-left: 0;
    }

    .res-readycollect__content {
        padding-right: 0;
        margin-bottom: 32px;
    }

    .res-handbook__buttons {
        flex-direction: column;
    }

    .res-handbook__btn {
        justify-content: center;
    }
}

/* ============================================
   HERO TOP MARGIN - Fixed Header Offset
   ============================================ */
.hero-header-offset {
    margin-top: 165px;
}

@media (max-width: 1100px) {
    .hero-header-offset {
        margin-top: 105px; /* adjust to your tablet header height */
    }
}

@media (max-width: 768px) {
    .hero-header-offset {
        margin-top: 145px; /* adjust to your mobile header height */
    }
}

/* ============================================================
   REQUEST A PROPOSAL PAGE — pg-proposal
   File: style.css
   Template: page-contact.php
   ============================================================ */

/* HERO */
.pg-proposal-hero { position: relative; background: #2B3990; margin-top: 165px; padding: clamp(60px, 8vw, 100px) 0 clamp(70px, 10vw, 120px); overflow: hidden; }
.pg-proposal-hero::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background-image: url('/wp-content/uploads/2026/02/Seminar-Pic-5.webp'); background-size: cover; background-position: center center; background-repeat: no-repeat; filter: grayscale(100%); z-index: 0; }
.pg-proposal-hero__overlay { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: linear-gradient(to right, rgba(43, 57, 144, 0.92) 0%, rgba(43, 57, 144, 0.88) 40%, rgba(43, 57, 144, 0.75) 70%, rgba(43, 57, 144, 0.65) 100%); z-index: 1; }
.pg-proposal-hero .container { position: relative; z-index: 3; }
.pg-proposal-hero__content { position: relative; z-index: 3; }
.pg-proposal-hero__breadcrumb { font-family: 'Montserrat', sans-serif; font-size: clamp(12px, 1.2vw, 14px); font-weight: 600; color: rgba(255, 255, 255, 0.85); text-transform: uppercase; letter-spacing: 1.5px; margin-bottom: 16px; }
.pg-proposal-hero__breadcrumb a { color: rgba(255, 255, 255, 0.85); text-decoration: none; transition: color 0.25s ease; }
.pg-proposal-hero__breadcrumb a:hover { color: #FC914D; }
.pg-proposal-hero__breadcrumb a:focus-visible { outline: 2px solid #FC914D; outline-offset: 2px; }
.pg-proposal-hero__breadcrumb span { margin: 0 8px; }
.pg-proposal-hero__accent-line { width: 70px; height: 4px; background: #F36F21; border-radius: 2px; margin-bottom: 20px; }
.pg-proposal-hero__title { color: #ffffff; font-family: 'Montserrat', sans-serif; font-size: clamp(32px, 5vw, 56px); font-weight: 800; line-height: 1.15; margin-bottom: 16px; max-width: 750px; }
.pg-proposal-hero__subtitle { font-family: 'Montserrat', sans-serif; font-size: clamp(16px, 1.8vw, 20px); font-weight: 500; color: #FC914D; margin-bottom: 0; }
@media (max-width: 768px) { .pg-proposal-hero { margin-top: 100px; } .pg-proposal-hero__overlay { background: linear-gradient(to bottom, rgba(43, 57, 144, 0.95) 0%, rgba(43, 57, 144, 0.90) 100%); } }

/* FORM SECTION */
.pg-proposal-form { padding: clamp(60px, 10vw, 100px) 0; background: #ffffff; }

/* Left intro column */
.pg-proposal-form__intro { padding-right: clamp(2rem, 4vw, 4rem); }
.pg-proposal-form__supertitle { font-family: 'Open Sans', sans-serif; font-weight: 700; font-size: clamp(0.75rem, 1.2vw, 0.875rem); color: #F36F21; text-transform: uppercase; letter-spacing: 0.15em; margin: 0 0 0.75rem 0; }
.pg-proposal-form__heading { font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: clamp(1.75rem, 3.5vw, 2.5rem); color: #2B3990; line-height: 1.15; margin: 0 0 clamp(1rem, 2vh, 1.5rem) 0; }
.pg-proposal-form__body { font-family: 'Open Sans', sans-serif; font-size: clamp(0.95rem, 1.4vw, 1.1rem); line-height: 1.7; color: #555555; margin: 0 0 clamp(2rem, 4vh, 3rem) 0; }

/* Feature list */
.pg-proposal-form__features { list-style: none; margin: 0 0 clamp(2rem, 4vh, 3rem) 0; padding: 0; display: flex; flex-direction: column; gap: clamp(1.25rem, 2.5vh, 1.75rem); }
.pg-proposal-form__feature { display: flex; align-items: flex-start; gap: 1rem; }
.pg-proposal-form__feature-icon { flex-shrink: 0; width: 42px; height: 42px; background: rgba(43, 57, 144, 0.08); border-radius: 8px; display: flex; align-items: center; justify-content: center; color: #2B3990; font-size: 1.1rem; margin-top: 2px; }
.pg-proposal-form__feature-text h3 { font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: clamp(0.9rem, 1.3vw, 1rem); color: #333333; margin: 0 0 0.25rem 0; }
.pg-proposal-form__feature-text p { font-family: 'Open Sans', sans-serif; font-size: clamp(0.85rem, 1.2vw, 0.95rem); color: #666666; line-height: 1.55; margin: 0; }

/* Phone CTA */
.pg-proposal-form__phone-cta { font-family: 'Open Sans', sans-serif; font-size: clamp(0.9rem, 1.3vw, 1rem); color: #555555; margin: 0; }
.pg-proposal-form__phone-link { display: inline-flex; align-items: center; gap: 7px; font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: clamp(1rem, 1.5vw, 1.15rem); color: #F36F21; text-decoration: none; margin-left: 6px; transition: color 0.25s ease; }
.pg-proposal-form__phone-link:hover { color: #e05f14; }
.pg-proposal-form__phone-link:focus-visible { outline: 2px solid #F36F21; outline-offset: 3px; border-radius: 2px; }

/* Form card */
.pg-proposal-form__card-wrap { }
.pg-proposal-form__card { background: #ffffff; border-radius: 8px; box-shadow: 0 8px 48px rgba(43, 57, 144, 0.12), 0 2px 12px rgba(0, 0, 0, 0.06); overflow: hidden; border-top: 5px solid #2B3990; }
.pg-proposal-form__card-header { background: #2B3990; padding: clamp(1.5rem, 3vh, 2.25rem) clamp(1.5rem, 3vw, 2.5rem); }
.pg-proposal-form__card-eyebrow { font-family: 'Open Sans', sans-serif; font-weight: 700; font-size: 0.75rem; color: #FC914D; text-transform: uppercase; letter-spacing: 0.15em; margin: 0 0 0.4rem 0; }
.pg-proposal-form__card-title { font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: clamp(1.25rem, 2.5vw, 1.75rem); color: #ffffff; margin: 0; text-transform: uppercase; letter-spacing: -0.01em; }
.pg-proposal-form__card-body { padding: clamp(1.5rem, 3vh, 2.5rem) clamp(1.5rem, 3vw, 2.5rem); }

/* Responsive */
@media (max-width: 768px) {
    .pg-proposal-form__intro { padding-right: 0; margin-bottom: 3rem; }
    .pg-proposal-form .five.columns,
    .pg-proposal-form .seven.columns { width: 100%; }
}

/* ---------- Form Disclaimer ---------- */
.form-disclaimer { font-family: 'Open Sans', sans-serif; font-size: clamp(0.7rem, 1.1vw, 0.775rem); line-height: 1.55; color: #888888; margin: clamp(0.75rem, 1.5vh, 1rem) 0 0 0; padding: 0 15px}
.form-disclaimer--light { position: relative; z-index: 3; color: rgba(255, 255, 255, 0.8); margin-top: clamp(1.5rem, 3vh, 2.5rem); padding: 0 15px}
.contact-form-section .six.columns { position: relative; z-index: 2; }

/* Graysclae Utility */
.bg-grayscale { position: relative; overflow: hidden; }
.bg-grayscale::before { content: ""; position: absolute; inset: 0; background-image: var(--hero-bg); background-size: cover; background-position: center; background-repeat: no-repeat; filter: grayscale(100%); z-index: 0; pointer-events: none; }

/* ============================================================
   File: style.css  |  Section: 404 Page  (.pg-404__)
   ============================================================ */

/* --- Hero --- */
.pg-404__hero { background: #2B3990; padding: clamp(60px, 8vw, 100px) 0 clamp(50px, 7vw, 85px); text-align: center; position: relative; overflow: hidden; }
.pg-404__hero-bg-text { position: absolute; font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: clamp(180px, 30vw, 360px); color: rgba(255,255,255,0.035); top: 50%; left: 50%; transform: translate(-50%, -50%); line-height: 1; pointer-events: none; white-space: nowrap; user-select: none; }
.pg-404__hero-inner { position: relative; z-index: 1; }
.pg-404__badge { display: inline-block; background: #F36F21; color: #ffffff; font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 11px; letter-spacing: 2.5px; text-transform: uppercase; padding: 6px 18px; border-radius: 2px; margin-bottom: 22px; }
.pg-404__headline { font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: clamp(32px, 5vw, 58px); color: #ffffff; margin: 0 0 18px; line-height: 1.1; }
.pg-404__headline span { color: #FC914D; }
.pg-404__sub { font-size: clamp(15px, 1.5vw, 18px); color: rgba(255,255,255,0.75); max-width: 540px; margin: 0 auto 32px; line-height: 1.7; }
.pg-404__divider { width: 56px; height: 4px; background: #F36F21; margin: 0 auto 28px; }
.pg-404__cta-row { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }
.pg-404__btn { font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 13px; letter-spacing: 0.5px; padding: 14px 30px; border-radius: 3px; text-decoration: none; display: inline-block; transition: opacity 0.2s; }
.pg-404__btn:focus-visible { outline: 3px solid #FC914D; outline-offset: 3px; }
.pg-404__btn--primary { background: #F36F21; color: #ffffff; }
.pg-404__btn--primary:hover { opacity: 0.88; color: #ffffff; }
.pg-404__btn--outline { background: transparent; color: #ffffff; border: 2px solid rgba(255,255,255,0.45); }
.pg-404__btn--outline:hover { border-color: rgba(255,255,255,0.85); color: #ffffff; }

/* --- Body --- */
.pg-404__body { padding: clamp(40px, 6vw, 70px) 0; }
.pg-404__section-label { font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 11px; letter-spacing: 3px; color: #F36F21; text-transform: uppercase; margin-bottom: 10px; }
.pg-404__section-title { font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: clamp(20px, 2.5vw, 26px); color: #2B3990; margin: 0 0 24px; }

/* --- Quick Link Cards --- */
.pg-404__links-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-bottom: 50px; }
.pg-404__link-card { background: #f5f7fc; border: 1.5px solid #e2e8f5; border-radius: 4px; padding: 20px 18px; text-decoration: none; display: block; transition: border-color 0.2s, background 0.2s; }
.pg-404__link-card:hover { border-color: #2B3990; background: #eef1fb; }
.pg-404__link-card:focus-visible { outline: 3px solid #F36F21; outline-offset: 2px; }
.pg-404__link-card--accent { border-color: #F36F21; background: #fff8f4; }
.pg-404__link-card--accent:hover { border-color: #d45e15; background: #fef1ea; }
.pg-404__link-card-icon { width: 36px; height: 36px; background: #2B3990; border-radius: 50%; display: flex; align-items: center; justify-content: center; margin-bottom: 12px; }
.pg-404__link-card-icon svg { width: 16px; height: 16px; fill: none; stroke: #ffffff; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.pg-404__link-card-icon--accent { background: #F36F21; }
.pg-404__link-card-title { font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 13px; color: #2B3990; margin-bottom: 4px; }
.pg-404__link-card-title--accent { color: #F36F21; }
.pg-404__link-card-desc { font-size: 12px; color: #666666; line-height: 1.45; }

/* --- Search Form Override --- */
.pg-404-search-form { display: flex; gap: 0; max-width: 500px; border: 2px solid #2B3990; border-radius: 3px; overflow: hidden; margin-bottom: 50px; }
.pg-404-search-field { flex: 1; border: none; padding: 13px 16px; font-family: 'Open Sans', sans-serif; font-size: 15px; color: #333333; outline: none; background: #ffffff; min-width: 0; }
.pg-404-search-field:focus { outline: none; }
.pg-404-search-submit button[type="submit"] { background: #2B3990; color: #ffffff; border: none; border-radius: 0; padding: 13px 22px; font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 12px; letter-spacing: 1px; cursor: pointer; text-transform: uppercase; transition: background 0.2s; white-space: nowrap; }
.pg-404-search-submit:hover { background: #1e2a6e; }
.pg-404-search-submit:focus-visible { outline: 3px solid #FC914D; outline-offset: -3px; }

/* --- Responsive --- */
@media (max-width: 900px) {
    .pg-404__links-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
    .pg-404__links-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
    .pg-404__cta-strip { text-align: center; justify-content: center; }
    .pg-404__cta-strip-actions { justify-content: center; }
}
@media (max-width: 400px) {
    .pg-404__links-grid { grid-template-columns: 1fr; }
}