/*

 *  Theme Name: peck-trial-attorneys-tseg-theme

 *  Author: The Search Engine Guys

 *  Author URI: http://www.thesearchengineguys.com/

 *  Description: A sensible starting place for freelancers hired by The Search Engine Guys.

 */



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

   TABLE OF CONTENTS

   01. CSS Custom Properties & Brand Tokens

   02. Base Reset & Body

   03. WordPress Admin Bar

   04. Header & Navigation

   05. Hamburger Icon

   06. Primary Navigation — Desktop

   07. Primary Navigation — Mobile/Tablet

   08. Hero Section

   09. About Us Section

   09b. About Page (page-about.php)

   10. Recent Results Section

   11. Mid-Page CTA Form Section

   12. Learn More Cards + Meet the Team

   13. Features Section

   14. Timeline / Case Stages

   15. Incidents We Cover

   16. FAQ Section

   17. Gravity Forms

   18. Buttons

   19. Footer

   20. Legacy / TSEG Utilities

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





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

   01. CSS CUSTOM PROPERTIES & BRAND TOKENS

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



:root {

    /* Brand colours */

    --off-white-yellow:  #f6f7ea;

    --peck-blue:         #0d2e41;

    --white:             #ffffff;

    --yellow:            #fed33f;

    --light-blue:        #3cbeff;

    --black:             #000000;



    /* Header */

    --nav-height:        8rem;

    --nav-height-mobile: 4.5rem;

    --nav-padding-top:      1.25rem;

    --nav-padding-bottom:   1.4375rem;

    --nav-padding-left:     2%;

    --nav-padding-right:    5%;



    /* Typography */

    --font-primary:     'Archivo', sans-serif;

    --font-size-base:   18px;

    --line-height-base: 27px;



    /* Nav */

    --nav-link-size:   14.4px;

    --nav-link-weight: 700;

    --nav-link-color:  var(--peck-blue);



    /* Dropdown */

    --dropdown-bg:     var(--white);

    --dropdown-radius: 0.25rem;

    --dropdown-shadow: 0 12px 32px rgba(13, 46, 65, 0.12);



    /* CTA Button */

    --btn-bg:          var(--peck-blue);

    --btn-color:       var(--white);

    --btn-radius:      0.25rem;

    --btn-font-size:   0.875rem;

    --btn-font-weight: 700;



    /* Contact info */

    --contact-font-size: 0.875rem;

    --contact-weight:    600;



    /* Social icons */

    --social-size: 1rem;

    --social-gap:  0.625rem;

}





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

   02. BASE RESET & BODY

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



*,

*::before,

*::after { box-sizing: border-box; }



html {

    height:          100%;

    scroll-behavior: smooth;

    overflow-x:      hidden;

}



body {

    background-color: var(--off-white-yellow) !important;

    color:            var(--peck-blue) !important;

    font-family:      var(--font-primary) !important;

    font-size:        18px !important;

    line-height:      27px !important;

    margin:           0;

    padding-top:      0;
    overflow-x: hidden;

}



a { color: inherit; text-decoration: none; }

a:hover, a:focus { color: inherit; }



ul {

    list-style:   none;

    margin-left:  0;

    padding-left: 0;

    line-height:  30px;

}



/* Layout utilities (mirrors Webflow globals) */

.container-large {

    width:         100%;

    max-width:     80rem;

    margin-left:   auto;

    margin-right:  auto;

}



.padding-global {

    padding-left:  5%;

    padding-right: 5%;

}



.padding-section-large {

    padding-top:    112px;

    padding-bottom: 170px;

}



.padding-section-large.no-top-padding    { padding-top:    0; }

.padding-section-large.no-bottom-padding { padding-bottom: 0; }

.single-post .padding-section-large      { padding-top: 112px; padding-bottom: 112px; }

.section_blog-post-content .padding-section-large { padding-bottom: 112px; }

.single-team .team-hero-padding { padding-bottom: 170px; }



.team-article-body-wrapper {

    background-color: var(--off-white-yellow);

    border-radius:    1rem;

    margin-top:       -5%;

    padding-left:     5%;

    padding-right:    5%;

    margin-bottom:    50px;

    box-shadow:       0 0 20px rgba(0,0,0,0.2);

    position:         relative;

    z-index:          2;

    color:            #0d2e41;

}





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

   03. WORDPRESS ADMIN BAR

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



.admin-bar #site-header { top: 32px; }



html.admin-bar body {

    padding-top: 32px;

}



@media screen and ( max-width: 782px ) {

    .admin-bar #site-header { top: 46px; }

    html.admin-bar body {

        padding-top: 46px;

    }

}



@media screen and ( max-width: 600px ) {
    html.admin-bar body {
        padding-top: 0;
    }
    .admin-bar #site-header { top: 0; }

}





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

   04. HEADER & NAVIGATION

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



#site-header {

    position: sticky; 
    top: 0; 
    z-index: 999;
    background-color: var(--white);
    border-bottom: 0.0625rem solid transparent;
    width: 100%;
    height: var(--nav-height);
    font-family: var(--font-primary);
    display: flex;
    align-items: center;
    left: 0;
    right: 0;
    transition: border-color 0.25s ease, box-shadow 0.25s ease;
}



#site-header.is-scrolled {

    border-bottom-color: rgba(13, 46, 65, 0.1);

    box-shadow:          0 2px 20px rgba(13, 46, 65, 0.06);

}



#site-header .navbar {

    width:       100%;

    height:      100%;

    display:     flex;

    align-items: center;

    flex-wrap:   wrap;

    padding:     var(--nav-padding-top) var(--nav-padding-right) var(--nav-padding-bottom) var(--nav-padding-left);

}



/* Brand Block */

.peck-brand {

    display:      flex;

    align-items:  center;

    gap:          1rem;

    flex-shrink:  0;

    margin-right: auto;

}



.peck-brand__logo {

    display:     flex;

    align-items: center;

    flex-shrink: 0;

}



.peck-brand__logo img {

    height:     64px;

    max-height: 64px;

    width:      auto;

    display:    block;

}



/* Desktop contact */

.peck-brand__contact {

    flex-direction:  column;

    justify-content: center;

    gap:             0.25rem;

    padding-top:     0.125rem;

}

.peck-brand__contact a {
    color:           var(--peck-blue);

    font-size:       var(--contact-font-size);

    font-weight:     var(--contact-weight);

    line-height:     1.4;

    white-space:     nowrap;

    text-decoration: none;

    display:         flex;

    align-items:     center;

    gap:             0.4rem;

    transition:      opacity 0.2s ease; 
}

.peck-brand__contact-link {

    color:           var(--peck-blue);

    font-size:       var(--contact-font-size);

    font-weight:     var(--contact-weight);

    line-height:     1.4;

    white-space:     nowrap;

    text-decoration: none;

    display:         flex;

    align-items:     center;

    gap:             0.4rem;

    transition:      opacity 0.2s ease;

}



.peck-brand__contact-link:hover,

.peck-brand__contact-link:focus { opacity: 0.65; }



.peck-brand__contact-link .fas {

    display:         flex;

    align-items:     center;

    justify-content: center;

    width:           26px;

    height:          26px;

    border-radius:   50%;

    background:      var(--peck-blue);

    color:           var(--yellow);

    font-size:       11px;

    flex-shrink:     0;

}



.peck-brand__social {

    display:     flex;

    align-items: center;

    gap:         var(--social-gap);

    margin-top:  0.2rem;

}



.peck-brand__social-link {

    color:           var(--peck-blue);

    font-size:       var(--social-size);

    text-decoration: none;

    display:         flex;

    align-items:     center;

    transition:      opacity 0.2s ease;

}



.peck-brand__social-link:hover,

.peck-brand__social-link:focus { opacity: 0.55; }



/* Mobile Contact — beside logo */

.peck-mobile-contact {

    display:         flex;

    flex-direction:  column;

    justify-content: center;

    gap:             0.2rem;

}



.peck-mobile-contact a {

    font-size:       0.75rem;

    font-weight:     600;

    color:           var(--peck-blue);

    text-decoration: none;

    display:         flex;

    align-items:     center;

    gap:             0.35rem;

    white-space:     nowrap;

    line-height:     1.4;

}



.peck-mobile-contact a i { font-size: 0.7rem; flex-shrink: 0; }



.peck-mobile-social {

    display:     flex;

    align-items: center;

    gap:         0.5rem;

    padding-top: 0.25rem;

}



.peck-mobile-social a {

    color:           var(--peck-blue);

    font-size:       0.9rem;

    text-decoration: none;

    display:         flex;

    align-items:     center;

}



/* Toggler */

#site-header .navbar-toggler {

    border:     0;

    padding:    0.4rem 0.6rem;

    flex-shrink: 0;

    box-shadow: none !important;

}



#site-header .navbar-toggler-icon { display: none; }



/* CTA Button in header */

.peck-cta-btn {

    background-color: var(--btn-bg);

    color:            var(--btn-color) !important;

    font-family:      var(--font-primary);

    font-size:        var(--btn-font-size);

    font-weight:      var(--btn-font-weight);

    line-height:      1.4;

    letter-spacing:   0.01em;

    padding:          10px 20px;

    border-radius:    var(--btn-radius);

    white-space:      nowrap;

    text-decoration:  none;

    display:          inline-flex;

    align-items:      center;

    margin-left:      1rem;

    flex-shrink:      0;

    border:           none;

    cursor:           pointer;

    transition:       all 0.3s ease;

    position:         relative;

    overflow:         hidden;

}



/* Shimmer sweep */

.peck-cta-btn::before {

    content:     '';

    position:    absolute;

    top:         0;

    left:        -100%;

    width:       100%;

    height:      100%;

    background:  linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);

    transition:  left 0.5s ease;

    z-index:     1;

    pointer-events: none;

}



/* Arrow */

.peck-cta-btn::after {

    content:    "";

    display:    inline-block;

    transition: transform 0.3s ease;

}



.peck-cta-btn:hover { box-shadow: 0 6px 20px rgba(13, 46, 65, 0.45); }

.peck-cta-btn:hover::before { left: 100%; }

.peck-cta-btn:hover::after  { transform: translateX(4px); }





.peck-cta-btn.is-small {

    background-color: var(--yellow);

    border:           1px solid var(--yellow);

    border-radius:    4px;

    box-sizing:       border-box;

    color:            #000 !important;

    cursor:           pointer;

    display:          inline-block;

    font-family:      var(--font-primary);

    font-size:        18px;

    font-weight:      700;

    height:           45px;

    line-height:      27px;

    margin-left:      0;

    padding:          8px 20px;

    text-align:       center;

    text-decoration:  none;

    transition:       opacity 0.25s ease;

}



.peck-cta-btn.is-small:hover,

.peck-cta-btn.is-small:focus {

    opacity: 0.85;

    color:   #000 !important;

}



/* Header responsive */

@media ( min-width: 768px ) and ( max-width: 991.98px ) {

    #site-header .navbar { padding: 0.75rem 1.5rem; }

    .peck-brand__logo img { height: 60px; max-height: 60px; }

}



@media ( max-width: 767.98px ) {

    .peck-mobile-contact a { font-size: 0; }

    .peck-mobile-contact a svg,

    .peck-mobile-contact a i { font-size: 17px !important; }

    .peck-mobile-contact {

        flex-direction:  row;

        align-items:     center;

        justify-content: center;

        gap:             0.75rem;

        flex-wrap:       wrap;

        width:           100px;

    }

    .peck-mobile-social {

        padding-top:     0;

        gap:             0.75rem;

        justify-content: center;

    }

}





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

   05. HAMBURGER ICON

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



.peck-menu-toggle {

    border:      none;

    background:  transparent;

    padding:     0.5rem 0.6rem;

    flex-shrink: 0;

    cursor:      pointer;

}



.peck-menu-toggle:focus,

.peck-menu-toggle:focus-visible {

    outline:    none;

    box-shadow: none;

}



.animated-icon1 {

    width:      30px;

    height:     20px;

    position:   relative;

    margin:     0;

    transform:  rotate(0deg);

    transition: .5s ease-in-out;

    cursor:     pointer;

}



.animated-icon1 span {

    display:       block;

    position:      absolute;

    height:        3px;

    width:         100%;

    background:    var(--peck-blue);

    border-radius: 9px;

    opacity:       1;

    left:          0;

    transform:     rotate(0deg);

    transition:    .25s ease-in-out;

}



.animated-icon1 span:nth-child(1) { top: 0px; }

.animated-icon1 span:nth-child(2) { top: 10px; }

.animated-icon1 span:nth-child(3) { top: 20px; }



.animated-icon1.open span:nth-child(1) { top: 11px; transform: rotate(135deg); }

.animated-icon1.open span:nth-child(2) { opacity: 0; left: -60px; }

.animated-icon1.open span:nth-child(3) { top: 11px; transform: rotate(-135deg); }





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

   06. PRIMARY NAVIGATION — DESKTOP

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



@media ( min-width: 992px ) {



    #primary-navigation {

        display:     flex !important;

        align-items: center;

        position:    static;

    }



    #primary-navigation .navbar-nav {

        display:        flex;

        flex-direction: row;

        align-items:    center;

        padding:        0;

        margin:         0;

        list-style:     none;

    }



    #primary-navigation .nav-item > .nav-link {

        font-family:     var(--font-primary);

        font-size:       var(--nav-link-size);

        font-weight:     var(--nav-link-weight);

        color:           var(--nav-link-color) !important;

        padding:         8px 4px;

        white-space:     nowrap;

        text-decoration: none;

        display:         flex;

        align-items:     center;

        gap:             0.35rem;

        line-height:     18.72px;

        transition:      opacity 0.2s ease;

    }



    #primary-navigation .nav-item > .nav-link:hover,

    #primary-navigation .nav-item > .nav-link:focus { opacity: 0.65; }



    /* Dropdown chevron */

    #primary-navigation .dropdown-toggle::after {

        content:             '';

        display:             inline-block;

        width:               0.75rem;

        height:              0.75rem;

        background-image:    url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.558 6.295a.667.667 0 0 1 0-.942l.884-.884a.667.667 0 0 1 .942 0L8 8.263l4.205-3.794a.667.667 0 0 1 .942 0l.884.884a.667.667 0 0 1 0 .942L8.177 11.56a.667.667 0 0 1-.942 0L2.558 6.295z' fill='%230d2e41'/%3e%3c/svg%3e");

        background-repeat:   no-repeat;

        background-position: center;

        background-size:     contain;

        border:              none;

        vertical-align:      middle;

        margin-left:         0.2rem;

        flex-shrink:         0;

        transition:          transform 0.3s ease;

    }



    #primary-navigation .dropdown:hover > .dropdown-toggle::after,

    #primary-navigation .dropdown.show > .dropdown-toggle::after {

        transform: rotate(180deg);

    }



    /* Dropdown panel */

    #primary-navigation .dropdown-menu {

        display:          block;

        position:         absolute;

        top:              100%;

        left:             0;

        right:            auto;

        inset:            unset;

        margin-top:       0;

        border:           1px solid transparent;

        border-radius:    var(--dropdown-radius);

        background-color: var(--white);

        min-width:        100%;

        padding:          0.5rem;

        opacity:          0;

        pointer-events:   none;

        transform:        translate3d(0, 4rem, 0) scale3d(1,1,1) rotateX(0deg) rotateY(0deg) rotateZ(0deg) skew(0deg,0deg);

        transform-style:  preserve-3d;

        transition:       transform 0.3s ease, opacity 0.3s ease;

        margin-left: 0 !important;  

    }



    /* Override Bootstrap's dropend/[data-bs-popper] rules — nullify left:100% and margin-top spacer */

    #primary-navigation .dropdown-menu[data-bs-popper] {

        top:        100%;

        left:       0;

        right:      auto;

        inset:      unset;

        margin-top: 0;

    }



    #primary-navigation .dropdown:hover > .dropdown-menu,

    #primary-navigation .dropdown.show > .dropdown-menu {

        opacity:          1;

        pointer-events:   auto;

        transform:        translate3d(0, 0, 0) scale3d(1,1,1) rotateX(0deg) rotateY(0deg) rotateZ(0deg) skew(0deg,0deg);

        border-color:     var(--peck-blue);

        background-color: var(--white);

    }



    #primary-navigation .dropdown-menu.show { display: block !important; }



    /* Legacy dropend */

    .dropend:hover > .dropdown-menu { display: block; position: absolute; }

    .dropend .dropdown-toggle { margin-left: 0.5em; }

    .navbar-nav .dropend:hover > .dropdown-menu > .dropend > .dropdown-menu { top: 0; left: 100%; }



}



