/**
  * Place your custom styles here.
*/

:root {
	--navy:          #0A1628;
	--dark-blue:     #003D7A;
	--blue:          #0066CC;
	--orange:        #F58220;
	--off-white:     #F8FAFC;
	--white:         #FFFFFF;
	--text-dark:     #0A1628;
	--text-gray:     #5A6C7D;
	--border-light:  #E1E8ED;
	--success: #FFA040;
}

 
body{
  margin-top: 0;
  font-family: 'Inter', sans-serif;
  font-size: 18px;
  color: var(--text-dark);
  line-height: 1.75rem;
	background: var(--off-white);
	width: 100%;
	overflow-x: hidden;
}

body.toolbar-tray-open.user-logged-in{
  padding-top: 80px !important;
}


.container-fluid{
  padding-left: 0;
  padding-right: 0;
}

.container-fluid.pad{
  padding-left: 15px;
  padding-right: 15px;
}


h1{
	font-size: 3.75rem;
	font-weight: 600;
	font-family: 'Inter', sans-serif;
	line-height: 4.5rem;
	letter-spacing: -0.02em;
	margin: 0 0 17px;
}

h2{
	font-size: 3rem;
	font-weight: 700;
	font-family: 'Inter', sans-serif;
	line-height: 3.75rem;
	letter-spacing: -0.02em;
	margin: 0 0 17px;
}

h3{
	font-size: 2.25rem;
	font-weight: 700;
	font-family: 'Inter', sans-serif;
	line-height: 2.75rem;
	letter-spacing: -0.02em;
}

h4{
	font-size: 1.875rem;
	font-weight: 600;
	font-family: 'Inter', sans-serif;
	line-height: 2.375rem;
}

h5{
	font-size: 1.5rem;
	font-weight: 600;
	font-family: 'Inter', sans-serif;
	line-height: 2rem;
}

h6{
	font-size: 1.25rem;
	font-weight: 600;
	font-family: 'Inter', sans-serif;
	line-height: 1.875rem;
}

p{
	margin: 0 0 17px;
}

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

a:hover{
	color: inherit;
}

/* #content-main a — off-brand red removed.
#content-main a{
	color: #e4232d;
} */

img{
  max-width: 100%;
  height: auto;
}

blockquote {
    padding: 30px 35px;
    margin: 30px 0;
    font-size: inherit;
    border: 1px solid #232021;
}

blockquote > :first-child{
	margin-top: 0;
}





.region-content ul, .block .field ul{
	padding: 0;
	margin: 20px 0 25px;
}

.region-content ul.nav-tabs{
	margin: 0;
}

.region-content ul li, .block .field ul li{
	list-style-type: none;
	background: url('../images/bullet.png') no-repeat 0 7px;
	padding-left: 22px;
	margin: 0 0 10px;
}

.region-content ol li, .block .field ol li{
	margin-bottom: 10px;
}

.stretch{
  margin-left: -15px;
  margin-right: -15px;
}

.vertical-align {
  display: flex;
  align-items: center;
}


/* slick carousel  */

nav.slick__arrow{
	display: none;
}


/* header */

#header{
	background: none;
	position: relative;
	z-index: 250;
	font-family: Inter, -apple-system, BlinkMacSystemFont, sans-serif;
	
}

#navbar {
    position: relative;
    z-index: 200;
}

#navbar-top{
	background: var(--navy);
	font-family: Inter, -apple-system, BlinkMacSystemFont, sans-serif;
}

#navbar-top, .region-top-header{
	width: 100%;
	padding-bottom: 0;
}

#header #block-works-logo{
	margin-top: 2px;
	display: block;
	float: left;	
}

.utility-bar {
	background: var(--navy);
	color: var(--white);
	padding: 10px 0;
	font-size: 13px;
	position: relative;
}

