/* ==========================================================================
   UCB Business Solutions — lightweight site stylesheet
   Replaces the old styles.css + bower_components vendor CSS stack.
   Built on top of Bootstrap 5 (grid/utilities/components loaded via CDN).
   Brand: primary gold #f5b900, dark brown #2a1e16, secondary brown #4b3628.
   ========================================================================== */

:root{
  --ucb-primary: #f5b900;
  --ucb-primary-dark: #d9a300;
  --ucb-dark: #2a1e16;
  --ucb-dark-2: #4b3628;
  --ucb-gray-bg: #f9f9f9;
  --ucb-border: #e9e9e9;
  --ucb-text: #4a4a4a;
  --font-heading: "Montserrat", sans-serif;
  --font-body: "Open Sans", sans-serif;
  --header-h: 72px;
}

/* ---------- base ---------- */
html{scroll-behavior:smooth;}
body{
  font-family: var(--font-body);
  color: var(--ucb-text);
  padding-top: var(--header-h);
}
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{
  font-family: var(--font-heading);
  font-weight: 700;
  color: var(--ucb-dark);
}
a{color: var(--ucb-primary-dark); text-decoration:none;}
a:hover{color: var(--ucb-dark);}
img{max-width:100%;}
.text-primary{color: var(--ucb-primary) !important;}
.text-white{color:#fff !important;}
.text-gray-lighter{color: rgba(255,255,255,.75) !important;}
.text-xs-center,.text-sm-center{text-align:center !important;}
.text-xs-left{text-align:left !important;}
.text-xs-right{text-align:right !important;}
.hidden-xs-up{display:none !important;}
.hidden-md-down{display:none !important;}
.hidden-lg-up{display:inline-block !important;}
@media (min-width:768px){
  .hidden-md-down{display:inline-block !important;}
  .hidden-lg-up{display:none !important;}
}
.sr-only{
  position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}
.mb-2-5{margin-bottom:1.25rem !important;}
.mb-0_md{margin-bottom:0 !important;}
.pt-8{padding-top:4rem !important;}
.p-t-31{padding-top:31px !important;}
.form-group{margin-bottom:1rem;}
.input-group-btn{display:flex;}
hr.hr_default{border-top-color: var(--ucb-border);}
hr.hr_color_primary{border-top:2px solid var(--ucb-primary); width:60px; opacity:1;}

/* ---------- buttons ---------- */
.btn{font-family:var(--font-heading); font-weight:600; border-radius:2px; letter-spacing:.02em;}
.btn-primary{
  background-color: var(--ucb-primary); border-color: var(--ucb-primary); color:#2a1e16;
}
.btn-primary:hover,.btn-primary:focus{
  background-color: var(--ucb-primary-dark); border-color: var(--ucb-primary-dark); color:#2a1e16;
}
.btn-outline-primary{color:var(--ucb-primary-dark); border-color:var(--ucb-primary);}
.btn-outline-primary:hover{background-color:var(--ucb-primary); color:#2a1e16;}
.btn-outline-inverse{color:#fff; border:2px solid #fff; background:transparent;}
.btn-outline-inverse:hover{background:#fff; color: var(--ucb-dark);}

/* ---------- header / nav ---------- */
.header{
  position:fixed; top:0; left:0; width:100%; height:var(--header-h);
  display:flex; align-items:center; justify-content:space-between;
  padding:0 24px; background:#fff; box-shadow:0 1px 8px rgba(0,0,0,.08); z-index:1030;
}
.header__logo .logo img{height:40px; width:auto;}
.header__nav{flex:1; display:flex; justify-content:center;}
.main-nav{list-style:none; display:flex; gap:4px; margin:0; padding:0;}
.main-nav li a{
  display:block; padding:10px 16px; color:var(--ucb-dark); font-family:var(--font-heading);
  font-weight:600; font-size:.92rem; text-transform:uppercase; letter-spacing:.03em; border-radius:3px;
}
.main-nav li a:hover, .main-nav li.current a{color:var(--ucb-primary-dark); background:var(--ucb-gray-bg);}
#mobnav-btn{display:none; font-size:22px; color:var(--ucb-dark); cursor:pointer; padding:8px;}
.header__aside{display:flex; align-items:center;}
.side-panel-btn{display:flex; flex-direction:column; gap:4px; width:26px; cursor:pointer;}
.side-panel-btn__line{display:block; height:2px; background:var(--ucb-dark); width:100%;}

@media (max-width:991px){
  .header__nav{
    position:fixed; top:var(--header-h); left:0; width:100%; background:#fff;
    flex-direction:column; max-height:0; overflow:hidden; transition:max-height .25s ease;
    box-shadow:0 6px 10px rgba(0,0,0,.08);
  }
  .header__nav .main-nav{flex-direction:column; width:100%;}
  .main-nav.main-nav_active{display:flex;}
  .header__nav.header__nav_active{max-height:70vh; overflow-y:auto;}
  #mobnav-btn{display:block;}
}

/* off-canvas push menu */
.nav-pushy{
  position:fixed; top:0; right:0; width:320px; max-width:85vw; height:100%;
  background:var(--ucb-dark); color:#fff; transform:translateX(100%);
  transition:transform .3s ease; z-index:1050; overflow-y:auto;
}
.nav-pushy.nav-pushy_open{transform:translateX(0);}
.nav-pushy__header{display:flex; justify-content:flex-end; padding:16px;}
.nav-pushy__close{
  position:relative; width:28px; height:28px; display:inline-block; cursor:pointer;
}
.nav-pushy__close::before,.nav-pushy__close::after{
  content:""; position:absolute; top:50%; left:0; width:100%; height:2px; background:#fff;
}
.nav-pushy__close::before{transform:rotate(45deg);}
.nav-pushy__close::after{transform:rotate(-45deg);}
.nav-pushy__content{padding:0 20px 30px;}
.site-overlay{
  position:fixed; inset:0; background:rgba(0,0,0,.55); opacity:0; visibility:hidden;
  transition:opacity .3s ease; z-index:1040;
}
.site-overlay.site-overlay_visible{opacity:1; visibility:visible;}

/* ---------- widgets (shared by push-menu + footer) ---------- */
.widget__title{font-size:1.05rem; margin-bottom:14px; color:inherit;}
.widget-contact_logo{
  display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px;
  border:2px solid var(--ucb-primary); color:var(--ucb-primary); font-weight:700; font-size:.8rem; margin-right:8px;
}
.widget-contact__desc{margin-bottom:16px; opacity:.9;}
.widget-contact-list{list-style:none; margin:0 0 16px; padding:0;}
.widget-contact-list__item{position:relative; padding-left:26px; margin-bottom:10px; font-size:.92rem; opacity:.9;}
.widget-contact-list__item_address::before{content:"\f041";}
.widget-contact-list__item_phone::before{content:"\f095";}
.widget-contact-list__item_email::before{content:"\f0e0";}
.widget-contact-list__item::before{
  font-family:"FontAwesome"; position:absolute; left:0; top:0; color:var(--ucb-primary);
}
li.fa-whatsapp{list-style:none; margin-bottom:10px;}
li.fa-whatsapp::before{font-family:"FontAwesome"; content:"\f232"; color:var(--ucb-primary); margin-right:8px;}
li.fa-whatsapp a{color:inherit;}
.widget_categories ul, .tagcloud{list-style:none; margin:0; padding:0;}
.widget_categories ul li a{
  display:block; padding:6px 0; border-bottom:1px solid rgba(255,255,255,.08); color:inherit; opacity:.85;
}
.nav-pushy .widget_categories ul li a{border-color:rgba(255,255,255,.1);}
.tagcloud{display:flex; flex-wrap:wrap; gap:8px;}
.tagcloud .btn{padding:.25rem .75rem; font-size:.8rem;}

/* ---------- hero ---------- */
.hero-content{position:relative; overflow:hidden;}
.hero-slider_vegas{
  min-height:70vh; display:flex; align-items:center;
  background:linear-gradient(120deg, var(--ucb-dark) 0%, var(--ucb-dark-2) 100%);
  padding:80px 0;
}
.hero-slider__content-inner{align-items:center;}
.hero-slider__txt{color:#fff; font-family:var(--font-heading); font-weight:700; line-height:1.15;}
.hero-slider__txt_lg{font-size:2.4rem;}
@media (min-width:768px){.hero-slider__txt_lg{font-size:3.1rem;}}
.hero-txt-rotating{display:inline-block; min-height:1.2em;}
.blockquote_txt_white{color:#fff;}
.blockquote_simple{border-left:3px solid var(--ucb-primary); padding-left:20px; font-size:1.05rem;}
.blockquote-footer{color:var(--ucb-primary); opacity:1;}

/* ---------- page header (inner pages hero strip) ---------- */
.page-header{
  background:linear-gradient(120deg, var(--ucb-dark) 0%, var(--ucb-dark-2) 100%);
  color:#fff; padding:60px 0; text-align:center;
}
.page-header__title{color:#fff; margin-bottom:10px;}
.breadcrumb_page-header{justify-content:center; background:transparent; margin:0;}
.breadcrumb_page-header .breadcrumb-item, .breadcrumb_page-header a{color:rgba(255,255,255,.8);}
.breadcrumb_page-header .active{color:var(--ucb-primary);}

/* ---------- sections ---------- */
.section{padding:60px 0;}
.section_size_sm{padding:36px 0;}
.section_size_lg{padding:90px 0;}
.section_no-paddings{padding:0;}
.section_color_default{background:#fff;}
.section_color_gray{background:var(--ucb-gray-bg);}
.section_color_primary{background:var(--ucb-primary); color:var(--ucb-dark);}
.section_color_primary h1,.section_color_primary h2,.section_color_primary h3{color:var(--ucb-dark);}
.section__inner{padding:20px 0;}
.hgroup{text-align:center; margin-bottom:36px;}
.hgroup_sm{text-align:left; margin-bottom:20px;}
.col-padding-right_md{padding-right:0;}
@media (min-width:768px){.col-padding-right_md{padding-right:30px;}}

/* jarallax / hero banner sections (static bg, no JS parallax lib needed) */
.jarallax{
  position:relative; background-size:cover; background-position:center; background-attachment:scroll;
}
@media (min-width:992px){.jarallax{background-attachment:fixed;}}
.jarallax_bg1{background-image:url("../images/parallax-img1.jpg");}
.jarallax_bg2{background-image:url("../images/jumbotron-bg.jpg");}
.jarallax_bg2_pricing{background-image:url("../images/jumbotron-bg-pricing.jpg");}
.jarallax_bg2_plans_us{background-image:url("../images/jumbotron-bg-plans-us.jpg");}
.section_overlay{position:relative; z-index:1;}
.section_overlay::before{
  content:""; position:absolute; inset:0; z-index:-1;
}
.section_overlay_black::before{background:rgba(20,14,10,.7);}
.section_overlay_white::before{background:rgba(255,255,255,.85);}
.section_overlay_opacity_70::before{opacity:.95;}
.section_overlay_black h1,.section_overlay_black h2,.section_overlay_black p{color:#fff;}
.section_overlay_black .text-primary{color:var(--ucb-primary) !important;}

/* jumbotron (Bootstrap 5 dropped this component) */
.jumbotron{border-radius:6px; padding:48px; background:var(--ucb-gray-bg);}
.jumbotron_bg-color_primary{background:var(--ucb-primary); color:var(--ucb-dark);}
.jumbotron_txt_secondary{color:var(--ucb-dark-2);}
.jumbotron__title{margin-bottom:14px;}

/* ---------- icon boxes ---------- */
.icoboxes-card-wrapper{display:grid; gap:20px; grid-template-columns:repeat(2,1fr);}
@media (min-width:768px){.icoboxes-card-wrapper__3cols{grid-template-columns:repeat(3,1fr);}}
@media (min-width:992px){.icoboxes-card-wrapper__3cols{grid-template-columns:repeat(6,1fr);}}
.icobox{text-align:center;}
.icobox_type_card{background:#fff; border:1px solid var(--ucb-border); border-radius:6px; padding:26px 12px; transition:box-shadow .2s, transform .2s;}
.icobox_type_card:hover{box-shadow:0 12px 24px rgba(0,0,0,.08); transform:translateY(-3px);}
.icobox_type_boxed{background:#fff; border:1px solid var(--ucb-border); border-radius:6px; padding:34px 20px; position:relative;}
.icobox_top-line::before{content:""; position:absolute; top:0; left:0; width:100%; height:3px; background:var(--ucb-primary); border-radius:6px 6px 0 0;}
.icobox__icon-holder{margin-bottom:14px;}
.icobox_icon-shape_round .icobox__icon{
  width:64px; height:64px; line-height:64px; border-radius:50%; background:var(--ucb-gray-bg); margin:0 auto;
}
.icobox_size_xl .icobox__icon{font-size:26px;}
.icobox__icon{color:var(--ucb-primary); font-size:22px;}
.icobox_icon-color-primary .icobox__icon{color:var(--ucb-primary);}
.icobox__title{margin:0 0 8px; font-size:1rem;}
.icobox_title_accent .icobox__title{color:var(--ucb-dark);}
.icobox__link-wrapper{color:inherit; display:block;}
.icobox__link-wrapper:hover{color:inherit;}
.icobox_icon-left{text-align:left; display:flex; gap:14px; align-items:flex-start;}
.icobox_icon-no-shape .icobox__icon{background:none; width:auto; height:auto; line-height:normal;}

/* ---------- figure / lightbox trigger ---------- */
.figure-holder{position:relative;}
.figure_play .figure-holder__link{position:relative; display:block;}
.figure_play .figure-holder__link::after{
  content:"\f04b"; font-family:"FontAwesome"; position:absolute; top:50%; left:50%;
  transform:translate(-50%,-50%); width:64px; height:64px; line-height:64px; text-align:center;
  background:var(--ucb-primary); color:var(--ucb-dark); border-radius:50%; font-size:22px; padding-left:4px;
}
.img-overlay{position:relative; display:block; overflow:hidden;}
.img-overlay img{transition:transform .3s ease;}
.img-overlay:hover img{transform:scale(1.05);}

/* ---------- accordion (legacy Bootstrap3/4 panel markup, no JS framework needed) ---------- */
.accordion_style_default .panel{border:1px solid var(--ucb-border); border-radius:6px; margin-bottom:10px; overflow:hidden;}
.accordion_style_default .panel-heading{background:var(--ucb-gray-bg);}
.accordion_style_default .panel-title{margin:0;}
.accordion_style_default .panel-title a{
  display:block; padding:16px 20px; color:var(--ucb-dark); font-size:1rem; position:relative; padding-right:40px;
}
.accordion_style_default .panel-title a::after{
  content:"\f068"; font-family:"FontAwesome"; position:absolute; right:20px; top:16px; color:var(--ucb-primary); font-size:.8rem;
}
.accordion_style_default .panel-title a.collapsed::after{content:"\f067";}
.accordion_style_default .panel-body{padding:18px 20px; border-top:1px solid var(--ucb-border);}
.accordion_style_default .panel-collapse{overflow:hidden; max-height:0; transition:max-height .25s ease;}
.accordion_style_default .panel-collapse.in,
.accordion_style_default .panel-collapse.show{max-height:2000px;}

/* ---------- blog ---------- */
.blog-content_grid{margin:0 -10px;}
.blog-content_grid .post{padding:0 10px; margin-bottom:28px;}
.post{background:#fff;}
.post__thumbnail{margin:0 0 16px; border-radius:6px; overflow:hidden;}
.post__thumbnail img{width:100%; height:auto; display:block;}
.post__categories{color:var(--ucb-primary-dark); text-transform:uppercase; font-size:.75rem; font-weight:700; letter-spacing:.05em; margin-bottom:6px;}
.post__categories a{color:inherit;}
.post__title{margin-bottom:8px; font-size:1.15rem; line-height:1.4;}
.post__title a{color:var(--ucb-dark);}
.post__title a:hover{color:var(--ucb-primary-dark);}
.post__meta{display:flex; gap:16px; font-size:.82rem; color:#8a8a8a; margin-bottom:10px;}
.post__excerpt{color:var(--ucb-text);}
.post_thumb_left{border-bottom:1px solid var(--ucb-border); padding-bottom:26px; margin-bottom:26px;}
.blog-sidebar .widget{background:var(--ucb-gray-bg); border-radius:6px; padding:22px; margin-bottom:24px;}
.blog-sidebar .widget_categories ul li a{color:var(--ucb-dark); border-bottom-color:var(--ucb-border);}
.blog-sidebar .widget-contact-list__item::before{color:var(--ucb-primary-dark);}

/* pagination */
.pagination_modern .page-link{
  border:none; border-radius:6px !important; margin:0 4px; color:var(--ucb-dark); font-weight:600;
}
.pagination_modern .page-item.active .page-link{background:var(--ucb-primary); color:var(--ucb-dark);}
.pagination_modern_top-border .page-link{border-top:3px solid transparent;}
.pagination_modern_top-border .page-item.active .page-link{border-top-color:var(--ucb-primary-dark);}

/* ---------- testimonials ---------- */
.testimonial-wrapper.section_color_primary{background:var(--ucb-primary);}
.swiper-container{position:relative;}
.swiper-wrapper{display:flex;}
.swiper-slide{min-width:100%; display:none;}
.swiper-slide.swiper-slide_active{display:block;}
.testimonial-container{text-align:center; max-width:720px; margin:0 auto;}
.testimonial-text{font-size:1.2rem; font-style:italic; margin-bottom:20px; color:var(--ucb-dark);}
.figure-author img{width:64px; height:64px; border-radius:50%; margin-bottom:10px;}
.figure-author h5{margin-bottom:2px;}
.swiper-button-prev,.swiper-button-next{
  position:absolute; top:50%; transform:translateY(-50%); cursor:pointer; font-size:22px; color:var(--ucb-dark);
  width:36px; height:36px; text-align:center; line-height:36px;
}
.swiper-button-prev{left:0;}
.swiper-button-next{right:0;}
.swiper-button-prev::after{font-family:"FontAwesome"; content:"\f104";}
.swiper-button-next::after{font-family:"FontAwesome"; content:"\f105";}

/* ---------- footer ---------- */
.footer{background:var(--ucb-dark); color:rgba(255,255,255,.85);}
.footer-widgets{padding:56px 0 24px;}
.footer .widget-contact-list__item{opacity:.85;}
.footer .widget-newsletter__desc{font-size:.85rem; opacity:.75; margin-top:12px;}
.footer .form-newsletter .form-control{border-radius:2px 0 0 2px; border:none;}
.footer-copyright{
  text-align:center; padding:18px 0; border-top:1px solid rgba(255,255,255,.1); font-size:.85rem; opacity:.75;
}
.footer-copyright a{color:var(--ucb-primary);}

/* ---------- misc components ---------- */
.title-lead{color:var(--ucb-primary-dark); text-transform:uppercase; font-size:.9rem; letter-spacing:.03em;}
/* Single blog post page */
.post_single .post__thumbnail{margin-bottom:1.5rem;}
.post_single .post__title{font-size:1.9rem; line-height:1.3; margin-bottom:.75rem;}
.post_single .post__meta{margin-bottom:1.5rem;}
.post__share-links ul{list-style:none; display:flex; gap:.5rem; padding:0; margin:0 0 1.5rem;}
.post__share-links .btn-share{
  display:inline-flex; align-items:center; gap:.4rem; padding:.4rem .8rem; border-radius:4px;
  background:var(--ucb-gray-bg); color:var(--ucb-text); font-size:.85rem;
}
.post__share-links .btn-share:hover{background:var(--ucb-primary); color:#fff;}
.post__share-links .btn-share span{display:none;}
@media (min-width:768px){.post__share-links .btn-share span{display:inline;}}
.post__content .blockquote{
  border-left:3px solid var(--ucb-primary); background:var(--ucb-gray-bg);
  padding:1rem 1.25rem; margin:1.5rem 0; font-style:italic; color:var(--ucb-dark);
}
.post-nav{display:flex; flex-wrap:wrap; gap:1rem; justify-content:space-between; margin-bottom:1.5rem;}
.post-nav__post{
  flex:1 1 260px; display:flex; gap:1rem; align-items:center; border:1px solid var(--ucb-border);
  border-radius:8px; padding:.75rem; text-decoration:none;
}
.post-nav__post_next{flex-direction:row-reverse; text-align:right;}
.post-nav__thumb{width:64px; height:64px; flex:none; border-radius:6px; overflow:hidden; margin:0;}
.post-nav__thumb img{width:100%; height:100%; object-fit:cover;}
.post-nav__label{display:block; font-size:.72rem; text-transform:uppercase; letter-spacing:.04em; color:#8a8a8a;}
.post-nav__title{font-size:.9rem; margin:0; color:var(--ucb-dark);}

/* Related posts: show as a static grid instead of a single-slide-at-a-time carousel */
.swiper_blog-related .swiper-wrapper{display:flex; flex-wrap:wrap; gap:1.5rem;}
.swiper_blog-related .swiper-slide{
  display:block !important; min-width:0; flex:1 1 220px; max-width:calc(33.333% - 1rem);
}
@media (max-width:768px){.swiper_blog-related .swiper-slide{max-width:calc(50% - .75rem);}}
@media (max-width:480px){.swiper_blog-related .swiper-slide{max-width:100%;}}
.swiper_blog-related .swiper-button-wrap_square,
.swiper_blog-related .swiper-button-prev,
.swiper_blog-related .swiper-button-next{display:none;}
.swiper_blog-related .post_grid-item{
  display:block; background:#fff; border-radius:8px; overflow:hidden; height:100%;
}
.swiper_blog-related .post_grid-item .post__thumbnail{margin:0;}
.swiper_blog-related .post_grid-item .post__header{padding:1rem;}
.swiper_blog-related .post_grid-item .post__title{color:var(--ucb-dark); font-size:1rem;}
.swiper_blog-related-title{color:#fff; text-align:center; margin-bottom:2rem;}

.title-bordered{border-bottom:2px solid var(--ucb-primary); padding-bottom:10px; margin-bottom:16px;}
.list-caret{list-style:none; padding:0; column-count:1;}
.list-caret li{position:relative; padding-left:20px; margin-bottom:8px; font-size:.9rem;}
.list-caret li::before{content:"\f0da"; font-family:"FontAwesome"; position:absolute; left:0; color:var(--ucb-primary);}

.pricing-plan{border:1px solid var(--ucb-border); border-radius:8px; overflow:hidden; text-align:center; background:#fff; margin-bottom:24px;}
.pricing-plan_featured{border-color:var(--ucb-primary); box-shadow:0 12px 30px rgba(0,0,0,.08);}
.pricing-plan__header{background:var(--ucb-dark); padding:30px 20px;}
.pricing-plan_featured .pricing-plan__header{background:var(--ucb-primary);}
.pricing-plan__price{display:block; font-family:var(--font-heading); font-size:2.2rem; font-weight:700; color:var(--ucb-primary);}
.pricing-plan_featured .pricing-plan__price{color:var(--ucb-dark);}
.pricing-plan__title{color:#fff; font-weight:600;}
.pricing-plan_featured .pricing-plan__title{color:var(--ucb-dark);}
.pricing-plan__content{padding:26px 20px;}
.pricing-plan__content ul{list-style:none; padding:0; margin:0;}
.pricing-plan__content li{padding:8px 0; border-bottom:1px solid var(--ucb-border); font-size:.9rem;}
.pricing-plan__footer{padding:0 20px 26px;}

.counter{display:flex; align-items:center; gap:14px; justify-content:center;}
.counter_color_white{color:#fff;}
.counter__icon{font-size:30px; color:var(--ucb-primary);}
.counter__num{font-family:var(--font-heading); font-size:2.2rem; font-weight:700; display:block; line-height:1;}
.counter__info{font-size:.85rem; opacity:.85;}

.social-links__list{list-style:none; display:flex; gap:10px; padding:0; margin:0;}
.social-links__list a{
  width:36px; height:36px; display:flex; align-items:center; justify-content:center;
  border:1px solid var(--ucb-border); border-radius:50%; color:var(--ucb-dark);
}
.social-links__list a:hover{background:var(--ucb-primary); border-color:var(--ucb-primary); color:var(--ucb-dark);}
.social-links_inline .social-links__list{display:inline-flex;}

.team-member{text-align:center; margin-bottom:30px;}
.team-member__img{border-radius:6px; overflow:hidden; margin-bottom:16px;}
.team-member__name{margin-bottom:2px;}

.logos-wrapper .logo-box{
  display:flex; align-items:center; justify-content:center; height:90px; border:1px solid var(--ucb-border); border-radius:6px;
}
.logos-wrapper_hover-style2 .logo-box img{filter:grayscale(100%); opacity:.7; transition:.2s;}
.logos-wrapper_hover-style2 .logo-box:hover img{filter:none; opacity:1;}

.portfolio__item{position:relative; overflow:hidden; border-radius:6px; margin-bottom:24px;}
.portfolio__thumb img{width:100%; display:block;}
.portfolio__links{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center; gap:10px;
  background:rgba(42,30,22,.75); opacity:0; transition:opacity .25s ease;
}
.portfolio__item:hover .portfolio__links{opacity:1;}
.portfolio__link{
  width:42px; height:42px; border-radius:50%; background:var(--ucb-primary); color:var(--ucb-dark);
  display:flex; align-items:center; justify-content:center;
}

.progress-holder{margin-bottom:18px;}
.progress__label{display:flex; justify-content:space-between; margin-bottom:6px; font-size:.85rem;}
.progress{height:8px; border-radius:4px;}
.progress-bar{background-color:var(--ucb-primary);}

.info-banner-wrap{position:relative; border-radius:8px; overflow:hidden; background:var(--ucb-gray-bg);}
.info-banner-inner{padding:34px;}
.info-banner-title{margin-bottom:12px;}
.info-banner-img img{border-radius:8px;}

.cta{background:var(--ucb-dark); color:#fff; border-radius:8px; padding:40px;}
.cta-bg__primary{background:var(--ucb-primary); color:var(--ucb-dark);}
.cta__containter{display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:20px;}
.cta__title{margin:0;}
.cta-layout__full-width .cta__containter{max-width:100%;}

.card-columns{column-count:1;}
@media (min-width:768px){.card-columns_3{column-count:2;}}
@media (min-width:992px){.card-columns_3{column-count:3;}}
.card-columns .card{break-inside:avoid; margin-bottom:1.2rem;}

.gm-map{width:100%; height:320px; border:0; border-radius:6px;}
.gm-map_lg{height:420px;}

/* sitemap page level indentation */
.level-0{font-weight:700;}
.level-1{padding-left:20px;}
.level-2{padding-left:40px; font-size:.9rem;}

/* form validation feedback (used by contact form) */
.has-danger .form-control{border-color:#dc3545;}
.has-success .form-control{border-color:#198754;}
.form-control-feedback{display:block; color:#dc3545; font-size:.8rem; margin-top:4px;}

/* lightweight lightbox modal (replaces magnific-popup) */
.ucb-lightbox{
  position:fixed; inset:0; background:rgba(0,0,0,.85); display:none; align-items:center; justify-content:center;
  z-index:2000; padding:20px;
}
.ucb-lightbox.ucb-lightbox_open{display:flex;}
.ucb-lightbox__content{max-width:900px; width:100%; max-height:90vh;}
.ucb-lightbox__content img,.ucb-lightbox__content iframe{width:100%; height:auto; max-height:90vh; border:0; border-radius:6px;}
.ucb-lightbox__close{
  position:absolute; top:18px; right:24px; color:#fff; font-size:28px; cursor:pointer; line-height:1;
}

/* Blog cards (blog.html, blog2-4.html, blogs/*) */
.blog-card{
  background:#fff; border:1px solid var(--ucb-border); border-radius:8px; overflow:hidden;
  height:100%; display:flex; flex-direction:column; transition:box-shadow .15s, transform .15s;
}
.blog-card:hover{box-shadow:0 10px 30px rgba(0,0,0,.08); transform:translateY(-2px);}
.blog-card__thumb{display:block; aspect-ratio:16/10; overflow:hidden; background:var(--ucb-gray-bg);}
.blog-card__thumb img{width:100%; height:100%; object-fit:cover; display:block;}
.blog-card__body{padding:1.25rem 1.25rem 1.5rem; display:flex; flex-direction:column; flex:1;}
.blog-card__category{
  font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.04em;
  color:var(--ucb-primary-dark);
}
.blog-card__title{margin:.5rem 0; font-size:1.15rem;}
.blog-card__title a{color:var(--ucb-dark);}
.blog-card__title a:hover{color:var(--ucb-primary-dark);}
.blog-card__meta{font-size:.8rem; color:#8a8a8a; display:flex; gap:1.25rem; margin-bottom:.75rem;}
.blog-card__meta i{margin-right:.35rem;}
.blog-card__excerpt{color:var(--ucb-text); flex:1; margin-bottom:1rem;}
.blog-hero{
  background:linear-gradient(rgba(42,30,22,.75),rgba(42,30,22,.75)),var(--ucb-dark);
  background-size:cover; background-position:center; color:#fff; padding:4rem 0 3rem;
}
.blog-hero__category{
  display:inline-block; font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.04em;
  color:var(--ucb-primary); margin-bottom:.75rem;
}
.blog-hero h1{color:#fff; margin-bottom:.75rem;}
.blog-hero__meta{font-size:.9rem; color:rgba(255,255,255,.75); display:flex; gap:1.25rem;}
.blog-post-body{font-size:1.05rem; line-height:1.75;}
.blog-post-body p{margin-bottom:1.25rem;}

/* Contact Us form */
.contact-card{
  background:#fff; border:1px solid var(--ucb-border); border-radius:8px; padding:2rem;
}
.sn-honeypot{position:absolute; left:-9999px; top:-9999px; width:1px; height:1px; overflow:hidden;}

/* Start Now form (services.html) */
.icobox__body .start-now-btn{margin-top:10px;}
.sn-dropzone{
  border:2px dashed var(--ucb-border); border-radius:6px; padding:20px; text-align:center;
  color:var(--ucb-text); cursor:pointer; font-size:.9rem; transition:border-color .15s, background-color .15s;
}
.sn-dropzone:hover,.sn-dropzone_active{border-color:var(--ucb-primary); background-color:var(--ucb-gray-bg);}