/* Dropdown items — all breakpoints */

#primary-navigation .dropdown-item {

    font-family:     var(--font-primary);

    font-size:       0.9375rem;

    font-weight:     400;

    color:           var(--peck-blue);

    padding-left:    4px;

    padding-right:   4px;

    white-space:     normal;

    text-decoration: none;

    display:         block;

    line-height:     1.4;

    transition:      background-color 0.15s ease;

}



#primary-navigation .dropdown-item:hover,

#primary-navigation .dropdown-item:focus {

    color:            var(--peck-blue);

}



/* Legacy nav */

.menu-item { margin: 0; }

#menu-header-navigation .nav-link { color: #000; }

#menu-header-navigation > li { margin-left: 2px; margin-right: 2px; }

#menu-header-navigation > li > a { padding-left: 4px; padding-right: 4px; }

.dropend .dropdown-toggle { color: #000; }





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

   07. PRIMARY NAVIGATION — MOBILE/TABLET (< 992px)

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



@media ( max-width: 991.98px ) {



    body { padding-top: 0; }



    #site-header {

        height:     auto;

        min-height: var(--nav-height-mobile);

    }



    #site-header .navbar {

        padding:   0.75rem 1rem;

        flex-wrap: wrap;

    }



    /* Bootstrap collapse */

    #primary-navigation.collapse:not(.show) {

        display: none !important;

    }



    #primary-navigation.collapsing {

        display:          block !important;

        position:         fixed;

        top:              var(--nav-height-mobile);

        left:             0;

        right:            0;

        bottom:           0;

        z-index:          998;

        background-color: var(--off-white-yellow) !important;

        padding:          16px 38px;

        overflow-y:       hidden;

    }



    #primary-navigation.collapse.show {

        position:        fixed;

        top:             var(--nav-height-mobile);

        left:            0;

        right:           0;

        bottom:          0;

        z-index:         998;

        display:         flex !important;

        flex-direction:  column;

        align-items:     flex-start;

        justify-content: flex-start !important;

        width:           100%;

        background-color: var(--off-white-yellow) !important;

        padding:         16px 38px;

        overflow-y:      auto;

        overscroll-behavior:        contain;

        -webkit-overflow-scrolling: touch;

    }



    /* Hide walker +/— */

    .sub-ctrl { display: none !important; }

    .OpaHide  { display: none !important; }



    /* Arrow for parent items with children */

    .navbar-nav .dropend .dropdown-toggle::after,

    #primary-navigation .dropdown-toggle::after {

        display:      inline-block;

        content:      '';

        width:        0;

        height:       0;

        border-left:  5px solid transparent;

        border-right: 5px solid transparent;

        border-top:   5px solid var(--peck-blue);

        margin-left:  auto;

        vertical-align: middle;

        transition:   transform 0.2s ease;

    }



    #primary-navigation .dropdown.show > a.dropdown-toggle::after {

        transform: rotate(180deg);

    }



    /* Nav stacked */

    #primary-navigation .navbar-nav {

        flex-direction: column;

        align-items:    flex-start;

        width:          100%;

        gap:            0;

    }



    #primary-navigation .nav-item {

        width:    100%;

        position: relative;

    }



    #primary-navigation .nav-item > .nav-link,

    #primary-navigation .nav-item > a.dropdown-item {

        font-family:     var(--font-primary);

        font-size:       1rem;

        color:           var(--peck-blue) !important;

        text-align:      left;

        padding:         0.65rem 0;

        width:           100%;

        display:         flex;

        justify-content: space-between;

        text-decoration: none;

    }



    /* Mobile dropdowns */

    #primary-navigation .dropdown-menu {

        position:         static !important;

        display:          none;

        opacity:          1 !important;

        pointer-events:   auto !important;

        transform:        none !important;

        transform-style:  flat !important;

        transition:       none !important;

        box-shadow:       none;

        border-radius:    0;

        border:           none !important;

        border-top:       1px solid rgba(13, 46, 65, 0.08) !important;

        background-color: transparent !important;

        padding:          0.25rem 0 0.25rem 1rem;

        width:            100%;

        min-width:        unset;

        margin-left:      0 !important;

    }



    #primary-navigation .dropdown-menu.show { display: block !important; }

    #primary-navigation .dropdown:hover > .dropdown-menu { display: none; }

    #primary-navigation .dropdown.show > .dropdown-menu {

        display:          block !important;

        border:           none !important;

        background-color: transparent !important;

    }



    #primary-navigation .dropdown-item {

        padding:    0.5rem 0.5rem;

        font-size:  0.9rem;

        text-align: left;

        color:      var(--peck-blue);

    }



    /* CTA mobile */

    .peck-cta-btn {

        margin:      0.75rem 0 0.25rem;

        width:       100%;

        padding:     10px 16px;

        margin-left: 0;

        text-align:  center;

        display:     block;

    }



    /* Logo */

    .peck-brand__logo img {

        height:     auto;

        max-height: 50px;

    }

    /* Lay parent link and caret button side-by-side on the same row */

    #primary-navigation .nav-item.dropdown {

        display:         flex;

        flex-wrap:       wrap;

        align-items:     stretch;

    }

    #primary-navigation .nav-item.dropdown > a.dropdown-toggle {

        flex:  1 1 0;

        width: auto;

    }

    #primary-navigation .nav-item.dropdown > .dropdown-menu {

        flex: 0 0 100%;

    }

    /* Caret button is the visual handle — suppress the duplicate CSS ::after triangle */

    #primary-navigation .dropdown-toggle::after { display: none; }

    .navbar .nav-dropdown-caret {

        display:         flex;

        align-items:     center;

        padding:         0 10px;

    }

    /* Phone + email inside the open nav overlay */

    .peck-nav-contact {

        width:           100%;

        display:         flex;

        flex-direction:  column;

        gap:             6px;

        padding:         12px 0;

        border-top:      1px solid rgba(13, 46, 65, 0.12);

        margin-top:      4px;

    }

    .peck-nav-contact a {

        font-size:       0.9rem;

        font-weight:     600;

        color:           var(--peck-blue);

        text-decoration: none;

        display:         flex;

        align-items:     center;

        gap:             8px;

    }

    .peck-nav-contact a:hover { opacity: 0.7; }

}





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

   08. HERO SECTION

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



.section_home_hero {

    background-position: 0 0, 0 0;

    background-repeat:   repeat, no-repeat;

    background-size:     auto, cover;

    min-height:          100vh;

    margin-bottom:       0;

    position:            relative;

    overflow:            visible;

    z-index:             9

}



.header2_content { padding-top: 0; }



@media screen and ( min-width: 1280px ) {

    .header2_content { padding-top: 20vh; }

}



.custom-hero-heading {

    margin-bottom: 0;

    font-family:   var(--font-primary);

    font-size:     80px;

    line-height:   88px;

    font-weight:   900;

    color:         var(--peck-blue);

}



.hero-eyebrow {

    display:         block;

    font-size:       18px;

    font-weight:     700;

    text-transform:  uppercase;

    letter-spacing:  0.18em;

    color:           var(--peck-blue);

    opacity:         0.75;

    margin-bottom:   0.5em;

    line-height:     1.2;

}



.contact_hero_form {

    position:      relative;

    margin-bottom: -200px;

}



.contact_hero_form_component {

    display:        flex;

    flex-direction: column;

    align-items:    stretch;

    position:       relative;

    z-index:        2;

}



.contact_page_form_hero {

    display:               grid;

    grid-template-columns: 1fr;

    grid-template-rows:    auto auto;

    grid-column-gap:       1.5rem;

    grid-row-gap:          1.5rem;

    background-color:      var(--white);

    border-radius:         0.25rem;

    padding:               3.75rem 2.5rem;

    font-family:           var(--font-primary);

    position:              relative;

    z-index:               2;

    min-height:            400px;

}



.hero_form-title {

    color:         var(--peck-blue);

    display:       block;

    font-family:   var(--font-primary);

    font-size:     32px;

    font-weight:   700;

    line-height:   27px;

    margin-bottom: 12px;

}



.hero_form-subtitle {

    color:       var(--peck-blue);

    display:     block;

    font-family: var(--font-primary);

    font-size:   18px;

    line-height: 27px;

}



.hero-form-placeholder {

    padding:    2rem;

    text-align: center;

}



.icon-embed-custom-jp-logo {

    display:     block;

    width:       auto;

    height:      75px;

    margin-top:  1rem;

    margin-left: auto;

}



@media ( max-width: 991.98px ) {

    .section_home_hero { margin-bottom: -100px; }

    .custom-hero-heading { font-size: 56px; line-height: 62px; }

}



@media ( max-width: 767.98px ) {

    .section_home_hero { margin-bottom: -60px; }

    .custom-hero-heading { font-size: 40px; line-height: 46px; }

    .contact_page_form_hero { padding: 2rem 1.5rem; }

}



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

   HERO ENTRANCE ANIMATIONS

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



@keyframes peck-hero-fade-up {

    from {

        opacity:   0;

        transform: translateY(48px);

    }

    to {

        opacity:   1;

        transform: translateY(0);

    }

}



@keyframes peck-hero-fade-right {

    from {

        opacity:   0;

        transform: translateX(64px);

    }

    to {

        opacity:   1;

        transform: translateX(0);

    }

}



@keyframes peck-hero-fade-in {

    from { opacity: 0; transform: translateY(16px); }

    to   { opacity: 1; transform: translateY(0);    }

}



/* Heading — slides up */

.home .section_home_hero .header2_content {

    animation: peck-hero-fade-up 0.85s cubic-bezier(0.22, 1, 0.36, 1) 0.15s both;

}



/* Form card — slides in from the right */

.home .section_home_hero .contact_hero_form {

    animation: peck-hero-fade-right 0.85s cubic-bezier(0.22, 1, 0.36, 1) 0.45s both;

}



/* Respect reduced-motion preference */

@media ( prefers-reduced-motion: reduce ) {

    .home .section_home_hero .header2_content,

    .home .section_home_hero .contact_hero_form {

        animation: none;

    }

}





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

   09. ABOUT US SECTION

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



.section_about-us.about-us-section {

    color:               var(--white);

    background-image:    url('img/about-us-bg.webp'), url('img/about-us-bg-lines.webp');

    background-position: 50% 0, 50%;

    background-repeat:   no-repeat, repeat;

    background-size:     cover, auto;

    position:            relative;

}



.z-index-1 {

    z-index:  1;

    position: relative;

}





.container-small-custom {

    width:        100%;

    max-width:    50rem;

    margin-left:  auto;

    margin-right: auto;

}



.hero-custom-subheading {

    box-sizing:      border-box;

    color:           var(--white);

    display:         block;

    font-family:     var(--font-primary);

    font-size:       43px;

    font-weight:     700;

    letter-spacing:  -0.19125px;

    line-height:     51.6px;

    margin-top:      100px;

    margin-bottom:   10px;

    text-transform:  capitalize;

    text-align:      center;

}



@media ( min-width: 992px ) {

    .hero-custom-subheading { white-space: nowrap; }

}



.text-color-yellow {

    color:          var(--yellow);

    display:        inline;

    font-size:      inherit;

    font-weight:    inherit;

    letter-spacing: inherit;

    line-height:    inherit;

    text-transform: inherit;

}



/* Stats */



.feature-text-title {

    color:          var(--yellow);

    letter-spacing: -0.0119531rem;

    font-family:    var(--font-primary);

    font-size:      3.875rem;

    font-weight:    800;

    line-height:    120%;

}



.feature-text-subtitle {

    color:       var(--white);

    line-height: 120%;

}



.feature-list_content-left { max-width: 20rem; }



/* ── Stat Cards (homepage) ───────────────────────────────────────────────── */

.peck-stats-row {

    display:               grid;

    grid-template-columns: repeat(3, 1fr);

    gap:                   1.5rem;

    overflow:              hidden;

}



.peck-stats-row.slick-initialized {

    display: block;

}



.peck-stat-card {

    background:     rgba(255, 255, 255, 0.08);

    border:         1px solid rgba(255, 255, 255, 0.18);

    border-radius:  0.75rem;

    padding:        2rem 1.5rem;

    text-align:     center;

    display:        flex;

    flex-direction: column;

    align-items:    center;

    gap:            0.5rem;

}



.peck-stat-card__icon {

    font-size:     2rem;

    color:         var(--yellow);

    margin-bottom: 0.25rem;

}



.peck-stats-row .slick-slide {

    padding: 0 0.5rem;

}



.peck-stats-row .slick-list {

    margin: 0 -0.5rem;

}



.peck-stats-row .slick-dots {

    display:         flex !important;

    justify-content: center;

    gap:             8px;

    padding:         0;

    margin-top:      1.25rem;

    list-style:      none;

}



.peck-stats-row .slick-dots li button {

    width:         10px;

    height:        10px;

    border-radius: 50%;

    background:    rgba(255, 255, 255, 0.35);

    border:        none;

    padding:       0;

    font-size:     0;

    cursor:        pointer;

}



.peck-stats-row .slick-dots li.slick-active button {

    background:  var(--yellow);

    transform:   scale(1.3);

}



@media ( max-width: 767.98px ) {

    .peck-stats-row {

        grid-template-columns: 1fr;

    }

}



/* About content */



.layout413_component {

    gap:            4rem;

    padding-bottom: 176px;

}



.layout413_image-wrapper {

    border:          1px solid var(--white);

    border-radius:   0.8125rem;

    display:         flex;

    flex-direction:  column;

    justify-content: flex-start;

    width:           100%;

    height:          100%;

    padding-top:     5%;

    padding-left:    5%;

    padding-right:   5%;

}



.layout413_image {

    object-fit:    cover;

    border-radius: 0.8125rem;

    margin-bottom: -5%;

    margin-left:   auto;

    margin-right:  auto;

    width:         100%;

}



.layout413_content { position: relative; }



.about_us-custom-subheading {

    font-family:    var(--font-primary);

    font-size:      62px;

    font-weight:    700;

    line-height:    92px;

    letter-spacing: -0.19125px;

    color:          var(--white);

    margin:         0;

}



.text-size-medium {

    font-family: var(--font-primary);

    font-size:   18px;

    line-height: 27px;

    color:       var(--white);

}





/* Award logos */

.logo-rewards-banner {

    display:               grid;

    grid-template-columns: 1fr 1fr 1fr;

    grid-column-gap:       2rem;

    grid-row-gap:          2rem;

    justify-content:       center;

    place-items:           center;

    background-color:      var(--white);

    box-shadow:            8px 8px 0 0 var(--light-blue);

    border-radius:         0.5rem;

    width:                 80%;

    margin-left:           auto;

    margin-right:          auto;

    padding:               1rem 4rem;

    position:              relative;

    z-index:               1;

    margin-top:            6rem;

}



.rewards-footer-wrapper .logo-rewards-banner { margin-top: 0; }

.home-awards-banner-wrap .logo-rewards-banner { margin-top: 0; }



.about-hero-banner-image {

    max-height: 120px;

    width:      auto;

}



/* Margins — custom only (no Bootstrap equivalent) */

/* .margin-bottom.margin-custom → Bootstrap mb-2 */

/* .margin-top.margin-medium    → Bootstrap mt-4 */