.utility-bar .ucontainer {
	
	margin: 0 auto;
	padding: 0 40px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.utility-links {
	display: flex;
	gap: 28px;
	align-items: center;
}

.utility-links a {
	color: var(--white);
	text-decoration: none;
	opacity: 0.9;
	transition: all 0.2s;
	font-weight: 500;
	display: flex;
	align-items: center;
	gap: 6px;
	position: relative;
}

.utility-links a:hover {
	opacity: 1;
	transform: translateY(-1px);
}

.utility-cta {
	display: flex;
	gap: 24px;
	align-items: center;
}

.utility-cta .phone {
	font-weight: 700;
	font-family: 'JetBrains Mono', monospace;
	font-size: 14px;
	display: flex;
	align-items: center;
	gap: 6px;
}

.nav-cta {
	display: flex;
	gap: 12px;
	align-items: center;
	margin-top: 0;
}

.nav-cta .btn {
	padding: 10px 20px;
	border-radius: 8px;
	font-weight: 600;
	font-size: 14px;
	text-decoration: none;
	transition: 0.2s;
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.nav-cta .btn-secondary {
	background: none;
	color: var(--blue);
	border: 1px solid var(--border-light);
}

.nav-cta .btn-secondary:hover {
	background: var(--off-white);
	border-color: var(--blue);
}

.nav-cta .btn-primary {
	background: var(--blue);
	color: var(--white);
	border: 1px solid var(--blue);
}

.nav-cta .btn-primary:hover {
	background: var(--dark-blue);
	border-color: var(--dark-blue);
	transform: translateY(-1px);
	box-shadow: rgba(0, 102, 204, 0.3) 0px 4px 12px;
}

.tbm-group-container{
	border-top: none;
}

#header #block-works-mainnavigation{
	display: none;
}

#block-works-mainnavigation .tbm-collapse {
	display: flex;
	gap: 8px;
	align-items: center;
	list-style: none;	
}

#block-works-mainnavigation .tbm-nav.level-0{
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 10px 16px;
	color: var(--text-dark);
	text-decoration: none;
	font-weight: 500;
	font-size: 15px;
	border-radius: 8px;
	transition: 0.2s;
}

#block-works-mainnavigation .tbm-nav.level-0 .tbm-item.level-1:hover{
	background: var(--off-white);
	color: var(--blue);
}

#block-works-mainnavigation .tbm-submenu{
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	background: var(--white);
	border: 1px solid var(--border-light);
	border-radius: 16px;
	box-shadow: rgba(10, 37, 64, 0.12) 0px 12px 48px;
	transition: 0.3s;
	min-width: 800px;
	max-width: 1200px;	
	padding: 32px;
}

#block-works-mainnavigation .tbm-group-title .tbm-caption{
	display: inline-block;
	padding: 2px 8px;
	background: var(--orange);
	color: var(--white);
	font-size: 11px;
	font-weight: 700;
	border-radius: 4px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	margin-left: 8px;
}

#block-works-mainnavigation .tbm-link-container {
	font-size: 13px;
	letter-spacing: 0.5px;
	color: var(--text-gray);
	margin-bottom: 16px;
}
#block-works-mainnavigation .tbm-link-container .level-2.no-link{
	font-weight: 700;
}

#block-works-mainnavigation .level-1 .tbm-link-container{
	margin-bottom: 0;
}

#block-works-mainnavigation .tbm-link-container .tbm-toggle, #block-works-mainnavigation .tbm-link-container> .tbm-link.level-1{
	font-size: 15px;
	line-height: 24px;
	background: none;
	color: var(--text-dark);
	padding: 5px 16px;
}

#block-works-mainnavigation .tbm-link-container .tbm-toggle::after{
	content: '▼';
	margin: 1px 0 0 5px;
}

#block-works-mainnavigation .tbm-link-container .tbm-toggle:hover::after{
	content: '▼';
	transform: rotate(180deg);
}

#block-works-mainnavigation .tbm-link-container .tbm-toggle:hover{
	background: var(--off-white);
	color: var(--blue);
}

#block-works-mainnavigation .tbm-subnav>.tbm-item>.tbm-link-container>a.tbm-link {
	font-size: 15px;
	font-weight: 600;
	color: var(--text-dark);
	margin-bottom: 2px;
}

#block-works-mainnavigation .tbm{
	background: none;
}

#block-works-mainnavigation .tbm-caption{
	font-size: 13px;
	color: var(--text-gray);
	line-height: 1.4;
}

#block-works-mainnavigation .tbm-item.level-1{
	border-right: none;
	background: none;
}

#block-works-mainnavigation .tbm-item.level-3:hover {
	background: var(--off-white);
}


/* Section headers: orange text */
#block-works-mainnavigation .tbm-group-title {
	color: var(--orange) !important;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.5px;
}

/* Section header: space below (override the level-1 zero-margin) */
#block-works-mainnavigation .tbm-item.level-2 > .tbm-link-container {
	margin-bottom: 12px !important;
}

/* Items list: flex column with small gap */
#block-works-mainnavigation .tbm-subnav.level-2 {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

/* Leaf item links: padding matching comp */
#block-works-mainnavigation .tbm-item.level-3 a.tbm-link.level-3 {
	display: block;
	padding: 10px 12px;
	border-radius: 8px;
	transition: background 0.2s;
}

/* Hover on the link not the li */
#block-works-mainnavigation .tbm-item.level-3:hover {
	background: none;
}
#block-works-mainnavigation .tbm-item.level-3:hover a.tbm-link.level-3 {
	background: var(--off-white);
}


