/* ============================================================
   RIC — Modern design layer (Home page)
   Palette:  maroon #96151c (primary) · gold #c18f20 (accent)
   Loaded after style.css + skin-1.css so it refines the theme.
   ============================================================ */

:root{
	--rg-ink:#1b1416;          /* deep warm charcoal for headings */
	--rg-body:#615b5d;         /* body copy */
	--rg-cream:#faf6f3;        /* warm off-white sections */
	--rg-line:#ece5e1;         /* hairline borders */
	--accent:#c18f20;          /* gold */
	--accent-2:#d7a839;
	--pri-soft:rgba(150,21,28,.06);
	--gold-soft:rgba(193,143,32,.14);
}

/* ---------------- Typography ---------------- */
body{ -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; color:var(--rg-body); }
.title,h1,h2,h3,h4,h5,h6.title{ color:var(--rg-ink); letter-spacing:-.015em; }
h2.title,.section-head .title{ font-weight:800; line-height:1.14; }
.section-head.style-1 .title{ font-size:2.6rem; }
p{ line-height:1.8; }

/* Eyebrow label with gold dash */
.sub-title.text-primary{
	display:inline-flex; align-items:center; gap:12px;
	font-weight:700; letter-spacing:.22em; font-size:13px;
	text-transform:uppercase; color:var(--primary);
}
.sub-title.text-primary::before{ content:""; width:30px; height:2px; background:var(--accent); }
.section-head.text-center .sub-title.text-primary{ justify-content:center; }

/* ---------------- Buttons ---------------- */
.btn-primary{
	background:var(--primary); border-color:var(--primary); font-weight:600;
	box-shadow:0 14px 28px -14px rgba(150,21,28,.65);
	transition:all .3s cubic-bezier(.2,.7,.2,1);
}
.btn-primary:hover{ background:var(--primary-dark); border-color:var(--primary-dark); transform:translateY(-3px); box-shadow:0 20px 34px -16px rgba(150,21,28,.7); }
.btn-light{ font-weight:600; box-shadow:0 14px 28px -16px rgba(0,0,0,.4); }
.btn-light:hover{ transform:translateY(-3px); }
.btn-link{ font-weight:700; color:var(--primary); }
.btn-link i{ color:var(--accent); }

/* ---------------- Section rhythm + warm bg ---------------- */
.content-inner{ padding-top:114px; padding-bottom:114px; }
.content-inner-2{ padding-top:104px; padding-bottom:104px; }
/* warm cream on the light, patterned sections */
section.content-inner-2[style*="bg1.png"],
section.content-inner-2[style*="bg2.png"]{ background-color:var(--rg-cream) !important; }
.section-head.style-1{ margin-bottom:54px; }

/* ---------------- Hero ---------------- */
.main-silder-swiper .title{ font-weight:800; letter-spacing:-.02em; }
.main-silder-swiper .sub-title{
	display:inline-flex; align-items:center; gap:12px;
	letter-spacing:.22em; font-weight:700;
}
.main-silder-swiper .sub-title::before{ content:""; width:34px; height:2px; background:var(--accent); }
.main-silder-swiper .title-small{ font-weight:500; opacity:.96; }

