/*   
Theme Name: Kester Search Group
Author: Tōdem Brands
Author URI: https://www.todembrands.com/
Version: 1.0
*/

@font-face {
    font-family: 'egyptienne';
    src: url('_/fonts/egyptienne.woff2') format('woff2'),
         url('_/fonts/egyptienne.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'kessler';
    src: url('_/fonts/kessler.woff2') format('woff2'),
         url('_/fonts/kessler.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

*,*::before,*::after{box-sizing:border-box;}html{overflow-y:scroll;overflow-x:hidden;font-size:100%;}body{margin:0;padding:0;line-height:1.5;overflow-x:hidden;}abbr,address,article,aside,audio,b,blockquote,body,caption,cite,code,dd,del,dfn,div,dl,dt,em,fieldset,figure,footer,form,h1,h2,h3,h4,h5,h6,header,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,ol,p,pre,q,samp,section,small,span,strong,sub,sup,table,tbody,td,tfoot,th,thead,time,tr,ul,var,video{border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;margin:0;padding:0;}article,aside,figure,footer,header,main,nav,section{display:block;}ul{list-style:none;}ol{margin-left:1.5em;}blockquote,q{quotes:none;}blockquote::before,blockquote::after,q::before,q::after{content:none;}a{font-size:100%;background:transparent;margin:0;padding:0;vertical-align:baseline;}a:hover,a:active{outline:0;}del{text-decoration:line-through;}abbr[title],dfn[title]{border-bottom:1px dotted #000;cursor:help;}img,video,svg{max-width:100%;height:auto;display:block;}td,td img{vertical-align:top;}table{border-collapse:collapse;border-spacing:0;}th{vertical-align:bottom;font-weight:700;}td{font-weight:400;}hr{height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0;}pre{white-space:pre-wrap;word-wrap:break-word;}code,kbd,pre,samp{font-family:monospace,sans-serif;}small{font-size:85%;}strong{font-weight:700;}sub,sup{font-size:75%;line-height:0;position:relative;}sup{top:-0.5em;}sub{bottom:-0.25em;}input,button,select,textarea{margin:0;font:inherit;-webkit-appearance:none;appearance:none;}input,select{vertical-align:middle;}button,input[type="button"],input[type="submit"]{cursor:pointer;width:auto;overflow:visible;}label{cursor:pointer;}textarea{overflow:auto;vertical-align:top;}.alignleft,img.alignleft{float:left;margin:15px 15px 15px 0;}.alignright,img.alignright{float:right;margin:15px 0 15px 15px;}.aligncenter,img.aligncenter{display:block;margin:15px auto;}

body{ background-color: #f3f2ec;}
body, select, input, textarea{ font-family: "acumin-pro-semi-condensed", Helvetica, Arial, sans-serif;}
.page-wrap{}

a{ color: #5e7e95;}
a:hover, a:focus{ color: #bc7140;}
.button, button{ display: inline-block; cursor: pointer; text-decoration: none; padding: 10px 30px;  font-family: "filson-soft", sans-serif; font-size: 18px; font-weight: 500; text-align: center; letter-spacing: 0.24em; text-transform: uppercase; color: #5e7e95; border: 2px solid #bc7140; transition: .3s;}
.button:hover, .button:focus, button:hover, button:focus{ background-color: #bc7140; color: #fff;}
.screen-reader{ position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden;}
:focus{ outline: 2px solid #5e7e95; outline-offset: 2px;}
:focus:not(:focus-visible){ outline: none;}
:focus-visible{ outline: 2px solid #5e7e95; outline-offset: 2px;}
a, img, .button, button{ transition: all .3s ease 0s;}

h1, h2, h3, h4, h5, h6{ line-height: 1.2;}
h1{ font-family: "kessler", Georgia, Times, "Times New Roman", serif; text-transform: lowercase; font-weight: 500;}
h2{ font-family: "kessler", Georgia, Times, "Times New Roman", serif; text-transform: lowercase; font-weight: 500;}
h3{}
h4{}
h5{}
h6{}
p{ margin-top: 1em;}
p:first-child{ margin-top: 0;}

.wrapper, .container{ width: 95%; max-width: 1400px; margin: 0 auto;}
.container{ display: flex;}
.wrapper:after{ content: ""; display: table; clear: both;}

.nav{}
nav ul{ list-style: none; position: relative; float: left; margin: 0; padding: 0;}
nav ul a{ display: block; text-decoration: none;}
nav ul li{ position: relative; float: left; margin: 0; padding: 0;}
nav ul li.current-menu-item > a, nav ul li:hover > a{}
nav ul ul{ display: none; position: absolute; top: 100%; left: 0; padding: 0;}
nav ul ul li{ float: none; width: 350px;}
nav ul ul ul{ top: 0; left: 100%;}
.header .nav .menu-item-has-children:hover > ul, .header .nav .menu-item-has-children:focus-within > ul{ display: block;}

.nav-toggle{ display: none; flex-direction: column; justify-content: space-between; width: 28px; height: 20px; background: none; border: none; padding: 0; cursor: pointer;}
.nav-toggle span{ display: block; width: 100%; height: 2px; background: currentColor; transition: transform .3s ease, opacity .3s ease;}
.nav-toggle.is-open span:nth-child(1){ transform: translateY(9px) rotate(45deg);}
.nav-toggle.is-open span:nth-child(2){ opacity: 0;}
.nav-toggle.is-open span:nth-child(3){ transform: translateY(-9px) rotate(-45deg);}
.mobile-overlay{ display: block; position: fixed; inset: 0; background: rgba(0,0,0,.5); z-index: 1001; opacity: 0; pointer-events: none; transition: opacity .3s ease;}
.mobile-overlay.is-visible{ opacity: 1; pointer-events: auto;}
.mobile-nav{ position: fixed; top: 0; right: -320px; width: 300px; max-width: 85vw; height: 100%; background: #474747; z-index: 1002; padding: 0; overflow-y: auto; transition: right .3s ease; box-shadow: -4px 0 20px rgba(0,0,0,.4);}
.mobile-nav.is-open{ right: 0;}
.mobile-nav-header{ display: flex; align-items: center; justify-content: space-between; padding: 18px 20px; border-bottom: 2px solid rgba(243,242,236,0.15); margin-bottom: 0;}
.mobile-nav-header .logo{ max-width: 200px; height: auto;}
.mobile-nav nav{ padding: 10px 0;}
.mobile-nav nav ul{ float: none; padding: 0; margin: 0;}
.mobile-nav nav ul li{ float: none; margin: 0;}
.mobile-nav nav ul a{ display: block; padding: 12px 20px; color: #f3f2ec; font-family: "filson-soft", Helvetica, Arial, sans-serif; font-size: 13px; letter-spacing: .15em; text-transform: uppercase; text-decoration: none; border-bottom: 1px solid rgba(243,242,236,0.08); transition: color .2s ease;}
.mobile-nav nav ul a:hover, .mobile-nav nav ul li.current-menu-item > a{ color: #bc7140;}
.mobile-nav nav ul ul{ position: static; display: none; width: auto; padding: 0; background: rgba(0,0,0,.15); border-top: 2px solid #bc7140;}
.mobile-nav nav ul li.is-open > a{ border-bottom: none;}
.mobile-nav nav ul ul a{ padding-left: 34px; font-size: 12px; letter-spacing: .12em; color: rgba(243,242,236,0.75);}
.mobile-nav nav ul ul a:hover{ color: #bc7140;}
.mobile-nav nav ul li{ position: relative;}
.mobile-nav .sub-toggle{ position: absolute; top: 0; right: 0; width: 44px; height: 44px; background: none; border: none; color: rgba(243,242,236,0.6); cursor: pointer; display: flex; align-items: center; justify-content: center; transition: color .2s ease;}
.mobile-nav .sub-toggle:hover{ color: #bc7140;}
.mobile-nav .sub-toggle i{ transition: transform .25s ease;}
.mobile-nav .sub-toggle.is-open i{ transform: rotate(180deg);}
.mobile-nav .search-form{ margin: 16px 20px 20px;}
.mobile-nav-cta{ padding: 20px; border-top: 1px solid rgba(243,242,236,0.12);}
.mobile-nav-cta .button{ display: block; width: 100%; text-align: center; background: #bc7140; color: #f3f2ec; border-color: #bc7140; font-size: 14px; padding: 14px 20px;}
.mobile-nav-cta .button:hover{ background: #f3f2ec; color: #bc7140;}
.nav-close{ background: none; border: none; color: #f3f2ec; font-size: 1.8rem; line-height: 1; padding: 0; cursor: pointer; transition: opacity .2s ease; opacity: 0.8;}
.nav-close:hover, .nav-close:focus{ background: none; color: #f3f2ec; opacity: 1;}
.nav-toggle:hover, .nav-toggle:focus{ background: none;}
.mobile-nav nav ul:last-of-type > li:last-child > a{ border-bottom: none;}
body.nav-open{ overflow: hidden;}

.header{ position: fixed; top: 0; left: 0; width: 100%; z-index: 999; background-color: #474747; padding: 18px 0; font-family: "filson-soft", Helvetica, Arial, sans-serif; border-bottom: 2px solid #f3f2ec; box-shadow: 0 0 0 0 rgba(0,0,0,0); transition: box-shadow .5s ease-in-out;}
.logged-in .header{ top: 32px;}
.header.scroll{ box-shadow: 0 0 60px 60px rgba(0,0,0,0.3);}
.header .container{ align-items: center; justify-content: space-between;}
.header .header-left, .header .header-right{ display: flex; align-items: center;}
.header .logo{ max-width: 250px; margin-right: 40px;}
.header .nav{ font-size: 13px; letter-spacing: .15em;}
.header .nav li{ margin-right: 25px;}
.header a{ color: #f3f2ec;}
.header li:hover > a{ color: #bc7140;}
.header .button{ font-size: 15px; line-height: 15px; padding: 15px 30px; border: none; text-transform: uppercase; letter-spacing: .25em; background-color: #bc7140;}
.header .button:hover{ background-color: #f3f2ec; color: #bc7140;}

.header li.menu-item-has-children a:after{ content: "\f107"; font-family: "Font Awesome", FontAwesome, "Font Awesome 7 Free"; font-size: 10px; margin-left: 5px;}
.header li.menu-item-has-children li a:after{ content: "";}
.header .sub-menu{ background: rgba(71,71,71,0.9); padding: 40px 8px 8px; left: -10px; font-size: 13px; line-height: 13px;}
.header .sub-menu li a{ font-weight: 300; padding: 7px 2px;}

.content{ margin-top: 84px; letter-spacing: .06em; color: #5a5a5a; font-weight: 400; font-size: 18px;}
.content p:first-child{ margin-top: 0;}
.content ul{ list-style: disc; margin: 15px 0 0 30px;}
.content ol{ margin: 15px 0 0 30px;}
.content img{ max-width: 100%; height: auto;}

.navigation{ padding: 0; text-align: center;}
.navigation ul{ list-style: none; margin: 0; padding: 0;}
.navigation li{ display: inline-block;}
.navigation li a, .navigation li span{ display: inline-block; padding: 6px 12px; text-decoration: none; color: #fff; background-color: #666; cursor: pointer;}
.navigation li a:hover, .navigation li span.current{ background-color: #333;}
.navigation li span.dots{ background: none; color: #666;}

.load-more-wrap{ text-align: center; margin-top: 30px;}
.load-more-btn{ padding: 12px 30px; cursor: pointer;}
.load-more-btn:disabled{ opacity: 0.6; cursor: default;}

.search-results .wrapper, .error404 .wrapper{ padding: 60px 0;}
.search-results .page-title, .error404 .page-title{ margin-bottom: 30px;}
.search-results article{ margin-top: 30px; padding-top: 30px; border-top: 1px solid #eee;}
.search-results article:first-child{ border-top: 0; padding-top: 0; margin-top: 0;}
.search-results .entry{ margin-top: 10px;}
.search-form{ display: flex; gap: 8px; margin-top: 20px;}
.search-input{ flex: 1; padding: 10px 14px; border: 1px solid #ccc; border-radius: 3px; font-size: 1rem;}
.search-submit{ padding: 10px 20px; cursor: pointer;}

.footer{ background-color: #474747; padding: 100px 0 60px; font-size: 13px; color: #dcd9c7; letter-spacing: .06em;}
.footer a{ text-decoration: none;}
.footer .footer-contact{ margin-bottom: 100px;}
.footer .footer-contact .container{ justify-content: space-between; align-items: flex-start; gap: 60px;}
.footer .logo{ max-width: 400px;}
.footer .footer-contact .column{ min-width: 200px;}
.footer .footer-contact .address{ margin-bottom: 15px;}
.footer .footer-contact .phone{ display: flex; gap: 20px; margin: 0;}
.footer .footer-contact .phone a{ color: #bc7140;}
.footer .footer-contact .button{ font-size: 13px; line-height: 13px; padding: 15px 30px; width: 100%; box-sizing: border-box; border: none; text-transform: uppercase; letter-spacing: .25em; background-color: #bc7140; color: #f3f2ec;}
.footer .footer-contact .button:hover{ background-color: #f3f2ec; color: #bc7140;}
.footer .footer-contact .social{ display: flex; align-items: center; margin: 15px 0 0;}
.footer .footer-contact .social li{ font-size: 24px; margin: 0 5px 0 0; display: flex; align-items: center;}
.footer .footer-contact .social a{ color: #bdbfbf;}
.footer .footer-contact .social a:hover{ color: #f3f2ec;}
.footer .footer-contact .social li span{ font-size: 13px; display: inline-block; margin-right: 3px;}

.footer .footer-navigation .wrapper{ display: flex; gap: 40px; justify-content: space-between; align-items: flex-start;}
.footer .footer-nav-col{ flex: 1;}
.footer .footer-nav-ctas{ border-right: 1px solid rgba(255,255,255,0.1); padding-right: 40px;}
.footer .footer-nav-heading{ font-family: "acumin-pro-semi-condensed", Helvetica, Arial, sans-serif; font-size: 13px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: #dcd9c7; margin-bottom: 12px;}
.footer .footer-nav-heading a{ color: #dcd9c7; text-decoration: none;}
.footer .footer-nav-heading a:hover{ color: #fff;}
.footer .footer-nav-col ul li{ margin-bottom: 8px;}
.footer .footer-nav-col ul li a{ font-family: "acumin-pro-semi-condensed", Helvetica, Arial, sans-serif; font-size: 13px; font-weight: 400; letter-spacing: 0.06em; text-transform: none; color: #dcd9c7; text-decoration: none;}
.footer .footer-nav-col:not(.footer-nav-ctas) ul li a{ color: #8c9091;}
.footer .footer-nav-col ul li a:hover{ color: #bc7140;}
.footer .footer-nav-heading--stacked{ margin-top: 24px;}
.footer .footer-nav-ctas .footer-nav-cta-heading{ font-family: "filson-soft", sans-serif; font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; color: #bc7140; margin-bottom: 8px; margin-top: 20px;}
.footer .footer-nav-ctas .footer-nav-cta-heading:first-child{ margin-top: 0;}
.footer .footer-nav-ctas .footer-badges{ display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 16px; margin-top: 30px;}
.footer .footer-nav-ctas .footer-badges img{ max-height: 80px; width: auto;}

.footer .sub-footer{ text-align: center; font-size: 11px; letter-spacing: .12em; color: #8c9091; margin-top: 80px;}
.footer .sub-footer p{ margin-top: 2px;}
.footer .sub-footer a{ color: #bc7140;}
.footer .sub-footer a:hover{ color: #f3f2ec;}
.footer .sub-footer .copyright{ text-transform: uppercase;}

.video-wrapper{ position: relative; padding-bottom: 56.25%; height: 0;}
.video-wrapper iframe{ position: absolute; top: 0; left: 0; width: 100%; height: 100%;}
/* Lity — Newsletter Lightbox */
.lity-overlay{ background: rgba(0,0,0,0.75);}
.lity-wrap{ padding: 40px 20px;}
.lity-content{ box-shadow: 0 20px 60px rgba(0,0,0,0.5);}
.lity-close{ width: 36px !important; height: 36px !important; line-height: 36px !important; font-size: 28px !important; color: #fff !important; text-shadow: none !important; opacity: 1 !important; position: absolute !important; top: -44px !important; right: 0 !important; font-family: inherit !important; background: transparent !important;}
.lity-close:hover{ color: #bc7140 !important;}

#newsletter{ background: #474747; padding: 50px 60px; max-width: 780px; box-sizing: border-box;}
#newsletter h2{ font-family: "filson-soft"; font-size: 42px; font-weight: 500; letter-spacing: .185em; text-transform: uppercase; color: #fff; line-height: 1.1; margin: 0 0 15px; text-align: center;}
#newsletter p{ font-size: 16px; line-height: 1.7; color: rgba(255,255,255,0.85); margin: 0 0 20px; text-align: center;}
#newsletter .gform_required_legend{ position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden;}
#newsletter .gform_wrapper{ max-width: none;}
#newsletter .gform_fields{ list-style: none; padding: 0; margin: 0;}
#newsletter .gfield{ margin-bottom: 10px; border: none; padding-left: 0;}
#newsletter .gfield_label{ display: block; font-size: 14px; margin-bottom: 4px; color: rgba(255,255,255,0.85); font-weight: 400;}
#newsletter .gfield_required{ color: #bc7140; margin-left: 3px;}
#newsletter .ginput_container input[type="text"],
#newsletter .ginput_container input[type="email"],
#newsletter .ginput_container input[type="tel"]{ width: 100%; padding: 6px 12px; border: 1px solid #ccc; background: #fff; font-size: 1rem; line-height: 1.5; color: #333; box-sizing: border-box; border-radius: 0; font-family: inherit;}
#newsletter .ginput_container select{ width: 100%; padding: 6px 32px 6px 12px; border: 1px solid #ced4da; background: #fff url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath fill='%23474747' d='M0 0l6 8 6-8z'/%3E%3C/svg%3E") right 10px center/12px 8px no-repeat; font-size: 1rem; line-height: 1.5; color: #495057; box-sizing: border-box; border-radius: 0; font-family: inherit; -webkit-appearance: none; -moz-appearance: none; appearance: none;}
#newsletter .gfield_description{ font-size: 13px; color: rgba(255,255,255,0.7); margin-top: 0; padding-top: 0; margin-bottom: 8px; font-style: italic;}
#newsletter .gform_footer,
#newsletter .gform_page_footer{ padding: 0; border: none; margin: 0;}
#newsletter .gform_button{ display: inline-block; padding: 10px 20px; background: #bc7140; border: none; color: #fff; font-size: 22px; font-family: "kessler", Georgia, Times, "Times New Roman", serif; letter-spacing: 0.185em; text-transform: uppercase; line-height: 1.4; width: 100%; text-align: center; cursor: pointer; border-radius: 0; margin: 20px 0 0; box-sizing: border-box;}
#newsletter .gform_button:hover{ opacity: 0.85;}
#newsletter .gfield_validation_message,
#newsletter .validation_message{ font-size: 12px; color: #CC9900; font-weight: bold; margin-top: 4px; letter-spacing: 0.04em;}
#newsletter .gform_validation_errors{ background: transparent; border: 1px solid #CC9900; padding: 15px; margin-bottom: 20px;}
#newsletter .gform_validation_errors h2{ font-size: 14px; color: #CC9900; margin: 0;}
#newsletter .gfield--has-validation-error input,
#newsletter .gfield--has-validation-error select{ border-color: #CC9900;}
#newsletter .gform_confirmation_message{ font-size: 16px; color: #fff; padding: 20px 0;}

.error404 .content{ padding: 60px 0 100px; text-align: center;}


/* Homepage */

.hero-mobile-below{ display: none;}
.home .hero{ background-size: cover; background-position: center center; display: flex; align-items: center; height: 700px; position: relative;}
.home .hero .hero-content{ width: 50%; color: #fff; font-size: 24px; line-height: 28px; text-shadow: 3px 3px 8px rgba(0,0,0,0.55);}
.home .hero h1{ font-size: 48px; color: #fff; letter-spacing: .18em; text-shadow: 3px 3px 8px rgba(0,0,0,0.55);}
.home .hero h1 span{ display: block;}
.home .hero .hero-practices{ display: flex; margin-top: 100px; position: relative; margin-left: 40px;}
.home .hero .hero-practices .practice-icon{ width: 80px; height: 25px; margin: 0 auto;}
.home .hero .hero-practices .practice-icon img{ display: block; max-width: 100%; max-height: 100%; width: auto; height: auto; margin: 0 auto;}
.home .hero .hero-practices .single-practice-wrap{ filter: drop-shadow(4px 5px 4px rgba(0,0,0,0.8)); transition: transform .2s ease;}
.home .hero .hero-practices .single-practice-wrap:hover{ transform: translateY(-6px);}
.home .hero .hero-practices .single-practice{ position: relative; text-align: center; width: 255px; text-align: center; color: #fff; font-family: "filson-soft"; box-sizing: border-box; padding: 50px 20px 20px; margin-right: 30px; clip-path: polygon(0 0, 37% 0, 50% 12%, 63% 0, 100% 0, 100% 100%, 0 100%);}
.home .hero .hero-practices .single-practice-wrap:nth-of-type(1) .single-practice{ background-color: #5e7e95;}
.home .hero .hero-practices .single-practice-wrap:nth-of-type(2) .single-practice{ background-color: #bc7140;}
.home .hero .hero-practices .single-practice-wrap:nth-of-type(3) .single-practice{ background-color: #474747; margin-right: 0;}
.home .hero .hero-practices .single-practice a.more{ display: block; margin: -50px -20px -20px; padding: 50px 20px 20px; color: #fff; text-decoration: none;}
.home .hero .hero-practices h2{ position: absolute; top: 50%; left: -40px; letter-spacing: .24em; color: #fff; transform: rotate(-90deg) translateX(-50%); transform-origin: top left; font-size: 24px; line-height: 24px; text-shadow: 2px 2px 8px rgba(0,0,0,0.8);}
.home .hero .hero-practices h3{ font-size: 16px; line-height: 24px; margin-top: 15px;text-transform: uppercase; font-weight: 600; text-transform: uppercase; letter-spacing: .24em;} 

.home .intro{ padding: 60px 0; text-align: center;}
.home .intro .wrapper{ max-width: 1100px;}
.home .intro h2{ color: #bc7140; font-size: 29px; letter-spacing: 0.185em;}
.home .intro .intro-stats{ display: grid; grid-template-columns: repeat(3,1fr); margin: 60px 0;}
.home .intro .intro-stats .single-stat{ padding: 30px 45px;}
.home .intro .intro-stats .single-stat:nth-of-type(even){ border-left: 1px solid #000; border-right: 1px solid #000;}
.home .intro .intro-stats .stat-value{ font-family: "filson-soft"; font-size: 50px; color: #5e7e95;}
.home .intro .intro-stats .stat-description{ font-family: "filson-soft"; font-size: 14px; font-weight: 400; letter-spacing: 0.240em; line-height: 42px; text-transform: uppercase;}

.home .solutions{ display: flex; flex-wrap: wrap; text-align: center;}
.home .solutions a{ color: #fff; text-decoration: none;} 
.home .solutions img{ margin: 0 auto 20px; height: 30px; width: auto; display: block; transition: transform .2s ease;}
.home .solutions .single-solution:hover img{ transform: translateY(-6px);}
.home .solutions .single-solution{ width: 50%; display: flex; justify-content: center; align-items: flex-start; box-sizing: border-box; font-size: 14px;}
.home .solutions .single-solution.featured{ width: 100%; background-color: #5e7e95; border-bottom: 10px solid #f3f2ec; padding: 120px 0 120px; clip-path: polygon(0 0, 46% 0, 50% 6%, 54% 0, 100% 0, 100% 100%, 0 100%);}
.home .solutions .single-solution.featured h2, .home .solutions .single-solution.featured p{ max-width: 800px;}
.home .solutions .single-solution:nth-of-type(2){ background-color: #bc7140; border-right: 5px solid #f3f2ec; padding: 80px 120px;}
.home .solutions .single-solution:nth-of-type(3){ background-color: #474747; border-left: 5px solid #f3f2ec; padding: 80px 120px;}
.home .solutions .single-solution h2{ font-size: 18px; font-weight: 400; letter-spacing: 0.240em; line-height: 24px; text-transform: uppercase; margin: 0 0 20px; font-family: "filson-soft", sans-serif;}
.home .solutions .single-solution .more{ color: #fff; font-size: 14px; font-family: "filson-soft", sans-serif; letter-spacing: 0.2em; text-transform: uppercase; margin-top: 30px; display: inline-block;}

.home .industries{ padding-bottom: 100px; margin-top: 10px;}
.home .industries .wrapper{ text-align: center; max-width: 1100px;}
.home .industries h2{ background-color: #fff; text-align: center; padding: 25px 0 20px; margin: 0 0 60px; text-transform: lowercase; color: #bc7140; font-family: "Kessler", sans-serif; font-size: 61px; letter-spacing: 0.185em; line-height: 74px;}
.home .industries .industries-grid{ display: flex; flex-wrap: wrap; justify-content: center; gap: 30px; margin-top: 60px;}
.home .industries .single-industry{ width: calc(25% - 23px);}
.home .industries .single-industry img{ max-width: 100px; display: block; margin: 0 auto 15px; transition: transform .2s ease;}
.home .industries .single-industry:hover img{ transform: scale(1.05);}
.home .industries .single-industry h3{ margin: 0 0 10px; font-family: "filson-soft", sans-serif; font-size: 14px; text-transform: uppercase; letter-spacing: 0.2em; line-height: 17px;}
.home .industries .single-industry .more{ font-size: 12px; text-decoration: none; text-transform: uppercase;}
.home .industries .single-industry:nth-of-type(odd) h3, .home .industries .single-industry:nth-of-type(odd) .more{ color: #bc7140;}
.home .industries .single-industry:nth-of-type(even) h3, .home .industries .single-industry:nth-of-type(even) .more{ color: #5e7e95;}
.home .industries .button{ margin-top: 50px;}

.home .clients{ text-align: center; margin-bottom: 60px;}
.home .clients .wrapper{ max-width: 900px;}
.home .clients h2{ color: #5e7e95; font-family: "filson-soft", sans-serif; font-size: 28px; letter-spacing: 0.240em; text-transform: uppercase;}
.home .clients .client-grid{ display: grid; grid-template-columns: repeat(4,1fr); gap: 60px; margin: 60px 0;}
.home .clients .client-grid .single-client{ display: flex; align-items: center; justify-content: center;}
.home .clients .client-grid .single-client img{ max-width: 150px; max-height: 50px;}

.home .video .video-wrap{ position: relative; height: 600px; overflow: hidden; text-align: center;}
.home .video .video-wrap video{ position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;}
.home .video .video-overlay{ position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 20px;}
.home .video .video-headline{ font-family: 'Egyptienne'; color: #f3f2ec; text-decoration: underline;}
.home .video .video-play{ background: none; border: none; color: #fff; font-size: 100px; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: transform .2s ease;}
.home .video .video-trigger:hover .video-play{ transform: scale(1.1);}
.home .video a{ text-decoration: none;}
.home .video .video-trigger{ display: flex; align-items: center; gap: 15px; text-decoration: none; flex-direction: column;}


/* Interior Hero */

body:not(.home) .hero{ background-size: cover; background-position: center center; display: flex; align-items: flex-end; justify-content: center; min-height: 500px; position: relative; padding-bottom: 60px;}
body:not(.home) .hero .hero-content{ text-align: center; color: #fff; position: relative; z-index: 1;}
body:not(.home) .hero h1{ font-family: "kessler", Georgia, Times, "Times New Roman", serif; font-size: 85px; font-weight: 500; letter-spacing: .185em; text-transform: lowercase; color: #fff; text-shadow: 2px 2px 8px rgba(0,0,0,0.55); line-height: 1.1;}
body:not(.home) .hero .hero-intro{ font-size: 22px; line-height: 32px; margin: 20px auto 0; max-width: 800px; text-shadow: 1px 1px 4px rgba(0,0,0,0.55);}
body:not(.home) .hero .button{ margin-top: 40px; padding: 16px 50px; background: transparent; color: #f3f2ec; border-color: #f3f2ec;}
body:not(.home) .hero .button:hover{ background-color: #bc7140; border-color: #bc7140; color: #fff;}
body:not(.home) .hero::after{ content: ""; position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(0,0,0,0.1) 0%, rgba(0,0,0,0.45) 100%);}


/* Common Inside Sections */

.content .case-studies{ padding: 80px 0;}
.content .case-studies h2{ background-color: #fff; text-align: center; padding: 25px 0 20px; margin: 0; text-transform: lowercase; color: #bc7140; font-family: "Kessler", sans-serif; font-size: 61px; letter-spacing: 0.185em; line-height: 74px; margin-bottom: 60px;}
.content .case-studies-grid{ display: flex;}
.content .case-study-item{ flex: 1; padding: 40px 60px; border-left: 1px solid #474630;}
.content .case-study-item:first-child{ border-left: none; padding-left: 0;}
.content .case-study-item:last-child{ padding-right: 0;}
.content .case-study-header{ display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; margin-bottom: 20px;}
.content .case-study-title h3{ margin: 0 0 6px;}
.content .case-study-title h3 a{ font-family: "filson-soft", sans-serif; font-size: 21px; text-decoration: none; font-weight: 500; letter-spacing: .18em; text-transform: uppercase; color: #5e7e95;}
.content .case-study-sub{ font-family: "filson-soft", sans-serif; font-size: 13px; letter-spacing: .12em; text-transform: uppercase; color: #5e7e95; margin: 0;}
.content .case-study-logo{ flex-shrink: 0; max-width: 140px;}
.content .case-study-logo img{ max-height: 50px; width: auto;}
.content .case-study-blurb{ font-size: 16px; line-height: 1.7; color: #5a5a5a; margin-top: 0;}
.content .case-study-link{ display: inline-block; margin-top: 24px; font-family: "filson-soft", sans-serif; font-size: 13px; font-weight: 400; letter-spacing: .18em; text-transform: uppercase; color: #bc7140; text-decoration: none;}
.content .case-study-link:hover{ color: #5e7e95;}

.content .testimonials{ text-align: center; padding-bottom: 80px;}
.content .testimonials .wrapper{ max-width: 1100px;}
.content .testimonials h2{ background-color: #fff; padding: 25px 0 20px; margin: 0 0 60px; text-transform: lowercase; color: #bc7140; font-family: "Kessler", sans-serif; font-size: 61px; letter-spacing: 0.185em; line-height: 74px;}
.content .testimonials .testimonial-carousel{ border-top: 1px solid #000; border-bottom: 1px solid #000; padding: 45px 0; text-align: left;}
.content .testimonials .single-testimonial{ display: flex; justify-content: space-between;}
.content .testimonials .single-testimonial .testimonial-logo{ width: 25%;}
.content .testimonials .single-testimonial .testimonial-content{ width: 65%;}
.content .testimonials .single-testimonial blockquote{ font-family: "Egyptienne", serif; font-size: 19px; color: #474630; letter-spacing: 0.140em; line-height: 40px;}
.content .testimonials .single-testimonial blockquote p:before{ content: "\201C";}
.content .testimonials .single-testimonial blockquote p:after{ content: "\201D";}
.content .testimonials .single-testimonial .testimonial-source{ margin-top: 60px;font-family: "filson-soft", sans-serif; font-size: 14px; font-weight: 400; letter-spacing: 0.24em; color: #bc7140; text-transform: uppercase;}
.content .testimonials .single-testimonial .testimonial-source:before{ content: "- ";}
.content .testimonials .single-testimonial{ display: flex; justify-content: space-between;}
.content .testimonials .testimonial-carousel .slick-slide{ height: auto;}
.content .testimonials .slick-next::before, .content .testimonials .slick-prev::before{ color: #474630; font-size: 30px;}
.content .testimonials .slick-prev{ left: -50px;}
.content .testimonials .slick-next{ right: -50px;}
.content .testimonials .slick-dots{ text-align: left; margin: 0; bottom: 45px;}
.content .testimonials .slick-dots li button::before{ font-size: 15px;}
.content .testimonials .slick-dots li:only-child{ display: none;}
.content .testimonials .button{ margin-top: 40px;}

.content .cta{ background-color: #bc7140; padding: 80px 0; text-align: center; color: #f3f2ec;}
.content .cta h2{ font-size: 45px; letter-spacing: 0.185em; margin: 0 0 30px; font-family: "Kessler", sans-serif; text-align: center; text-transform: lowercase;}
.content .cta .wrapper{ max-width: 1100px;}
.content .cta .button{ color: #f3f2ec; border: 2px solid #f3f2ec; margin-top: 40px;}
.content .cta .button:hover{ background-color: #f3f2ec; color: #5e7e95;}


/* Practices Page */

.solutions-main .practices h2{ background-color: #fff; text-align: center; padding: 25px 0 20px; margin: 0; text-transform: lowercase; color: #bc7140; font-family: "Kessler", sans-serif; font-size: 61px; letter-spacing: 0.185em; line-height: 74px;}
.solutions-main .practices .single-practice{ display: flex; min-height: 400px; margin-bottom: 8px;}
.solutions-main .practices .practice-visual{ flex: 0 0 41.666%; background-position: center; background-size: cover; position: relative;}
.solutions-main .practices .screen-reader{ position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden;}
.solutions-main .practices .practice-content{ flex: 1; position: relative; display: flex; justify-content: center; align-items: center; background: #474747; transition: background .3s; padding: 40px 60px; text-decoration: none;}
.solutions-main .practices .practice-content::before{ content: ''; position: absolute; left: -30px; top: 50%; transform: translateY(-50%); width: 0; height: 0; border-top: 40px solid transparent; border-bottom: 40px solid transparent; border-right: 30px solid #474747; transition: border-right-color .3s; z-index: 1;}
.solutions-main .practices .single-practice:hover .practice-content{ background: #bc7140;}
.solutions-main .practices .single-practice:hover .practice-content::before{ border-right-color: #bc7140;}
.solutions-main .practices .practice-content-wrap{ color: #fff; max-width: 700px; font-size: 14px; letter-spacing: 0.08em; line-height: 1.7;}
.solutions-main .practices .practice-content h3{ font-family: "filson-soft", sans-serif; font-size: 18px; font-weight: 400; letter-spacing: 0.240em; text-transform: uppercase; color: #fff; margin: 0 0 20px;}
.solutions-main .practices .practice-content p{ margin-bottom: 20px; font-weight: 300; color: #fff;}
.solutions-main .practices .practice-content .more{ font-family: "filson-soft", sans-serif; font-size: 13px; font-weight: 500; letter-spacing: 0.240em; text-transform: uppercase; color: #bc7140; text-decoration: none; transition: color .15s;}
.solutions-main .practices .single-practice:hover .practice-content .more{ color: #fff;}

.solutions-main .partnership{ padding: 80px 0;}
.solutions-main .partnership .wrapper{ display: flex; align-items: flex-start; max-width: 1100px;}
.solutions-main .partnership-stat-box{ flex: 0 0 50%; background: #bc7140; color: #f3f2ec; padding: 80px 60px 50px; clip-path: polygon(0 0, calc(50% - 50px) 0, 50% 40px, calc(50% + 50px) 0, 100% 0, 100% 100%, 0 100%); text-align: center; min-height: 500px; transition: background .3s;display: flex; flex-direction: column; justify-content: center;}
.solutions-main .partnership-stat-box.stat-blue{ background: #5e7e95;}
.solutions-main .partnership-stat-box #partnership-stat-value{ display: block; font-size: 62px; font-weight: 400; font-family: "filson-soft", sans-serif; line-height: 1; margin-bottom: 40px; transition: opacity 0.2s ease;}
.solutions-main .partnership-stat-box #partnership-stat-desc{ font-family: "filson-soft", sans-serif; font-size: 18px; font-weight: 400; letter-spacing: 0.240em; line-height: 42px; text-transform: uppercase; margin: 0; transition: opacity 0.2s ease;}
.solutions-main .partnership-accordion{ flex: 1; padding-left: 60px;}
.solutions-main .partnership-accordion h2{ font-family: "filson-soft", sans-serif; font-size: 29px; font-weight: 400; letter-spacing: 0.240em; text-transform: uppercase; color: #5e7e95; margin: 0 0 40px; line-height: 1.3;}
.solutions-main .accordion-header{ width: 100%; background: none; border: none; text-align: left; padding: 10px 0; font-size: 18px; font-family: "filson-soft", sans-serif; font-weight: 400; letter-spacing: 0.240em; text-transform: uppercase; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 16px; color: #bc7140; line-height: 42px;}
.solutions-main .accordion-label{ padding-bottom: 10px; border-bottom: 1px solid #474630; transition: border-color .3s; flex: 1;}
.solutions-main .accordion-item.is-active .accordion-label{ border-bottom-color: transparent;}
.solutions-main .accordion-icon{ display: inline-block; width: 10px; height: 10px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); transition: transform 0.25s ease; flex-shrink: 0; margin-bottom: 3px;}
.solutions-main .accordion-item.is-active .accordion-icon{ transform: rotate(-135deg); margin-bottom: -3px;}
.solutions-main .accordion-body{ padding: 0 0 20px; font-size: 14px; line-height: 1.8; color: #5a5a5a; font-weight: 400;}
.solutions-main .accordion-body p:last-child{ margin-bottom: 0;}


/* Industries */

.industries-main .industries{ padding: 100px 0;}
.industries-main .industries .wrapper{ max-width: 1100px; margin: 0 auto; text-align: center;}
.industries-main .industries .industries-intro p{ font-size: 16px; line-height: 1.9; color: #5a5a5a; max-width: 720px; margin: 0 auto 50px;}
.industries-main .industries-grid{ display: flex; flex-wrap: wrap; justify-content: center; gap: 30px;}
.industries-main .single-industry{ width: calc(25% - 23px); text-align: center;}
.industries-main .single-industry .industry-icon img{ max-width: 100px; display: block; margin: 0 auto 15px; transition: transform .2s ease;}
.industries-main .single-industry:hover .industry-icon img{ transform: scale(1.05);}
.industries-main .single-industry h3{ font-family: "filson-soft", sans-serif; font-size: 14px; font-weight: 400; letter-spacing: 0.2em; text-transform: uppercase; line-height: 17px; margin: 0 0 10px;}
.industries-main .single-industry p{ font-size: 13px; line-height: 1.5; color: #5a5a5a; margin: 0 0 10px;}
.industries-main .single-industry .more{ font-family: "filson-soft", sans-serif; font-size: 12px; font-weight: 500; letter-spacing: 0.2em; text-transform: uppercase; text-decoration: none; display: inline-block;}
.industries-main .single-industry:nth-of-type(odd) h3, .industries-main .single-industry:nth-of-type(odd) .more{ color: #bc7140;}
.industries-main .single-industry:nth-of-type(even) h3, .industries-main .single-industry:nth-of-type(even) .more{ color: #5e7e95;}
.industries-main .process{ background: #c8d5db;}
.industries-main .process > h2{ background-color: #fff; text-align: center; padding: 25px 0 20px; margin: 0 0 60px; text-transform: lowercase; color: #bc7140; font-family: "kessler", Georgia, Times, "Times New Roman", serif; font-size: 61px; letter-spacing: 0.185em; line-height: 74px;}
.industries-main .process .wrapper{ max-width: 1100px; margin: 0 auto; padding: 0 20px 80px;}
.industries-main .process .process-intro{ text-align: center; max-width: 650px; margin: 0 auto 70px;}
.industries-main .process .process-intro p{ font-size: 16px; line-height: 2; color: #474747; margin: 0;}
.industries-main .process-grid{ display: flex; gap: 20px; align-items: flex-start;}
.industries-main .process-plan{ flex: 2; display: flex; flex-wrap: wrap; justify-content: center; gap: 0 20px; align-items: flex-start;}
.industries-main .process-plan h3{ flex: 0 0 100%;}
.industries-main .process-execute, .industries-main .process-deliver{ flex: 1; position: relative; display: flex; flex-direction: column; align-items: center;}
.industries-main .process-plan h3, .industries-main .process-execute h3, .industries-main .process-deliver h3{ font-family: "filson-soft", sans-serif; font-size: 14px; font-weight: 500; letter-spacing: 0.3em; text-transform: uppercase; color: #5e7e95; text-align: center; margin: 0 0 25px; padding-bottom: 15px; border-bottom: 1px solid rgba(255,255,255,0.8); position: relative;}
.industries-main .process-execute h3, .industries-main .process-deliver h3{ width: 100%;}
.industries-main .process-plan h3::before, .industries-main .process-execute h3::before, .industries-main .process-deliver h3::before{ content: ''; position: absolute; left: 0; bottom: -15px; width: 1px; height: 15px; background: rgba(255,255,255,0.8);}
.industries-main .process-plan h3::after, .industries-main .process-execute h3::after, .industries-main .process-deliver h3::after{ content: ''; position: absolute; right: 0; bottom: -15px; width: 1px; height: 15px; background: rgba(255,255,255,0.8);}
.industries-main .process-execute::before{ content: ''; position: absolute; left: -17px; top: 198px; transform: translateY(-50%); width: 0; height: 0; border-style: solid; border-width: 14px 0 14px 17px; border-color: transparent transparent transparent rgba(94,126,149,0.65); z-index: 1;}
.industries-main .process-deliver::before{ content: ''; position: absolute; left: -18px; top: 198px; transform: translateY(-50%); width: 0; height: 0; border-style: solid; border-width: 14px 0 14px 17px; border-color: transparent transparent transparent rgba(94,126,149,0.65); z-index: 1;}
.industries-main .single-step{ width: 240px; height: 240px; border-radius: 50%; flex-shrink: 0; display: flex; align-items: center; justify-content: center; padding: 35px; margin: 20px auto 0; background: rgba(255,255,255,0.45); font-family: "filson-soft", sans-serif; font-size: 14px; font-weight: 400; line-height: 1.5; text-align: center; overflow: hidden;}
.industries-main .single-step p{ margin: 0; font-size: 14px; line-height: 1.5;}
.industries-main .process-plan .single-step:nth-child(2){ color: #5e7e95;}
.industries-main .process-plan .single-step:nth-child(3){ color: #bc7140;}
.industries-main .process-execute .single-step{ color: #5e7e95;}
.industries-main .process-deliver .single-step{ color: #bc7140;}
.industries-main .fwimg{ background-size: cover; background-position: center; min-height: 500px; position: relative;}
.industries-main .fwimg .screen-reader{ position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden;}
.industries-main .case-studies{ padding-top: 0;}


/* Single Industry Page  */

body .industry-single .hero h1{ font-size: 45px;}
body:not(.home) .industry-single .hero{ min-height: 400px;}
.industry-single .intro{ background: #f3f2ec; padding: 100px 20px;}
.industry-single .intro .wrapper{ max-width: 1060px; margin: 0 auto; border: 1px solid #474630; padding: 100px 80px 60px; position: relative; text-align: center;}
.industry-single .intro .intro-icon{ position: absolute; top: 0; left: 50%; transform: translate(-50%, -50%); width: 130px; background: #f3f2ec; padding: 0 20px;}
.industry-single .intro .intro-icon img{ display: block; width: 100%; height: auto;}
.industry-single .intro h2{ font-family: "filson-soft", sans-serif; font-size: 19px; font-weight: 600; letter-spacing: 0.3em; text-transform: uppercase; color: #bc7140; margin: 0 0 25px;}
.industry-single .intro p{ font-size: 17px; line-height: 1.9; color: #474747; margin: 0 0 30px;}
.industry-single .intro .button{ margin-top: 10px;}
.industry-single .ind-experience{ margin: 60px 0;}
.industry-single .experience-header{ font-family: "kessler", Georgia, Times, "Times New Roman", serif; font-size: 61px; letter-spacing: 0.185em; line-height: 74px; text-transform: lowercase; color: #bc7140; text-align: center; background: #fff; padding: 25px 0 20px; margin: 0 0 40px;}
.industry-single .experience-body{ display: flex; min-height: 450px;}
.industry-single .experience-photo{ flex: 0 0 40%; background-size: cover; background-position: center;}
.industry-single .experience-content{ flex: 1; background: #ced8df; padding: 80px; position: relative;}
.industry-single .experience-content::before{ content: ''; position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: 0; height: 0; border-left: 50px solid transparent; border-right: 50px solid transparent; border-top: 30px solid #f3f2ec;}
.industry-single .experience-icon{ display: block; margin: 0 auto 20px; height: 60px; width: auto;}
.industry-single .experience-case{ overflow: hidden; margin-bottom: 25px;}
.industry-single .experience-case-logo{ float: right; margin-left: 20px;}
.industry-single .experience-case-logo img{ max-height: 50px; width: auto;}
.industry-single .experience-case h3 a{ font-family: "filson-soft", sans-serif; font-size: 18px; font-weight: 400; letter-spacing: 0.24em; text-transform: uppercase; color: #5e7e95; text-decoration: none;}
.industry-single .experience-case h3 a:hover{ color: #bc7140;}
.industry-single .experience-case-subtitle{ font-family: "filson-soft", sans-serif; font-size: 10px; font-weight: 400; letter-spacing: 0.24em; text-transform: uppercase; color: #5e7e95; margin-top: 6px;}
.industry-single .experience-content p{ font-size: 14px; line-height: 1.8; color: #474747; margin-bottom: 25px;}
.industry-single .experience-link{ font-family: "filson-soft", sans-serif; font-size: 14px; font-weight: 400; letter-spacing: 0.24em; text-transform: uppercase; color: #bc7140; text-decoration: none; transition: opacity .15s;}
.industry-single .experience-link:hover{ opacity: 0.7;}


/* About Page */

.about-main .about-intro{ padding: 80px 0;}
.about-main .about-intro .wrapper{ max-width: 1100px; margin: 0 auto; padding: 0 20px;}
.about-main .about-intro-inner{ display: flex; align-items: center; gap: 60px;}
.about-main .about-intro-text{ flex: 0 0 40%;}
.about-main .about-intro-text p{ font-size: 17px; line-height: 1.9; color: #474747; margin: 0 0 35px;}
.about-main .about-intro-video{ flex: 1; position: relative;}
.about-main .about-intro-video img{ display: block; width: 100%; height: auto;}
.about-main .depth{ display: flex; gap: 20px; margin-bottom: 20px;}
.about-main .depth-item{ flex: 1; padding: 70px 40px; text-align: center; display: flex; flex-direction: column; align-items: center;}
.about-main .depth-blue{ background: #5e7e95; color: #fff;}
.about-main .depth-orange{ background: #bc7140; color: #fff;}
.about-main .depth-item img{ max-height: 40px; width: auto; margin-bottom: 25px;}
.about-main .depth-item h2{ font-family: "kessler", Georgia, Times, "Times New Roman", serif; font-size: 26px; letter-spacing: 0.185em; line-height: 1.1; color: #fff; margin: 0 0 20px;}
.about-main .depth-item p{ font-size: 16px; line-height: 1.5; color: rgba(255,255,255,0.9); margin: 0; max-width: 540px;}
.about-main .values{ padding: 80px 0; background: #474747;}
.about-main .values .wrapper{ max-width: 960px; margin: 0 auto; padding: 0 20px;}
.about-main .values-header{ text-align: center; margin-bottom: 60px;}
.about-main .values-header img{ max-height: 45px; width: auto; display: block; margin: 0 auto 15px;}
.about-main .values-header h2{ font-family: "kessler", Georgia, Times, "Times New Roman", serif; font-size: 26px; letter-spacing: 0.185em; line-height: 1.1; color: #fff; margin: 0 0 20px;}
.about-main .values-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 10px 80px;}
.about-main .single-value{ display: flex; align-items: center; gap: 20px; padding: 10px 0;}
.about-main .single-value img{ width: 36px; flex-shrink: 0;}
.about-main .single-value h4{ font-family: "filson-soft", sans-serif; font-size: 15px; font-weight: 500; color: #fff; margin: 0; line-height: 1.2; text-transform: uppercase; letter-spacing: 0.1em;}
.about-main .giving{ background: #474747;}
.about-main .giving > h2{ background: #fff; text-align: center; padding: 25px 0 20px; margin: 0; text-transform: lowercase; color: #bc7140; font-family: "kessler", Georgia, Times, "Times New Roman", serif; font-size: 61px; letter-spacing: 0.185em; line-height: 74px; position: relative;}
.about-main .giving > h2::after{ content: ''; position: absolute; bottom: -22px; left: 75%; transform: translateX(-50%); width: 0; height: 0; border-left: 35px solid transparent; border-right: 35px solid transparent; border-top: 22px solid #fff; z-index: 1;}
.about-main .giving-grid{ display: flex; min-height: 440px;}
.about-main .giving-image{ flex: 1; position: relative;}
.about-main .giving-photo{ position: absolute; inset: 0; background-size: cover; background-position: center;}
.about-main .giving-content{ flex: 1; display: flex; align-items: center; justify-content: center;}
.about-main .giving-content-inner{ padding: 60px; max-width: 500px; text-align: center;}
.about-main .giving-content-inner h3{ font-family: "kessler", Georgia, Times, "Times New Roman", serif; font-size: 26px; letter-spacing: 0.185em; line-height: 1.1; color: #fff; margin: 0 0 20px;}
.about-main .giving-content-inner p{ font-size: 16px; line-height: 1.8; color: rgba(255,255,255,0.9); margin: 0 0 30px;}
.about-main .giving-link{ font-family: "filson-soft", sans-serif; font-size: 13px; font-weight: 500; letter-spacing: 0.3em; text-transform: uppercase; color: #bc7140; text-decoration: none; transition: color .15s;}
.about-main .giving-link:hover{ color: #fff;}
.about-main .screen-reader{ position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden;}


/* Giving Back */

.giving-back-main .gb-intro{ background: #f3f2ec; padding: 70px 20px; text-align: center;}
.giving-back-main .gb-intro .wrapper{ max-width: 820px; margin: 0 auto;}
.giving-back-main .gb-intro h2{ font-family: "kessler", Georgia, Times, "Times New Roman", serif; font-size: 30px; letter-spacing: 0.12em; line-height: 1.2; color: #bc7140; margin: 0 0 25px;}
.giving-back-main .gb-intro .gb-intro-content p{ font-size: 17px; line-height: 1.9; color: #474747; margin: 0;}
.giving-back-main .gb-list{ padding: 0;}
.giving-back-main .gb-item{ display: flex; align-items: stretch; border-bottom: 1px solid #bbb;}
.giving-back-main .gb-item:last-child{ border-bottom: none;}
.giving-back-main .gb-item-logo{ flex: 0 0 33%; background: #fff; display: flex; align-items: center; justify-content: center; padding: 50px 40px;}
.giving-back-main .gb-item-logo img{ max-width: 280px; max-height: 200px; width: auto; height: auto;}
.giving-back-main .gb-item-content{ flex: 1; background: #474747; padding: 50px;}
.giving-back-main .gb-item-content h3{ font-family: "filson-soft", sans-serif; font-size: 18px; font-weight: 400; letter-spacing: 0.24em; text-transform: uppercase; color: #bc7140; margin: 0 0 30px;}
.giving-back-main .gb-item-content .gb-item-text p{ font-size: 15px; font-weight: 300; line-height: 1.85; letter-spacing: 0.08em; color: #f3f2ec; margin: 0 0 20px;}
.giving-back-main .gb-item-content .gb-item-text p:last-child{ margin-bottom: 0;}
.giving-back-main .gb-link{ font-family: "filson-soft", sans-serif; font-size: 14px; font-weight: 400; letter-spacing: 0.24em; text-transform: uppercase; color: #5e7e95; text-decoration: none; display: inline-block; margin-top: 25px; transition: opacity .15s;}
.giving-back-main .gb-link:hover{ opacity: 0.7;}


/* Our Clients  */

.clients-main .clients-intro{ padding: 60px 20px; text-align: center;}
.clients-main .clients-intro .wrapper{ max-width: 900px; margin: 0 auto;}
.clients-main .clients-intro h2{ font-family: "kessler", Georgia, Times, "Times New Roman", serif; font-size: 29px; letter-spacing: 0.185em; line-height: 1.3; text-transform: lowercase; color: #bc7140; margin: 0 0 20px;}
.clients-main .clients-intro .clients-intro-content p{ font-size: 16px; line-height: 1.9; color: #474747; text-align: center; margin: 0;}
.clients-main .client-logos{ padding: 40px 20px 60px;}
.clients-main .client-logos .wrapper{ max-width: 1060px; margin: 0 auto;}
.clients-main .client-logos-inner{ display: flex; align-items: flex-start; gap: 0;}
.clients-main .client-logos-label{ flex: 0 0 33%; padding-right: 40px;}
.clients-main .client-logos-label h3{ font-family: "filson-soft", sans-serif; font-size: 26px; font-weight: 500; letter-spacing: 0.24em; text-transform: uppercase; color: #5e7e95; margin: 0; line-height: 1.3;}
.clients-main .client-logos-grid{ flex: 1; border-left: 1px solid #474630; padding-left: 50px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px 30px; align-items: center; justify-items: center;}
.clients-main .client-logo-item{ display: flex; align-items: center; justify-content: center;}
.clients-main .client-logo-item img{ max-height: 50px; max-width: 130px; width: auto; height: auto; filter: grayscale(100%); opacity: 0.75; transition: opacity .2s, filter .2s;}
.clients-main .client-logo-item img:hover{ filter: grayscale(0%); opacity: 1;}
.clients-main .case-studies-header{ font-family: "kessler", Georgia, Times, "Times New Roman", serif; font-size: 61px; letter-spacing: 0.185em; line-height: 74px; text-transform: lowercase; color: #bc7140; text-align: center; background: #fff; padding: 25px 0 20px; margin: 60px 0 0;}
.clients-main .case-studies{ padding: 50px 20px 60px;}
.clients-main .case-studies .wrapper{ max-width: 1060px; margin: 0 auto;}
.clients-main .cases-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 0;}
.clients-main .case-item{ padding: 30px 0; border-bottom: 1px solid rgba(0,0,0,0.1);}
.clients-main .cases-grid .case-item:nth-child(odd){ padding-right: 50px; border-right: 1px solid #474630;}
.clients-main .cases-grid .case-item:nth-child(even){ padding-left: 50px;}
.clients-main .cases-grid .case-item:nth-last-child(-n+2):nth-child(odd),
.clients-main .cases-grid .case-item:nth-last-child(-n+2):nth-child(odd) ~ .case-item{ border-bottom: none;}
.clients-main .case-item-header{ display: flex; align-items: flex-start; gap: 20px; margin-bottom: 20px;}
.clients-main .case-item-title{ flex: 1;}
.clients-main .case-item-title h3 a{ font-family: "filson-soft", sans-serif; font-size: 18px; font-weight: 400; letter-spacing: 0.24em; text-transform: uppercase; color: #5e7e95; text-decoration: none;}
.clients-main .case-item-title h3 a:hover{ color: #bc7140;}
.clients-main .case-subtitle{ font-family: "filson-soft", sans-serif; font-size: 10px; font-weight: 400; letter-spacing: 0.24em; text-transform: uppercase; color: #5e7e95; margin-top: 6px;}
.clients-main .case-item-logo{ flex: 0 0 auto;}
.clients-main .case-item-logo img{ max-height: 50px; max-width: 120px; width: auto; height: auto;}
.clients-main .case-item p{ font-size: 14px; line-height: 1.8; color: #474747; margin: 0 0 20px;}
.clients-main .case-link{ font-family: "filson-soft", sans-serif; font-size: 14px; font-weight: 400; letter-spacing: 0.24em; text-transform: uppercase; color: #bc7140; text-decoration: none; transition: opacity .15s;}
.clients-main .case-link:hover{ opacity: 0.7;}


/* OPEN POSITIONS */

.open-positions-main .op-intro{ padding: 50px 20px 40px; text-align: center;}
.open-positions-main .op-intro h2{ font-family: "kessler", Georgia, Times, "Times New Roman", serif; font-size: 29px; letter-spacing: 0.185em; line-height: 35px; text-transform: lowercase; color: #bc7140; margin: 0 0 20px; text-align: center;}
.open-positions-main .op-intro-content{ font-size: 15px; line-height: 1.85; letter-spacing: 0.08em; color: #474747; text-align: center;}
.open-positions-main .op-intro-content p{ margin: 0;}
.open-positions-main .op-positions{ background: #f3f2ec; padding: 40px 0;}
.open-positions-main .op-positions-inner{ display: flex; align-items: flex-start; gap: 0; line-height: 34px; font-size: 17px; letter-spacing: 0.08em; color: #474747;}
.open-positions-main .op-positions-left{ flex: 0 0 33%; padding: 0 35px; font-weight: 200;}
.open-positions-main .op-positions-left h2{ font-family: "kessler", Georgia, Times, "Times New Roman", serif; font-size: 45px; line-height: 54px; letter-spacing: 0.185em; color: #bc7140; text-transform: lowercase; margin: 0 0 30px;}
.open-positions-main .op-positions-intro{ font-size: 17px; font-weight: 200; line-height: 34px; letter-spacing: 0.08em;}
.open-positions-main .op-positions-left .button{ display: inline-block; padding: 10px; color: #f3f2ec; background: #5e7e95; font-size: 18px; font-family: "filson-soft", Helvetica, Arial, sans-serif; letter-spacing: 0.240em; text-transform: uppercase; margin: 40px 0 0; line-height: 24px; width: 255px; text-align: center; border: none;}
.open-positions-main .op-positions-left .button:hover{ opacity: 0.8;}
.open-positions-main .op-positions-right{ flex: 1; padding-left: 40px; border-left: 1px solid #999;}
.open-positions-main .op-position{ margin: 0 0 40px;}
.open-positions-main .op-position h4{ margin: 0 0 5px; color: #5e7e95; font-size: 16px; text-transform: uppercase; letter-spacing: 0.120em; font-family: "filson-soft", Helvetica, Arial, sans-serif;}
.open-positions-main .op-position-description{ font-size: 15px; line-height: 22px; letter-spacing: 0.080em;}
.open-positions-main .op-position-description p{ margin: 0 0 5px;}
.open-positions-main .op-position-email{ color: #bc7140; font-size: 14px; letter-spacing: 0.08em; text-decoration: none; display: inline-block; margin-top: 5px;}
.open-positions-main .op-position-email:hover{ opacity: 0.8;}
.open-positions-main .op-positions-none p{ font-size: 14px; line-height: 1.8; letter-spacing: 0.08em; color: #474747; margin-bottom: 40px;}
.open-positions-main .op-resume{ display: none; position: relative; padding: 40px 0; background: #ced5df; color: #474747;}
.open-positions-main .op-resume::after{ content: ''; position: absolute; left: 14%; top: 0; border-top: 28px solid #f3f2ec; border-left: 43px solid transparent; border-right: 43px solid transparent;}
.open-positions-main .op-resume-inner{ display: flex; align-items: flex-start; gap: 0;}
.open-positions-main .op-resume-left{ flex: 0 0 33%; padding: 0 35px; font-weight: 200; line-height: 34px; font-size: 17px; letter-spacing: 0.08em;}
.open-positions-main .op-resume-left h2{ font-family: "kessler", Georgia, Times, "Times New Roman", serif; font-size: 45px; line-height: 54px; letter-spacing: 0.185em; color: #fff; text-transform: lowercase; margin: 0 0 30px;}
.open-positions-main .op-resume-right{ flex: 1; padding-left: 40px; border-left: 1px solid #999; position: relative;}
.open-positions-main .op-req-text{ font-size: 10px; font-family: "filson-soft", Helvetica, Arial, sans-serif; letter-spacing: 0.240em; text-transform: uppercase; color: #bc7140; position: absolute; left: 40px; top: -30px;}
.open-positions-main .op-form-cols{ display: flex; gap: 40px; padding-top: 35px;}
.open-positions-main .op-form-col{ flex: 1;}
.open-positions-main .op-form-group{ margin-bottom: 15px;}
.open-positions-main .op-form-group label{ display: block; text-transform: uppercase; font-family: "filson-soft", Helvetica, Arial, sans-serif; font-size: 14px; letter-spacing: 0.240em; margin-bottom: 4px; color: #474747;}
.open-positions-main .op-form-group input[type="text"],
.open-positions-main .op-form-group input[type="email"],
.open-positions-main .op-form-group input[type="tel"],
.open-positions-main .op-form-group select{ width: 100%; padding: 8px 10px; border: 1px solid #ccc; background: #fff; font-size: 14px; letter-spacing: 0.04em; color: #474747; box-sizing: border-box;}
.open-positions-main .op-form-group input[type="file"]{ font-size: 13px;}
.open-positions-main .op-form-sub{ font-size: 13px; letter-spacing: 0.04em; margin: 5px 0 10px; line-height: 1.6; color: #474747;}
.open-positions-main .op-form-checks{ list-style: none; padding: 0; margin: 0 0 15px;}
.open-positions-main .op-form-checks li{ margin-bottom: 8px;}
.open-positions-main .op-form-checks label{ text-transform: none; font-family: inherit; font-size: 14px; letter-spacing: 0.04em; display: flex; align-items: flex-start; gap: 8px; cursor: pointer;}
.open-positions-main .op-form-checks input{ margin-top: 3px; flex-shrink: 0;}
.open-positions-main .op-form-sms label{ font-size: 12px; text-transform: none; font-family: inherit; letter-spacing: 0.04em;}
.open-positions-main .op-price-was{ text-decoration: line-through; opacity: 0.7;}
.open-positions-main .op-resume-submit{ display: inline-block; padding: 10px; background: #5e7e95; border: none; color: #f3f2ec; font-size: 18px; font-family: "filson-soft", Helvetica, Arial, sans-serif; letter-spacing: 0.240em; text-transform: uppercase; margin: 30px 0 15px; line-height: 24px; width: 255px; text-align: center; cursor: pointer;}
.open-positions-main .op-resume-submit:hover{ opacity: 0.8;}
.open-positions-main .op-form-cancel{ font-size: 10px; font-family: "filson-soft", Helvetica, Arial, sans-serif; letter-spacing: 0.240em; text-transform: uppercase; color: #bc7140; display: block; margin-top: 5px;}
.open-positions-main .op-form-msg{ font-size: 14px; margin-top: 10px;}
.open-positions-main .op-resume-conf{ display: none; padding: 50px; height: 100%; font-weight: 400; font-size: 15px; line-height: 18px; letter-spacing: 0.08em; border-left: 1px solid #999;}
.open-positions-main .op-resume-conf p{ margin-bottom: 40px;}
.open-positions-main .op-conf-top{ font-size: 17px; line-height: 34px;}
.open-positions-main .op-resume-conf .button{ display: inline-block; padding: 10px; border: 2px solid #f3f2ec; color: #f3f2ec; background: transparent; font-size: 18px; font-family: "filson-soft", Helvetica, Arial, sans-serif; letter-spacing: 0.240em; text-transform: uppercase; margin-top: 10px; line-height: 24px; width: 255px; text-align: center;}
.open-positions-main .op-package{ position: relative;}
.open-positions-main .op-package-inner{ display: flex; min-height: 400px;}
.open-positions-main .op-package-cta{ position: relative; flex: 0 0 33%; padding: 40px 50px 30px; font-size: 14px; letter-spacing: 0.08em; color: #fff; background: #bc7140; z-index: 1;}
.open-positions-main .op-package-cta::before{ position: absolute; content: ''; top: 0; right: 0; border-bottom: 28px solid transparent; border-right: 40px solid #f3f2ec;}
.open-positions-main .op-package-cta h3{ text-transform: uppercase; color: #f3f2ec; font-family: "filson-soft", Helvetica, Arial, sans-serif; font-size: 18px; font-weight: 400; letter-spacing: 0.240em; margin: 0 0 20px; line-height: 36px;}
.open-positions-main .op-package-price-label{ font-family: "filson-soft", Helvetica, Arial, sans-serif; font-size: 18px; margin-bottom: 5px;}
.open-positions-main .op-package-price{ margin-bottom: 30px; font-family: "filson-soft", Helvetica, Arial, sans-serif; font-weight: 400;}
.open-positions-main .op-package-list{ padding: 0; list-style: none; margin: 0 0 20px;}
.open-positions-main .op-package-list li{ margin: 5px 0 5px 18px; line-height: 28px; font-weight: 200; list-style: disc;}
.open-positions-main .op-package-cta .button{ display: inline-block; padding: 10px; border: 2px solid #f3f2ec; color: #f3f2ec; background: transparent; font-size: 18px; font-family: "filson-soft", Helvetica, Arial, sans-serif; letter-spacing: 0.240em; text-transform: uppercase; margin: 20px 0 30px; line-height: 24px; width: 255px; text-align: center;}
.open-positions-main .op-package-cta .button:hover{ opacity: 0.8;}
.open-positions-main .op-package-contact{ font-size: 13px; line-height: 22px; font-weight: 200;}
.open-positions-main .op-package-contact a{ color: #fff;}
.open-positions-main .op-package-photo{ flex: 1; background-size: cover; background-position: center; position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 60px 0;}
.open-positions-main .op-package-photo::before{ position: absolute; content: ''; top: 0; left: 0; border-bottom: 28px solid transparent; border-left: 40px solid #f3f2ec;}
.open-positions-main .op-package-quote{ margin: 20px 0; padding: 0 80px; font-family: "filson-soft", Helvetica, Arial, sans-serif; font-size: 16px; text-shadow: 3px 3px 8px rgba(0,0,0,0.4); color: #fff; letter-spacing: 0.08em; line-height: 30px; text-align: center;}
.open-positions-main .op-package-quote-name{ margin-bottom: 20px; font-family: "filson-soft", Helvetica, Arial, sans-serif; font-size: 13px; line-height: 24px; letter-spacing: 0.240em; color: #fff; text-transform: uppercase; text-shadow: 3px 3px 8px rgba(0,0,0,0.4);}
.open-positions-main .op-signup{ display: none; position: relative; padding: 60px 0 40px; background: #ced5df; color: #474747;}
.open-positions-main .op-signup-step{ display: none; padding: 40px 0;}
.open-positions-main .op-signup-step:first-child{ display: block;}
.open-positions-main .op-signup::after{ content: ''; position: absolute; left: 14%; top: 0; border-top: 28px solid #bc7140; border-left: 43px solid transparent; border-right: 43px solid transparent;}
.open-positions-main .op-signup-inner{ display: flex; align-items: flex-start; gap: 0;}
.open-positions-main .op-signup-left{ flex: 0 0 33%; padding: 0 35px; font-weight: 400; line-height: 34px; font-size: 17px; letter-spacing: 0.08em;}
.open-positions-main .op-signup-left h2{ font-family: "kessler", Georgia, Times, "Times New Roman", serif; font-size: 45px; line-height: 54px; letter-spacing: 0.185em; color: #fff; text-transform: lowercase; margin: 0 0 10px;}
.open-positions-main .op-signup-left h3{ font-family: "filson-soft", Helvetica, Arial, sans-serif; font-size: 18px; letter-spacing: 0.240em; color: #5e7e95; text-transform: uppercase; margin: 0 0 20px;}
.open-positions-main .op-signup-left p{ font-size: 15px; line-height: 1.8; font-weight: 400; color: #474747;}
.open-positions-main .op-signup-right{ flex: 1; padding-left: 40px; border-left: 1px solid #999; position: relative;}
.open-positions-main .op-signup-next{ display: inline-block; padding: 10px; background: #5e7e95; border: none; color: #f3f2ec; font-size: 18px; font-family: "filson-soft", Helvetica, Arial, sans-serif; letter-spacing: 0.240em; text-transform: uppercase; margin: 30px 0 15px; line-height: 24px; width: 255px; text-align: center; cursor: pointer;}
.open-positions-main .op-signup-next:hover{ opacity: 0.8;}
.open-positions-main .op-signup-close{ font-size: 10px; font-family: "filson-soft", Helvetica, Arial, sans-serif; letter-spacing: 0.240em; text-transform: uppercase; color: #bc7140; display: block; margin-top: 5px;}
.open-positions-main .op-signup-cols{ display: flex; gap: 40px; padding-top: 20px;}
.open-positions-main .op-signup-review{ flex: 1; padding: 30px 15px 0;}
.open-positions-main .op-review-top{ color: #5e7e95; text-transform: uppercase; margin-bottom: 30px; line-height: 34px; font-family: "filson-soft", Helvetica, Arial, sans-serif; font-size: 14px; letter-spacing: 0.240em;}
.open-positions-main #op-review-details span{ display: block; font-family: "filson-soft", Helvetica, Arial, sans-serif; line-height: 20px; font-size: 14px; letter-spacing: 0.16em;}
.open-positions-main .op-signup-edit{ font-size: 10px; font-family: "filson-soft", Helvetica, Arial, sans-serif; letter-spacing: 0.240em; text-transform: uppercase; color: #bc7140; display: inline-block; margin-top: 15px;}
.open-positions-main .op-pay-wrapper{ flex: 0 0 auto; padding: 0 15px;}
.open-positions-main .op-pay-box{ margin-top: 60px; background: #fff; padding: 20px; text-align: center; width: 255px; font-family: "filson-soft", Helvetica, Arial, sans-serif; font-size: 14px; font-weight: 500; letter-spacing: 0.160em; line-height: 20px; text-transform: uppercase;}
.open-positions-main .op-pay-box span{ display: block; color: #bc7140; font-size: 22px; font-weight: 400; margin-bottom: 10px;}
.open-positions-main .op-pay-now{ display: block; padding: 10px; border: 2px solid #f3f2ec; color: #bc7140; background: transparent; font-size: 18px; font-family: "filson-soft", Helvetica, Arial, sans-serif; letter-spacing: 0.240em; text-transform: uppercase; margin: 0; line-height: 24px; width: 255px; text-align: center;}
.open-positions-main .op-pay-disclaimer{ color: #fff; text-align: center; font-size: 11px; width: 255px; margin-top: 10px;}
.open-positions-main .op-signup-conf{ padding: 50px 50px 50px 0; font-size: 17px; line-height: 1.8; letter-spacing: 0.08em; color: #474747;}
.open-positions-main .op-signup-conf p{ margin-bottom: 30px;}
.open-positions-main .op-signup-conf .button{ display: inline-block; padding: 10px; border: 2px solid #f3f2ec; color: #f3f2ec; background: transparent; font-size: 18px; font-family: "filson-soft", Helvetica, Arial, sans-serif; letter-spacing: 0.240em; text-transform: uppercase; line-height: 24px; width: 255px; text-align: center;}

.open-positions-main .gform_required_legend,
.contact-main .gform_required_legend{ position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden;}
.open-positions-main .gform_wrapper,
.contact-main .gform_wrapper{ max-width: none;}
.open-positions-main .gform_fields,
.contact-main .gform_fields{ list-style: none; padding: 0; margin: 0;}
.open-positions-main .gfield,
.contact-main .gfield{ margin-bottom: 5px;}
.open-positions-main .gfield_label,
.contact-main .gfield_label{ display: block; text-transform: uppercase; font-family: "filson-soft", Helvetica, Arial, sans-serif; font-size: 14px; letter-spacing: 0.240em; margin-bottom: 0; color: #5a5a5a; font-weight: 400;}
.open-positions-main .gfield_required,
.contact-main .gfield_required{ color: #bc7140; margin-left: 3px;}
.open-positions-main .ginput_container input[type="text"],
.open-positions-main .ginput_container input[type="email"],
.open-positions-main .ginput_container input[type="tel"],
.open-positions-main .ginput_container input[type="number"],
.open-positions-main .ginput_container textarea,
.contact-main .ginput_container input[type="text"],
.contact-main .ginput_container input[type="email"],
.contact-main .ginput_container input[type="tel"],
.contact-main .ginput_container input[type="number"],
.contact-main .ginput_container textarea{ width: 100%; padding: 6px 12px; border: 1px solid #ced4da; background: #fff; font-size: 1rem; line-height: 1.5; color: #495057; box-sizing: border-box; border-radius: 0; font-family: inherit;}
.open-positions-main .ginput_container select,
.contact-main .ginput_container select{ width: 100%; padding: 6px 32px 6px 12px; border: 1px solid #ced4da; background: #fff url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath fill='%23474747' d='M0 0l6 8 6-8z'/%3E%3C/svg%3E") right 10px center/12px 8px no-repeat; font-size: 1rem; line-height: 1.5; color: #495057; box-sizing: border-box; border-radius: 0; font-family: inherit; -webkit-appearance: none; -moz-appearance: none; appearance: none;}
.open-positions-main .ginput_container input[type="file"],
.contact-main .ginput_container input[type="file"]{ font-size: 13px; color: #474747;}
.open-positions-main .gfield--type-checkbox .gfield_checkbox,
.open-positions-main .gfield--type-radio .gfield_radio,
.contact-main .gfield--type-checkbox .gfield_checkbox,
.contact-main .gfield--type-radio .gfield_radio{ list-style: none; padding: 0; margin: 0;}
.open-positions-main .gfield--type-checkbox .gfield_checkbox li,
.open-positions-main .gfield--type-radio .gfield_radio li,
.contact-main .gfield--type-checkbox .gfield_checkbox li,
.contact-main .gfield--type-radio .gfield_radio li{ display: flex; align-items: flex-start; gap: 8px; margin-bottom: 8px;}
.open-positions-main .gfield--type-checkbox .gfield_checkbox label,
.open-positions-main .gfield--type-radio .gfield_radio label,
.contact-main .gfield--type-checkbox .gfield_checkbox label,
.contact-main .gfield--type-radio .gfield_radio label{ text-transform: none; font-family: inherit; font-size: 14px; letter-spacing: 0.04em; cursor: pointer; line-height: 1.4;}
.open-positions-main .gfield--type-checkbox input[type="checkbox"],
.contact-main .gfield--type-checkbox input[type="checkbox"]{ -webkit-appearance: none; -moz-appearance: none; appearance: none; width: 16px; min-width: 16px; height: 16px; border: 2px solid #ced4da; background: #fff; margin-top: 2px; cursor: pointer; transition: background 0.15s, border-color 0.15s;}
.open-positions-main .gfield--type-checkbox input[type="checkbox"]:checked,
.contact-main .gfield--type-checkbox input[type="checkbox"]:checked{ background: #5e7e95 url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2' d='M1 5l3.5 3.5L11 1'/%3E%3C/svg%3E") center/10px no-repeat; border-color: #5e7e95;}
.open-positions-main .gfield--type-radio input[type="radio"],
.contact-main .gfield--type-radio input[type="radio"]{ -webkit-appearance: none; -moz-appearance: none; appearance: none; width: 16px; min-width: 16px; height: 16px; border: 2px solid #ced4da; border-radius: 50%; background: #fff; margin-top: 2px; cursor: pointer; transition: border-color 0.15s, box-shadow 0.15s;}
.open-positions-main .gfield--type-radio input[type="radio"]:checked,
.contact-main .gfield--type-radio input[type="radio"]:checked{ border-color: #bc7140; box-shadow: inset 0 0 0 3px #bc7140;}
.open-positions-main .gfield_description,
.contact-main .gfield_description{ font-size: 13px; letter-spacing: 0.04em; color: #474747; margin-top: 0 !important; padding-top: 0 !important; margin-bottom: 8px; font-style: italic;}
.open-positions-main .gform_footer,
.open-positions-main .gform_page_footer,
.contact-main .gform_footer,
.contact-main .gform_page_footer{ padding: 0; border: none; margin: 0;}
.open-positions-main .gform_button,
.contact-main .gform_button{ display: inline-block; padding: 10px; background: #5e7e95; border: none; color: #f3f2ec; font-size: 18px; font-family: "filson-soft", Helvetica, Arial, sans-serif; letter-spacing: 0.240em; text-transform: uppercase; line-height: 24px; width: 255px; text-align: center; cursor: pointer; border-radius: 0; margin: 40px 0 0;}
.open-positions-main .gform_button:hover,
.contact-main .gform_button:hover{ opacity: 0.8;}
.open-positions-main .op-signup-right .gform_button{ background: transparent; border: 2px solid #f3f2ec; color: #bc7140; margin-top: 34px;}
.open-positions-main .op-signup-right .gform_button:hover{ opacity: 0.8; background: transparent;}
.open-positions-main .gfield_validation_message,
.open-positions-main .validation_message,
.contact-main .gfield_validation_message,
.contact-main .validation_message{ font-size: 12px; color: #CC9900; font-weight: bold; margin-top: 4px; letter-spacing: 0.04em;}
.open-positions-main .gform_validation_errors,
.contact-main .gform_validation_errors{ background: transparent; border: 1px solid #CC9900; padding: 15px; margin-bottom: 20px;}
.open-positions-main .gform_validation_errors h2,
.contact-main .gform_validation_errors h2{ font-size: 14px; font-family: "filson-soft", Helvetica, Arial, sans-serif; letter-spacing: 0.240em; text-transform: uppercase; color: #CC9900; margin: 0;}
.open-positions-main .gfield--has-validation-error input,
.open-positions-main .gfield--has-validation-error select,
.open-positions-main .gfield--has-validation-error textarea,
.contact-main .gfield--has-validation-error input,
.contact-main .gfield--has-validation-error select,
.contact-main .gfield--has-validation-error textarea{ border-color: #CC9900;}


/* Build A Team — Needs checkbox (form 6, field 7) */
.contact-main #field_6_7 .gfield_label{ margin-top: 30px;}
.contact-main #field_6_7 .gfield_checkbox{ list-style: none; padding: 0; margin: 0;}
.contact-main #field_6_7 .gchoice{ display: block; padding: 22px 0; border-top: 1px solid #ccc;}
.contact-main #field_6_7 .gchoice:last-child{ border-bottom: 1px solid #ccc;}
.contact-main #field_6_7 .gchoice > input[type="checkbox"]{ float: left; margin: 3px 12px 0 0;}
.contact-main #field_6_7 .gchoice > .gform-field-label{ display: block; overflow: hidden; font-family: "filson-soft", Helvetica, Arial, sans-serif; font-size: 13px; font-weight: 400; letter-spacing: 0.24em; text-transform: uppercase; color: #5e7e95; cursor: pointer; margin: 0;}
.contact-main #field_6_7 .gf-choice-intro{ clear: both; font-size: 13px; letter-spacing: 0.04em; color: #474747; margin: 14px 0 8px 28px;}
.contact-main #field_6_7 .gf-choice-examples{ list-style: none; margin: 0 0 0 28px; padding: 0; display: grid; grid-template-columns: 1fr 1fr; row-gap: 5px; column-gap: 40px;}
.contact-main #field_6_7 .gf-choice-examples li{ font-size: 14px; letter-spacing: 0.04em; line-height: 1.5; color: #474747;}

/* SOLUTION SINGLE */

.solution-single .sol-section-heading{ font-family: "kessler", Georgia, Times, "Times New Roman", serif; font-size: 61px; letter-spacing: 0.185em; line-height: 74px; text-transform: lowercase; color: #bc7140; text-align: center; background: #fff; padding: 25px 0 20px; margin: 0;}
.solution-single .sol-intro{ padding: 60px 0;}
.solution-single .sol-intro .wrapper{ max-width: 1100px;}
.solution-single .sol-intro-inner{ display: flex; align-items: flex-start; gap: 60px;}
.solution-single .sol-intro-inner--split .sol-stat-col{ flex: 0 0 41.666%;}
.solution-single .sol-intro-inner--split .sol-intro-content{ flex: 1; padding-top: 10px;}
.solution-single .sol-intro-inner:not(.sol-intro-inner--split) .sol-intro-content{ max-width: 860px; margin: 0 auto; text-align: center;}
.solution-single .sol-stat{ padding: 120px 50px 40px; min-height: 400px; color: #f3f2ec; font-family: "filson-soft", Helvetica, Arial, sans-serif; font-size: 18px; font-weight: 400; letter-spacing: 0.240em; line-height: 42px; text-transform: uppercase; text-align: center; clip-path: polygon(0 0, calc(50% - 50px) 0, 50% 30px, calc(50% + 50px) 0, 100% 0, 100% 100%, 0 100%);}
.solution-single .sol-stat--orange{ background-color: #bc7140;}
.solution-single .sol-stat--blue{ background-color: #5e7e95;}
.solution-single .sol-stat-head{ font-size: 62px; line-height: 1; margin-bottom: 60px;}
.solution-single .sol-headline{ color: #bc7140; font-family: "kessler", Georgia, Times, "Times New Roman", serif; font-size: 29px; letter-spacing: 0.185em; text-transform: lowercase; margin: 0 0 20px; line-height: 1.3;}
.solution-single .sol-intro-content p{ line-height: 2; letter-spacing: 0.08em;}
.solution-single .sol-cta{ display: inline-block; padding: 10px 30px; color: #5e7e95; border: 2px solid #bc7140; font-family: "filson-soft", Helvetica, Arial, sans-serif; font-size: 18px; font-weight: 500; letter-spacing: 0.240em; text-transform: uppercase; transition: .3s; margin-top: 20px;}
.solution-single .sol-cta:hover{ background: #bc7140; color: #fff;}
.solution-single .sol-provide{ padding: 60px 0;}
.solution-single .sol-provide .wrapper{ max-width: 1100px;}
.solution-single .sol-provide-row{ margin-bottom: 60px;}
.solution-single .sol-provide-row:last-child{ margin-bottom: 0;}
.solution-single .sol-partner-row{ display: flex; align-items: flex-start; gap: 60px; margin-bottom: 60px;}
.solution-single .sol-partner-box{ flex: 0 0 calc(41.666% - 30px);}
.solution-single .sol-partner-photo{ padding-top: 75%; background-position: center; background-size: cover; position: relative;}
.solution-single .sol-partner-photo::before{ content: ''; position: absolute; left: 50%; bottom: -1px; margin-left: -56px; width: 0; height: 0; border-left: 56px solid transparent; border-right: 56px solid transparent; border-bottom: 25px solid #474747;}
.solution-single .sol-partner-info{ background: #474747; padding: 20px 30px;}
.solution-single .sol-partner-name{ font-family: "filson-soft", Helvetica, Arial, sans-serif; font-size: 18px; letter-spacing: 0.240em; text-transform: uppercase; color: #bc7140; margin: 0 0 5px; line-height: 1.4; font-weight: 400;}
.solution-single .sol-partner-name a{ color: #BABEC0; margin-left: 8px; font-size: 16px; transition: color .2s;}
.solution-single .sol-partner-name a:hover{ color: #fff;}
.solution-single .sol-partner-info p{ color: #fff; margin: 0; font-size: 14px; letter-spacing: 0.08em;}
.solution-single .sol-partner-content{ flex: 1;}
.solution-single .sol-partner-content p{ margin-bottom: 20px; font-size: 14px; line-height: 1.8; letter-spacing: 0.08em;}
.solution-single .sol-provide-row--split{ display: flex; align-items: flex-start; gap: 60px;}
.solution-single .sol-provide-row--split .sol-placements{ flex: 1;}
.solution-single .sol-provide-row--split .sol-ksg-diff{ flex: 0 0 33.333%;}
.solution-single .sol-ksg-diff{ position: relative; padding: 60px 40px 40px; background: #ced8df; text-align: center; font-size: 16px; letter-spacing: 0.08em;}
.solution-single .sol-ksg-diff::before{ content: ''; position: absolute; left: 50%; top: -1px; margin-left: -56px; width: 0; height: 0; border-left: 56px solid transparent; border-right: 56px solid transparent; border-top: 25px solid #f3f2ec;}
.solution-single .sol-ksg-diff--full{ width: 100%;}
.solution-single .sol-diff-icon{ display: block; height: 30px; margin: 0 auto 30px; width: auto;}
.solution-single .sol-ksg-diff h4{ color: #5e7e95; font-family: "filson-soft", Helvetica, Arial, sans-serif; font-size: 18px; letter-spacing: 0.240em; text-transform: uppercase; margin: 0 0 30px; font-weight: 400; text-align: center;}
.solution-single .sol-ksg-diff p{ font-size: 15px; line-height: 1.8; margin-bottom: 20px; text-align: left;}
.solution-single .sol-ksg-diff ul{ padding: 0; margin: 0 0 0 18px; list-style: disc; text-align: left;}
.solution-single .sol-ksg-diff li{ font-size: 15px; line-height: 1.8; margin-bottom: 6px;}
.solution-single .sol-placements-heading{ font-family: "filson-soft", Helvetica, Arial, sans-serif; font-size: 18px; font-weight: 400; letter-spacing: 0.240em; text-transform: uppercase; color: #5e7e95; margin: 0 0 40px;}
.solution-single .sol-placements-cols{ display: flex; gap: 40px;}
.solution-single .sol-placements-cols > div{ flex: 1;}
.solution-single .sol-placements p{ font-size: 14px; margin-bottom: 6px; line-height: 2;}
.solution-single .sol-placements p strong{ font-family: "filson-soft", Helvetica, Arial, sans-serif; font-size: 13px; letter-spacing: 0.16em; text-transform: uppercase;}
.solution-single .sol-placements ul{ list-style: none; padding: 0; margin: 0;}
.solution-single .sol-placements li{ position: relative; padding-left: 15px; margin-bottom: 8px; font-size: 14px; line-height: 1.7;}
.solution-single .sol-placements li::before{ content: "\2022"; position: absolute; left: 0; top: 0; font-size: 12px;}
.solution-single .sol-provide-row--quote-placements{ display: flex; align-items: stretch;}
.solution-single .sol-quote-box{ flex: 0 0 33.333%; background: #bc7140; padding: 60px 40px; text-align: center; color: #fff; display: flex; flex-direction: column; justify-content: center;}
.solution-single .sol-quote-text{ font-family: "filson-soft", Helvetica, Arial, sans-serif; font-size: 18px; line-height: 1.7; letter-spacing: 0.240em; text-transform: uppercase; color: #fff; margin: 0 0 20px;}
.solution-single .sol-quote-attribution{ font-family: "filson-soft", Helvetica, Arial, sans-serif; font-size: 14px; letter-spacing: 0.240em; text-transform: uppercase; color: #fff;}
.solution-single .sol-provide-row--quote-placements .sol-placements{ flex: 1; padding: 40px 0 40px 60px;}
.solution-single .sol-eq-box{ background: #bc7140; padding: 60px 100px; color: #fff;}
.solution-single .sol-eq-inner{ display: flex; flex-direction: column; align-items: center; max-width: 900px; margin: 0 auto; gap: 60px;}
.solution-single .sol-eq-box .button{ background: transparent; border: 2px solid #fff; color: #fff;}
.solution-single .sol-eq-box .button:hover{ background: #fff; color: #bc7140;}
.solution-single .sol-eq-icon{ flex: 0 0 auto; width: 150px; text-align: center; font-family: "filson-soft", Helvetica, Arial, sans-serif; font-size: 20px; letter-spacing: 0.240em; text-transform: uppercase; color: #fff; line-height: 1.4;}
.solution-single .sol-eq-icon img{ display: block; margin: 0 auto 15px; max-height: 60px; width: auto;}
.solution-single .sol-eq-content{ flex: 1; line-height: 1.8; font-size: 15px; letter-spacing: 0.06em;}
.solution-single .sol-provide-subhead{ margin-bottom: 50px; text-align: center;}
.solution-single .sol-provide-role{ font-family: "filson-soft", Helvetica, Arial, sans-serif; font-size: 18px; letter-spacing: 0.240em; text-transform: uppercase; color: #bc7140; margin: 0 0 15px; font-weight: 400;}
.solution-single .sol-provide-subheading{ font-family: "filson-soft", Helvetica, Arial, sans-serif; font-size: 28px; font-weight: 400; letter-spacing: 0.240em; text-transform: uppercase; color: #5e7e95; margin: 0;}
.solution-single .sol-provide-cta{ margin-top: 40px; border: 2px solid #5e7e95; padding: 30px 35px;}
.solution-single .sol-provide-cta-heading{ font-family: "filson-soft", Helvetica, Arial, sans-serif; font-size: 13px; letter-spacing: 0.240em; text-transform: uppercase; color: #5e7e95; margin: 0 0 15px; font-weight: 400;}
.solution-single .sol-provide-cta p{ font-size: 14px; line-height: 1.8; letter-spacing: 0.06em; margin-bottom: 15px;}
.solution-single .sol-provide-cta-btn{ display: inline-block; padding: 10px 25px; background: #5e7e95; color: #f3f2ec; font-family: "filson-soft", Helvetica, Arial, sans-serif; font-size: 14px; letter-spacing: 0.240em; text-transform: uppercase; border: none; transition: .3s;}
.solution-single .sol-provide-cta-btn:hover{ background: #bc7140; color: #fff;}

/* Split layout with eq-box tucked below placements */
.solution-single .sol-split-left{ flex: 1; display: flex; flex-direction: column;}
.solution-single .sol-split-left .sol-eq-box{ margin-top: 40px; padding: 50px 40px; text-align: center;}
.solution-single .sol-split-left .sol-eq-inner{ max-width: 100%; gap: 25px;}
.solution-single .sol-split-left .sol-eq-icon{ width: 100%;}
.solution-single .sol-split-left .sol-eq-content{ flex: none; width: 100%;}
.solution-single .sol-split-left .sol-eq-box .button{ margin-top: 20px;}
/* Page 52 overrides */
.page-id-52 .sol-placements li{ line-height: 2;}
.page-id-52 .sol-ksg-diff li{ margin-bottom: 0;}

.solution-single .sol-cases{ padding: 60px 0;}
.solution-single .sol-cases-grid{ display: flex; max-width: 1060px;}
.solution-single .sol-case{ flex: 1; padding: 30px 40px;}
.solution-single .sol-case + .sol-case{ border-left: 1px solid #474630;}
.solution-single .sol-case:first-child{ padding-left: 0;}
.solution-single .sol-case-header{ display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 20px;}
.solution-single .sol-case-title{ font-family: "filson-soft", Helvetica, Arial, sans-serif; font-size: 18px; letter-spacing: 0.240em; text-transform: uppercase; color: #5e7e95; margin: 0 0 5px; font-weight: 400;}
.solution-single .sol-case-title a{ color: #5e7e95;}
.solution-single .sol-case-title a:hover{ color: #bc7140;}
.solution-single .sol-case-subtitle{ font-family: "filson-soft", Helvetica, Arial, sans-serif; font-size: 10px; letter-spacing: 0.240em; text-transform: uppercase; color: #5e7e95;}
.solution-single .sol-case-logo{ max-height: 50px; max-width: 120px; flex-shrink: 0; width: auto;}
.solution-single .sol-case-content{ font-size: 14px; line-height: 1.8; letter-spacing: 0.06em; margin-bottom: 20px;}
.solution-single .sol-case-link{ font-family: "filson-soft", Helvetica, Arial, sans-serif; font-size: 14px; letter-spacing: 0.240em; text-transform: uppercase; color: #bc7140;}
.solution-single .sol-case-link:hover{ color: #474747;}


/* Contact */

body .contact-main .hero{ min-height: 700px;}
body .contact-main .hero::before{ content: ''; position: absolute; inset: 0; background: #5e7e95; mix-blend-mode: multiply; z-index: 1;}
body .contact-main .hero::after{ background: #5e7e95; mix-blend-mode: color;}
.contact-main .con-hero-buttons{ display: flex; align-items: center; justify-content: center; gap: 30px; margin-top: 40px; flex-wrap: wrap;}
.contact-main .con-hero-buttons .button{ background: transparent; color: #f3f2ec; border-color: #f3f2ec; margin-top: 0;}
.contact-main .con-hero-buttons .button:hover{ background: #f3f2ec; color: #5e7e95; border-color: #f3f2ec;}
.contact-main .con-hero-or{ font-family: "filson-soft", Helvetica, Arial, sans-serif; font-size: 14px; letter-spacing: 0.240em; text-transform: uppercase; color: rgba(255,255,255,0.7);}
.contact-main .con-panel{ display: none; position: relative;}
.contact-main .con-build-panel::before,
.contact-main .con-positions-panel::before{ content: ''; position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: 0; height: 0; border-top: 28px solid #bc7140; border-left: 43px solid transparent; border-right: 43px solid transparent; z-index: 1;}
.contact-main .con-panel-inner{ display: flex; align-items: flex-start; gap: 0; padding: 40px 0;}
.contact-main .con-panel-left{ flex: 0 0 33%; padding: 0 35px; font-weight: 200; line-height: 34px; font-size: 17px; letter-spacing: 0.08em;}
.contact-main .con-panel-right{ flex: 1; padding-left: 40px; border-left: 1px solid #999;}
.contact-main .con-panel h2{ font-family: "kessler", Georgia, Times, "Times New Roman", serif; font-size: 45px; line-height: 54px; letter-spacing: 0.185em; text-transform: lowercase; color: #bc7140; margin: 0 0 30px;}
.contact-main .con-panel-intro{ font-size: 17px; font-weight: 200; line-height: 34px; letter-spacing: 0.08em; margin-bottom: 30px;}
.contact-main .con-form-placeholder{ padding: 50px 40px; background: #f3f2ec; color: #999; font-style: italic; text-align: center; font-size: 15px;}
.contact-main .con-build-phone-btn{ display: inline-block; padding: 10px; color: #f3f2ec; background: #5e7e95; font-size: 18px; font-family: "filson-soft", Helvetica, Arial, sans-serif; letter-spacing: 0.240em; text-transform: uppercase; line-height: 24px; width: 255px; text-align: center; border: none; margin-top: 30px;}
.contact-main .con-build-phone-btn:hover{ opacity: 0.8; color: #f3f2ec;}
.contact-main .con-positions{ background: #f3f2ec; padding: 40px 0;}
.contact-main .con-positions-inner{ display: flex; align-items: flex-start; gap: 0; line-height: 34px; font-size: 17px; letter-spacing: 0.08em; color: #474747;}
.contact-main .con-positions-left{ flex: 0 0 33%; padding: 0 35px; font-weight: 200;}
.contact-main .con-positions-left h2{ font-family: "kessler", Georgia, Times, "Times New Roman", serif; font-size: 45px; line-height: 54px; letter-spacing: 0.185em; color: #bc7140; text-transform: lowercase; margin: 0 0 30px;}
.contact-main .con-positions-intro{ font-size: 17px; font-weight: 200; line-height: 34px; letter-spacing: 0.08em;}
.contact-main .con-positions-left .button{ display: inline-block; padding: 10px; color: #f3f2ec; background: #5e7e95; font-size: 18px; font-family: "filson-soft", Helvetica, Arial, sans-serif; letter-spacing: 0.240em; text-transform: uppercase; margin: 40px 0 0; line-height: 24px; width: 255px; text-align: center; border: none;}
.contact-main .con-positions-left .button:hover{ opacity: 0.8;}
.contact-main .con-positions-right{ flex: 1; padding-left: 40px; border-left: 1px solid #999;}
.contact-main .con-position{ margin: 0 0 40px;}
.contact-main .con-position h4{ margin: 0 0 5px; color: #5e7e95; font-size: 16px; text-transform: uppercase; letter-spacing: 0.120em; font-family: "filson-soft", Helvetica, Arial, sans-serif;}
.contact-main .con-position-description{ font-size: 15px; line-height: 22px; letter-spacing: 0.080em;}
.contact-main .con-position-description p{ margin: 0 0 5px;}
.contact-main .con-position-email{ color: #bc7140; font-size: 14px; letter-spacing: 0.08em; text-decoration: none; display: inline-block; margin-top: 5px;}
.contact-main .con-position-email:hover{ opacity: 0.8;}
.contact-main .con-positions-none p{ font-size: 14px; line-height: 1.8; letter-spacing: 0.08em; color: #474747; margin-bottom: 40px;}
.contact-main .con-resume{ display: none; position: relative; padding: 40px 0; background: #ced5df; color: #474747;}
.contact-main .con-resume::after{ content: ''; position: absolute; left: 14%; top: 0; border-top: 28px solid #f3f2ec; border-left: 43px solid transparent; border-right: 43px solid transparent;}
.contact-main .con-resume-inner{ display: flex; align-items: flex-start; gap: 0;}
.contact-main .con-resume-left{ flex: 0 0 33%; padding: 0 35px; font-weight: 200; line-height: 34px; font-size: 17px; letter-spacing: 0.08em;}
.contact-main .con-resume-left h2{ font-family: "kessler", Georgia, Times, "Times New Roman", serif; font-size: 45px; line-height: 54px; letter-spacing: 0.185em; color: #fff; text-transform: lowercase; margin: 0 0 30px;}
.contact-main .con-resume-right{ flex: 1; padding-left: 40px; border-left: 1px solid #999; position: relative;}
.contact-main .con-connect{ background: #bc7140; padding: 50px 0; text-align: center;}
.contact-main .con-connect-inner{ display: flex; flex-direction: column; align-items: center; gap: 20px;}
.contact-main .con-connect-label{ font-family: "kessler", Georgia, Times, "Times New Roman", serif; font-size: 45px; line-height: 54px; letter-spacing: 0.185em; text-transform: lowercase; color: #fff; margin: 0;}
.contact-main .con-connect-content{ font-size: 17px; line-height: 1.7; letter-spacing: 0.08em; color: #fff; max-width: 700px;}
.contact-main .con-connect-content p{ margin: 0;}
.contact-main .con-connect .button{ background: transparent; border: 2px solid #fff; color: #fff; margin-top: 10px;}
.contact-main .con-connect .button:hover{ background: #fff; color: #bc7140;}
.contact-main .con-book-panel{ background: #474747; margin-bottom: 20px;}
.contact-main .con-book-panel::before{ content: ''; position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: 0; height: 0; border-top: 28px solid #bc7140; border-left: 43px solid transparent; border-right: 43px solid transparent; z-index: 1;}
.contact-main .con-book-panel .con-panel-left{ color: #d0cfc9;}
.contact-main .con-book-panel .con-panel-left h2{ font-family: "filson-soft", Helvetica, Arial, sans-serif; font-size: 29px; font-weight: 400; letter-spacing: 0.24em; text-transform: uppercase; color: #bc7140; line-height: 1.3; margin: 0 0 25px;}
.contact-main .con-book-panel .con-panel-intro{ color: #d0cfc9;}
.contact-main .con-book-panel .con-panel-right{ border-left: 1px solid rgba(255,255,255,0.2);}
.contact-main .con-book-panel .gfield_label{ color: #f3f2ec;}
.contact-main .con-book-panel .gfield_description{ color: #d0cfc9;}
.contact-main .con-book-panel .gform_button{ background: transparent; border: 1px solid #fff; color: #fff; width: auto; min-width: 200px; margin-top: 20px;}
.contact-main .con-book-panel .gform_button:hover{ background: #bc7140; border-color: #bc7140; opacity: 1;}
.contact-main .con-book-panel .con-form-placeholder{ background: #5a5a5a; color: #aaa;}
.contact-main .con-book-panel .gfield{ margin-bottom: 12px;}
.contact-main .con-book-panel .ginput_container input[type="text"],
.contact-main .con-book-panel .ginput_container input[type="email"],
.contact-main .con-book-panel .ginput_container input[type="tel"],
.contact-main .con-book-panel .ginput_container input[type="number"],
.contact-main .con-book-panel .ginput_container textarea{ background: transparent; border: 1px solid rgba(255,255,255,0.4); color: #f3f2ec;}
.contact-main .con-book-panel .ginput_container input[type="text"]::placeholder,
.contact-main .con-book-panel .ginput_container input[type="email"]::placeholder,
.contact-main .con-book-panel .ginput_container input[type="tel"]::placeholder,
.contact-main .con-book-panel .ginput_container textarea::placeholder{ color: rgba(255,255,255,0.3);}
.contact-main .con-book-panel .gfield_required{ color: rgba(255,255,255,0.4);}
.contact-main .con-book-panel .gfield--type-checkbox input[type="checkbox"]{ border-color: rgba(255,255,255,0.5); background: transparent;}
.contact-main .con-book-panel .gfield--type-checkbox input[type="checkbox"]:checked{ background: #bc7140 url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2' d='M1 5l3.5 3.5L11 1'/%3E%3C/svg%3E") center/10px no-repeat; border-color: #bc7140;}
.contact-main .con-book-panel .gfield--type-checkbox .gform-field-label{ color: #f3f2ec;}
.contact-main .con-book-panel .gfield_validation_message{ color: #f3c4b0; background: transparent; border: none; padding: 0; font-size: 12px;}
.contact-main .con-book-panel .gfield_error .ginput_container input,
.contact-main .con-book-panel .gfield_error .ginput_container textarea{ border-color: #f3c4b0;}


/* Back to Top */

#back-to-top{ position: fixed; bottom: 20px; right: 20px; width: 44px; height: 44px; background: #2e2e2e; border: none; border-radius: 50%; color: #fff; font-size: 20px; cursor: pointer; z-index: 998; display: flex; align-items: center; justify-content: center; padding: 0 0 2px 0; opacity: 0; pointer-events: none; transition: opacity 0.3s, background 0.2s;}
#back-to-top.is-visible{ opacity: 1; pointer-events: auto;}
#back-to-top i{ margin-left: 5px;}
#back-to-top:hover{ background: #bc7140;}


/* Default Page Template */

.page-default-main .hero::after{ display: none;}
.page-default-main .hero h1{ display: none;}
.page-default-content{ padding: 50px 0 80px;}
.page-default-content .wrapper{ max-width: 920px;}
.page-default-entry{ width: 100%;}
.page-default-entry h2{ font-family: "kessler", Georgia, Times, "Times New Roman", serif; font-size: 34px; letter-spacing: 0.185em; text-transform: lowercase; color: #bc7140; line-height: 1.3; margin: 40px 0 15px;}
.page-default-entry h3{ font-family: "filson-soft", Helvetica, Arial, sans-serif; font-size: 16px; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; color: #5a5a5a; margin: 30px 0 8px;}
.page-default-entry h4{ font-family: "filson-soft", Helvetica, Arial, sans-serif; font-size: 13px; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; color: #5a5a5a; margin: 24px 0 6px;}
.page-default-entry p{ font-size: 14px; line-height: 28px; letter-spacing: 0.08em; color: #5a5a5a; margin: 0 0 15px;}
.page-default-entry ul, .page-default-entry ol{ font-size: 14px; line-height: 28px; letter-spacing: 0.08em; color: #5a5a5a; margin: 0 0 15px; padding-left: 20px;}
.page-default-entry li{ margin-bottom: 4px;}
.page-default-entry a{ color: #5e7e95;}
.page-default-entry a:hover{ color: #bc7140;}
.page-default-entry strong, .page-default-entry b{ font-weight: 700;}
.page-default-entry img{ max-width: 100%; height: auto; display: block; margin: 30px 0;}
.page-default-entry hr{ border: none; border-top: 1px solid #dcd9c7; margin: 40px 0;}


/* Blog Landing Page */

.blog-main .hero{ background-color: #474747;}
.blog-category-main .hero{ background-color: #474747;}
.blog-main .blog-section{ padding: 0 0 60px;}
.blog-main .blog-section .wrapper{ max-width: 1100px;}
.blog-main .blog-section-heading{ font-family: "kessler", Georgia, Times, "Times New Roman", serif; font-size: 61px; letter-spacing: 0.185em; line-height: 74px; text-transform: lowercase; color: #bc7140; text-align: center; background: #fff; padding: 25px 0 20px; margin: 0 0 40px;}
.blog-main .blog-cards{ display: flex; gap: 30px; align-items: stretch;}
.blog-main .blog-card{ flex: 1; display: flex; flex-direction: column;}
.blog-main .blog-card-image{ display: block; overflow: hidden; aspect-ratio: 16 / 9; flex-shrink: 0;}
.blog-main .blog-card-image img{ width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease;}
.blog-main .blog-card-image:hover img{ transform: scale(1.03);}
.blog-main .blog-card-body{ flex: 1; padding: 30px 30px 35px;}
.blog-main .blog-card-title{ font-family: "filson-soft", sans-serif; font-size: 18px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; line-height: 1.35; margin: 0 0 10px;}
.blog-main .blog-card-title a{ color: #474747; text-decoration: none;}
.blog-main .blog-card-title a:hover{ color: #bc7140;}
.blog-main .blog-card-meta{ font-family: "filson-soft", sans-serif; font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; color: #999; margin-bottom: 14px; display: flex; align-items: center; gap: 6px;}
.blog-main .blog-card-excerpt{ font-size: 15px; line-height: 1.8; letter-spacing: 0.06em; color: #5a5a5a;}
.blog-main .blog-card-excerpt p{ margin: 0;}
.blog-main .blog-read-more{ display: inline-block; margin-top: 16px; font-family: "filson-soft", sans-serif; font-size: 13px; letter-spacing: 0.18em; text-transform: uppercase; color: #bc7140; text-decoration: none;}
.blog-main .blog-read-more:hover{ color: #5e7e95;}
.blog-main .blog-section-btn{ margin-top: 50px; text-align: center;}

/* Card background variants */
.blog-main .blog-card--white{ background: #fff;}
.blog-main .blog-card--orange{ background: #bc7140;}
.blog-main .blog-card--orange .blog-card-title a{ color: #fff;}
.blog-main .blog-card--orange .blog-card-title a:hover{ color: rgba(255,255,255,0.75);}
.blog-main .blog-card--orange .blog-card-meta{ color: rgba(255,255,255,0.65);}
.blog-main .blog-card--orange .blog-card-excerpt{ color: rgba(255,255,255,0.9);}
.blog-main .blog-card--orange .blog-read-more{ color: #fff;}
.blog-main .blog-card--orange .blog-read-more:hover{ color: rgba(255,255,255,0.75);}


/* Category Archive */

.blog-category-main .bc-intro{ background: #f3f2ec; padding: 60px 20px; text-align: center;}
.blog-category-main .bc-intro .wrapper{ max-width: 900px;}
.blog-category-main .bc-intro h2{ font-family: "kessler", Georgia, Times, "Times New Roman", serif; font-size: 30px; letter-spacing: 0.12em; line-height: 1.2; color: #5e7e95; margin: 0 0 20px;}
.blog-category-main .bc-intro-content{ font-size: 16px; line-height: 1.9; color: #474747;}
.blog-category-main .bc-intro-content p{ margin: 0;}
.blog-category-main .bc-posts{ padding: 0;}
.blog-category-main .bc-post{ display: flex; align-items: stretch; border-bottom: 1px solid #bbb;}
.blog-category-main .bc-post:last-of-type{ border-bottom: none;}
.blog-category-main .bc-post-image{ flex: 0 0 40%; overflow: hidden; display: block; text-decoration: none;}
.blog-category-main .bc-post-image img{ width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .3s ease;}
.blog-category-main .bc-post-image:hover img{ transform: scale(1.03);}
.blog-category-main .bc-post-image-empty{ background: #5a5a5a;}
.blog-category-main .bc-post-content{ flex: 1; padding: 30px 50px; background: #474747;}
.blog-category-main .bc-post-title{ font-family: "filson-soft", sans-serif; font-size: 18px; letter-spacing: 0.14em; text-transform: uppercase; line-height: 1.35; margin: 0 0 12px;}
.blog-category-main .bc-post-title a{ color: #bc7140; text-decoration: none;}
.blog-category-main .bc-post-title a:hover{ color: #fff;}
.blog-category-main .bc-post-meta{ font-family: "filson-soft", sans-serif; font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: #fff; margin-bottom: 18px;}
.blog-category-main .bc-post-meta-sep{ margin: 0 6px;}
.blog-category-main .bc-post-excerpt{ font-size: 14px; line-height: 1.8; letter-spacing: 0.06em; color: #ccc;}
.blog-category-main .bc-post-excerpt p{ margin: 0;}
.blog-category-main .bc-read-more{ display: inline-block; margin-top: 20px; font-family: "filson-soft", sans-serif; font-size: 14px; letter-spacing: 0.24em; text-transform: uppercase; color: #5e7e95; text-decoration: none;}
.blog-category-main .bc-read-more:hover{ color: #bc7140;}
.blog-category-main .bc-empty{ padding: 80px 0; text-align: center;}
.blog-category-main .navigation{ margin: 40px 0; display: flex; justify-content: center;}
.blog-category-main .navigation ul{ list-style: none; padding: 0; margin: 0; display: flex; gap: 4px;}
.blog-category-main .navigation li a,
.blog-category-main .navigation li span{ display: inline-block; min-width: 38px; padding: 6px 10px; font-family: "filson-soft", sans-serif; font-size: 13px; letter-spacing: 0.1em; text-decoration: none; color: #474747; border: 1px solid #ccc; text-align: center; transition: all .2s;}
.blog-category-main .navigation li a:hover{ background: #bc7140; border-color: #bc7140; color: #fff;}
.blog-category-main .navigation li span.current{ background: #5e7e95; border-color: #5e7e95; color: #fff;}


/* Single Post */

.blog-single-main .bs-article{ padding: 60px 0 80px;}
.blog-single-main .bs-article-inner{ max-width: 860px;}
.blog-single-main .bs-meta{ font-family: "filson-soft", sans-serif; font-size: 13px; letter-spacing: 0.14em; text-transform: uppercase; color: #999; margin-bottom: 40px;}
.blog-single-main .bs-meta-sep{ margin: 0 8px;}
.blog-single-main .bs-categories a{ color: #5e7e95; text-decoration: none;}
.blog-single-main .bs-categories a:hover{ color: #bc7140;}
.blog-single-main .bs-content{ font-size: 17px; line-height: 1.85; letter-spacing: 0.04em; color: #474747;}
.blog-single-main .bs-content p{ margin-bottom: 1.4em;}
.blog-single-main .bs-content h2{ font-family: "kessler", Georgia, Times, "Times New Roman", serif; font-size: 28px; letter-spacing: 0.12em; text-transform: lowercase; color: #bc7140; margin: 1.5em 0 0.5em;}
.blog-single-main .bs-content h3{ font-family: "filson-soft", sans-serif; font-size: 18px; letter-spacing: 0.18em; text-transform: uppercase; color: #5e7e95; margin: 1.5em 0 0.5em;}
.blog-single-main .bs-content ul,
.blog-single-main .bs-content ol{ margin: 0 0 1.4em 1.5em; padding: 0;}
.blog-single-main .bs-content li{ margin-bottom: 0.4em;}
.blog-single-main .bs-content a{ color: #bc7140;}
.blog-single-main .bs-content a:hover{ color: #5e7e95;}
.blog-single-main .bs-content img{ margin: 30px 0; max-width: 100%;}
.blog-single-main .bs-content blockquote{ border-left: 4px solid #bc7140; margin: 30px 0; padding: 10px 0 10px 25px; font-style: italic; color: #666;}


/* Single Position */

.single-position-main .sp-content{ padding: 60px 0 80px;}
.single-position-main .sp-content-inner{ max-width: 800px;}
.single-position-main .sp-description{ font-size: 16px; line-height: 1.85; letter-spacing: 0.08em; color: #474747;}
.single-position-main .sp-description p{ margin-bottom: 1em;}
.single-position-main .sp-email-btn{ display: inline-block; margin-top: 30px; padding: 10px; color: #f3f2ec; background: #5e7e95; font-size: 18px; font-family: "filson-soft", Helvetica, Arial, sans-serif; letter-spacing: 0.240em; text-transform: uppercase; line-height: 24px; width: 255px; text-align: center; border: none;}
.single-position-main .sp-email-btn:hover{ opacity: 0.8; color: #f3f2ec;}
.single-position-main .sp-back-link{ display: inline-block; margin-top: 30px; margin-left: 30px; font-size: 14px; letter-spacing: 0.08em; color: #5e7e95; text-decoration: none;}
.single-position-main .sp-back-link:hover{ color: #bc7140;}


/* Single Case Study */

.single-case-study-main .cs-details{ background: #f3f2ec; padding: 60px 0;}
.single-case-study-main .cs-details-inner{ display: flex; align-items: flex-start; gap: 0; max-width: 1100px;}
.single-case-study-main .cs-col{ flex: 1; padding: 0 50px 0 0; border-right: 1px solid #ccc;}
.single-case-study-main .cs-col:first-child{ padding-left: 0;}
.single-case-study-main .cs-col:last-child{ border-right: none; padding-right: 0; padding-left: 50px;}
.single-case-study-main .cs-col:not(:first-child):not(:last-child){ padding-left: 50px;}
.single-case-study-main .cs-col h4{ font-family: "filson-soft", sans-serif; font-size: 18px; font-weight: 500; text-transform: uppercase; letter-spacing: 0.18em; color: #bc7140; margin: 0 0 16px; line-height: 1.2;}
.single-case-study-main .cs-col-content{ font-size: 15px; line-height: 1.85; letter-spacing: 0.06em; color: #474747;}
.single-case-study-main .cs-col-content p{ margin-bottom: 0.75em;}
.single-case-study-main .cs-outcome{ margin-bottom: 0; position: relative;}
.single-case-study-main .cs-outcome::before{ content: ''; position: absolute; top: 0; left: 40%; transform: translateX(-50%); width: 0; height: 0; border-top: 28px solid #f3f2ec; border-left: 43px solid transparent; border-right: 43px solid transparent; z-index: 1;}
.single-case-study-main .cs-outcome-inner{ display: flex; min-height: 400px;}
.single-case-study-main .cs-outcome-left{ flex: 0 0 40%; background: #474747; padding: 60px 50px; display: flex; flex-direction: column; justify-content: center;}
.single-case-study-main .cs-outcome-left h3{ font-family: "filson-soft", sans-serif; font-size: 18px; font-weight: 500; letter-spacing: 0.18em; text-transform: uppercase; color: #bc7140; margin: 0 0 20px; line-height: 1.2;}
.single-case-study-main .cs-outcome-content{ font-size: 15px; line-height: 1.85; letter-spacing: 0.06em; color: rgba(255,255,255,0.85);}
.single-case-study-main .cs-outcome-content p{ margin-bottom: 0.75em;}
.single-case-study-main .cs-outcome-right{ flex: 1; background-size: cover; background-position: center center; position: relative;}
.single-case-study-main .cs-outcome-right-inner{ position: relative; z-index: 1; padding: 60px 50px; height: 100%; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center;}
.single-case-study-main .cs-quote{ font-size: 16px; line-height: 1.8; letter-spacing: 0.04em; color: #fff; font-style: normal; margin: 0 0 20px;}
.single-case-study-main .cs-quote-name{ font-family: "filson-soft", sans-serif; font-size: 13px; letter-spacing: 0.18em; text-transform: uppercase; color: rgba(255,255,255,0.75); margin-bottom: 20px;}
.single-case-study-main .cs-quote-link{ display: inline-block; font-family: "filson-soft", sans-serif; font-size: 13px; letter-spacing: 0.18em; text-transform: uppercase; color: #bc7140; text-decoration: none;}
.single-case-study-main .cs-quote-link:hover{ color: #fff;}


@media (max-width: 900px) {

	/* Navigation */
	.nav{ display: none;}
	.nav-toggle{ display: flex;}
	.mobile-overlay{ display: block;}
	.header .button{ display: none;}
	.content{ margin-top: 68px;}
	.logged-in .content{ margin-top: 100px;}

	/* Newsletter lightbox */
	#newsletter{ padding: 40px 25px;}
	#newsletter h2{ font-size: 28px;}

	/* Common section headings (large kessler h2) */
	.content .case-studies h2,
	.content .testimonials h2,
	.solutions-main .practices h2,
	.home .industries h2,
	.industries-main .process > h2,
	.about-main .giving > h2,
	.clients-main .case-studies-header,
	.solution-single .sol-section-heading{ font-size: 38px; line-height: 1.2; letter-spacing: 0.12em;}

	/* Interior hero — height driven by content + padding, not fixed values */
	body:not(.home) .hero{ min-height: 0; height: auto; padding: 80px 0 50px; align-items: center;}
	body:not(.home) .hero h1{ font-size: 40px; letter-spacing: 0.12em;}
	body:not(.home) .hero .hero-intro{ font-size: 17px; line-height: 1.6; max-width: 100%;}

	/* Home hero — headline only on mobile */
	.home .hero{ height: auto; min-height: 0; padding: 60px 20px; align-items: flex-start;}
	.home .hero .hero-content{ width: 100%; padding: 0;}
	.home .hero h1{ font-size: 36px; letter-spacing: 0.12em;}
	.home .hero h1 span{ display: block;}
	.home .hero .hero-intro{ display: none;}
	.home .hero .hero-practices{ display: none;}

	/* Hero mobile below */
	.hero-mobile-below{ display: block;}
	.hero-mobile-intro{ padding: 40px 20px; font-size: 16px; line-height: 1.8; text-align: center; color: #474747;}
	.hero-mobile-practices{ padding: 0 20px 40px;}
	.hero-mobile-practices h2{ text-align: center; font-family: "filson-soft", Helvetica, Arial, sans-serif; font-size: 13px; letter-spacing: 0.3em; text-transform: uppercase; color: #bc7140; margin: 0 0 20px; font-weight: 400;}
	.hero-mobile-practices .single-practice-wrap{ width: 100%; margin-top: 30px;}
	.hero-mobile-practices .single-practice-wrap:first-of-type{ margin-top: 0;}
	.hero-mobile-practices .single-practice{ width: 100%; text-align: center; color: #fff; font-family: "filson-soft"; box-sizing: border-box; padding: 45px 20px 40px; clip-path: polygon(0 0, 44% 0, 50% 15%, 56% 0, 100% 0, 100% 100%, 0 100%); margin-right: 0;}
	.hero-mobile-practices .single-practice-wrap:nth-of-type(1) .single-practice{ background-color: #5e7e95;}
	.hero-mobile-practices .single-practice-wrap:nth-of-type(2) .single-practice{ background-color: #bc7140;}
	.hero-mobile-practices .single-practice-wrap:nth-of-type(3) .single-practice{ background-color: #474747;}
	.hero-mobile-practices .practice-icon{ width: 50px; height: 30px; margin: 0 auto 10px;}
	.hero-mobile-practices .practice-icon img{ display: block; max-width: 100%; max-height: 100%; width: auto; height: auto; margin: 0 auto;}
	.hero-mobile-practices h3{ font-size: 14px; line-height: 1.5; text-transform: uppercase; font-weight: 600; letter-spacing: .24em; margin: 0; color: #fff;}
	.hero-mobile-practices .single-practice a.more{ display: block; margin: -30px -20px -25px; padding: 30px 20px 25px; color: #fff; text-decoration: none;}

	/* Home intro stats */
	.home .intro .intro-stats{ grid-template-columns: 1fr; margin: 40px 0;}
	.home .intro .intro-stats .single-stat:nth-of-type(even){ border-left: none; border-right: none; border-top: 1px solid #000; border-bottom: 1px solid #000;}

	/* Home solutions */
	.home .solutions .single-solution{ width: 100%;}
	.home .solutions .single-solution.featured{ clip-path: none; padding: 60px 20px;}
	.home .solutions .single-solution:nth-of-type(2),
	.home .solutions .single-solution:nth-of-type(3){ padding: 60px 30px; border-right: none; border-left: none; border-top: 5px solid #fff;}

	/* Home industries */
	.home .industries .industries-grid{ gap: 20px;}
	.home .industries .single-industry{ width: calc(50% - 10px);}

	/* Home clients */
	.home .clients .client-grid{ grid-template-columns: repeat(2,1fr); gap: 30px;}
	.home .clients .client-grid .single-client{ margin-bottom: 20px;}
	.home .clients .client-grid .single-client img{ max-width: 140px; max-height: 40px;}


	/* Home video */
	.home .video .video-wrap{ height: 360px;}

	/* Footer — single centered column on mobile */
	.footer{ padding: 60px 0 40px;}
	.footer .footer-contact{ margin-bottom: 40px; text-align: center;}
	.footer .footer-contact .container{ flex-direction: column; align-items: center; gap: 40px;}
	.footer .footer-contact .column{ width: 100%; min-width: 0; text-align: center;}
	.footer .footer-contact .phone{ justify-content: center; gap: 20px; flex-wrap: wrap;}
	.footer .footer-contact .social{ justify-content: center;}
	.footer .logo{ max-width: 240px;}
	.footer .footer-navigation .footer-nav-col, .footer .footer-navigation .footer-nav-col h4, .footer .footer-navigation .footer-nav-col ul{ display: none;}
	.footer .footer-navigation .wrapper{ display: block;}
	.footer .footer-navigation .footer-nav-ctas{ display: block; border: none; text-align: center; padding-right: 0; width: 100%;}
	.footer .footer-contact .button{ max-width: 200px;}
	.footer .sub-footer{ margin-top: 40px;}
	.footer .footer-nav-ctas .footer-badges{ margin-top: 10px; justify-content: center;}

	/* CTA section */
	.content .cta h2{ font-size: 30px; letter-spacing: 0.12em;}
	.content .cta{ padding: 60px 0;}

	/* Case studies grid — specificity must match .content .case-studies-grid */
	.content .case-studies-grid{ flex-direction: column;}
	.content .case-study-item{ border-left: none; border-top: 1px solid #ccc; padding: 30px 0;}
	.content .case-study-item:first-child{ border-top: none; padding-top: 0;}
	.content .case-study-item:last-child{ padding-right: 0;}

	/* Testimonials */
	.content .testimonials .single-testimonial{ flex-direction: column; text-align: center;}
	.content .testimonials .single-testimonial .testimonial-logo{ width: 100%; margin-bottom: 20px;}
	.content .testimonials .single-testimonial .testimonial-content{ width: 100%;}
	.content .testimonials .testimonial-carousel{ padding-bottom: 50px;}
	.content .testimonials .single-testimonial blockquote{ font-size: 16px; line-height: 1.7; letter-spacing: 0.06em;}
	.content .testimonials .slick-dots{ text-align: center; bottom: 10px;}
	.content .testimonials .slick-prev,	.content .testimonials .slick-next{ display: none !important;}
	.content .testimonials .testimonial-logo img{ display: block; margin: 0 auto 20px; max-width: 200px;}

	/* Practices / Solutions page */
	.solutions-main .practices .single-practice{ flex-direction: column;}
	.solutions-main .practices .practice-visual{ flex: 0 0 auto; padding-top: 60%; width: 100%;}
	.solutions-main .practices .practice-content{ padding: 40px 30px;}
	.solutions-main .practices .practice-content::before{ display: none;}
	.solutions-main .partnership .wrapper{ flex-direction: column;}
	.solutions-main .partnership-stat-box{ flex: 0 0 auto; width: 100%;}
	.solutions-main .partnership-accordion{ padding-left: 0; padding-top: 40px;}

	/* Solution single */
	.solution-single .sol-intro-inner{ flex-direction: column; gap: 40px;}
	.solution-single .sol-intro-inner--split .sol-stat-col{ flex: none; width: 100%;}
	.solution-single .sol-stat{ clip-path: none; padding: 60px 30px 40px;}
	.solution-single .sol-partner-row{ flex-direction: column; gap: 40px;}
	.solution-single .sol-partner-box{ flex: none; width: 100%;}
	.solution-single .sol-provide-row--split{ flex-direction: column; gap: 0;}
	.solution-single .sol-provide-row--split .sol-placements{ flex: none; width: 100%; padding-bottom: 40px;}
	.solution-single .sol-ksg-diff{ width: 100%; box-sizing: border-box; margin-top: 40px;}
	.solution-single .sol-ksg-diff::before{ display: none;}
	.solution-single .sol-ksg-diff--full{ margin-top: 40px;}
	.solution-single .sol-provide-row--quote-placements{ flex-direction: column;}
	.solution-single .sol-provide-row--quote-placements .sol-placements{ flex: none; padding: 40px 0 0;}
	.solution-single .sol-quote-box{ flex: none; width: 100%;}
	.solution-single .sol-cases-grid{ flex-direction: column; max-width: 100%;}
	.solution-single .sol-case + .sol-case{ border-left: none; border-top: 1px solid #474630;}
	.solution-single .sol-case:first-child{ padding-left: 40px;}
	.solution-single .sol-eq-box{ padding: 40px 20px;}
	.solution-single .sol-eq-inner{ flex-direction: column; gap: 30px;}
	.solution-single .sol-placements-cols{ flex-direction: column; gap: 20px;}

	/* Industries main */
	.industries-main .industries{ padding: 60px 0;}
	.industries-main .single-industry{ width: calc(50% - 15px);}
	.industries-main .fwimg{ min-height: 260px;}
	.industries-main .process-grid{ flex-direction: column; gap: 40px;}
	.industries-main .process-plan{ flex: none; width: 100%;}
	.industries-main .process-execute,
	.industries-main .process-deliver{ flex: none; width: 100%;}
	.industries-main .process-execute::before,
	.industries-main .process-deliver::before{ display: none;}
	.industries-main .single-step{ width: 180px; height: 180px;}

	/* Single industry */
	body:not(.home) .industry-single .hero{ min-height: 0; height: auto;}
	.industry-single .experience-body{ flex-direction: column;}
	.industry-single .experience-photo{ flex: none; min-height: 280px; width: 100%;}
	.industry-single .experience-content{ padding: 50px 30px;}
	.industry-single .intro .wrapper{ padding: 60px 30px;}

	/* About */
	.about-main .about-intro-inner{ flex-direction: column;}
	.about-main .about-intro-text{ flex: none; width: 100%;}
	.about-main .depth{ flex-direction: column; gap: 4px;}
	.about-main .values-grid{ grid-template-columns: 1fr; gap: 0;}
	.about-main .giving-grid{ flex-direction: column;}
	.about-main .giving-image{ min-height: 280px;}
	.about-main .giving-content-inner{ padding: 40px 30px;}

	/* Giving back */
	.giving-back-main .gb-item{ flex-direction: column;}
	.giving-back-main .gb-item-logo{ flex: none; padding: 40px 30px;}
	.giving-back-main .gb-item-content{ padding: 35px 30px;}

	/* Clients */
	.clients-main .client-logos-inner{ flex-direction: column;}
	.clients-main .client-logos-label{ flex: none; width: 100%; padding-right: 0; margin-bottom: 30px;}
	.clients-main .client-logos-grid{ border-left: none; border-top: 1px solid #474630; padding-left: 0; padding-top: 30px; grid-template-columns: repeat(2, 1fr);}
	.clients-main .cases-grid{ grid-template-columns: 1fr;}
	.clients-main .cases-grid .case-item:nth-child(odd){ padding-right: 0; border-right: none;}
	.clients-main .cases-grid .case-item:nth-child(even){ padding-left: 0;}
	.clients-main .cases-grid .case-item:nth-last-child(-n+2):nth-child(odd),
	.clients-main .cases-grid .case-item:nth-last-child(-n+2):nth-child(odd) ~ .case-item{ border-bottom: 1px solid rgba(0,0,0,0.1);}
	.clients-main .case-item:last-child{ border-bottom: none !important;}

	/* Open positions */
	.open-positions-main .op-positions-inner{ flex-direction: column;}
	.open-positions-main .op-positions-left{ flex: none; width: 100%; padding: 0 20px;}
	.open-positions-main .op-positions-right{ padding-left: 20px; border-left: none; border-top: 1px solid #999; padding-top: 30px; margin-top: 20px;}
	.open-positions-main .op-resume-inner{ flex-direction: column;}
	.open-positions-main .op-resume-left{ flex: none; width: 100%; padding: 0 20px;}
	.open-positions-main .op-resume-right{ padding-left: 20px; border-left: none; border-top: 1px solid #999; padding-top: 30px; margin-top: 20px;}
	.open-positions-main .op-form-cols{ flex-direction: column; gap: 0;}
	.open-positions-main .op-package-inner{ flex-direction: column;}
	.open-positions-main .op-package-cta{ flex: none; width: 100%; box-sizing: border-box;}
	.open-positions-main .op-package-photo{ min-height: 300px;}
	.open-positions-main .op-signup-inner{ flex-direction: column;}
	.open-positions-main .op-signup-left{ flex: none; width: 100%; padding: 0 20px;}
	.open-positions-main .op-signup-right{ padding-left: 20px; border-left: none; border-top: 1px solid #999; padding-top: 30px; margin-top: 20px;}
	.open-positions-main .op-signup-cols{ flex-direction: column;}
	.open-positions-main .op-pay-wrapper{ padding: 0;}
	.open-positions-main .op-pay-box,
	.open-positions-main .op-pay-now{ width: 100%; box-sizing: border-box;}
	.open-positions-main .op-resume-submit,
	.open-positions-main .op-signup-next{ width: 100%; box-sizing: border-box;}

	/* Contact */
	body .contact-main .hero{ min-height: 0; height: auto;}
	.contact-main .con-hero-buttons{ flex-direction: column; align-items: center; gap: 14px;}
	.contact-main .con-panel-inner{ flex-direction: column; padding: 40px 0;}
	.contact-main .con-panel-left{ flex: none; width: 100%; padding: 0;}
	.contact-main .con-panel-right{ padding-left: 0; border-left: none; border-top: 1px solid #999; padding-top: 30px;}
	.contact-main .con-positions-inner{ flex-direction: column;}
	.contact-main .con-positions-left{ flex: none; width: 100%; padding: 0 20px;}
	.contact-main .con-positions-right{ padding-left: 20px; border-left: none; border-top: 1px solid #999; padding-top: 30px; margin-top: 10px;}
	.contact-main .con-resume-inner{ flex-direction: column;}
	.contact-main .con-resume-left{ flex: none; width: 100%; padding: 0 20px;}
	.contact-main .con-resume-right{ padding-left: 20px; border-left: none; border-top: 1px solid #999; padding-top: 30px; margin-top: 10px;}
	.contact-main .con-connect-label{ font-size: 32px; line-height: 1.2;}

	/* Blog landing */
	.blog-main .blog-cards{ flex-direction: column; gap: 0;}
	.blog-main .blog-card-body{ padding: 20px 20px 25px;}
	.blog-main .blog-section-heading{ font-size: 38px; line-height: 1.2; letter-spacing: 0.12em; padding: 20px 20px 16px;}

	/* Category archive */
	.blog-category-main .bc-post{ flex-direction: column;}
	.blog-category-main .bc-post-image{ flex: none; height: 200px; width: 100%;}
	.blog-category-main .bc-post-content{ padding: 30px 20px;}

	/* Single post */
	.blog-single-main .bs-article-inner{ max-width: 100%;}

	/* Single position */
	.single-position-main .sp-email-btn{ width: 100%; box-sizing: border-box;}
	.single-position-main .sp-back-link{ display: block; margin-left: 0; margin-top: 16px;}

	/* Single case study */
	.single-case-study-main .cs-details-inner{ flex-direction: column;}
	.single-case-study-main .cs-col{ border-right: none; border-bottom: 1px solid #ccc; padding: 0 0 30px; margin-bottom: 30px;}
	.single-case-study-main .cs-col:last-child{ border-bottom: none; padding-left: 0; margin-bottom: 0;}
	.single-case-study-main .cs-col:not(:first-child):not(:last-child){ padding-left: 0;}
	.single-case-study-main .cs-outcome-inner{ flex-direction: column;}
	.single-case-study-main .cs-outcome-left{ flex: none; padding: 40px 30px;}
	.single-case-study-main .cs-outcome-right-inner{ padding: 40px 30px;}

	/* Header — logo size bumped up from 160px, 250px desktop → 200px mobile */
	.header .logo{ max-width: 200px; margin-right: 15px;}


	/* Section padding reductions — bring desktop 80–100px values down to mobile-appropriate sizes */
	.home .intro{ padding: 40px 0;}
	.home .intro .intro-stats{ margin: 30px 0;}
	.home .industries{ padding-bottom: 60px;}
	.home .industries h2{ margin-bottom: 30px;}
	.content .case-studies{ padding: 50px 0;}
	.content .case-studies h2{ margin-bottom: 30px;}
	.content .testimonials{ padding-bottom: 50px;}
	.solutions-main .partnership{ padding: 50px 0;}
	.about-main .about-intro{ padding: 50px 0;}
	.about-main .depth-item{ padding: 40px 20px;}
	.about-main .values{ padding: 50px 0;}
	.about-main .giving-image{ min-height: 260px;}
	.industries-main .process .wrapper{ padding-bottom: 50px;}
	.industries-main .process-intro{ margin-bottom: 40px;}
	.giving-back-main .gb-intro{ padding: 50px 20px;}
	.solution-single .sol-stat{ min-height: auto; padding: 50px 25px 35px;}
	.solution-single .sol-stat-head{ font-size: 42px;}
	.solution-single .sol-provide{ padding: 40px 0;}
	.solution-single .sol-cases{ padding: 40px 0;}

	/* Large panel h2 headings (45px → 28px) */
	.open-positions-main .op-positions-left h2,
	.open-positions-main .op-resume-left h2,
	.open-positions-main .op-signup-left h2,
	.contact-main .con-panel h2,
	.contact-main .con-positions-left h2,
	.contact-main .con-resume-left h2{ font-size: 28px; line-height: 1.2; letter-spacing: 0.12em;}

	/* Fixed-width 255px buttons → full width on mobile */
	.open-positions-main .op-positions-left .button,
	.open-positions-main .op-resume-conf .button,
	.open-positions-main .op-signup-conf .button,
	.contact-main .con-positions-left .button,
	.contact-main .con-build-phone-btn,
	.contact-main .con-connect .button{ width: 100%; box-sizing: border-box;}

}

@media (max-width: 600px) {
	.home .hero h1{ font-size: 28px;}
}

/* -------------------------------------------------- */
/* Schedule a Consultation popup                       */
/* -------------------------------------------------- */

#consult-pop { position: fixed; right: 20px; bottom: 20px; background: #fff; padding: 40px 30px; width: 300px; z-index: 999; box-shadow: 0 4px 20px rgba(0,0,0,0.15); }
#consult-close { position: absolute; right: 10px; top: 6px; font-size: 16px; color: #bc7140; cursor: pointer; background: none; border: none; padding: 4px 8px; line-height: 1; }
#consult-title { margin-bottom: 10px; font-size: 26px; color: #bc7140; line-height: 30px; font-family: "filson-soft", sans-serif; text-transform: uppercase; }
#consult-pop p { font-size: 14px; line-height: 1.5; margin-bottom: 20px; color: #5a5a5a; }
#consult-pop a { display: block; background: #000; text-align: center; padding: 15px; font-size: 12px; color: #fff; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; text-decoration: none; }
#consult-pop a:hover { background: #bc7140; }


/* -------------------------------------------------- */
/* Team page                                           */
/* -------------------------------------------------- */

/* Intro */
.team-main .team-intro{ padding: 70px 20px; text-align: center;}
.team-main .team-intro .wrapper{ max-width: 820px; margin: 0 auto;}
.team-main .team-intro p{ font-size: 17px; line-height: 1.9; letter-spacing: 0.08em; color: #474747; margin: 0;}

/* Member grid */
.team-main .team-members{ padding: 0;}

/* Individual card */
.team-main .team-member{ display: flex; align-items: stretch; border-bottom: 1px solid #bbb;}
.team-main .team-member:last-child{ border-bottom: none;}

/* Photo column */
.team-main .team-member-photo{ flex: 0 0 38%; background-size: cover; background-position: center top; aspect-ratio: 4 / 3; align-self: flex-start; position: relative;}

/* Content column */
.team-main .team-member-content{ flex: 1; display: flex; align-items: stretch; background: #474747;}
.team-main .team-member-info{ flex: 1; padding: 50px 40px; display: flex; flex-direction: column; justify-content: flex-start;}
.team-main .team-member-name{ font-family: "filson-soft", Helvetica, Arial, sans-serif; font-size: 20px; font-weight: 400; letter-spacing: 0.24em; text-transform: uppercase; color: #bc7140; margin: 0 0 6px;}
.team-main .team-member-title{ font-family: "filson-soft", Helvetica, Arial, sans-serif; font-size: 13px; font-weight: 400; letter-spacing: 0.24em; text-transform: uppercase; color: #fff; margin: 0 0 25px;}
.team-main .team-member-bio{ font-size: 14px; font-weight: 300; line-height: 1.85; letter-spacing: 0.08em; color: #f3f2ec; margin: 0 0 20px;}
.team-main .team-read-bio{ font-family: "filson-soft", Helvetica, Arial, sans-serif; font-size: 12px; font-weight: 400; letter-spacing: 0.18em; text-transform: uppercase; color: #5e7e95; text-decoration: none; display: inline-block; transition: opacity .15s;}
.team-main .team-read-bio:hover{ opacity: 0.7;}

/* Contact column */
.team-main .team-member-contact{ flex: 0 0 220px; padding: 50px 30px; background: #474747; border-left: 1px solid rgba(255,255,255,0.15); display: flex; flex-direction: column; justify-content: flex-start; gap: 3px;}
.team-main .team-contact-label{ font-family: "filson-soft", Helvetica, Arial, sans-serif; font-size: 11px; font-weight: 400; letter-spacing: 0.24em; text-transform: uppercase; color: #fff; margin: 0 0 10px;}
.team-main .team-contact-phone a, .team-main .team-contact-email a{ font-size: 13px; letter-spacing: 0.06em; color: #f3f2ec; text-decoration: none; transition: color .15s;}
.team-main .team-contact-phone, .team-main .team-contact-email{ margin: 0;}
.team-main .team-contact-phone a:hover, .team-main .team-contact-email a:hover{ color: #bc7140;}
.team-main .team-linkedin{ font-size: 22px; color: #fff; text-decoration: none; display: inline-block; margin-top: 12px; transition: color .15s; line-height: 1;}
.team-main .team-linkedin:hover{ color: #bc7140;}

/* Bio lightbox modal */
.team-bio-modal{ display: flex; align-items: stretch; background: #474747; max-width: 960px; width: 90vw; max-height: 85vh; overflow: hidden;}
.team-bio-photo{ flex: 0 0 35%; background-size: cover; background-position: center top; min-height: 420px;}
.team-bio-right{ flex: 1; display: flex; flex-direction: column; overflow: hidden;}
.team-bio-upper{ flex: 0 0 auto; display: flex; align-items: stretch; border-bottom: 1px solid rgba(255,255,255,0.12);}
.team-bio-header{ flex: 1; padding: 40px 35px;}
.team-bio-header .team-bio-name{ font-family: "filson-soft", Helvetica, Arial, sans-serif; font-size: 22px; font-weight: 400; letter-spacing: 0.24em; text-transform: uppercase; color: #bc7140; margin: 0 0 6px;}
.team-bio-header .team-bio-title{ font-family: "filson-soft", Helvetica, Arial, sans-serif; font-size: 12px; font-weight: 400; letter-spacing: 0.24em; text-transform: uppercase; color: #fff; margin: 0 0 20px;}
.team-bio-header p{ font-size: 14px; line-height: 1.85; letter-spacing: 0.08em; color: #f3f2ec; margin: 0;}
.team-bio-contact{ flex: 0 0 175px; padding: 40px 25px; border-left: 1px solid rgba(255,255,255,0.12); display: flex; flex-direction: column; gap: 3px;}
.team-bio-contact .team-contact-label{ font-family: "filson-soft", Helvetica, Arial, sans-serif; font-size: 11px; letter-spacing: 0.24em; text-transform: uppercase; color: #fff; margin: 0 0 10px;}
.team-bio-contact .team-contact-phone a, .team-bio-contact .team-contact-email a{ font-size: 13px; letter-spacing: 0.06em; color: #f3f2ec; text-decoration: none; transition: color .15s;}
.team-bio-contact .team-contact-phone, .team-bio-contact .team-contact-email{ margin: 0;}
.team-bio-contact .team-contact-phone a:hover, .team-bio-contact .team-contact-email a:hover{ color: #bc7140;}
.team-bio-contact .team-linkedin{ font-size: 20px; color: #fff; text-decoration: none; transition: color .15s; line-height: 1; margin-top: 12px; display: inline-block;}
.team-bio-contact .team-linkedin:hover{ color: #bc7140;}
.team-bio-full{ flex: 1; overflow-y: auto; padding: 35px 35px;}
.team-bio-full p{ font-size: 14px; line-height: 1.85; letter-spacing: 0.08em; color: #f3f2ec; margin: 0 0 16px;}
.team-bio-full p:last-child{ margin-bottom: 0;}

/* Join section */
.team-main .team-join{ background: #474747; padding: 80px 0; margin-bottom: 20px;}
.team-main .team-join-inner{ display: flex; align-items: flex-start; gap: 0; max-width: 1100px;}
.team-main .team-join-left{ flex: 0 0 38%; padding: 0 60px 0 0;}
.team-main .team-join-left h2{ font-family: "kessler", Georgia, Times, "Times New Roman", serif; font-size: 45px; line-height: 54px; letter-spacing: 0.185em; text-transform: lowercase; color: #bc7140; margin: 0 0 25px;}
.team-main .team-join-subtext p{ font-size: 15px; font-weight: 200; line-height: 1.9; letter-spacing: 0.08em; color: #f3f2ec; margin: 0 0 35px;}
.team-main .team-join-btn{ display: inline-block; padding: 10px; color: #fff; background: transparent; border: 1px solid #fff; font-size: 18px; font-family: "filson-soft", Helvetica, Arial, sans-serif; letter-spacing: 0.240em; text-transform: uppercase; line-height: 24px; width: 255px; text-align: center;}
.team-main .team-join-btn:hover{ background: #bc7140; border-color: #bc7140; opacity: 1;}
.team-main .team-join-right{ flex: 1; padding-left: 60px; border-left: 1px solid rgba(255,255,255,0.2);}
.team-main .team-join-openings-label{ font-family: "filson-soft", Helvetica, Arial, sans-serif; font-size: 13px; font-weight: 400; letter-spacing: 0.24em; text-transform: uppercase; color: #fff; margin: 0 0 20px;}
.team-main .team-join-openings-intro p{ font-size: 14px; line-height: 1.8; letter-spacing: 0.08em; color: #f3f2ec; margin: 0 0 14px;}
.team-main .team-join-openings-intro p:last-child{ margin-bottom: 0;}
.team-main .team-join-openings-intro ul{ margin: 0 0 14px; padding-left: 18px;}
.team-main .team-join-openings-intro ul:last-child{ margin-bottom: 0;}
.team-main .team-join-openings-intro li{ font-size: 14px; line-height: 1.8; letter-spacing: 0.08em; color: #f3f2ec;}
.team-main .team-join-openings-intro strong, .team-main .team-join-openings-intro b{ color: #5e7e95;}

/* Team responsive */
@media (max-width: 900px) {
	#consult-pop{ right: 10px; bottom: 10px; width: 260px; padding: 30px 20px 20px;}
	#consult-title{ font-size: 15px; line-height: 1.3;}
	#consult-pop p{ margin-top: 0;}
	#consult-close{ right: -4px;}
	.team-main .team-member{ flex-direction: column;}
	.team-main .team-member-photo{ min-height: 280px; flex: none; width: 100%;}
	.team-main .team-member-content{ flex-direction: column;}
	.team-main .team-member-contact{ flex: none; width: auto; flex-direction: row; flex-wrap: wrap; align-items: center; padding: 25px 30px; gap: 14px;}
	.team-main .team-contact-label{ width: 100%; margin-bottom: 0;}
	.team-bio-modal{ flex-direction: column; max-height: 90vh;}
	.team-bio-photo{ min-height: 240px; flex: none; width: 100%;}
	.team-bio-upper{ flex-direction: column;}
	.team-bio-header{ padding: 30px 25px;}
	.team-bio-contact{ flex: none; border-left: none; border-top: 1px solid rgba(255,255,255,0.12); padding: 20px 25px; flex-direction: row; flex-wrap: wrap; gap: 12px; align-items: center;}
	.team-bio-contact .team-contact-label{ width: 100%; margin-bottom: 0;}
	.team-bio-full{ padding: 25px;}
	.team-main .team-join-inner{ flex-direction: column;}
	.team-main .team-join-left{ flex: none; width: 100%; padding: 0 0 50px;}
	.team-main .team-join-right{ flex: none; width: 100%; padding: 50px 0 0; border-left: none; border-top: 1px solid rgba(255,255,255,0.2);}
	.team-main .team-join-btn{ width: 100%; box-sizing: border-box;}
}

@media print {
	.header, .footer, .nav, .search-form{ display: none;}
	body{ font-size: 12pt; color: #000;}
	a{ color: #000; text-decoration: underline;}
	a[href]::after{ content: " (" attr(href) ")";}
}