#block-works-mainnavigation .tbm-item::before{
	display: none;
	content: none;
}



#block-works-mainnavigation-2{
	width: 100%;
}


#header .block{
	display: inline-block;
	margin-top: 2px;
	
}

.section{
	margin: 0 auto;
}

.region-header, #header .section, #navbar .section, #banner .section, .region-footer, .region-footer2{
	
	
	margin: 0 auto !important;
}

/* menu styles */

.navbar{
	display: block;
	background: var(--white);
	border-bottom: 1px solid var(--border-light);
	box-shadow: rgba(10, 37, 64, 0.04) 0px 2px 8px;
}

.navbar-default .navbar-nav > li{
	margin: 0 18px;
}

.navbar-default .navbar-nav > li > a{
	
	text-transform: uppercase;
	font-size: 14px;
	font-weight: normal;
	background: none !important;
	padding: 15px 1px;
}

.navbar-default .navbar-nav > li:hover > a{
	
	font-weight: bold;
	
	padding: 15px 0;
}

.navbar-nav > li {
    float: none !important;
    display: inline-block !important;
}

.navbar-default .navbar-nav > li[aria-label="Facebook"], .navbar-default .navbar-nav > li[aria-label="Twitter"], .navbar-default .navbar-nav > li[aria-label="LinkedIn"], .navbar-default .navbar-nav > li[aria-label="Youtube"] {
	margin: 0 4px;
}

/* Old Bootstrap navbar social icon overrides — off-brand red removed.
.navbar-default .navbar-nav > li[aria-label="Facebook"] a, .navbar-default .navbar-nav > li[aria-label="Twitter"] a, .navbar-default .navbar-nav > li[aria-label="LinkedIn"] a, .navbar-default .navbar-nav > li[aria-label="Youtube"] a {
	border: none !important;
	color: #e4232d !important;
	font-size: 17px;
	padding: 15px 1px !important;
} */

.dropdown-menu{
	left: 0;  
}

#block-mainnavigation{
	margin-top: 10px;
}


#block-searchform .form-group{
	margin-bottom: 0;
}

.dropdown-menu > li > a{
  background: none !important;
  color: inherit !important;
  padding: 6px 20px;
}

.dropdown-menu > li > a:hover{
  background: #efefef !important;
}

/* highlighted */

.breadcrumb{
	padding: 8px 0;
	
	
	margin: 0 auto;
	background: none;
	font-size: 16px;
}

.breadcrumb > li{
	font-weight: 600;
}

/* .breadcrumb > .active — off-brand red removed.
.breadcrumb > .active{
	color: #e4232d;
} */

.breadcrumb > li + li::before{
	content: "";
	background: url('../images/bullet.png') no-repeat 0 0;
	width: 8px;
	height: 12px;
	padding: 0;
	display: inline-block;
	vertical-align: middle;
	margin: 0 6px;
	position: relative;
	top: -2px;
}

.region-highlighted{
	border-bottom: 1px solid #ccc;
}

.region-highlighted h1{
	padding-left: 15px;
	padding-right: 15px;  
}

/* Content */
#main .main-content{
	padding-left: 0;
	padding-right: 0;
}
.paragraph > .paragraph__column{
    
    
    padding: 0;
}

.paragraph.paragraph--width--full > .paragraph__column, .paragraph.paragraph--width--medium > .paragraph__column, .paragraph.paragraph--width--narrow > .paragraph__column, .paragraph.paragraph--width--tiny > .paragraph__column, .paragraph.paragraph--width--wide > .paragraph__column, .paragraph > .paragraph__column{
	padding: 0;
}

.paragraph.paragraph--width--wide > .paragraph__column, .paragraph.paragraph--type--bp-column-wrapper > .paragraph__column{
	/* width: 1220px; */
	max-width: 1220px;
	float: none;
	margin: 0 auto;
}

.paragraph.paragraph--width--medium > .paragraph__column{
	max-width: 970px;
	float: none;
	margin: 0 auto;
}

.paragraph.paragraph--width--narrow > .paragraph__column{
	max-width: 630px;
	float: none;
	margin: 0 auto;
}

.constrain .region-content{
	width: 100% !important;
	margin-left: 0 !important;
	padding: 0 !important;
}

.paragraph .field--name-bp-text{
	padding: 40px 0 50px;
}

.left, .right{
	display: inline-block;
	vertical-align: top;
	max-width: 100%;
	width: 47%;
}

.left{
	margin-right: 5%;
}

.left.align-middle, .right.align-middle{
	vertical-align: middle;
}

/* right sidebar */