/* .margin-top.margin-xxlarge   → Bootstrap mt-5 */

.margin-bottom.margin-xxlarge { margin-top: 0; margin-left: 0; margin-right: 0; margin-bottom: 80px; }

.max-width-large { max-width: 48rem; }



@media ( min-width: 992px ) and ( max-width: 1199.98px ) {

    .feature-text-title { font-size: 2.5rem; }

}



@media ( max-width: 991.98px ) {

    .feature-text-title { font-size: 2.5rem; }

    .about_us-custom-subheading { font-size: 42px; line-height: 52px; }

    .logo-rewards-banner { width: 100%; padding: 1rem 2rem; }

}



@media ( max-width: 767.98px ) {

    .feature-list_content-left { text-align: center; }

    .feature-text-title { font-size: 2rem; }

    .about_us-custom-subheading { font-size: 32px; line-height: 42px; }

    .logo-rewards-banner { grid-template-columns: 1fr; width: 100%; padding: 1.5rem; }

}





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

   09b. ABOUT PAGE

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



/* ── Hero ── */

.section_about_hero {

    position: relative;

    overflow: hidden;

}



.about-home-hero-bg {

    position:            absolute;

    inset:               0%;

    z-index:             -1;

    background-image:    url( img/about-page-bg.webp );

    background-position: 50% 82%;

    background-repeat:   no-repeat;

    background-size:     cover;

    pointer-events:      none;

}



.section_about_hero .padding-global,

.section_about_hero .container-large,

.section_about_hero .padding-section-large {

    position: relative;

    z-index:  1;

}
.section_about_hero .home-hero-image {
    width:           100%;
    object-fit:      cover;
    object-position: center 30%;
    border-radius:   12px;
}




.subpage-hero-heading {

    color:          var(--white);

    font-family:    var(--font-primary);

    font-size:      82px;

    font-weight:    700;

    line-height:    90.2px;

    letter-spacing: -3.06px;

    max-width:      85%;

    text-transform: capitalize;

    margin-top:     0;

    margin-bottom:  64px;

}



.section_404-hero .subpage-hero-heading {

    max-width: 100%;

}



.about-hero-video-wrapper {

    aspect-ratio: 1 / 1;

    border-radius: 1.125rem;

    position:     relative;

    overflow:     hidden;

}



.about-hero-video-wrapper .home-hero-image {

    width:      100%;

    height:     100%;

    object-fit: cover;

    display:    block;

}



/* ── About Description ── */

.section_about_us_page_description {

    background-image: radial-gradient(circle farthest-corner at 100% 90%, var(--light-blue), transparent 15%), radial-gradient(circle farthest-corner at 95% 100%, var(--yellow) 10%, transparent 30%);

    position: relative;

    overflow: hidden;

}



.heading-3 {

    font-family:    var(--font-primary);

    font-size:      52px;

    font-weight:    700;

    color:          var(--peck-blue);

    line-height:    62.4px;

    letter-spacing: -0.19125px;

    text-transform: capitalize;

    margin-top:     20px;

    margin-bottom:  10px;

}



/* .paragraph-2 → Bootstrap body default (18px peck-blue) */



.large-overlay-peck-icon-image {

    display:  block;

    width:    100%;

    max-width: 100%;

    opacity:  0.06;

    position: absolute;

    bottom:   0;

    right:    0;

    pointer-events: none;

}



/* ── Boston's Top Legal Firm ── */

.section-bostons-top-legal-firm {

    background-color: var(--peck-blue);

}



.bostons-top-legal-firm-wrapper {

    background-color:  var(--off-white-yellow);

    background-image:  radial-gradient(circle farthest-corner at 5% 0%, var(--light-blue), transparent 16%),

                       radial-gradient(circle farthest-corner at 0% 20%, var(--yellow), transparent 40%);

    border-radius:     1.125rem;

    padding:           4rem 5.125rem 3.625rem;

    position:          relative;

}



@media screen and (min-width: 1280px) {

    .boston-top-legal-firm-copy-wrapper { width: 640px; }

}



.heading-4 {

    font-family:    var(--font-primary);

    font-size:      52px;

    font-weight:    700;

    line-height:    62.4px;

    letter-spacing: -0.19125px;

    color:          var(--peck-blue);

    margin-top:     20px;

    margin-bottom:  10px;

}



/* .paragraph-3 → Bootstrap body default (18px peck-blue) */



.top-lawyers-image {

    max-width:   260px;

    height:      auto;

    border-radius: 8px;

    object-fit:  contain;

}



.top-legal-firm-jp-logo {

    width:    160px;

    height:   auto;

    position: absolute;

    inset:    2% auto auto 2%;

}



/* ── What Our Clients Say ── */



.what-our-clients-say-wrapper {

    font-family: Archivo, sans-serif;

    font-size:   18px;

    line-height: 27px;

}



.what-our-clients-say-img-wrapper {

    position: relative;

}



.what-our-clients-say-img-wrapper img {

    width:      100%;

    height:     100%;

    object-fit: cover;

    display:    block;

}



.image-overlay-blue {

    background-image: linear-gradient(to top, var(--peck-blue), transparent);

    height:   80%;

    position: absolute;

    inset:    auto 0% 0%;

}



.image-overlay-blue._60 {

    height: 60%;

}



.testimonial-image-peck-name {

    color:        #fed33f;

    padding-left: 1rem;

    position:     absolute;

    inset:        auto 1rem 1rem auto;

}



@media screen and (min-width: 1280px) {

    .testimonial-image-peck-name {

        position: absolute;

        inset:    auto 1rem 1rem auto;

    }

}



.speech-marks-2 {

    color:       #fed33f;

    margin-top:  0;

    margin-bottom: 0;

    font-family: Brockmann, sans-serif;

    font-size:   5.75rem;

    font-weight: 700;

    line-height: 120%;

}



.section_accidents_page_main_body {

    background-image: radial-gradient(circle farthest-corner at 100% 90%, var(--light-blue), transparent 15%), radial-gradient(circle farthest-corner at 95% 100%, var(--yellow) 10%, transparent 30%);

    position: relative;

}



.sub-title-accidents-page,

.cr-v2-section-heading {

    color:          rgb(13, 46, 65);

    display:        block;

    font-family:    Archivo, sans-serif;

    font-size:      52px;

    font-weight:    700;

    letter-spacing: -0.19125px;

    line-height:    62.4px;

    margin-top:     -16px;

    margin-bottom:  10px;

    text-transform: capitalize;

}



.client-testimonial-name {

    font-size:   18px;

    font-weight: 700;

    line-height: 27px;

}



/* ── About Page Responsive ── */

@media (max-width: 991.98px) {

    .subpage-hero-heading {

        font-size:      52px;

        line-height:    60px;

        letter-spacing: -1.5px;

        max-width:      100%;

    }



    /* .what-our-clients-say-wrapper → Bootstrap row stacks on mobile */

    /* .bostons-top-legal-firm-wrapper → Bootstrap row stacks on mobile */

}



@media (max-width: 767.98px) {

    .subpage-hero-heading {

        font-size:      36px;

        line-height:    44px;

        letter-spacing: -1px;

    }



    .heading-3 { font-size: 36px; line-height: 44px; }



    .bostons-top-legal-firm-wrapper {

        padding: 40px 16px 21.52px;

    }



    .padding-section-large {

        padding-top:    112px;

        padding-bottom: 112px;

    }

}





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

   09c. CONTACT PAGE (page-contact.php)

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



.section_contact-hero {

    background-color: var(--off-white-yellow);

    background-image: radial-gradient(circle farthest-corner at 90% 15%, var(--yellow), transparent 20%),

                      radial-gradient(circle farthest-corner at 100% 50%, var(--light-blue), transparent 35%);

}



/* Disable the negative-margin form overlap used on the homepage */

.section_contact-hero .contact_hero_form {

    margin-bottom: 0;

}



/* Contact page — phone / email links */

.contact-direct-links {

    display:        flex;

    flex-direction: column;

    gap:            12px;

}



.contact-direct-link {

    display:         flex;

    align-items:     center;

    gap:             12px;

    font-size:       18px;

    font-weight:     600;

    color:           var(--peck-blue);

    text-decoration: none;

    transition:      opacity 0.2s;

}



.contact-direct-link:hover { opacity: 0.75; color: var(--peck-blue); }



.contact-direct-link__icon {

    display:         flex;

    align-items:     center;

    justify-content: center;

    width:           42px;

    height:          42px;

    border-radius:   50%;

    background:      var(--peck-blue);

    color:           var(--yellow);

    font-size:       16px;

    flex-shrink:     0;

}



/* Contact trust signals section */

.section_contact-trust { position: relative; }



/* map iframes use Bootstrap rounded-4 overflow-hidden — no extra CSS needed */



@media ( max-width: 991.98px ) {

    .section_contact-hero .padding-section-large { padding-bottom: 3rem; }

}





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

   10a. CASE RESULTS v2 PAGE

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



/* Hero header */