/* ---------------- About section ---------------- */
.about-bx2 .ic-media{ position:relative; margin-right:55px; }
@media only screen and (max-width:991px){ .about-bx2 .ic-media{ margin-right:auto; } }
.about-bx2 .ic-media img{ border:6px solid #fff; border-radius:18px; box-shadow:0 28px 56px -26px rgba(27,20,22,.5); }

/* floating stat badge */
.about-bx2 .ic-media .about-stat{
	position:absolute; right:-8px; bottom:7%; z-index:3;
	background:var(--primary); color:#fff; border-radius:20px;
	padding:24px 30px 24px 24px; max-width:218px;
	box-shadow:0 30px 52px -16px rgba(150,21,28,.6);
}
.about-bx2 .ic-media .about-stat::before{
	content:""; position:absolute; left:0; top:26px; bottom:26px; width:4px;
	background:var(--accent); border-radius:0 4px 4px 0;
}
.about-bx2 .ic-media .about-stat .num{
	display:block; font-size:62px; font-weight:800; line-height:1;
	font-family:"Montserrat",sans-serif; padding-left:16px;
}
.about-bx2 .ic-media .about-stat .lbl{
	display:block; font-size:14.5px; font-weight:600; line-height:1.4;
	margin-top:10px; padding-left:16px; opacity:.96;
}
@media only screen and (max-width:575px){
	.about-bx2 .ic-media .about-stat{ right:0; padding:18px 20px; max-width:170px; }
	.about-bx2 .ic-media .about-stat .num{ font-size:46px; }
}

/* accordion — modern cards with maroon icon tiles (works with template's absolute icon) */
.ic-accordion.about-faq{ margin:8px 0 32px; }
.ic-accordion.about-faq .accordion-item{
	border:1px solid var(--rg-line) !important; border-radius:14px !important;
	margin-bottom:14px !important; padding:0 !important; overflow:hidden; background:#fff;
	box-shadow:0 8px 24px -18px rgba(27,20,22,.28);
}
.ic-accordion.about-faq .accordion-item:not(:last-child){ border-bottom:1px solid var(--rg-line) !important; }
.ic-accordion.about-faq .accordion-header{ margin:0 !important; }
.ic-accordion.about-faq .accordion-button{
	display:block; position:relative;
	padding:20px 80px 20px 86px !important;
	font-weight:700; font-size:17px; color:var(--rg-ink); background:#fff;
}
.ic-accordion.about-faq .accordion-button i{
	position:absolute !important; left:18px !important; top:50%; transform:translateY(-50%);
	width:50px; height:50px; display:flex; align-items:center; justify-content:center;
	font-size:24px !important; color:var(--primary); background:var(--pri-soft);
	border-radius:14px; transition:background .35s ease, color .35s ease;
}
.ic-accordion.about-faq .accordion-button:not(.collapsed){ color:var(--primary); }
.ic-accordion.about-faq .accordion-button:not(.collapsed) i{ background:var(--primary); color:#fff; }
.ic-accordion.about-faq .accordion-button .toggle-close{ right:18px !important; }
.ic-accordion.about-faq .accordion-body{ padding:0 24px 22px 86px !important; color:var(--rg-body); }
@media only screen and (max-width:575px){
	.ic-accordion.about-faq .accordion-button{ padding-left:74px !important; }
	.ic-accordion.about-faq .accordion-body{ padding-left:24px !important; }
}

/* ---------------- Counter / stats (sits on a white panel) ---------------- */
.ic-content-bx.style-3 .counter-bx .counter{ font-weight:800; color:var(--primary); }
.ic-content-bx.style-3 .counter-bx h3{ color:var(--rg-ink) !important; font-weight:700; }

/* ---------------- Venture / service icon cards ---------------- */
/* a little more breathing room between cards */
.row:has(.icon-bx-wraper.style-3){ --bs-gutter-x:2.6rem; --bs-gutter-y:2.6rem; }

.icon-bx-wraper.style-3{
	position:relative; overflow:hidden; padding:15px 15px 26px !important;
	height:100%; min-height:0; display:block; text-align:left;
	background-color:#fff !important; background-size:0 0 !important;
	-webkit-backdrop-filter:blur(16px) saturate(118%); backdrop-filter:blur(16px) saturate(118%);
	border:1px solid rgba(27,20,22,.08) !important; border-radius:24px;
	box-shadow:0 22px 52px -26px rgba(27,20,22,.34), inset 0 1px 0 rgba(255,255,255,.55), 0 0 0 1px rgba(27,20,22,.03);
	margin-bottom:0 !important;
	transition:transform .4s cubic-bezier(.2,.7,.2,1), box-shadow .4s ease, background-color .4s ease;
}
/* the only visible image: a 4:5 portrait */
.icon-bx-wraper.style-3:after{ content:none !important; display:none !important; }
.icon-bx-wraper.style-3:before{
	content:""; display:block; width:100%; aspect-ratio:4 / 5;
	background-image:inherit; background-size:cover; background-position:center;
	border-radius:15px; margin-bottom:20px;
	box-shadow:0 10px 26px -14px rgba(27,20,22,.45);
}
.icon-bx-wraper.style-3:hover{ transform:translateY(-8px); background-color:#fff !important; box-shadow:0 36px 66px -26px rgba(27,20,22,.42), inset 0 1px 0 rgba(255,255,255,.6), 0 0 0 1px rgba(27,20,22,.04); }
/* icon badge removed */
.icon-bx-wraper.style-3 .icon-xl{ display:none !important; }
/* transparent content (no card box) */
.icon-bx-wraper.style-3 .icon-content{
	position:relative; z-index:1; background:transparent !important; padding:2px 8px 0 !important;
}
.icon-bx-wraper.style-3 .icon-content .title{ font-size:21px; margin-bottom:11px; }
.icon-bx-wraper.style-3 .icon-content .title a{ color:var(--rg-ink) !important; }
.icon-bx-wraper.style-3:hover .icon-content .title a{ color:var(--primary) !important; }
.icon-bx-wraper.style-3 .icon-content p{ color:var(--rg-body) !important; margin-bottom:18px; }
/* read-more as a clean link to suit the transparent card */
.icon-bx-wraper.style-3 .btn-primary{
	background-color:transparent !important; background-size:0 0 !important; border:0 !important; color:var(--primary) !important;
	box-shadow:none !important; padding:0 !important; font-weight:600; border-radius:0 !important;
}
.icon-bx-wraper.style-3 .btn-primary span{ border-bottom:2px solid var(--accent); padding-bottom:3px; }
.icon-bx-wraper.style-3 .btn-primary i{ color:var(--primary) !important; }
.icon-bx-wraper.style-3 .btn-primary:hover{ background:transparent !important; color:var(--primary-dark) !important; transform:none; }

/* ---------------- Project cards ---------------- */
.ic-box.overlay.style-1{ border-radius:20px; overflow:hidden; }
.ic-box.overlay.style-1 .ic-media{ overflow:hidden; }
.ic-box.overlay.style-1 .ic-media img{ transition:transform .7s cubic-bezier(.2,.7,.2,1); }
.ic-box.overlay.style-1:hover .ic-media img{ transform:scale(1.08); }
.ic-box.overlay.style-1 .ic-info .sub-title{ color:var(--accent-2); letter-spacing:.16em; font-weight:700; }
.ic-box.overlay.style-1 .ic-info .title a{ color:#fff; }

/* ---------------- Testimonials (centered quote slider) ---------------- */
.swiper-client{ max-width:860px; margin:0 auto; }
.swiper-client .testimonial-1{ text-align:center; }
.swiper-client .testimonial-info{ padding:0 10px; }
.swiper-client .quote-icon,
.swiper-client .flaticon-right-quote{ font-size:54px; color:var(--accent); opacity:.4; margin-bottom:20px; display:inline-block; line-height:1; }
.swiper-client .testimonial-text p{ font-size:1.5rem; line-height:1.65; color:var(--rg-ink); font-weight:500; }
.swiper-client .testimonial-detail{ margin-top:26px; }
.testimonial-name{ color:var(--primary); font-weight:700; font-size:1.15rem; }
.testimonial-position{ color:var(--accent) !important; letter-spacing:.04em; }

/* ---------------- FAQ ---------------- */
.accordion.ic-accordion.accordion-sm .accordion-button{ font-weight:700; }

/* ---------------- Strategy (dark) ---------------- */
.ic-content-bx.style-2 .progress-bar{ background:var(--accent); }
.ic-content-bx.style-2 .progress{ background:rgba(255,255,255,.14); border-radius:20px; }

/* ---------------- Footer ---------------- */
.site-footer .footer-title{ letter-spacing:.01em; }
.site-footer .widget_services ul li a:hover,
.site-footer a:hover{ color:var(--accent-2); }
.social-list.style-1 li a:hover{ background:var(--accent); border-color:var(--accent); }

/* ---------------- Responsive tweaks ---------------- */
@media only screen and (max-width:991px){
	.content-inner{ padding-top:80px; padding-bottom:80px; }
	.content-inner-2{ padding-top:72px; padding-bottom:72px; }
	.section-head.style-1 .title{ font-size:2rem; }
}

/* ============================================================
   Hero banner redesign — clean full-bleed image, side arrows
   ============================================================ */
/* remove the maroon wedge on the left */
.silder-one .silder-content .overlay-slide{ display:none !important; }

/* legibility gradient (dark on the left where the text sits) instead of maroon */
.silder-one .silder-img{ position:relative; }
.silder-one .silder-img:after{
	content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
	background:linear-gradient(90deg, rgba(18,16,16,.80) 0%, rgba(18,16,16,.52) 32%, rgba(18,16,16,.14) 62%, rgba(18,16,16,0) 100%);
}
.silder-one .silder-content{ z-index:3; }

/* ---- navigation: circular arrows on left & right, dots bottom-center ---- */
.silder-one .slider-one-pagination{
	background:transparent !important;
	position:absolute !important; inset:0 !important; padding:0 !important;
	width:auto !important; display:block !important; z-index:6; pointer-events:none;
}
.silder-one .slider-one-pagination > *{ pointer-events:auto; }
.silder-one .btn-prev,
.silder-one .btn-next{
	position:absolute; top:50%; transform:translateY(-50%); margin:0;
	width:62px; height:62px; border-radius:50%;
	display:flex; align-items:center; justify-content:center;
	background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.45);
	backdrop-filter:blur(5px); -webkit-backdrop-filter:blur(5px);
	font-size:0; letter-spacing:0; cursor:pointer;
	transition:background .35s ease, border-color .35s ease, transform .35s ease;
}
.silder-one .btn-prev{ left:34px; }
.silder-one .btn-next{ right:34px; }
.silder-one .btn-prev:hover,
.silder-one .btn-next:hover{ background:var(--primary); border-color:var(--primary); }
.silder-one .btn-prev:hover{ transform:translateY(-50%) translateX(-3px); }
.silder-one .btn-next:hover{ transform:translateY(-50%) translateX(3px); }
.silder-one .btn-prev i,
.silder-one .btn-next i{
	position:static !important; top:auto !important; left:auto !important; right:auto !important;
	font-size:26px !important; color:#fff !important; z-index:1 !important;
}
/* pagination dots → bottom centre */
.silder-one .slider-one-pagination .swiper-pagination{
	position:absolute; bottom:34px; left:50%; transform:translateX(-50%);
	margin:0; width:auto;
}
.silder-one .slider-one-pagination .swiper-pagination-bullet{
	color:#fff; opacity:.5; font-weight:700; font-size:15px; margin:0 11px;
}
.silder-one .slider-one-pagination .swiper-pagination-bullet-active{ opacity:1; color:#fff; }
.silder-one .slider-one-pagination .swiper-pagination-bullet-active::after{
	content:""; display:block; height:2px; background:var(--accent); margin-top:4px;
}
/* arrows visible on desktop only — hidden on tablet & mobile */
@media only screen and (max-width:991px){
	.silder-one .btn-prev,
	.silder-one .btn-next{ display:none !important; }
	.silder-one .slider-one-pagination .swiper-pagination{ bottom:34px; }
}

/* clear the left white space (leftover padding from the removed side-contact strip) */
.slidearea{ padding-left:0 !important; }

/* keep hero text clear of the side arrows on desktop */
@media only screen and (min-width:1200px){
	.silder-one .silder-content{ padding-left:128px !important; padding-right:128px !important; }
}

/* ============================================================
   Footer — classic + modern
   ============================================================ */
.site-footer.ric-footer{ background:#16110f !important; position:relative; }
.site-footer.ric-footer::before{
	content:""; position:absolute; top:0; left:0; right:0; height:3px;
	background:linear-gradient(90deg, var(--primary) 0%, var(--accent) 100%);
}
.site-footer.ric-footer .footer-top{ padding:86px 0 58px !important; }
.site-footer.ric-footer .footer-logo{ margin-bottom:6px; }
.site-footer.ric-footer .footer-logo a{ width:auto !important; }
.site-footer.ric-footer .footer-logo img{ height:78px; width:auto; }
.site-footer.ric-footer .widget_about p{
	color:rgba(255,255,255,.62); line-height:1.85; margin:24px 0 28px; max-width:350px;
}

/* titles with gold underline */
.site-footer.ric-footer .footer-title{
	color:#fff; font-size:18px; font-weight:700; letter-spacing:.01em;
	margin-bottom:26px; position:relative; padding-bottom:14px;
}
.site-footer.ric-footer .footer-title:after{
	content:""; position:absolute; left:0; bottom:0; width:36px; height:2px;
	background:var(--accent) !important;
}

/* link lists */
.site-footer.ric-footer .widget_services ul li{ margin-bottom:13px; line-height:1.4; }
.site-footer.ric-footer .widget_services ul li a{
	color:rgba(255,255,255,.62); font-size:15px; padding-left:0 !important;
	transition:color .3s ease, padding-left .3s ease;
}
.site-footer.ric-footer .widget_services ul li a:before{ display:none !important; content:none !important; }
.site-footer.ric-footer .widget_services ul li a:hover{ color:var(--accent-2); padding-left:7px !important; }

/* contact list */
.site-footer.ric-footer .ft-contact-list li{
	display:flex; gap:14px; margin-bottom:18px;
	color:rgba(255,255,255,.66); font-size:15px; line-height:1.6;
}
.site-footer.ric-footer .ft-contact-list li i{ color:var(--accent); font-size:16px; margin-top:5px; flex:0 0 18px; }
.site-footer.ric-footer .ft-contact-list li a{ color:rgba(255,255,255,.66); transition:color .3s ease; }
.site-footer.ric-footer .ft-contact-list li a:hover{ color:var(--accent-2); }

/* social */
.site-footer.ric-footer .social-list.style-1{ margin-top:0 !important; display:flex; gap:11px; padding:0; }
.site-footer.ric-footer .social-list.style-1 li{ list-style:none; }
.site-footer.ric-footer .social-list.style-1 li a{
	width:42px; height:42px; border-radius:50%; display:flex; align-items:center; justify-content:center;
	background:rgba(255,255,255,.07); color:#fff; border:1px solid rgba(255,255,255,.15);
	font-size:15px; transition:all .3s ease;
}
.site-footer.ric-footer .social-list.style-1 li a:hover{ background:var(--primary); border-color:var(--primary); transform:translateY(-3px); }

/* bottom bar */
.site-footer.ric-footer .footer-bottom{
	background:#0f0c0b !important; padding:22px 0 !important; border-top:1px solid rgba(255,255,255,.07);
}
.site-footer.ric-footer .footer-bottom .copyright-text{ color:rgba(255,255,255,.55); font-size:14px; }
.site-footer.ric-footer .footer-bottom .copyright-text a{ color:rgba(255,255,255,.82); transition:color .3s ease; }
.site-footer.ric-footer .footer-bottom .copyright-text a:hover{ color:var(--accent-2); }
.site-footer.ric-footer .ft-motto{ color:var(--accent-2); font-size:14px; letter-spacing:.04em; font-style:italic; }
@media only screen and (max-width:767px){ .site-footer.ric-footer .ft-motto{ display:block; margin-top:8px; } }

/* ============================================================
   Value-proposition statement band (Dangote-style, after hero)
   ============================================================ */
.ric-valueband{
	position:relative; background-color:#faf6f3;
	background-size:cover; background-position:center; background-repeat:no-repeat;
	padding:112px 0; overflow:hidden;
}
.ric-valueband::before{
	content:""; position:absolute; inset:0;
	background:linear-gradient(180deg, rgba(255,255,255,.93) 0%, rgba(250,246,243,.96) 100%);
}
.ric-valueband > .container{ position:relative; z-index:1; }
.ric-valueband .sub-title.text-primary{ color:var(--primary); justify-content:center; }
.ric-valueband .sub-title.text-primary::before{ background:var(--accent); }
.ric-valueband .title.text-white{ color:var(--rg-ink) !important; font-size:2.5rem; line-height:1.2; margin-bottom:18px; font-weight:800; }
.ric-valueband > .container > .row:first-child p{ color:var(--rg-body); font-size:1.08rem; line-height:1.8; margin:0; }
.ric-valueband .ric-vp-row{ margin-top:56px; }
.ric-valueband .ric-vp{ padding-left:24px; border-left:2px solid var(--accent); height:100%; }
.ric-valueband .ric-vp-no{ display:block; font-size:14px; font-weight:800; letter-spacing:.22em; color:var(--primary); margin-bottom:16px; font-family:"Montserrat",sans-serif; }
.ric-valueband .ric-vp h4{ color:var(--rg-ink); font-size:1.28rem; margin-bottom:13px; line-height:1.3; }
.ric-valueband .ric-vp p{ color:var(--rg-body); line-height:1.75; margin:0; }
.ric-valueband .ric-vp-cta{ margin-top:50px; }
@media only screen and (max-width:991px){
	.ric-valueband{ padding:72px 0; }
	.ric-valueband .ric-vp{ margin-bottom:28px; }
	.ric-valueband .title.text-white{ font-size:1.9rem; }
}

/* hide hero arrows on touch devices (phones/tablets) — users swipe to flip */
@media (hover:none) and (pointer:coarse){
	.silder-one .btn-prev,
	.silder-one .btn-next{ display:none !important; }
}

/* Homepage (desktop): float the frosted-glass navbar over the hero so the image shows through */
@media only screen and (min-width:992px){
	.site-header{ position:absolute; top:0; left:0; width:100%; z-index:999; }
}