.region-sidebar-second h2{
	margin: 0 0 20px;
	font-style: italic;
	font-size: 30px;
}

.webform-submission-form .form-control{
	border-color: #ccc;
	border-radius: 0;
}

.webform-submission-form .panel{
	border: none;
	box-shadow: none;
}

.webform-submission-form .panel .panel-heading{
	display: none;
}	

.webform-submission-form .panel .panel-body{
	padding: 0;
}

.webform-submission-form .half-width .form-item{
	display: inline-block;
	vertical-align: top;
	width: 48%;
	margin: 0;
}

.webform-submission-form .btn-primary {
    color: #fff;
    background-color: #9fd174;
    border-color: #9fd174;
	border-radius: 0;
	font-weight: bold;
	font-size: 19px;
	min-width: 150px;
}

.webform-submission-form .half-width .panel-body > .form-item:first-child {
	margin-right: 3%;
}

.col-sm-12{
	padding: 0 !important;
}

.row{
	margin: 0 auto !important;
}

/* ================================================
   Site Footer — v17
   ================================================ */
.site-footer-wrap {
  background: #060A11;
  color: #9AA7B8;
}
.footer-accent-band {
  height: 4px;
  background: linear-gradient(90deg, #155E75 0%, #0F4456 28%, #0A2540 62%, #060A11 100%);
}
.site-footer {
  background: #0A0F18;
  padding: 56px 0 0;
  border-top: none;
  text-align: left;
  margin-top: 0;
}
.footer-container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 0px;
}
.footer-main {
  display: flex;
  gap: 56px;
  padding-bottom: 48px;
}
.site-footer__brand {
  flex: 0 0 260px;
  max-width: 260px;
}
.site-footer__brand img { max-width: 180px; height: auto; margin-bottom: 16px; display: block; }
.site-footer__brand p { font-size: 14px; line-height: 1.65; color: #8A98AA; margin-bottom: 16px; }
.footer-cols {
  flex: 1;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 36px 24px;
}
.footer-col h4 {
  color: #76879B;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .09em;
  text-transform: uppercase;
  margin-bottom: 14px;
  font-family: 'Inter', sans-serif;
}
.footer-col ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.footer-col li {
  margin-bottom: 10px;
  padding-left: 0;
  background: none;
}
.footer-col a {
  color: #9AA7B8;
  text-decoration: none;
  font-size: 13.5px;
  line-height: 1.4;
  transition: color .15s ease;
}
.footer-col a:hover { color: #FFFFFF; }
.footer-legal-bar {
  border-top: 1px solid #1A2330;
  padding: 20px 0;
}
.footer-legal-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
}
.footer-legal-bar .legal-left { color: #67748A; font-size: 12px; }
.footer-legal-bar .sep { color: #39455A; margin: 0 8px; }
.footer-legal-bar .legal-right { display: flex; gap: 24px; }
.footer-legal-bar .legal-right a { color: #67748A; font-size: 12px; text-decoration: none; transition: color .15s; }
.footer-legal-bar .legal-right a:hover { color: #FFFFFF; }
@media (max-width: 1080px) {
  .footer-main { flex-direction: column; gap: 40px; }
  .site-footer__brand { flex: none; max-width: 480px; }
  .footer-cols { grid-template-columns: repeat(3, 1fr); gap: 34px 24px; }
}
@media (max-width: 640px) {
  .footer-cols { grid-template-columns: repeat(2, 1fr); }
  .footer-legal-inner { flex-direction: column; align-items: flex-start; gap: 12px; }
  .footer-legal-bar .legal-right { gap: 20px; flex-wrap: wrap; }
}

.social-icons a{
	display: inline-block;
	vertical-align: top;
	margin-right: 5px;
	width: 27px;
	height: 27px;
	line-height: 27px;
	text-align: center;
	background-color: #baa952;
	border-radius: 50%;
}

.item-list ul{
	list-style-type: none;
	padding: 0;
}

.item-list ul li{
	list-style-type: none;
	padding-left: 17px;
	background: url('../images/bullet.png') no-repeat 0 9px;
	margin-bottom: 10px;
}

.footer2 p a{
	display: inline-block;
	margin: 0 3px;
}

.footer .slick-slide{
	margin: 0 30px;
}

/* a.cta-btn — off-brand red removed.
a.cta-btn{
	display: inline-block;
	background-color: #e4232d;
	color: #fff !important;
	margin-top: 15px;
	padding: 12px 35px;
	text-transform: uppercase;
	font-weight: bold;
	text-decoration: none !important;
	font-size: 18px;
	border: 1px solid #e4232d;
} */

a.cta-btn.green{
	background-color: #87be56;
}



a.link-style{
	color: #188a8d;
	font-weight: bold;
	font-style: italic;
	background: url('../images/link-style.png') no-repeat 100% 50%;
	padding-right: 15px;
}

.valign{
	display: inline-block;
}

#header #search-block-form{
	width: 250px;
}

#header #search-block-form .btn-primary{
	background-color: #188a8d;
	color: #1f1e1e;
}

#header .social-icons * {
    color: #000;
	font-size: 15px;
}

#header .cart-block--link__expand .cart-block--summary__icon,
#header .cart-block--link__expand .cart-block--summary__count{
	display: inline-block;
	vertical-align: middle;
	color: #fff;
}

.views-slideshow-controls-bottom .views-slideshow-pager-bullets li{
	background-color: #5e646d;
	padding: 0;
	width: 15px;
	height: 15px;
	border-radius: 50%;
	margin: 0 5px;
}

.views-slideshow-controls-bottom .views-slideshow-pager-bullets li.active{
	background-color: #0076b6;
}

.social a{
	border-radius: 50%;
	height: 25px;
	line-height: 25px;
	width: 25px;
	text-align: center;
	padding: 0;
	display: inline-block;
	vertical-align: top;
	margin-right: 5px;
	font-size: 17px;
	color: #fff;
}

.social a.facebook{
	background-color: #3b5998;
}
.social a.twitter{
	background-color: #1da1f2;
}
.social a.linked-in{
	background-color: #0077b5;
}
.social a.instagram{
	background-color: #f783ac;
}

.social a img{
	display: inline;
	vertical-align: top;
}



.sidebar-right #content-main, .sidebar-right aside,
.sidebar-left #content-main, .sidebar-left aside{
	display: inline-block;
	vertical-align: top;
	max-width: 100%;
	text-align: left;
}