.cr-v2-hero           { background-color: #0d2e41; }

.cr-v2-eyebrow        { color: #ebc23e; letter-spacing: 0.15em; }

.cr-v2-main-heading   { font-size: clamp(3rem, 8vw, 6rem); font-weight: 900; color: #ffffff; line-height: 1; letter-spacing: -0.03em; }

.cr-v2-description    { color: rgba(255, 255, 255, 0.85); max-width: 36rem; }

.cr-v2-stat-number    { font-size: clamp(2rem, 5vw, 3rem); font-weight: 900; color: #fed33f; line-height: 1; }

.cr-v2-stat-label     { color: #ffffff; letter-spacing: 0.12em; }

.cr-v2-header.border-bottom { border-color: rgba(255, 255, 255, 0.15) !important; }

.cr-v2-hero-right           { width: 100%; max-width: 480px; }



/* Filter + entries dark body */

.cr-v2-body           { background-color: #0d2e41; }



/* Category filter */

.cr-v2-filter-btn {

    border:           2px solid transparent;

    color:            #ffffff !important;

    background-color: rgba(255, 255, 255, 0.1) !important;

    transition:       background-color 0.2s, color 0.2s, border-color 0.2s;

    font-size:        0.875rem;

    padding:          0.4rem 1.1rem;

}

.cr-v2-filter-btn:hover {

    background-color: rgba(255, 255, 255, 0.18);

    color:            #ffffff;

}

.cr-v2-filter-btn--active {

    background-color: #fed33f !important;

    border-color:     #fed33f !important;

    color:            #0d2e41 !important;

    font-weight:      700;

}



/* Entry rows */

.cr-v2-entry {

    transition: background-color 0.3s;

}

.cr-v2-entry.border-top {

    border-color: rgba(255, 255, 255, 0.12) !important;

}

.cr-v2-entry--linked {

    cursor: pointer;

}

.cr-v2-entry--linked:hover {

    background-color: rgba(255, 255, 255, 0.04);

}

.cr-v2-entry--linked:hover .cr-v2-arrow {

    color:     #fed33f;

    transform: translateX(6px);

}



.cr-v2-entry-counter {

    color:       rgba(255, 255, 255, 0.4);

    font-weight: 700;

    font-size:   0.95rem;

}

.cr-v2-entry--linked:hover .cr-v2-entry-counter {

    color: rgba(255, 255, 255, 0.7);

}



.cr-v2-amount {

    font-size:   52px;

    font-weight: 900;

    color:       #fed33f;

    line-height: 1.1;

}



.cr-v2-category-badge {

    display:          inline-block;

    padding:          0.2rem 0.65rem;

    background-color: rgba(255, 255, 255, 0.1);

    color:            rgba(255, 255, 255, 0.7);

    font-size:        0.65rem;

    text-transform:   uppercase;

    letter-spacing:   0.1em;

    font-weight:      700;

    border-radius:    0.2rem;

}



.cr-v2-case-title {

    font-size:   1.2rem;

    font-weight: 700;

    color:       #ffffff;

    line-height: 1.4;

}



.cr-v2-case-desc {

    color:         rgba(255, 255, 255, 0.6);

    line-height:   1.65;

    font-size:     0.95rem;

    margin-bottom: 0;

}



.cr-v2-arrow {

    color:      rgba(255, 255, 255, 0.35);

    transition: color 0.3s, transform 0.3s;

    display:    inline-block;

}



.cr-v2-empty-state {

    padding:    3rem 0;

    text-align: center;

    color:      rgba(255, 255, 255, 0.45);

    font-size:  1rem;

    border-top: 1px solid rgba(255, 255, 255, 0.12);

}



/* CTA banner */

.cr-v2-cta-banner    { background-color: #0f1d28; }

.cr-v2-cta-inner     { position: relative; z-index: 2; width: 100%; }

.cr-v2-cta-text      { max-width: 40%; }



@media ( max-width: 991.98px ) {

    .cr-v2-cta-text { max-width: 100%; }

}

.cr-v2-cta-heading   { font-size: clamp(1.6rem, 3vw, 2.2rem); color: #ffffff; line-height: 1.2; }

.cr-v2-cta-sub       { color: rgba(255, 255, 255, 0.65); }

.cr-v2-cta-btn {

    background-color: #fed33f;

    color:            #0d2e41;

    font-size:        1rem;

    padding:          0.85rem 2.2rem;

    transition:       transform 0.2s, box-shadow 0.2s;

    box-shadow:       0 8px 24px rgba(254, 211, 63, 0.25);

}

.cr-v2-cta-btn:hover {

    background-color: #ffd000;

    color:            #0d2e41;

    transform:        scale(1.04);

    box-shadow:       0 12px 32px rgba(254, 211, 63, 0.35);

}

.cr-v2-cta-bg-img {

    opacity:          0.25;

    pointer-events:   none;

    transition:       opacity 0.4s;

}

.cr-v2-cta-banner:hover .cr-v2-cta-bg-img { opacity: 0.4; }



.cr-v2-cta-banner .button.is-secondary {

    background-color: var(--yellow);

    border-color:     var(--yellow);

    color:            var(--peck-blue);

}

.cr-v2-cta-banner .button.is-secondary:hover {

    background-color: #ffd000;

    border-color:     #ffd000;

    color:            var(--peck-blue);

}



@media ( max-width: 767.98px ) {

    .cr-v2-main-heading { font-size: 3rem; }

    .cr-v2-stat-number  { font-size: 2rem; }

}



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

   10. RECENT RESULTS SECTION

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



.section_results,

.section_our-results { position: relative; }



.heading-2 {

    box-sizing:      border-box;

    color:           var(--peck-blue);

    display:         block;

    font-family:     var(--font-primary);

    font-size:       52px;

    font-weight:     700;

    letter-spacing:  -0.19125px;

    line-height:     62.4px;

    margin-top:      20px;

    margin-bottom:   10px;

    text-transform:  capitalize;

}



.our-results_component {

    column-gap: 1rem;

}



/* Column layout only when slider is NOT active (non-home fallback) */

.our-results_component:not(.slick-initialized) {

    column-count: 3;

}



.our-results_component.slick-initialized {

    column-count: unset;

    column-gap:   unset;

}



/* ── Case Results Page ─────────────────────────────────────────────────────── */



.custom-h1-inline-right {

    font-size:      102px;

    font-weight:    700;

    letter-spacing: -3.06px;

    line-height:    91.8px;

}



.button.is-alternate {

    background-color: var(--yellow);

    border:           1px solid var(--yellow);

    border-radius:    4px;

    color:            #000;

    display:          inline-block;

    padding:          10px 20px;

    text-decoration:  none;

    font-weight:      600;

}



/* Hero two-column layout — Bootstrap row handles this */



/* Override column-count on the Bootstrap grid version */

.section-case-results-page-body h2 {

    color:          var(--peck-blue);

    font-family:    'Poppins', sans-serif;

    font-size:      52px;

    font-weight:    700;

    letter-spacing: -0.19125px;

    line-height:    62.4px;

    margin-top:     20px;

    margin-bottom:  10px;

    text-align:     center;

    text-transform: capitalize;

}



.our-results_component .results_accordion {

    min-height: 245px;

    max-height: 245px;

}



.results-category {

    display:          inline-block;

    font-family:      var(--font-primary);

    font-size:        12px;

    font-weight:      700;

    text-transform:   uppercase;

    color:            #9bb9ce;

    background:       #0f1d28;

    margin-bottom:    8px;

    letter-spacing:   0.5px;

    border-radius:    2px;

    padding: 4px 9px;

}



/* Our Results Slider */

.our-results-slider .slick-slide {

    padding: 0 8px;

}



.our-results-slider { overflow: hidden; }

.our-results-slider .slick-list {

    margin: 0 -8px;

}



.our-results-slider .slick-track {

    display:     flex;

    align-items: stretch;

}



.our-results-slider .slick-slide > div,

.our-results-slider .results-grid-item {

    height: 100%;

}



/* Dots */

.our-results-slider .slick-dots {

    display:         flex !important;

    justify-content: center;

    align-items:     center;

    gap:             8px;

    padding:         0;

    margin-top:      24px;

    list-style:      none;

}



.our-results-slider .slick-dots li button {

    width:         10px;

    height:        10px;

    border-radius: 50%;

    background:    rgba(255,255,255,0.3);

    border:        none;

    padding:       0;

    font-size:     0;

    cursor:        pointer;

    transition:    background 0.25s ease, transform 0.25s ease;

}



.our-results-slider .slick-dots li.slick-active button {

    background: var(--yellow);

    transform:  scale(1.3);

}



/* Arrows */

.our-results-prev,

.our-results-next {

    position:        absolute;

    top:             50%;

    transform:       translateY(-50%);

    z-index:         10;

    background:      var(--yellow);

    border:          none;

    border-radius:   50%;

    width:           40px;

    height:          40px;

    display:         flex;

    align-items:     center;

    justify-content: center;

    cursor:          pointer;

    color:           var(--peck-blue);

    transition:      background 0.2s ease;

}



.our-results-prev { left: -20px; }

.our-results-next { right: -20px; }



.our-results-prev:hover,

.our-results-next:hover {

    background: #fff;

}



.our-results_component {

    position: relative;

}



.section_results .results-grid-item,

.section-case-results-page-body .results-grid-item {

    margin-bottom: 16px;

}



.section-case-results-page-body .results_accordion {

    position: relative;

}



/* Featured card highlight */

.results_accordion.featured {

    border:           0;

    position:         relative;

    background-color: #ffffff;

}



.results_accordion.featured .results-card-details {

    color:   #0f1d28;

    opacity: 1;

}



/* Featured tag badge */

.featured-tag.case-results {

    position:            absolute;

    top:                 0;

    right:               0;

    background-color:    var(--yellow);

    border-radius:       10px 6.4px 10px 6.4px;

    padding:             8px 15px;

    color:               var(--peck-blue);

    display:             block;

}



.featured-tag-text {

    font-size:   14px;

    font-weight: 700;

    line-height: 16.8px;

    color:       var(--peck-blue);

}



/* Results slider (single-case.php) */

.results-slick-slider { overflow: hidden; }

.results-slick-slider .slick-list { margin: 0 -12px; }



.results-slick-slider .slick-slide { padding: 0 12px; }



.results-slick-slider .slick-track {

    display:     flex;

    align-items: stretch;

}



.results-slick-slider .slick-slide {

    height: auto;

}



.results-slick-slider .slick-slide > div,

.results-slick-slider .results-grid-item,

.results-slick-slider .results_accordion {

    height: 100%;

}



.results-slick-slider .results_accordion {

    display:        flex;

    flex-direction: column;

    outline:        none;

}



/* Left column reorder on tablet/mobile */

@media (max-width: 991.98px) {

    .section-what-our-clients-say-wrapper.accients-page { order: 1; }

    .about_testi_image.what-our-clients-say-img-wrapper  { order: 2; }

    .case-results-wrapper                                { order: 3; }

    .seperator                                           { order: 4; }

    .our-location-wrapper-accident-page                  { order: 5; }

}



.results-slick-arrows,

.our-results-slick-arrows,

.case-reviews-slick-arrows {

    display:         flex;

    justify-content: flex-end;

    gap:             8px;

    margin-top:      16px;

}



/* Homepage dark-background colour overrides */

.home .our-results-slick-arrows .results-slick-prev,

.home .our-results-slick-arrows .results-slick-next {

    border-color: var(--yellow);

    color:        var(--yellow);

}

.home .our-results-slick-arrows .results-slick-prev:hover,

.home .our-results-slick-arrows .results-slick-next:hover {

    background: var(--yellow);

    color:      var(--peck-blue);

}



.results-slick-prev,

.results-slick-next {

    display:          flex;

    align-items:      center;

    justify-content:  center;

    width:            40px;

    height:           40px;

    border:           1px solid var(--peck-blue);

    border-radius:    50%;

    background:       transparent;

    color:            var(--peck-blue);

    cursor:           pointer;

    font-size:        14px;

    transition:       background 0.2s, color 0.2s;

}



.results-slick-prev:hover,

.results-slick-next:hover {

    background: var(--peck-blue);

    color:      #fff;

}



/* Team single — reviews slider always left-aligned */

.team-reviews-slider .slick-track { margin-left: 0; margin-right: auto; }

.team-reviews-slider .slick-slide  { padding: 0 10px; }

.team-reviews-slider               { margin: 0 -10px; overflow: hidden; }



/* Team single — results slider gap + arrows */

.team-results-slick-slider .slick-slide { padding: 0 10px; }

.team-results-slick-slider { margin: 0 -10px; overflow: hidden; }



.team-results-slick-arrows {

    display:         flex;

    justify-content: flex-end;

    gap:             8px;

    margin-top:      30px;

}



.results_accordion {

    background-color: var(--peck-blue);

    border-radius:    0.4rem;

    display:          flex;

    flex-direction:   column;

    justify-content:  flex-start;

    align-items:      stretch;

    overflow:         hidden;

}



.results_info {

    display:         block;

    color:           var(--peck-blue);

    font-family:     var(--font-primary);

    font-size:       18px;

    line-height:     27px;

    padding:         0 24px 32px;

    overflow:        hidden;

}



.results-feature_title {

    display: flex;

    flex-direction: column;

    justify-content: space-between;

    align-items: flex-start;

    padding: 24px 24px 5px;

    font-family: var(--font-primary);

    font-size: 18px;

    line-height: 27px;

    color: #9bb9ce;

    text-align: left;

}



.case-result-value-wrapper {

    display:        flex;

    flex-direction: row;

    flex-wrap:      wrap;

    column-gap:     5.2px;

    align-items:    center;

}



.case-results-value-amount-wrap { display: flex; }



.result-title {

    color:          var(--yellow);

    display:        flex;

    flex-direction: column;

    align-items: flex-start;

    font-family:    var(--font-primary);

    font-size:      32px;

    font-weight:    800;

    height:         auto;

    min-height:     48px;

    letter-spacing: -0.19125px;

    line-height:    48px;

    margin-top:     0;

    margin-bottom:  0;

}



.result-title .results-category {

    display:      block;

    margin-bottom: 6px;

    line-height:   1.2;

}



.results-card-details {

    display:    block;

    opacity:    0.5;

    color:      #fff;

    font-family: var(--font-primary);

    font-size:  18px;

    font-weight: 700;

    line-height: 23.4px;

    margin:     0;

    height:     110px;

    overflow-y: auto;

    scrollbar-width:      thin;

    scrollbar-color:      rgba(255,255,255,0.4) transparent;

    overscroll-behavior: contain;

}



.results-card-details::-webkit-scrollbar {

    width: 4px;

}



.results-card-details::-webkit-scrollbar-track {

    background:    transparent;

    border-radius: 4px;

}



.results-card-details::-webkit-scrollbar-thumb {

    background:    rgba(255, 255, 255, 0.4);

    border-radius: 4px;

    transition:    background 0.2s ease;

}



.results-card-details::-webkit-scrollbar-thumb:hover {

    background: rgba(255, 255, 255, 0.75);

}



.item-center {

    display:         flex;

    justify-content: center;

    align-items:     center;

}



@media ( max-width: 991.98px ) {

    .heading-2 { font-size: 38px; line-height: 46px; }

}



/* Homepage-only dark theme for results/about sections */

.home .section_about-us.about-us-section {

    background-image: none;

}



.home .section_about-us,

.home .section_our-results,

.home .section_results       { background-color: #0d2e41; }



.home .section_results h2 {

    color: #ffffff;

}

.home .section_our-results .results_accordion,

.home .section_results .results_accordion { background-color: #1e2b37; }



.home .section_our-results .our-results-prev,

.home .section_our-results .our-results-next,

.home .section_results .our-results-prev,

.home .section_results .our-results-next { background: #1e2b37; color: var(--yellow); }

/* Note: homepage results slider now uses .results-slick-prev/next via .our-results-slick-arrows */



.home .section_our-results .button,

.home .section_results .button { background-color: #1e2b37; border-color: #1e2b37; }



@media ( max-width: 767.98px ) {

    .heading-2 { font-size: 28px; line-height: 36px; }



    .home .section_results {

        margin-top: -100px !important

    }

}





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

   11. MID-PAGE CTA FORM SECTION

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



.section_request-call-back { position: relative; }





.request-call-back-bg-wrapper {

    background-color: transparent;

    border-radius:    7px;

    box-sizing:       border-box;

    color:            var(--peck-blue);

    font-family:      var(--font-primary);

    font-size:        18px;

    line-height:      27px;

    padding:          0;

    position:         relative;

}



/* Force all direct children above bg elements */

.request-call-back-bg-wrapper > * {

    position: relative;

    z-index:  2;

}



.request-call-back-bg-wrapper > .form-bg-element { z-index: 0; }



.call-back-form-header {

    color:          var(--peck-blue);

    display:        block;

    font-family:    var(--font-primary);

    font-size:      52px;

    font-weight:    700;

    letter-spacing: -0.19125px;

    line-height:    62.4px;

    margin-top:     0;

    margin-bottom:  0;

    text-transform: capitalize;

}



/* .request-call-back-bg-wrapper .text-size-medium → removed (plain <p> uses body defaults) */



/* GF overrides inside CTA wrapper */

.request-call-back-bg-wrapper .gform_wrapper .gfield_label,

.request-call-back-bg-wrapper .gform_wrapper .gform-field-label { color: var(--peck-blue); }



.request-call-back-bg-wrapper .gform_wrapper input[type="text"],

.request-call-back-bg-wrapper .gform_wrapper input[type="email"],

.request-call-back-bg-wrapper .gform_wrapper input[type="tel"],

.request-call-back-bg-wrapper .gform_wrapper textarea {

    background-color: var(--white);

    border-color:     var(--black);

    color:            var(--black);

}



.request-call-back-bg-wrapper .gform_wrapper .gchoice .gform-field-label,

.request-call-back-bg-wrapper .gform_wrapper .gfield_consent_label { color: var(--peck-blue); }



/* CTA submit button — yellow */

.request-call-back-bg-wrapper .gform_wrapper .gform_button,

.request-call-back-bg-wrapper .gform_wrapper input[type="submit"] {

    appearance:              button;

    background-color:        var(--yellow);

    background-image:        linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.35) 50%, transparent 100%);

    background-size:         200% 100%;

    background-position:     -200% center;

    background-repeat:       no-repeat;

    border:                  1px solid var(--yellow);

    border-radius:           4px;

    color:                   var(--black);

    cursor:                  pointer;

    display:                 block;

    font-family:             var(--font-primary);

    font-size:               18px;

    font-weight:             700;

    line-height:             27px;

    padding:                 21.6px 52px;

    text-align:              center;

    text-transform:          uppercase;

    transition:              background-position 0.5s ease, box-shadow 0.3s ease;

    white-space:             nowrap;

    width:                   auto;

}



.request-call-back-bg-wrapper .gform_wrapper .gform_button:hover,

.request-call-back-bg-wrapper .gform_wrapper input[type="submit"]:hover {

    background-position: 200% center;

    box-shadow:          0 6px 20px rgba(254, 211, 63, 0.5);

}



@media ( max-width: 991.98px ) {

    .section_request-call-back .py-5 { padding-top: 60px !important; padding-bottom: 60px !important; }

    .request-call-back-bg-wrapper { padding: 0; }

    .call-back-form-header { font-size: 38px; line-height: 46px; }

    .request-call-back-bg-wrapper .gform_wrapper.gravity-theme .gfield--width-third { grid-column: span 6; }

}



@media ( max-width: 767.98px ) {

    .call-back-form-header { font-size: 44px; line-height: 52.8px; letter-spacing: -0.19125px; }

    .request-call-back-bg-wrapper { padding: 0; }

    .request-call-back-bg-wrapper .gform_wrapper.gravity-theme .gfield--width-third { grid-column: span 12; }

}





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

   13. FEATURES SECTION

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



.section_features { position: relative; }

.background-color-dark { background-color: var(--peck-blue); }



.features_section_heading {

    font-family:  var(--font-primary);

    font-size:    52px;

    font-weight:  700;

    color:        var(--white);

    margin-bottom: 0.5rem;

}



.section_subheading {

    font-family: var(--font-primary);

    font-size:   18px;

    line-height: 27px;

    color:       rgba(255,255,255,0.7);

}





.features-section-feature-title {

    font-family:   var(--font-primary);

    font-size:     24px;

    letter-spacing:0.19125px;

    line-height:28px;

    font-weight:   700;

    color:         var(--white);

    margin-bottom: 0.75rem;

}



.features_faded_paragraph {

    font-family: var(--font-primary);

    font-size:   18px;

    line-height: 27px;

    color:       rgba(255,255,255,0.6);

}





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

   14. TIMELINE / CASE STAGES

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





.large-peck-icon-wrapper,

.section_timeline { position: relative; overflow: hidden;}

.large-overlay-peck-icon-image {

    z-index:    -1;

    opacity:    0.2;

    object-fit: cover;

    min-height: 100%;

    position:   absolute;

    bottom:     0%;

    right:      0%;

    pointer-events: none;

    width: 100%;

}

.timeline_section_heading {

    font-family:  var(--font-primary);

    font-size:    52px;

    font-weight:  700;

    color:        var(--peck-blue);

    margin-bottom: 0;

}



.timeline_custom_text {

    font-family: var(--font-primary);

    font-size:   24px;

    line-height: 28px;

    font-weight: 600;

    letter-spacing: -.0119531rem;

    color:       var(--peck-blue);

}

.timeline-intro-body p {

    margin-bottom: 30px;

}

.timeline_point_wrapper {

    border-bottom: 1px solid rgba(13,46,65,0.12);

    padding:       1rem 0;

}



.timeline-list-point {

    display:     flex;

    align-items: center;

    gap:         1rem;

    cursor:      pointer;

}



.timeline-number {

    flex-shrink: 0;

    width:       2.5rem;

    height:      2.5rem;

    display:     flex;

    align-items: center;

    justify-content: center;

}



.timeline-step-name {

    font-family: var(--font-primary);

    font-size:   22px;

    font-weight: 400;

    color:       var(--peck-blue);

    flex:        1;

}



.timeline-number {

    background-color: var(--peck-blue);

    border-radius:    100%;

    justify-content:  center;

    align-items:      center;

    width:            44px;

    height:           44px;

    display:          flex;

    flex-shrink:      0;

}



.timeline-step-name.text-color-yellow {

    color:       var(--yellow);

    font-size:   22px;

    font-weight: 800;

    line-height: 1;

    text-align: center;

}



.case-stages-toggle {

    background:  none;

    border:      none;

    cursor:      pointer;

    color:       var(--peck-blue);

    flex-shrink: 0;

    padding:     0;

    transition:  transform 0.3s ease;

}



.timeline_point_wrapper:hover .case-stages-toggle {

    transform: rotate( 45deg );

}

.case-stages-toggle svg {

    width: 16px;

    height: 16px;

}



.timeline_point_details_wrapper {

    overflow:   hidden;

    transition: height 0.3s ease;

    padding:    0;

    height:     0;

}



.timeline_point_details_wrapper p {

    padding:     1rem 0;

    color:       var(--peck-blue);

    line-height: 1.6;

}



.row.timeline_grid_wrapper {

    --bs-gutter-x: 0;

    justify-content: space-between;

}



.row.timeline_grid_wrapper .col-12.col-lg-5 {

    flex:  0 0 auto;

    width: calc( 41.666% );

}



@media ( max-width: 991.98px ) {

    .row.timeline_grid_wrapper .col-12.col-lg-5 {

        width: 100%;

    }

}



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

   15. INCIDENTS WE COVER

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



.section_incidents_we_cover { position: relative; }



.incidents_section_heading {

    font-family:  var(--font-primary);

    font-size:    52px;

    font-weight:  700;

    color:        var(--peck-blue);

    margin-bottom: 0;

}



.accidents-item-wrapper {

    display:         block;

    overflow:        hidden;

    border-radius:   0.5rem;

    text-decoration: none;

}



.gallery23_image-wrapper {

    border-radius: 0.5rem;

    height:        27.6875rem;

    position:      relative;

    overflow:      hidden;

}



.gallery23_image-wrapper.has-placeholder {

    background-color: var(--peck-blue, #0d2e41);

}



.gallery23_image {

    aspect-ratio: 1;

    object-fit:   cover;

    width:        100%;

    height:       100%;

    display:      block;

    transition:   transform 0.3s ease;

}



.accidents-item-wrapper:hover .gallery23_image { transform: scale( 1.05 ); }



.incidents-slider-overlay {

    z-index:          2;

    background-image: linear-gradient( #0d2e4100, #0d2e41 );

    width:            100%;

    min-height:       100%;

    position:         absolute;

    inset:            0%;

    display:          flex;

    align-items:      flex-end;

}



.card-incident-name {

    font-family:  var(--font-primary);

    font-size:    1.125rem;

    font-weight:  700;

    color:        var(--white);

    margin:       0;

}





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

   16. FAQ SECTION

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



.section_faq { position: relative; }



.faq-heading {

    box-sizing:      border-box;

    color:           var(--peck-blue);

    display:         block;

    font-family:     var(--font-primary);

    font-size:       52px;

    font-weight:     700;

    letter-spacing:  -0.19125px;

    line-height:     62.4px;

    margin-top:      20px;

    margin-bottom:   10px;

    text-align:      center;

    text-transform:  capitalize;

    position:        relative;

    z-index:         10;

}



.faq4_component { position: relative; z-index: 10; }



.faq4_accordion {

    background-color: var(--white);

    border:           1px solid rgba(13, 46, 65, 0.1);

    border-radius:    7px;

    display:          flex;

    flex-direction:   column;

    margin-bottom:    0.5rem;

    overflow:         hidden;

}

.faq4_answer {

    max-height:     0;

    overflow:       hidden;

    padding-left:   24px;

    padding-right:  24px;

    padding-top:    0;

    padding-bottom: 0;

    transition:     max-height 0.35s ease, padding-bottom 0.35s ease;

}

.faq4_question {

    cursor:          pointer;

    display:         flex;

    justify-content: space-between;

    align-items:     center;

    padding:         20px 24px;

    font-family:     var(--font-primary);

    background:      none;

    border:          none;

    width:           100%;

    text-align:      left;

}





/* Answer — open state */

.faq4_accordion.is-open .faq4_answer {

     max-height:     800px !important;

    padding-bottom: 1.5rem !important;

}



.faq4_answer p {

    color:       var(--peck-blue);

    line-height: 1.6;

    margin:      0;

}



.faq-cordion-question {

    color:          var(--peck-blue);

    cursor:         pointer;

    display:        block;

    font-family:    var(--font-primary);

    font-size:      24px;

    font-weight:    700;

    letter-spacing: -0.19125px;

    line-height:    28.8px;

}



.faq4_icon-wrapper {

    font-size:   1.5rem;

    font-weight: 400;

    color:       var(--peck-blue);

    flex-shrink: 0;

    line-height: 1;

    margin-left: 1rem;

    transition:  transform 0.3s ease;

}



.faq4_accordion.is-open .faq4_icon-wrapper {

    transform: rotate( 45deg );

}



.faq-icon {

    font-style:  normal;

    font-size:   1.5rem;

    line-height: 1;

    display:     block;

}



.faq_buttons_group {

    display:         flex;

    justify-content: center;

    align-items:     center;

    gap:             1.5rem;

    font-family:     var(--font-primary);

    flex-wrap:       wrap;

}



.custom-text-size-faq {

    letter-spacing: -0.0119531rem;

    margin-bottom:  0;

    font-family:    var(--font-primary);

    font-size:      1.3125rem;

    line-height:    120%;

    color:          var(--peck-blue);

}

.margin-top {

    margin-top: 80px;

}

/* FAQ responsive */

@media ( max-width: 767.98px ) {

    .faq-heading { font-size: 32px; line-height: 40px; }

    .faq-cordion-question { font-size: 18px; }

}





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

   17. GRAVITY FORMS

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



/* Labels */

.gform_wrapper .gfield_label,

.gform_wrapper .gform-field-label {

    color:         var(--peck-blue);

    cursor:        default;

    display:       block;

    font-family:   var(--font-primary);

    font-size:     14.4px;

    font-weight:   700;

    line-height:   20.16px;

    margin-bottom: 8px;

}



/* Text, Email, Phone, Date inputs */

.gform_wrapper input[type="text"],

.gform_wrapper input[type="email"],

.gform_wrapper input[type="tel"],

.gform_wrapper input[type="number"],

.gform_wrapper input[type="url"],

.gform_wrapper input[type="password"],

.gform_wrapper select {

    appearance:       none;

    background-color: var(--white);

    border:           1px solid var(--black);

    border-radius:    4px;

    box-sizing:       border-box;

    color:            var(--black);

    cursor:           text;

    display:          block;

    font-family:      var(--font-primary);

    font-size:        16px;

    font-weight:      400;

    line-height:      25.6px;

    min-height:       62.4px;

    padding:          8px 12px;

    text-align:       start;

    width:            100%;

    margin:           0;

    transition:       border-color 0.2s ease, box-shadow 0.2s ease;

}



.gform_wrapper input[type="text"]:focus,

.gform_wrapper input[type="email"]:focus,

.gform_wrapper input[type="tel"]:focus,

.gform_wrapper input[type="number"]:focus,

.gform_wrapper input[type="url"]:focus,

.gform_wrapper input[type="password"]:focus,

.gform_wrapper select:focus {

    outline:      none;

    border-color: var(--peck-blue);

    box-shadow:   0 0 0 3px rgba(13, 46, 65, 0.1);

}



/* Textarea */

.gform_wrapper textarea {

    appearance:    auto;

    background-color: var(--white);

    border:        1px solid rgb(118, 118, 118);

    border-radius: 0;

    box-sizing:    border-box;

    color:         var(--black);

    cursor:        text;

    display:       inline-block;

    font-family:   var(--font-primary);

    font-size:     15px;

    font-weight:   400;

    line-height:   27px;

    min-height:    96px;

    overflow-wrap: break-word;

    padding:       8px;

    resize:        vertical;

    width:         100%;

    margin:        0;

}



.gform_wrapper textarea:focus {

    outline:      none;

    border-color: var(--peck-blue);

    box-shadow:   0 0 0 3px rgba(13, 46, 65, 0.1);

}



/* Date input fix */

.ginput_container_date input { width: 100% !important; }



/* 12-column grid */

.gform_wrapper.gravity-theme .gform_fields {

    display:               grid;

    grid-template-columns: repeat( 12, 1fr );

    grid-column-gap:       2%;

    grid-row-gap:          16px;

    width:                 100%;

}



.gform_wrapper.gravity-theme .gfield--width-full         { grid-column: span 12; }

.gform_wrapper.gravity-theme .gfield--width-half         { grid-column: span 6; }

.gform_wrapper.gravity-theme .gfield--width-third        { grid-column: span 4; }

.gform_wrapper.gravity-theme .gfield--width-two-thirds   { grid-column: span 8; }

.gform_wrapper.gravity-theme .gfield--width-three-quarters { grid-column: span 9; }



.gform_wrapper.gravity-theme .gfield--width-half input,

.gform_wrapper.gravity-theme .gfield--width-half select { width: 100%; }



/* Radio buttons — column */

.gform_wrapper .gfield_radio {

    display:        flex;

    flex-direction: column;

    gap:            0.5rem;

}



.gform_wrapper .gchoice {

    display:     flex;

    align-items: center;

    gap:         0.5rem;

}



.gform_wrapper .gfield-choice-input[type="radio"] {

    width:        18px;

    min-height:   18px;

    height:       18px;

    margin:       0;

    accent-color: var(--peck-blue);

    cursor:       pointer;

    flex-shrink:  0;

}



.gform_wrapper .gchoice .gform-field-label {

    margin-bottom: 0;

    font-weight:   400;

    cursor:        pointer;

}



/* Consent checkbox */

.gform_wrapper .ginput_container_consent {

    display:     flex;

    align-items: flex-start;

    gap:         0.75rem;

}



.gform_wrapper .ginput_container_consent input[type="checkbox"] {

    width:        18px;

    min-height:   18px;

    height:       18px;

    margin:       0;

    margin-top:   2px;

    accent-color: var(--peck-blue);

    flex-shrink:  0;

}



.gform_wrapper .gfield_consent_label {

    font-size:   0.875rem;

    font-weight: 400;

    line-height: 1.5;

    cursor:      pointer;

    margin:      0;

}



.gform_wrapper .gfield_consent_label a {

    color:           var(--peck-blue);

    text-decoration: underline;

}



/* Submit button */

.gform_footer { margin-top: 50px; }



.gform_wrapper .gform_button,

.gform_wrapper input[type="submit"] {

    appearance:       button;

    background-color: var(--peck-blue);

    border:           1px solid var(--black);

    border-radius:    4px;

    box-sizing:       border-box;

    color:            var(--white);

    cursor:           pointer;

    display:          block;

    font-family:      var(--font-primary);

    font-size:        18px;

    font-weight:      700;

    line-height:      27px;

    padding:          21.6px 52px;

    text-align:       center;

    transition:       opacity 0.25s ease;

    white-space:      nowrap;

    width:            auto;

    user-select:      none;

}



.gform_wrapper .gform_button:hover,

.gform_wrapper input[type="submit"]:hover { opacity: 0.9; }



/* Validation */

.gform_wrapper .gfield_error input,

.gform_wrapper .gfield_error textarea,

.gform_wrapper .gfield_error select { border-color: #dc3545; }



.gform_wrapper .validation_message,

.gform_wrapper .gfield_error .gfield_label { color: #dc3545; }



.gform_wrapper .gform_validation_errors {

    background-color: #fff3cd;

    border:           1px solid #ffc107;

    border-radius:    4px;

    padding:          1rem;

    margin-bottom:    1.5rem;

    color:            #856404;

    font-size:        0.875rem;

}



/* Confirmation */

.gform_wrapper .gform_confirmation_message {

    background-color: #d1e7dd;

    border:           1px solid #badbcc;

    border-radius:    4px;

    padding:          1.5rem;

    color:            #0f5132;

    font-size:        1rem;

    line-height:      1.6;

}



/* GF Mobile */

@media ( max-width: 767.98px ) {

    .gform_wrapper.gravity-theme .gfield--width-half,

    .gform_wrapper.gravity-theme .gfield--width-third,

    .gform_wrapper.gravity-theme .gfield--width-two-thirds,

    .gform_wrapper.gravity-theme .gfield--width-three-quarters { grid-column: span 12; }

}





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

   18. BUTTONS

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



.button {

    display:         inline-block;

    position:        relative;

    overflow:        hidden;

    font-family:     var(--font-primary);

    font-size:       18px;

    font-weight:     700;

    line-height:     27px;

    padding:         21.6px 52px;

    border-radius:   4px;

    border:          1px solid transparent;

    text-align:      center;

    text-decoration: none;

    cursor:          pointer;

    box-sizing:      border-box;

    text-transform:  uppercase;

    transition:      all 0.3s ease;

    width:           fit-content;

}



/* Shimmer sweep */

.button::before {

    content:     '';

    position:    absolute;

    top:         0;

    left:        -100%;

    width:       100%;

    height:      100%;

    background:  linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.7), transparent);

    transition:  left 0.5s ease;

    z-index:     1;

    pointer-events: none;

}



/* Arrow */

.button::after {

    content:     "";

    margin-left: 6px;

    display:     inline-block;

    transition:  transform 0.3s ease;

}



.button.is-icon::after { display: none; }



.button:hover::before { left: 100%; }

.button:hover::after  { transform: translateX(4px); }



/* Primary — dark blue */

.button,

.button.is-primary {

    background-color: var(--peck-blue);

    border-color:     var(--black);

    color:            var(--white);

}



.button:hover,

.button.is-primary:hover {

    color:      var(--white);

    box-shadow: 0 6px 20px rgba(13, 46, 65, 0.45);

}



/* Secondary — dark blue with white border */

.button.is-secondary {

    background-color: var(--peck-blue);

    border-color:     var(--white);

    color:            var(--white);

}



.button.is-secondary:hover {

    color:      var(--white);

    box-shadow: 0 6px 20px rgba(13, 46, 65, 0.45);

}



/* Alternate — yellow */

.button.is-alternate {

    background-color: var(--yellow);

    border-color:     var(--yellow);

    color:            var(--black);

    display:          block;

}



.button.is-alternate:hover {

    color:      var(--black);

    box-shadow: 0 6px 20px rgba(254, 211, 63, 0.5);

}



@media ( max-width: 767.98px ) {

    .button.is-secondary,

    .button.is-alternate { padding: 16px 32px; }

}





.contact-us-description-wrapper a {

    color:           #0d2e41;

    text-decoration: none;

}



.seperator {

    background-color: var(--peck-blue);

    width:            100%;

    height:           1px;

}



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

   19. FOOTER

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



.footer-with-rewareds-wrapper { position: relative; }

.footer-with-rewareds-wrapper.transparent { background-color: transparent; }

.rewards-footer-wrapper { padding-top: 2rem; padding-bottom: 2rem; }

.footer-with-rewareds-wrapper a {
    font-family: var(--font-primary);
    font-weight: 400;
    text-decoration: none;
    color: var(--peck-blue);
    line-height: 1.8;
    display: block;
}

.section_footer {

    background-color: var(--yellow);

    position:         relative;

    overflow:         hidden;

}



.row.footer-left-inner {

    --bs-gutter-x: 75px;

    --bs-gutter-y: 52px;

}



.contact-us-section_heading {

    margin-top:     0;

    margin-bottom:  0;

    font-family:    var(--font-primary);

    font-weight:    700;

    letter-spacing: -0.19125px;

    color:          var(--peck-blue);

    font-size:      102px;

    line-height:    92px;

    height:         auto;

}



.navbar1_logo {

    max-height: 4rem;

    width:      auto;

    display:    block;

}



.footer-social-icon {

    display:         flex;

    align-items:     center;

    justify-content: center;

    color:           var(--peck-blue);

    font-size:       1.25rem;

    text-decoration: none;

    transition:      opacity 0.2s ease;

    width:           2rem;

    height:          2rem;

}



.footer-social-icon:hover,

.footer-social-icon:focus { color: var(--peck-blue); opacity: 0.65; }



.footer_link_address {

    font-family:     var(--font-primary);

    font-weight:     400;

    text-decoration: none;

    color:           var(--peck-blue);

    line-height:     1.8;

    display:         block;

}



.footer_link_address:hover { opacity: 0.65; }



.footer_link_list_title {

    font-family: var(--font-primary);

    font-weight: 700;

    color:       var(--peck-blue);

}



.footer_link {

    font-family:     var(--font-primary);

    font-weight:     400;

    line-height:     180%;

    text-decoration: none;

    color:           var(--peck-blue);

    transition:      opacity 0.2s ease;

    display:         block;

}



.footer_link:hover,

.footer_link:focus { color: var(--peck-blue); opacity: 0.65; }



.footer_copyright {

    font-family: var(--font-primary);

    color:       var(--peck-blue);

}



/* Footer form placeholder */

.hero_form-wrapper { position: relative; }



.footer_form_placeholder {

    position:         relative;

    z-index:          2;

    background-color: var(--white);

    border-radius:    0.25rem;

    min-height:       700px;

    width:            100%;

    padding:          40px 2.5rem 2.5rem;

    font-family:      var(--font-primary);

}



.footer_form_placeholder_text {

    color:     rgba(13, 46, 65, 0.35);

    font-size: 0.875rem;

}



/* Decorative bg elements */

.form-bg-element {

    z-index:          0;

    background-color: var(--light-blue);

    border-radius:    0.4375rem;

    margin:           0.6875rem -0.6875rem -0.6875rem 0.6875rem;

    position:         absolute;

    inset:            0%;

    pointer-events:   none;

}



.form-bg-element.pink {

    background-color: #e33752;

    margin:           1.375rem -1.375rem -1.375rem 1.375rem;

    z-index:          0;

}



.form-bg-element.custom1 {

    margin:  1.375rem -1.375rem -1.375rem 1.375rem;

    z-index: 0;

}



/* Hero form bg fix */

.contact_page_form_hero > * { position: relative; z-index: 2; }

.contact_page_form_hero > .form-bg-element { z-index: 0; }



.hero_form-wrapper > * { position: relative; z-index: 2; }

.hero_form-wrapper > .form-bg-element { z-index: 0; }

.phone-icon {

    width:    100px;

    height:   auto;

    position: absolute;

    inset:    0rem 1rem auto auto;

}

/* Footer responsive */

@media ( max-width: 991.98px ) {

    .row.footer-left-inner { --bs-gutter-x: 1.5rem; --bs-gutter-y: 2rem; }

    .contact-us-section_heading { font-size: 72px; line-height: 72px; }

    .col-12.col-lg-6 + .col-12.col-lg-6 { margin-top: 3rem; }

}



@media ( max-width: 767.98px ) {

    .phone-icon {

        width:       64px;

        height:      auto;

        position:    static;

        margin-left: auto;

        display:     block;

    }



    .navbar1_logo { width: 155px; height: 46px; object-fit: contain; }

    .contact-us-section_heading { font-size: 56px; line-height: 56px; text-align: center; }

    .footer_form_placeholder { min-height: 700px; padding: 40px 1.5rem 1.5rem; }



    .row.footer-left-inner { --bs-gutter-x: 0; --bs-gutter-y: 2rem; }

}



/* Contact us heading responsive */

@media ( min-width: 768px ) and ( max-width: 991.98px ) {

    .contact-us-section_heading { font-size: 72px; line-height: 72px; }

}



@media ( max-width: 767.98px ) {

    .contact-us-section_heading { font-size: 56px; line-height: 56px; }

}





.rich-text-body p,

.w-richtext p {

    margin-bottom: 27px;

}



.rich-text-body h2,

.w-richtext h2,

.rich-text-body h3,

.w-richtext h3 {

    font-size:      20px;

    line-height:    24px;

    letter-spacing: -0.19125px;

    margin-bottom:  16px;

}



.rich-text-body h4,

.w-richtext h4 {

    font-size:      18px;

    line-height:    24px;

    letter-spacing: -0.19125px;

    margin-bottom:  16px;

}



.rich-text-body ul,

.rich-text-body ol,

.w-richtext ul,

.w-richtext ol {

    list-style:    revert;

    padding-left:  1.5rem;

    margin-bottom: 1rem;

}



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

   20. LEGACY / TSEG UTILITIES

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



/* TSEG Logo SVG */

.tseg-logo-svg { width: 80px; vertical-align: middle; }

.tseg-logo-svg .cls-1, .tseg-logo-svg .cls-2 { fill: #0d2e41; }

.tseg-logo-svg .cls-2, .tseg-logo-svg .cls-3 { fill-rule: evenodd; }

.tseg-logo-svg .cls-3 { fill: #9dcb3b !important; }



/* Powered-by TSEG credit link */

.power-by { display: inline-flex; align-items: center; gap: 6px; text-decoration: none; }



/* Font Awesome pseudo elements */

ul.befored-tag li:before { display: none; content: "\f0da"; font-family: 'Font Awesome 5 Solid'; }

ul.befored-tag li svg    { font-size: 15px; margin-right: 10px; color: #ea4335; }

ul.afterd-tag li:after   { display: none; content: "\f0da"; font-family: 'Font Awesome 5 Solid'; }

ul.afterd-tag li svg     { font-size: 16px; margin-left: 10px; color: #4285f4; }



/* Icon set */

.icon-set svg { font-size: 55px; margin-top: 15px; }

svg.svg-inline--fa.fa-google-plus-square.fa-w-14 { color: #1b8a39; }

svg.svg-inline--fa.fa-twitter-square.fa-w-14     { color: #2174fd; }

svg.svg-inline--fa.fa-facebook.fa-w-14           { color: #1c4282; }



/* Slick slider */

section.slick-section { text-align: center; padding-bottom: 30px; }



/* Old footer classes kept for compatibility */

.tseg-footer { background-color: #BFB2A2; padding-top: 30px; padding-bottom: 30px; }

.tseg-grid-of-links { background-color: #C09B55; padding-top: 30px; padding-bottom: 30px; }

.tseg-home-content { padding-top: 30px; padding-bottom: 30px; text-align: center; }

.tseg-logo__image { width: 30%; }

.tseg-main-graphic { background-color: #545454; }

.tseg-main-graphic__tagline { font-size: 36px; padding-top: 30%; padding-bottom: 30%; }



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

   12. LEARN MORE CARDS + MEET THE TEAM

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



.section_learn-more { position: relative; }



.section_team.text-color-white {

    background-color:    var(--peck-blue);

    color:               var(--white);

    background-image:    url('img/bg-curve.webp');

    background-position: 50% 0;

    background-repeat:   no-repeat;

    background-size:     cover;

    position:            relative;

    overflow:            hidden;

}



.text-color-white { color: var(--white); }





.learn-more_4col_grid {

    display:        flex;

    flex-wrap:      wrap;

    align-content:  flex-start;

    gap:            0;

}



.learn-more_home_card {

    color:            var(--white);

    background-color: #092b3e;

    border:           0.0625rem solid rgba(255, 255, 255, 0.11);

    display:          flex;

    flex-direction:   column;

    justify-content:  flex-start;

    align-items:      center;

    width:            25%;

    padding:          60px 16px 42px;

    box-sizing:       border-box;

}



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



.learn-more-card-item-header {

    font-family:  var(--font-primary);

    font-size:    1.25rem;

    font-weight:  700;

    color:        var(--white);

    margin-top:   0;

    margin-bottom: 0;

}



.banner-learn-more-text {

    color:       var(--white);

    display:     block;

    font-family: var(--font-primary);

    font-size:   17.2px;

    line-height: 22.36px;

    opacity:     0.5;

    text-align:  center;

}



/* Meet the Team */

.meet-the-team-wrapper {

    background-color: var(--peck-blue);

    color:            var(--white);

    position:         relative;

}



.custom-meet-the-team {

    padding-top:    128px;

    padding-bottom: 0;

}



.margin-bottom.margin-xxlarge {

    margin-top:    0;

    margin-left:   0;

    margin-right:  0;

    margin-bottom: 80px;

}



.margin-top.margin-xxlarge {

    margin-bottom: 0;

    margin-left:   0;

    margin-right:  0;

    margin-top:    80px;

}



.meet_the_team_section_heading {

    color:          var(--white);

    display:        block;

    font-family:    var(--font-primary);

    font-size:      52px;

    font-weight:    700;

    letter-spacing: -0.19125px;

    line-height:    52px;

    margin:         0;

}



/* Slider */

#slider-container,

#slider-container * {

    user-select: none;

}



.slider-list {

    display:             flex;

    flex-direction:      row;

    align-items:         stretch;

    overflow-x:          auto;

    scrollbar-width:     none;

    -ms-overflow-style:  none;

    cursor:              grab;

}



.slider-list::-webkit-scrollbar { display: none; }



.slider-item {

    flex:       1;

    min-width:  21%;

    margin-right: 2rem;

    flex-shrink: 0;

}



.slider-item:last-child { margin-right: 0; }



.slider-item-card {

    cursor:          pointer;

    display:         flex;

    flex-direction:  column;

    min-height:      100%;

}



.team-member-image-wrapper {

    flex:     1;

    position: relative;

    overflow: hidden;

}



.team_slider_image {

    width:      100%;

    height:     650px;

    object-fit: cover;

    display:    block;

    transition: transform 0.3s ease;

}



.team-member-image-wrapper:hover .team_slider_image { transform: scale(1.03); }



.team-member-slider-overlay {

    position: absolute;

    inset:    0;

    background: linear-gradient(to top, rgba(13,46,65,0.85) 0%, transparent 60%);

    z-index:  1;

    cursor:   pointer;

}



.team-member-details {

    z-index:        3;

    padding-bottom: 1.5rem;

    padding-left:   1.5rem;

    padding-right:  1.5rem;

    position:       absolute;

    inset:          auto 0% 0%;

}



.card-team-member-name {

    color:          var(--white);

    text-transform: capitalize;

    margin-top:     0;

    margin-bottom:  0.125rem;

    font-family:    var(--font-primary);

    font-size:      1.125rem;

    font-weight:    700;

}



.card-team-member-position {

    letter-spacing: -0.0119531rem;

    font-family:    var(--font-primary);

    font-size:      0.875rem;

    line-height:    120%;

    color:          rgba(255,255,255,0.8);

}



/* Bio Modal */

.team-member-bio-modal {

    position:         fixed;

    inset:            0;

    z-index:          9999;

    background-color: var(--white);

    overflow-y:       auto;

    padding:          3rem 2rem;

    display:          none;

}



.team-member-bio-modal.is-open { display: block; }



.team-pop-up-modal-grid {

    display:               grid;

    grid-template-columns: 1fr 1fr;

    grid-column-gap:       3rem;

    max-width:             960px;

    margin:                0 auto;

    position:              relative;

}



.team_modal_image_wrapper {

    position: relative;

    overflow: hidden;

}



.team_modal_image_wrapper .image {

    width:      100%;

    height:     100%;

    object-fit: cover;

    display:    block;

}



.modal-team-image-overlay {

    position:   absolute;

    inset:      0;

    background: linear-gradient(to top, rgba(13,46,65,0.3) 0%, transparent 60%);

}



.team-member_modal_information { padding: 2rem 0; }



.text-color-blue { color: var(--peck-blue); }

.text-color-black { color: var(--black); }



.w-richtext p {

    margin-bottom: 1rem;

    line-height:   1.7;

}



.close-div {

    position:         absolute;

    top:              1.5rem;

    right:            1.5rem;

    cursor:           pointer;

    color:            var(--peck-blue);

    background:       none;

    border:           none;

    padding:          0;

    z-index:          10;

}



.icon-embed-medium {

    width:  24px;

    height: 24px;

    display: block;

}



.close-div:hover { opacity: 0.65; }



/* Section 5 Responsive */

@media ( max-width: 991.98px ) {

    .learn-more_home_card { width: 50%; }

    .slider-item { min-width: 45%; }

    .custom-meet-the-team { padding-top: 80px; }

    .meet_the_team_section_heading { font-size: 38px; line-height: 46px; }

}



@media ( max-width: 767.98px ) {

    .learn-more_home_card { width: 100%; }

    .slider-item { min-width: 80%; }

    .custom-meet-the-team { padding-top: 60px; }

    .meet_the_team_section_heading { font-size: 28px; line-height: 36px; }

}



.slider-list.is-dragging {

    cursor:          grabbing;

    scroll-behavior: auto;

}



.slider-list.is-dragging .team-member-image-wrapper {

    pointer-events: none;

}



a.team-member-image-wrapper {

    display: block;

    text-decoration: none;

}

/* Never disable pointer events on the anchor */

a.slider-item-card {

    pointer-events: auto;

    display:         block;

    text-decoration: none;

    color:           inherit;

    cursor:          pointer;

}



a.slider-item-card:hover .team_slider_image {

    transform: scale( 1.03 );

}





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

   SINGLE BLOG POST

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



.container-small {

    width:        100%;

    max-width:    48rem;

    margin-left:  auto;

    margin-right: auto;

}



/* ── Header ── */

.section_blog-post-header {

    color:    var(--white);

    position: relative;

}



.blog-post-header_background-image-wrapper {

    position:         absolute;

    inset:            0;

    z-index:          -1;

    background-image: linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,0.5));

}



.image-overlay-layer {

    position:         absolute;

    inset:            0;

    z-index:          1;

    background-image: linear-gradient(180deg, rgba(0,0,0,0.6), var(--yellow));

}



.blog-post-header_background-image {

    position:       absolute;

    inset:          0;

    width:          100%;

    height:         100%;

    object-fit:     cover;

    object-position: 50% 25%;

}



/* ── Team single hero ── */

.team-single-photo-wrapper {

    width: 340px;

}



.team-single-photo-wrapper .about-hero-video-wrapper {

    max-width: 300px;

    height:    400px;

}



.team-single-photo {

    width:           100%;

    height:          420px;

    object-fit:      cover;

    object-position: 50% 0%;

    border-radius:   0.625rem;

    display:         block;

}



.team-single-info             { text-align: left; }

.team-single-info .peck-cta-btn { margin-left: 0; }



.team-single-position {

    font-size:     1.125rem;

    font-weight:   600;

    opacity:       0.85;

    margin-bottom: 1.5rem;

}



.team-single-contact-list {

    border-top:  1px solid rgba(255,255,255,0.3);

    padding-top: 1.5rem;

    margin-top:  1.5rem;

}



.team-single-contact-item {

    font-size: 1rem;

}



.team-single-contact-item a {

    color:           var(--white);

    text-decoration: none;

}



.team-single-contact-item a:hover { text-decoration: underline; }



/* Tablet + mobile: left-align info */

@media ( max-width: 991.98px ) {

    .team-single-photo-wrapper .about-hero-video-wrapper { max-width: 100%; height: 400px; }

    .team-single-photo         { height: 300px; }

    .team-single-info          { text-align: left; }

    .team-single-contact-list  { align-items: flex-start; }

}



/* Mobile */

@media ( max-width: 575.98px ) {

    .team-single-photo-wrapper { width: 100%; max-width: 100%; }

    .team-single-photo-wrapper .about-hero-video-wrapper { height: 260px; }

    .team-single-info          { text-align: left; }

    .team-single-contact-list  { align-items: flex-start; }

}



/* ── */

.blog-post-header_title-wrapper {

    position:   relative;

    z-index:    2;

    text-align: center;

}



/* .heading-style-h2 → Bootstrap display-5 fw-bold text-white text-capitalize (letter-spacing via inline or override) */

/* .margin-bottom.margin-large   → Bootstrap mb-5 */

/* .margin-bottom.margin-small   → Bootstrap mb-3 */

/* .margin-bottom.margin-xsmall  → Bootstrap mb-2 */

/* .margin-top.margin-xsmall     → Bootstrap mt-2 */

/* .text-weight-bold             → Bootstrap fw-bold */

/* .text-weight-semibold         → Bootstrap fw-semibold */

/* .text-size-small              → Bootstrap small */

/* .text-size-medium             → Bootstrap body default (18px) */



.blog-post-header_author-text { color: var(--white); }



.blog-post-header_date-wrapper {

    margin-top: 4px;

}



.news-published-on-wrapper { margin-right: 5.2px; }



/* ── Post content section ── */

.section_blog-post-content { background-color: transparent; }



.news-article-body-wrapper {

    background-color: var(--off-white-yellow);

    border-radius:    1rem;

    margin-top:       -5%;

    padding-left:     5%;

    padding-right:    5%;

    box-shadow:       0 0 20px rgba(0,0,0,0.2);

    position:         relative;

    z-index:          2;

    color:            #0d2e41;

}



/* Left sticky sidebar */

.blog-post-content_content-left {

    position: sticky;

    top:      8rem;

    color:    #0d2e41;

    align-self: start;

}

.blog-post-content_content-left * {

    color:     #0d2e41;

}



.blog-post-content_author-wrapper {

    margin-bottom: 24px;

}



.blog-post-content_author-image {

    width:           3rem;

    height:          3rem;

    min-width:       3rem;

    min-height:      3rem;

    border-radius:   100%;

    object-fit:      cover;

    object-position: 50% 0%;

    display:         block;

}



.blog-post-content_divider {

    background-color: var(--peck-blue);

    width:            100%;

    max-width:        48rem;

    height:           1px;

    margin-top:       2rem;

    margin-bottom:    2rem;

}





.blog-post-content_social-link {

    display:          flex;

    align-items:      center;

    justify-content:  center;

    border-radius:    20px;

    padding:          0.25rem;

    background-color: rgba(13,46,65,0.08);

    transition:       background-color 0.2s ease;

    color:            #0d2e41 !important;

}



.blog-post-content_social-icon svg,

.blog-post-content_social-icon svg path { fill: #0d2e41 !important; }



.blog-post-content_social-link:hover {

    background-color: rgba(13,46,65,0.18);

}



.blog-post-content_social-icon {

    width:  24px;

    height: 24px;

    display: flex;

    align-items: center;

}



/* Right content column */

.blog-post5-content_content { margin-bottom: 64px; }



.rich-text-body.w-richtext,

.blog-post-rich-text {

    font-size:   1.0625rem;

    line-height: 1.7;

    color:       var(--peck-blue);

}



.rich-text-body.w-richtext p,

.blog-post-rich-text p   { margin-bottom: 1.5rem; }



.rich-text-body.w-richtext h2,

.blog-post-rich-text h2  { font-size: 1.75rem; font-weight: 700; margin: 2.5rem 0 1rem; color: var(--peck-blue); }



.rich-text-body.w-richtext h3,

.blog-post-rich-text h3  { font-size: 1.375rem; font-weight: 700; margin: 2rem 0 0.75rem; color: var(--peck-blue); }



.rich-text-body.w-richtext h4,

.blog-post-rich-text h4  { font-size: 1.125rem; font-weight: 700; margin: 1.5rem 0 0.5rem; }



.rich-text-body.w-richtext ul,

.rich-text-body.w-richtext ol,

.blog-post-rich-text ul,

.blog-post-rich-text ol  { padding-left: 1.5rem; margin-bottom: 1.5rem; display: block; }



.rich-text-body.w-richtext li,

.blog-post-rich-text li  { margin-bottom: 0.5rem; }



.rich-text-body.w-richtext a,

.blog-post-rich-text a   { color: var(--peck-blue); text-decoration: underline; }



.rich-text-body.w-richtext img,

.blog-post-rich-text img { max-width: 100%; height: auto; border-radius: 0.5rem; margin: 1.5rem 0; }



/* ── Related posts section ── */

.section_blog-post-related { background-color: var(--off-white-yellow); }



.section_blog-post-related h2 {

    font-size:      52px;

    font-weight:    700;

    letter-spacing: -0.19125px;

    line-height:    62.4px;

}





.blog-post5-related_button-row.hide-mobile-landscape { display: block; }

.blog-post5-related_button-row.mobile-landscape      { display: none; }



/* ── Responsive ── */

@media ( max-width: 991.98px ) {

    .heading-style-h2 { font-size: 2.25rem; }

    .blog-post-content_content-left { position: static; }

    .blog-post5-related_button-row.hide-mobile-landscape { display: none; }

    .blog-post5-related_button-row.mobile-landscape      { display: block; margin-top: 2rem; }

}



@media ( max-width: 767.98px ) {

    .heading-style-h2        { font-size: 1.75rem; letter-spacing: -1px; }

    .news-article-body-wrapper { padding-left: 1.25rem; padding-right: 1.25rem; }

    .rich-text-body.w-richtext h2 { font-size: 1.375rem; }

    .rich-text-body.w-richtext h3 { font-size: 1.125rem; }

}





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

   NEWS PAGE

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



/* ── Header ── */

.section_blog-post-news-page-header {

    background-color:  var(--peck-blue);

    background-image:  radial-gradient(circle farthest-corner at 50% 65%, var(--yellow), transparent 46%);

    color:             var(--white);

    position:          relative;

}



.news-page-padding-section {

    padding-top:    6.25rem;

    padding-bottom: 2.5rem;

}





.news-page-paragraph {

    font-size:   1.125rem;

    line-height: 1.6;

    color:       var(--white);

    opacity:     0.85;

}



/* ── Featured card wrapper ── */

.blog-post-header_featured-wrapper {

    position:     relative;

    width:        100%;

    margin-left:  auto;

    margin-right: auto;

    z-index:      1;

}



/* ── Featured article card ── */

.featured-article-cards-card-item {

    position:         relative;

    z-index:          10;

    background-color: var(--off-white-yellow);

    color:            var(--black);

    border-radius:    0.625rem;

    box-shadow:       0 20px 34px 24px rgba(15, 44, 79, 0.12);

    overflow:         hidden;

}



.featured-article-content-copy-wrapper {

    z-index: 1;

}

/* display/flex/justify-content/padding → Bootstrap d-flex flex-column justify-content-center py-5 px-4 */

/* .heading-style-h4 → Bootstrap fw-bold lh-sm mb-2 mt-0 (h2 tag size = 2rem) */

/* .featured-blog-text → Bootstrap fs-5 (1.25rem) */



/* ── Featured image column ── */

.featured-blog-image-wrapper {

    position:                    relative;

    overflow:                    hidden;

    border-top-right-radius:     0.625rem;

    border-bottom-right-radius:  0.625rem;

}



.featured-blog-opacity-overley {

    position:         absolute;

    inset:            0;

    width:            50%;

    height:           100%;

    background-image: linear-gradient(90deg, var(--off-white-yellow), rgba(248, 249, 239, 0.8) 15%, transparent);

    z-index:          1;

}



.featured-blog-card-image {

    display:     block;

    width:       100%;

    height:      100%;

    object-fit:  cover;

    aspect-ratio: 3 / 2;

}



/* ── Featured tag badge (news page variant) ── */

.featured-tag:not(.case-results) {

    position:         absolute;

    top:              -1.875rem;

    left:             0;

    background-color: var(--yellow);

    border-radius:    0.625rem;

    padding:          0.5rem 0.9375rem;

    z-index:          2;

    min-height: 200px;

}



/* ── Button icon variant ── */

.button.is-icon {

    display:         flex;

    align-items:     center;

    justify-content: center;

    gap:             0.75rem;

    text-decoration: none;

}

.featured-article-content-copy-wrapper .button.is-icon.is-small {

    width: fit-content !important

}

.button.is-icon.is-small {

    font-size:    1rem;

    padding:      8px 20px;

    line-height:  1.5;

    width:        100%;

}



.button_engage_icon {

    display:     flex;

    align-items: center;

    width:       16px;

    height:      16px;

    flex-shrink: 0;

}



/* ── News listing section ── */

.section_news-home-page {

    position: relative;

}



.padding-section-medium {

    padding-top:    80px;

    padding-bottom: 80px;

}





/* ── Thumbnail card ── */

.blog-thumbnail-card {

    display:         flex;

    flex-direction:  column;

    text-decoration: none;

    color:           inherit;

    border-radius:   0.625rem;

    overflow:        hidden;

    background:      var(--white);

    box-shadow:      0 4px 20px rgba(15, 44, 79, 0.08);

    transition:      box-shadow 0.25s ease, transform 0.25s ease;

}



.blog-thumbnail-card:hover {

    box-shadow: 0 8px 32px rgba(15, 44, 79, 0.15);

    transform:  translateY(-2px);

}



.blog-thumbnail-card_image-wrapper {

    width:          100%;

    padding:        0.625rem 0.625rem 0;

    overflow:       hidden;

    box-sizing:     border-box;

}



.blog-thumbnail-card_image {

    display:       block;

    width:         100%;

    height:        100%;

    min-height:    318px;

    object-fit:    cover;

    aspect-ratio:  3 / 2;

    border-radius: 0.6rem;

    transition:    transform 0.3s ease;

}



.blog-thumbnail-card:hover .blog-thumbnail-card_image {

    transform: scale(1.04);

}



.blog-thumbnail-card_item-content {

    display:         flex;

    flex-direction:  column;

    justify-content: space-between;

    flex:            1;

    padding:         1.5rem;

    gap:             1rem;

}



.blog-thumbnail-card_item-content-top {

    display:        flex;

    flex-direction: column;

    gap:            0.5rem;

}



.blog-post2-related_title-wrapper { margin: 0; }



/* .heading-style-h5 → Bootstrap h4 fw-bold mb-0 (1.5rem, body color peck-blue) */

/* .text-size-regular  → Bootstrap fw-bold (1rem body size, peck-blue) */



.news-blog-page-background-element {

    position:         absolute;

    bottom:           0;

    left:             0;

    right:            0;

    height:           40%;

    background-color: var(--off-white-yellow);

    z-index:          0;

    pointer-events:   none;

}



/* ── Responsive ── */

@media ( max-width: 991.98px ) {

    .featured-blog-image-wrapper {

        border-radius: 0 0 0.625rem 0.625rem;

        min-height: 260px;

    }

    .featured-blog-card-image { aspect-ratio: 16 / 9; height: auto; }

    .featured-blog-opacity-overley { display: none; }

}



@media ( max-width: 767.98px ) {

    .padding-section-medium { padding-top: 48px; padding-bottom: 48px; }

}



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

   CLIENT REVIEWS PAGE

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



/* ── Hero section ── */

.section_home_client-reviews {

    background-color: transparent;

    position:         relative;

    overflow:         hidden;

}



.section_home_client-reviews .padding-global,

.section_home_client-reviews .container-large,

.section_home_client-reviews .padding-section-large {

    position: relative;

    z-index:  1;

}



/* ── Hero grid ── */

.client-reviews-hero-component {

    display:               grid;

    grid-template-columns: 1fr 1fr;

    gap:                   2.5rem;

    align-items:           start;

}



/* ── Hero left content ── */

.client-reviews-hero-content {

    color: #0d2e41;

}



.client-reviews-heading {

    color:          #0d2e41;

    font-family:    var(--font-primary);

    font-size:      82px;

    font-weight:    700;

    line-height:    1;

    letter-spacing: -2px;

}



.client-reviews-hero-content p {

    color:     #0d2e41;

    font-size: 18px;

    max-width: 520px;

}



/* ── Featured review card wrapper ── */

.client-reviews-featured-review-wrapper {

    position: relative;

}



.featured-review-item-wrapper {

    position:         relative;

    background-color: #fff;

    border-radius:    0.75rem;

    padding:          96px 52px 58px;

    z-index:          2;

    display:          flex;

    flex-direction:   column;

    gap:              1rem;

}



/* ── Featured tag (reviews variant) ── */

.featured-review-tag {

    display:                    inline-flex;

    background-color:           #0d2e41;

    border-bottom-right-radius: 6px;

    padding:                    12px 24px;

    position:                   absolute;

    inset:                      0% auto auto 0%;

}



.featured-review-tag-text {

    color:       var(--white);

    font-size:   13px;

    font-weight: 700;

    line-height: 1.4;

}



/* ── Stars ── */

.stars-wrapper,

.review-item-stars-wrapper {

    display:   flex;

    gap:       6px;

    flex-wrap: nowrap;

}



.star-element {

    width:       22px;

    height:      22px;

    color:       #fed33f;

    flex-shrink: 0;

}



.hero-star {

    width:  28px;

    height: 28px;

}



.star-element.star-empty {

    color: #d0d5dd;

}



/* ── Review copy wrapper ── */

.featured-review-copy-wrapper {

    margin-bottom: 56px;

}



.featured-review-copy-wrapper .mb-4 {

    margin-bottom: 32px !important;

}



/* ── Review card body text ── */

.featured-review-copy-wrapper p {

    color:       var(--peck-blue);

    font-size:   16px;

    line-height: 1.65;

    margin:      0;

}



.featured-review-item-wrapper .client-testimonial-details-wrapper {

    margin-top: auto;

}



.featured-review-item-wrapper .client-testimonial-name {

    color: var(--peck-blue);

}



/* ── Reviews body section ── */

.section-client-reviews-body {

    background-color: #fff;

}



/* ── Reviews grid ── */

.client-reviews-grid {

    display:               grid;

    grid-template-columns: repeat(3, 1fr);

    gap:                   1.5rem;

    align-items:           stretch;

}



/* ── Individual review card ── */

.review-item-wrapper {

    position:         relative;

    background-color: var(--peck-blue);

    border-radius:    0.75rem;

    padding:          2rem 1.75rem;

    color:            #fff;

    display:          flex;

    flex-direction:   column;

    gap:              1rem;

}



.review-item-wrapper.is-featured {

    border: 2px solid var(--peck-yellow);

}





.review-item-wrapper .review-item-stars-wrapper {

    margin-bottom: 0.25rem;

}



.review-item-wrapper .star-element {

    color: var(--peck-yellow);

}



.review-item-wrapper .star-element.star-empty {

    color: rgba(255, 255, 255, 0.25);

}



.review-item-comment {

    font-size:   16px;

    line-height: 1.65;

    margin:      0;

    flex:        1;

}



.review-item-wrapper .client-testimonial-details-wrapper {

    margin-top:  auto;

    padding-top: 1rem;

    border-top:  1px solid rgba(255, 255, 255, 0.15);

}



.review-item-links {

    display:   flex;

    gap:       0.5rem;

    flex-wrap: wrap;

}



/* ── Responsive ── */

@media ( max-width: 1199.98px ) {

    .client-reviews-grid {

        grid-template-columns: repeat(2, 1fr);

    }

}



@media ( max-width: 991.98px ) {

    .client-reviews-hero-component {

        grid-template-columns: 1fr;

    }



    .client-reviews-heading {

        font-size:      52px;

        letter-spacing: -1.5px;

    }

}



@media ( max-width: 767.98px ) {

    .client-reviews-heading {

        font-size:      36px;

        letter-spacing: -1px;

    }



    .client-reviews-grid {

        grid-template-columns: 1fr;

    }

}



/* GTranslate links — centered row inside mobile nav */

.peck-gtranslate-wrap {

    display:         flex;

    justify-content: center;

    gap:             8px;

    padding:         8px 0;

    width:           100%;

}

a.glink.nturl {

    width: 28px;

    height: 28px;

    overflow: hidden;

    border-radius: 50%;

    background-color: #f2f2f2;

}

a.glink.nturl span {

    display: none;

    position: absolute;

}

a.glink img {

    width: 28px;

    height: 28px;

    aspect-ratio: 1 / 1;

    scale: 1.2;

}



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

   HTML SITEMAP

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



.sitemap-grid {

    display:               grid;

    grid-template-columns: repeat(4, 1fr);

    gap:                   3rem;

    align-items:           start;

}



.sitemap-heading {

    font-size:     1.1rem;

    font-weight:   700;

    color:         var(--peck-blue);

    text-transform: uppercase;

    letter-spacing: 0.05em;

    margin-bottom: 1rem;

    padding-bottom: 0.5rem;

    border-bottom: 2px solid var(--yellow);

}



.sitemap-list,

.sitemap-sublist {

    list-style: none;

    padding:    0;

    margin:     0;

}



.sitemap-list li { margin-bottom: 0.5rem; }



.sitemap-sublist {

    margin-top:  0.35rem;

    margin-left: 1rem;

}



.sitemap-sublist li { margin-bottom: 0.35rem; }



.sitemap-list a,

.sitemap-sublist a {

    color:           var(--peck-blue);

    text-decoration: none;

    font-size:       0.95rem;

    transition:      color 0.2s ease;

}



.sitemap-list a:hover,

.sitemap-sublist a:hover {

    color:           var(--yellow);

    text-decoration: underline;

}



@media ( max-width: 991.98px ) {

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

}



@media ( max-width: 575.98px ) {

    .sitemap-grid { grid-template-columns: 1fr; }

}







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

   LEGAL PAGE (Privacy Policy / Terms of Service)

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



/* ── Header ── */

.section_legal1-header {

    color: #0d2e41;

}



.section_legal1-header .padding-section-large {

    padding-top:    80px;

    padding-bottom: 80px;

}



.legal-page-heading {

    color:          #0d2e41;

    font-family:    var(--font-primary);

    font-size:      52px;

    font-weight:    700;

    line-height:    62px;

    letter-spacing: -1.5px;

    margin-bottom:  0;

}



.legal-page-meta {

    color:   #0d2e41;

    margin:  0.25rem 0 0;

}



/* ── Content ── */

.section_legal1-content {

    background-color: var(--off-white-yellow);

}



.section_legal1-content .padding-global {

    padding-top:    72px;

    padding-bottom: 96px;

}



.legal1-content_component .w-richtext {

    color:       var(--peck-blue);

    font-size:   1.0625rem;

    line-height: 1.75;

}



.legal1-content_component .w-richtext p {

    margin-bottom: 1.25rem;

}



.legal1-content_component .w-richtext strong {

    font-weight: 700;

    color:       var(--peck-blue);

}



.legal1-content_component .w-richtext a {

    color:           var(--peck-blue);

    text-decoration: underline;

}



.legal1-content_component .w-richtext a:hover {

    opacity: 0.75;

}



/* ── Responsive ── */

@media (max-width: 767.98px) {

    .section_legal1-header .padding-section-large {

        padding-top:    56px;

        padding-bottom: 56px;

    }



    .section_legal1-content .padding-global {

        padding-top:    48px;

        padding-bottom: 64px;

    }



    .legal-page-heading {

        font-size:      36px;

        line-height:    44px;

        letter-spacing: -1px;

    }

}



/* ── 404 + Thank You hero ── */

.section_404-hero {

    position:         relative;

    background-color: var(--peck-blue);

    overflow:         hidden;

    min-height:       60vh;

    display:          flex;

    align-items:      center;

}



.section_404-hero .padding-global,

.section_404-hero .container-large,

.section_404-hero .padding-section-large {

    position: relative;

    z-index:  1;

    width:    100%;

}



.error-404__code {

    font-size:      120px;

    font-weight:    900;

    color:          var(--yellow);

    line-height:    1;

    margin-bottom:  0.5rem;

}



.error-404__message {

    color:         rgba(255, 255, 255, 0.8);

    font-size:     1.125rem;

    line-height:   1.7;

    margin-bottom: 2rem;

}



.thankyou__icon {

    width:         80px;

    height:        80px;

    margin:        0 auto 1.5rem;

    color:         var(--yellow);

}



.thankyou__icon svg {

    width:  100%;

    height: 100%;

}





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

   LENIS SMOOTH SCROLL

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

html.lenis,

html.lenis body {

    height: auto;

}



.lenis.lenis-smooth {

    scroll-behavior: auto !important;

}



.lenis.lenis-smooth [data-lenis-prevent] {

    overscroll-behavior: contain;

}



.lenis.lenis-stopped {

    overflow: hidden;

}



.lenis.lenis-smooth iframe {

    pointer-events: none;

}





/* ── News Page Pagination ─────────────────────────────────────────────── */

.blog-pagination .pagination {

    gap: 4px;

}

.blog-pagination .page-item .page-link {

    color: #0D2E41 !important;

    background-color: #ffffff !important;

    border: 1px solid #0D2E41 !important;

    transition: background-color .2s ease, color .2s ease;

}

.blog-pagination .page-item .page-link:hover,

.blog-pagination .page-item .page-link:focus {

    background-color: #0D2E41 !important;

    color: #ffffff !important;

    box-shadow: none !important;

}

.blog-pagination .page-item.active .page-link,

.blog-pagination .page-item .page-link[aria-current="page"] {

    background-color: #0D2E41 !important;

    border-color: #0D2E41 !important;

    color: #ffffff !important;

}

.blog-pagination .page-item.disabled .page-link {

    color: #6c757d !important;

    border-color: #dee2e6 !important;

}





/* ── Blog Card H2 size fix ─────────────────────────────────────────────

   Related-posts cards use h2.h4 for SEO; ensure h4 utility size wins

   over any single-post h2 size rules. */

.blog-post-related_list-wrapper .blog-thumbnail-card h2,

.blog-post-related_list-wrapper .blog-thumbnail-card h2.h4 {

    font-size: 1.5rem !important;

    line-height: 1.25 !important;

    margin-bottom: 0 !important;

}

@media (max-width: 575.98px) {

    .blog-post-related_list-wrapper .blog-thumbnail-card h2,

    .blog-post-related_list-wrapper .blog-thumbnail-card h2.h4 {

        font-size: 1.25rem !important;

    }

}





/* ── Blog Post Breadcrumb ─────────────────────────────────────────────── */

.blog-post-breadcrumb {

    margin-bottom: 1.25rem;

    font-size: .9rem;

    line-height: 1.4;

    max-width: 860px;

    margin-left: auto;

    margin-right: auto;

    padding-right: calc(var(--bs-gutter-x, 3rem) * .5);

    padding-left: calc(var(--bs-gutter-x, 3rem) * .5);

}

.blog-post-breadcrumb ol {

    list-style: none;

    margin: 0;

    padding: 0;

    display: flex;

    flex-wrap: wrap;

    gap: .25rem .5rem;

    align-items: center;

}

.blog-post-breadcrumb li {

    display: inline-flex;

    align-items: center;

    color: #6c757d;

}

.blog-post-breadcrumb li + li::before {

    content: "›";

    margin-right: .5rem;

    color: #adb5bd;

}

.blog-post-breadcrumb a {

    color: #0D2E41;

    text-decoration: none;

    transition: color .2s ease;

}

.blog-post-breadcrumb a:hover,

.blog-post-breadcrumb a:focus {

    color: #0D2E41;

    text-decoration: underline;

}

.blog-post-breadcrumb [aria-current="page"] {

    color: #6c757d;

}





/* ── Blog Post Single: Widen Layout (MarkUp #3) */

.news-article-body-wrapper .blog-post-content_content-top {

    margin-top: 2rem;

    padding-top: 1.5rem;

    border-top: 1px solid #e5e7eb;

}

.news-article-body-wrapper .blog-post-content_content-top .blog-post-content_contributers {

    display: flex;

    flex-wrap: wrap;

    gap: 1.5rem 2rem;

    align-items: flex-start;

    justify-content: space-between;

}

.news-article-body-wrapper .blog-post-content_content-top .blog-post-content_contributers .w-dyn-list,

.news-article-body-wrapper .blog-post-content_content-top .blog-post-content_contributers .w-dyn-items {

    display: flex;

    flex-wrap: wrap;

    gap: 1rem 1.5rem;

    width: 100%;

}

.news-article-body-wrapper .blog-post-content_content-top .blog-post-content_social-wrapper,

.news-article-body-wrapper .blog-post-content_content-top .blog-post-content_socials {

    display: flex;

    align-items: center;

    gap: .5rem;

    margin-top: .5rem;

}

.news-article-body-wrapper .blog-post-content_content-main {

    max-width: 860px;

    margin-left: auto;

    margin-right: auto;

}

.news-article-body-wrapper .blog-post-content_content-main .rich-text-body {

    width: 100%;

}

@media (min-width: 992px) {

    .news-article-body-wrapper .blog-post-content_content-top {

        max-width: 860px;

        margin-left: auto;

        margin-right: auto;

    }

}

/* =============================================================================
   Markup.io About Page Updates (also applied to taxonomy-case-category and single-case)
   ============================================================================= */

/* Compact hero so H1 + CTA fit above the fold */
.section_about_hero .padding-section-large {
    padding-top:    60px;
    padding-bottom: 60px;
}

.section_about_hero .subpage-hero-heading {
    font-size:   clamp(2.25rem, 4vw, 3.25rem);
    line-height: 1.1;
}

.section_about_hero .about-hero-video-wrapper {
    max-width:    880px;
    margin-left:  auto;
    margin-right: auto;
}

.section_about_hero .home-hero-image {
    width:           100%;
    object-fit:      cover;
    object-position: center 30%;
    border-radius:   12px;
}

@media (max-width: 991px) {
    .section_about_hero .home-hero-image { max-height: 260px; }
}

/* Hero CTA buttons (about, case-category, single-case) */
.about-hero-cta-row {
    display:     flex;
    flex-wrap:   wrap;
    gap:         14px;
    margin-top:  24px;
    align-items: center;
}

/* All hero CTAs: same padding, same border width, same box-sizing → same height */
.about-hero-cta-row a {
    display:         inline-block;
    padding:         12px 24px;
    border-radius:   6px;
    font-weight:     600;
    text-decoration: none;
    border:          2px solid transparent;
    box-sizing:      border-box;
    line-height:     1.4;
    transition:      transform .15s ease, background .15s ease, border-color .15s ease;
}

.about-hero-cta-primary {
    background:   #ffd200;
    color:        #0a2540 !important;
    border-color: #ffd200;
}
.about-hero-cta-primary:hover {
    background:   #ffe55c;
    border-color: #ffe55c;
    transform:    translateY(-2px);
}

.about-hero-cta-secondary {
    background:   transparent;
    color:        #fff !important;
    border-color: rgba(255, 255, 255, 0.7) !important;
}
.about-hero-cta-secondary:hover {
    background: rgba(255, 255, 255, 0.1) !important;
    transform:  translateY(-2px);
}

@media (max-width: 600px) {
    .about-hero-cta-row a { width: 100%; text-align: center; }
}

/* Team slider */
.meet-the-team-wrapper { position: relative; }
#slider-container { position: relative; }
#slider-container .slider-list { scroll-behavior: auto; }
#slider-container .slider-list.is-dragging { scroll-snap-type: none; }

.about-team-arrow {
    position:        absolute;
    top:             50%;
    transform:       translateY(-50%);
    width:           44px;
    height:          44px;
    border-radius:   50%;
    background:      #ffd200;
    color:           #0a2540;
    border:          0;
    font-size:       22px;
    line-height:     1;
    cursor:          pointer;
    display:         flex;
    align-items:     center;
    justify-content: center;
    z-index:         10;
    box-shadow:      0 2px 8px rgba(0, 0, 0, 0.15);
    transition:      transform .15s ease, background .15s ease;
}
.about-team-arrow:hover {
    background: #ffe55c;
    transform:  translateY(-50%) scale(1.05);
}
.about-team-arrow-prev { left:  -22px; }
.about-team-arrow-next { right: -22px; }

@media (max-width: 768px) {
    .about-team-arrow-prev { left:  6px; }
    .about-team-arrow-next { right: 6px; }
}

/* Testimonial slider */
.section-what-our-clients-say-wrapper .testimonial-slider { margin-top: 8px; }

.testimonial-track {
    position:   relative;
    min-height: 220px;
}

.testimonial-slide {
    display:   none;
    animation: tFade .35s ease;
}
.testimonial-slide.active { display: block; }

@keyframes tFade {
    from { opacity: 0; transform: translateY(6px); }
    to   { opacity: 1; transform: none; }
}

.testimonial-quote {
    font-size:     1.05rem;
    line-height:   1.6;
    margin-bottom: 24px;
}

.testimonial-nav {
    display:     flex;
    align-items: center;
    gap:         16px;
    margin-top:  20px;
}

.testimonial-arrow {
    width:           44px;
    height:          44px;
    border-radius:   50%;
    background:      #ffd200;
    color:           #0a2540;
    border:          0;
    font-size:       24px;
    line-height:     1;
    cursor:          pointer;
    display:         flex;
    align-items:     center;
    justify-content: center;
    transition:      transform .15s ease, background .15s ease;
}
.testimonial-arrow:hover {
    transform:  translateY(-2px);
    background: #ffe55c;
}

.testimonial-counter {
    font-size:  0.95rem;
    opacity:    0.8;
    min-width:  50px;
    text-align: center;
}

.testimonial-stars {
    color:          #ffd200;
    font-size:      1.1rem;
    margin-bottom:  12px;
    letter-spacing: 2px;
}
.testimonial-star { display: inline-block; }

.testimonial-name {
    display:     block;
    font-style:  normal;
    font-weight: 600;
    opacity:     0.85;
    margin-top:  8px;
}

/* Testimonial slider — fixed-height card with internal scroll on long quotes.
   Applies on /about/ and case-category pages. */
.testimonial-slider {
    display:        flex;
    flex-direction: column;
}

.testimonial-track {
    position: relative;
    min-height: auto;
}

.testimonial-slide {
    display: none;
}

.testimonial-slide.active {
    display:        flex;
    flex-direction: column;
    height:         320px;
    animation:      tFade .35s ease;
}

@media (max-width: 575.98px) {
    .testimonial-slide.active { height: 380px; }
}

.testimonial-slide .testimonial-stars { flex: 0 0 auto; }
.testimonial-slide .testimonial-name  { flex: 0 0 auto; margin-top: auto; }

.testimonial-slide .testimonial-quote {
    flex:                1 1 auto;
    overflow-y:          auto;
    overscroll-behavior: contain;
    margin-bottom:       16px;
    padding-right:       8px;
    scrollbar-width:     thin;
    scrollbar-color:     rgba(255, 255, 255, 0.4) transparent;
}

.testimonial-slide .testimonial-quote::-webkit-scrollbar { width: 4px; }
.testimonial-slide .testimonial-quote::-webkit-scrollbar-track { background: transparent; border-radius: 4px; }
.testimonial-slide .testimonial-quote::-webkit-scrollbar-thumb {
    background:    rgba(255, 255, 255, 0.4);
    border-radius: 4px;
    transition:    background 0.2s ease;
}
.testimonial-slide .testimonial-quote::-webkit-scrollbar-thumb:hover {
    background: rgba(255, 255, 255, 0.75);
}

/* =============================================================================
   Primary nav — clickable parent links with hover-to-open dropdown (desktop)
   and a tappable caret button (mobile)
   ============================================================================= */

/* Desktop: hovering the parent .dropdown opens its submenu */
@media (min-width: 992px) {
    .navbar .nav-item.dropdown:hover > .dropdown-menu,
    .navbar .nav-item.dropdown:focus-within > .dropdown-menu {
        display: block;
    }
    /* Hide the mobile caret on desktop (Bootstrap d-lg-none already does this; explicit reinforcement) */
    .navbar .nav-dropdown-caret { display: none; }
}

/* Mobile/tablet: tappable caret button next to each parent link */
.navbar .nav-dropdown-caret {
    background: transparent;
    border:     0;
    padding:    4px 8px;
    margin-left: 4px;
    color:      inherit;
    font-size:  0.85em;
    line-height: 1;
    cursor:     pointer;
    transition: transform 0.2s ease;
}

.navbar .nav-dropdown-caret[aria-expanded="true"] {
    transform: rotate(180deg);
}

/* Place the parent link + caret side by side */
.navbar .nav-item.dropdown {
    position: relative;
}
.navbar .nav-item.dropdown > .dropdown-item,
.navbar .nav-item.dropdown > .nav-link {
    display: inline-block;
}

/* Parent-case children list: reset the header-context margin on .peck-cta-btn */
.case-children-list__btn { margin-left: 0; }

#icw--call--content {
    bottom: 0;
    top: auto;
}