.sidebar-right #content-main{
	width: 810px;
	margin-right: 50px;
}

.sidebar-right aside{
	width: 255px;
	padding-top: 30px;
}

#content-main .view-blog{
	padding: 40px 0 50px;
}

.blog.teaser .left, .blog.teaser .right{
	display: inline-block;
	vertical-align: top;
	max-width: 100%;
}

.blog.teaser .left{
  margin-right: 30px;
  width: 180px;
  height: 180px;
  line-height: 180px;
  border: 1px solid #222;
  text-align: center;
}

.blog.teaser .right{
	width: 590px;
}

.blog.teaser .field--name-field-blog-image img, .blog.full .field--name-field-blog-image img{
	max-width: 85% !important;
	height: auto !important;
	display: inline-block;
	vertical-align: middle;
}

.blog.full .field--name-field-blog-image{
  float: none;
  margin: 0 0 15px;
}

.blog.teaser h2{
	font-size: 24px;
	color: var(--text-dark);
	text-decoration: none !important;
	margin: 0 0 5px;
}

.blog.teaser h2 a{
	text-decoration: none !important;
	color: inherit !important;
}

.blog-posted{
	font-size: 14px;
	margin: 0 0 15px;
}

.blog.teaser {
	padding-bottom: 45px;
	margin-bottom: 60px;
	border-bottom: 1px solid #222;
}

.view-blog .view-content .views-row:last-child .blog.teaser{
	padding-bottom: 0;
	margin-bottom: 0;
	border: none;
}

.blog-more{
	font-size: 14px;
	text-transform: uppercase;
	font-weight: bold;
	margin-top: 25px;
}

.blog-more .social a {
    height: 25px;
    line-height: 25px;
    width: 25px;
    font-size: 14px;
}

.blog-more a{
	color: #87be57;
}

.blog-more .social{
	margin-left: 5px;
	position: relative;
	top: -3px;
}

/* .blog-more .social a — off-brand red removed.
.blog-more .social a{
	background-color: #e4232d !important;
	color: #fff !important;
} */

article.blog.full{
	padding: 10px 0 50px;
}

article.blog.full h1, .view-latest-blog-entries ul li a{
	color: #3789b1;
}

/* article a — off-brand red removed.
article a{
	color: #e4232d;
} */

article.blog.full > .content > div{
	margin-bottom: 15px;
}

.sidebar-right{
	padding: 60px 0;
}

/* .webform-submission-form .btn-primary — off-brand red removed.
.webform-submission-form .btn-primary{
	background-color: #e4232d;
	border-color: #e4232d;
} */

aside #block-webform .webform-submission-form .btn-primary{
	display: block;
	margin: 0 auto;
	width: 100%;
}

aside #block-webform .block-title{
	text-align: center;
	font-size: 22px;
	font-style: normal;
	padding: 0 15px;
}

aside .block{
	margin-bottom: 30px;
}

.main-container{
	position: relative;
	z-index: 190;
	overflow: hidden;
	width: 100%;
}


.nav-cta .btn-orange {
	background: var(--orange);
	color: var(--white);
	border: 1px solid var(--orange);
	margin-top: 20px;
}

.nav-cta .btn-orange:hover {
	background: #e85a25;
	border-color: #e85a25;
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(255, 107, 53, 0.35);
}


/* ===== HEADER & NAV — match comp design ===== */

/* Top bar: light gray */
nav#navbar-top {
  background: #f1f5f9;
  font-family: Inter, -apple-system, BlinkMacSystemFont, sans-serif;
}

nav#navbar-top,
nav#navbar-top .region-top-header {
  width: 100%;
}

.utility-bar {
  background: #f1f5f9;
  color: #475569;
  padding: 0;
  border-bottom: 1px solid rgba(0,0,0,0.06);
  font-family: Inter, -apple-system, BlinkMacSystemFont, sans-serif;
}

.utility-bar .ucontainer {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 32px;
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 24px;
}

.utility-links {
  display: flex;
  align-items: center;
  gap: 2px;
}

.utility-links a {
  color: #475569;
  font-size: 11px;
  font-weight: 500;
  padding: 4px 10px;
  border-radius: 4px;
  text-decoration: none;
  opacity: 1;
  transition: background 0.15s, color 0.15s;
}

.utility-links a:hover {
  color: #0a1628;
  background: rgba(0,0,0,0.05);
  transform: none;
}

.utility-cta .phone {
  color: #0a1628;
  font-size: 13px;
  font-weight: 600;
  font-family: Inter, -apple-system, BlinkMacSystemFont, sans-serif;
}

/* Main nav: white background + border via #header wrapper */
#header {
  background: #ffffff;
  border-bottom: 1px solid #e2e8f0;
}

/* #navbar-main is a flex container; ID specificity beats .navbar class */
nav#navbar-main {
  display: flex;
  flex-direction: row;
  align-items: center;
  flex-wrap: nowrap;
  justify-content: flex-start;
  height: 72px;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 24px;
  background: transparent;
  border-bottom: none;
  box-shadow: none;
}

/* Neutralize Bootstrap's flex-grow on the collapse container (natural width only) */
#navbar-main #CollapsingNavbar {
  flex-grow: 0;
  flex-basis: auto;
}

/* Logo block */
#block-works-logo {
  float: none;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0;
}

#block-works-logo p {
  margin: 0;
  padding: 0;
  line-height: 1;
}

#block-works-logo a {
  display: flex;
  align-items: center;
  line-height: 1;
}

/* TBM nav block: natural width, pushed left of the CTA */
#block-works-mainnavigation {
  flex: 0 0 auto;
  margin-left: 43px;
  overflow: visible;
}

/* TBM nav list */
#block-works-mainnavigation .tbm-collapse {
  display: flex;
  align-items: center;
}

#block-works-mainnavigation .tbm-nav.level-0 {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 10px 0;
}

/* Nav item top-level links */
#block-works-mainnavigation .tbm-link-container .tbm-toggle,
#block-works-mainnavigation .tbm-link-container > .tbm-link.level-1 {
  font-size: 14px;
  color: #334155;
  font-weight: 500;
  border-radius: 6px;
  padding: 7px 12px;
  background: none;
}

#block-works-mainnavigation .tbm-link-container .tbm-toggle:hover,
#block-works-mainnavigation .tbm-nav.level-0 .tbm-item.level-1:hover {
  background: #f1f5f9;
  color: #0a1628;
}

/* Carets: subtle ▾ character */
#block-works-mainnavigation .tbm-link-container .tbm-toggle::after {
  content: '\25BE';
  font-size: 10px;
  opacity: 0.4;
  margin: 0 0 0 4px;
  display: inline-block;
  vertical-align: middle;
  transition: opacity 0.2s;
}

#block-works-mainnavigation .tbm-link-container .tbm-toggle:hover::after {
  content: '\25BE';
  opacity: 0.7;
  transform: none;
}

/* Mega menu submenu panel */
#block-works-mainnavigation .tbm-submenu {
  border-radius: 10px;
  box-shadow: 0 20px 50px rgba(0,0,0,0.12);
  border: 1px solid #e2e8f0;
  padding: 28px;
}

/* Section label in mega menu: orange with border-bottom */
#block-works-mainnavigation .tbm-group-title {
  color: #f07030;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.2px;
  border-bottom: 2px solid #f07030;
  padding-bottom: 10px;
  margin-bottom: 14px;
}

#block-works-mainnavigation .tbm-group-title .tbm-caption {
  background: transparent;
  color: #f07030;
  font-size: 10px;
  padding: 0;
  margin-left: 0;
}

/* Leaf item links */
#block-works-mainnavigation .tbm-subnav > .tbm-item > .tbm-link-container > a.tbm-link {
  font-size: 13px;
  font-weight: 600;
  color: #0a1628;
}

#block-works-mainnavigation .tbm-caption {
  font-size: 12px;
  color: #475569;
  line-height: 1.5;
}

#block-works-mainnavigation .tbm-item.level-3 a.tbm-link.level-3 {
  display: block;
  padding: 8px 8px;
  border-radius: 6px;
  transition: background 0.2s;
  margin-bottom: 4px;
}

#block-works-mainnavigation .tbm-item.level-3:hover a.tbm-link.level-3 {
  background: #f8fafc;
}

/* CTA button: pushed to far right with auto left margin */
#block-works-talktoexpert {
  flex-shrink: 0;
  margin-left: auto;
}

.nav-cta {
  display: flex;
  align-items: center;
  margin-top: 0;
}

.nav-cta .btn-orange,
.nav-cta .btn.btn-orange {
  background: #F58220;
  color: #ffffff;
  border: none;
  padding: 9px 18px;
  border-radius: 6px;
  font-weight: 600;
  font-size: 13px;
  margin-top: 0;
  font-family: Inter, -apple-system, BlinkMacSystemFont, sans-serif;
  text-decoration: none;
}

.nav-cta .btn-orange:hover,
.nav-cta .btn.btn-orange:hover {
  background: #d97010;
  color: #ffffff;
}

/* Mobile toggler */
nav#navbar-main .navbar-toggler {
  flex-shrink: 0;
  margin-left: 8px;
  display: none;
}

@media (max-width: 1199px) {
  nav#navbar-main {
    height: 64px;
    padding: 0 20px;
  }

  nav#navbar-main .navbar-toggler {
    display: flex;
    margin-left: auto;
    border: none;
    padding: 6px 8px;
    background: none;
    box-shadow: none;
  }

  nav#navbar-main .navbar-toggler .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath stroke='%230a1628' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
  }
}

/* Hide drawer-only injected elements on desktop */
@media (min-width: 1199px) {
  .mobile-drawer-header,
  .mobile-drawer-footer {
    display: none !important;
  }
}

/* ===== MOBILE DRAWER ===== */
/*
 * When closed, the drawer is display:none — invisible and takes no space,
 * so viewport resize never produces a flash. JS adds .gdh-animating to
 * switch to display:block (off-screen) before adding .gdh-open to slide in.
 * On close, .gdh-open is removed first (transition runs), then .gdh-animating
 * is removed after transitionend (back to display:none).
 */
@media (max-width: 1200px) {

  /* Closed state: completely removed from visual output. */
  #CollapsingNavbar {
    display: none !important;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: 100vh;
    background: #0a1628;
    z-index: 1050;
    overflow-y: auto;
    padding: 0;
  }

  /* Animating: visible in DOM, off-screen, transition active. */
  #CollapsingNavbar.gdh-animating {
    display: block !important;
    transform: translateY(-100%);
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  }

  /* Open: slide into view. */
  #CollapsingNavbar.gdh-animating.gdh-open {
    transform: translateY(0);
  }

  /* Injected drawer header */
  .mobile-drawer-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  }

  .mobile-drawer-header img {
    height: 32px;
    width: auto;
    filter: brightness(0) invert(1);
  }

  .mobile-drawer-close {
    background: none;
    border: none;
    color: rgba(255, 255, 255, 0.6);
    font-size: 24px;
    cursor: pointer;
    padding: 4px 8px;
    line-height: 1;
  }

  /* Nav list */
  #CollapsingNavbar .navbar-nav {
    flex-direction: column;
    padding: 0;
    margin: 0;
    list-style: none;
    width: 100%;
  }

  /* Top-level items */
  #CollapsingNavbar .navbar-nav > .nav-item {
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  }

  /* Top-level trigger spans + plain links */
  #CollapsingNavbar .navbar-nav > .nav-item > .nav-link,
  #CollapsingNavbar .navbar-nav > .nav-item > .dropdown-toggle {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 13px 20px;
    color: rgba(255, 255, 255, 0.85) !important;
    font-size: 15px;
    font-weight: 600;
    font-family: Inter, -apple-system, sans-serif;
    background: none !important;
    border: none;
    text-align: left;
    cursor: pointer;
    text-decoration: none !important;
    box-sizing: border-box;
  }

  /* Caret */
  #CollapsingNavbar .navbar-nav > .nav-item > .dropdown-toggle::after {
    content: '\25BE';
    font-size: 12px;
    opacity: 0.4;
    transition: transform 0.25s;
    border: none;
    margin-left: 8px;
    flex-shrink: 0;
  }

  #CollapsingNavbar .navbar-nav > .nav-item.gdh-acc-open > .dropdown-toggle::after {
    transform: rotate(180deg);
    opacity: 0.7;
  }

  /* Top-level dropdown panel — hidden by default, shown via JS accordion class */
  #CollapsingNavbar .navbar-nav > .nav-item > .dropdown-menu {
    display: none !important;
    position: static;
    float: none;
    width: 100%;
    background: rgba(255, 255, 255, 0.03);
    border: none;
    border-radius: 0;
    box-shadow: none;
    padding: 0;
    margin: 0;
  }

  #CollapsingNavbar .navbar-nav > .nav-item.gdh-acc-open > .dropdown-menu {
    display: block !important;
  }

  /* Section group row (e.g. PUBLIC SECTOR) */
  #CollapsingNavbar .navbar-nav > .nav-item > .dropdown-menu > .dropdown-item.dropdown {
    padding: 0;
    background: transparent;
  }

  /* Section label — orange, non-interactive */
  #CollapsingNavbar .navbar-nav > .nav-item > .dropdown-menu > .dropdown-item > span {
    display: block;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    color: #f07030 !important;
    padding: 14px 20px 6px;
    pointer-events: none;
    cursor: default;
  }

  /* Section content — always visible within an open accordion panel */
  #CollapsingNavbar .navbar-nav > .nav-item > .dropdown-menu > .dropdown-item.dropdown > .dropdown-menu {
    display: block !important;
    position: static;
    float: none;
    width: 100%;
    background: transparent;
    border: none;
    border-radius: 0;
    box-shadow: none;
    padding: 0;
    margin: 0;
  }

  /* Leaf links */
  #CollapsingNavbar .navbar-nav > .nav-item > .dropdown-menu > .dropdown-item > .dropdown-menu > .dropdown-item a {
    display: block;
    padding: 10px 20px;
    color: rgba(255, 255, 255, 0.75) !important;
    font-size: 13px;
    font-weight: 500;
    font-family: Inter, -apple-system, sans-serif;
    text-decoration: none !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.04);
    white-space: normal;
  }

  #CollapsingNavbar .navbar-nav > .nav-item > .dropdown-menu > .dropdown-item > .dropdown-menu > .dropdown-item a:hover {
    color: #fff !important;
    background: rgba(255, 255, 255, 0.05) !important;
  }

  /* Prevent the global .dropdown-menu > li > a:hover rule from flashing white. */
  #CollapsingNavbar .dropdown-menu > li > a:hover,
  #CollapsingNavbar .dropdown-menu > .dropdown-item:hover,
  #CollapsingNavbar .navbar-nav > .nav-item > .nav-link:hover,
  #CollapsingNavbar .navbar-nav > .nav-item > .dropdown-toggle:hover {
    background: rgba(255, 255, 255, 0.05) !important;
  }

  /* Blog plain link — same style as top-level items */
  #CollapsingNavbar .navbar-nav > .nav-item > .nav-link--blog,
  #CollapsingNavbar .navbar-nav > .nav-item > a.nav-link {
    color: rgba(255, 255, 255, 0.85) !important;
    text-decoration: none !important;
  }

  /* Injected drawer footer */
  .mobile-drawer-footer {
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
  }

  .mobile-drawer-phone {
    background: rgba(255, 255, 255, 0.06);
    color: rgba(255, 255, 255, 0.8);
    font-size: 14px;
    font-weight: 600;
    padding: 11px;
    border-radius: 6px;
    text-align: center;
    text-decoration: none;
    display: block;
    font-family: Inter, -apple-system, sans-serif;
  }

  .mobile-drawer-cta {
    background: #F58220;
    color: #ffffff;
    font-size: 14px;
    font-weight: 700;
    padding: 12px;
    border-radius: 6px;
    text-align: center;
    text-decoration: none;
    display: block;
    font-family: Inter, -apple-system, sans-serif;
  }
}


/* Remove box-shadow from topbar (inherited from .navbar rule) */
nav#navbar-top {
  box-shadow: none;
}


nav#navbar-top {
  box-shadow: none;
}


.site-footer .footer-col .content ul { padding-left: 0; }

@media (max-width: 1199px) {
  nav#navbar-top { display: none; }
}

@media (max-width: 768px) {
  #block-works-content .hero-card { padding: 17px !important; }
  #block-works-content .hero-badge { font-size: 11px; padding: 6px 12px; }
}
