
/*
Theme Name: Rogers & Sons Group
Theme URI: https://rogersandsonsgroup.co.tz/
Author: Rogers and Sons Group of Companies Limited
Description: Premium corporate WordPress theme for Rogers and Sons Group of Companies Limited.
Version: 1.0
License: GPL-2.0-or-later
Text Domain: rogers-sons
*/
:root{--wine:#650d2a;--wine2:#8d1d43;--gold:#c9a15a;--gold2:#ead39b;--ink:#171717;--cream:#fbf8f2;--white:#fff;--muted:#69717b;--shadow:0 18px 55px rgba(40,10,20,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,Helvetica,sans-serif;color:var(--ink);line-height:1.7;background:#fff}a{text-decoration:none;color:inherit}.container{width:min(1180px,92%);margin:auto}.topbar{background:#18050b;color:#f8e9c7;font-size:13px;padding:8px 0}.topbar .container{display:flex;justify-content:space-between;gap:15px}.header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);backdrop-filter:blur(12px);box-shadow:0 8px 30px rgba(0,0,0,.07)}.nav{height:86px;display:flex;align-items:center;justify-content:space-between}.logo{height:70px;width:auto;display:block}.menu{display:flex;align-items:center;gap:28px;font-weight:800;font-size:14px;color:var(--wine)}.menu a:hover{color:var(--gold)}.menu .cta{background:var(--wine);color:#fff;padding:12px 18px;border-radius:4px}.hero{position:relative;overflow:hidden;background:radial-gradient(circle at 82% 15%,rgba(234,211,155,.23),transparent 25%),linear-gradient(120deg,#300614 0%,#650d2a 54%,#8d1d43 100%);color:#fff;padding:110px 0 105px}.hero:before{content:"";position:absolute;width:620px;height:620px;border:1px solid rgba(234,211,155,.25);border-radius:50%;right:-260px;top:-220px}.hero:after{content:"";position:absolute;width:430px;height:430px;border:1px solid rgba(234,211,155,.18);border-radius:50%;right:-150px;top:-120px}.hero-content{position:relative;z-index:2;max-width:780px}.kicker{color:var(--gold2);font-weight:900;letter-spacing:3px;text-transform:uppercase;font-size:12px}.hero h1{font-family:Georgia,serif;font-size:clamp(44px,6.2vw,78px);line-height:1.02;margin:14px 0 25px}.hero p{font-size:19px;color:#f7eef0;max-width:700px}.buttons{margin-top:30px;display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-block;padding:14px 23px;border-radius:4px;font-weight:900;letter-spacing:.2px}.btn.gold{background:var(--gold);color:#1c0b10}.btn.light{border:1px solid rgba(255,255,255,.55);color:#fff}.section{padding:90px 0}.cream{background:var(--cream)}.heading{max-width:760px;margin-bottom:45px}.heading .kicker{color:var(--wine)}.heading h2{font-family:Georgia,serif;color:var(--wine);font-size:clamp(34px,4.5vw,53px);line-height:1.15;margin:8px 0 15px}.heading p{color:var(--muted);font-size:17px}.two{display:grid;grid-template-columns:1.1fr .9fr;gap:65px;align-items:center}.panel{background:#fff;padding:40px;border-left:5px solid var(--gold);box-shadow:var(--shadow)}.panel h3{font-family:Georgia,serif;color:var(--wine);font-size:30px;margin-top:0}.goldline{width:70px;height:3px;background:var(--gold);margin:18px 0}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.card{background:#fff;border:1px solid #eee2d2;padding:30px 26px;position:relative;box-shadow:0 10px 35px rgba(30,5,15,.06);transition:.25s}.card:hover{transform:translateY(-7px);box-shadow:var(--shadow)}.number{font-family:Georgia,serif;color:var(--gold);font-size:34px;font-weight:900}.card h3{color:var(--wine);margin:8px 0 10px;font-size:21px}.card p{color:var(--muted);margin:0}.split{display:grid;grid-template-columns:1fr 1fr;gap:25px}.darkbox{background:linear-gradient(135deg,#300614,#650d2a);color:#fff;padding:45px;box-shadow:var(--shadow)}.darkbox h2{font-family:Georgia,serif;font-size:38px;margin-top:0}.darkbox .goldline{margin-left:0}.checklist{list-style:none;padding:0;margin:25px 0 0}.checklist li{padding:10px 0;border-bottom:1px solid rgba(255,255,255,.14)}.checklist li:before{content:"✓";color:var(--gold2);font-weight:900;margin-right:12px}.market-card{padding:35px;background:var(--cream);border-top:3px solid var(--gold)}.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.step{padding:26px 20px;border:1px solid #eadfcf;background:#fff}.step b{color:var(--wine);font-size:13px;letter-spacing:1px}.step h3{margin:7px 0;color:var(--wine)}.step p{font-size:14px;color:var(--muted)}.cta{background:linear-gradient(100deg,#650d2a,#8d1d43);color:#fff;text-align:center;padding:82px 20px}.cta h2{font-family:Georgia,serif;font-size:clamp(36px,5vw,58px);margin:0 0 12px}.cta p{max-width:700px;margin:0 auto 24px;color:#f6e9ed}.contact{background:#16050b;color:#fff;padding:75px 0}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px}.contact h2{font-family:Georgia,serif;font-size:42px;color:#fff}.contact .item{padding:17px 0;border-bottom:1px solid rgba(255,255,255,.12)}.contact .item strong{display:block;color:var(--gold2);font-size:12px;letter-spacing:1px;text-transform:uppercase}.contact a{color:#fff}.footer{background:#090205;color:#bbaeb2;text-align:center;padding:28px 15px;font-size:13px}.footer strong{color:#ead39b}.mobile-note{display:none}@media(max-width:950px){.menu{gap:13px}.cards{grid-template-columns:1fr 1fr}.two,.contact-grid{grid-template-columns:1fr}.steps{grid-template-columns:1fr 1fr}}@media(max-width:680px){.topbar .container{display:block;text-align:center}.nav{height:76px}.logo{height:60px}.menu a:not(.cta){display:none}.hero{padding:80px 0}.section{padding:65px 0}.cards,.split,.steps{grid-template-columns:1fr}.hero h1{font-size:45px}.mobile-note{display:block;font-size:12px;color:#777}}

/* Online image slider + service imagery */
.rs-slider{position:relative;min-height:650px;overflow:hidden;background:#300614}
.rs-slide{position:absolute;inset:0;opacity:0;transition:opacity .8s ease;background-size:cover;background-position:center}
.rs-slide.active{opacity:1}
.rs-slide:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(35,3,13,.92) 0%,rgba(75,8,30,.72) 48%,rgba(20,3,9,.18) 100%)}
.rs-slider-content{position:relative;z-index:2;min-height:650px;display:flex;align-items:center}
.rs-slider-copy{max-width:760px;color:#fff;padding:80px 0}
.rs-slider-copy h1{font-family:Georgia,serif;font-size:clamp(45px,6vw,76px);line-height:1.03;margin:12px 0 22px}
.rs-slider-copy p{font-size:19px;max-width:700px;color:#f8edf0}
.rs-dots{position:absolute;z-index:5;bottom:28px;left:50%;transform:translateX(-50%);display:flex;gap:8px}
.rs-dot{width:9px;height:9px;border-radius:50%;border:1px solid #ead39b;background:transparent;cursor:pointer;padding:0}
.rs-dot.active{background:#ead39b}
.service-image{height:190px;margin:-30px -26px 24px;overflow:hidden}
.service-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.card:hover .service-image img{transform:scale(1.07)}
.image-credit{font-size:11px;color:#9b8990;margin-top:18px}
.image-credit a{color:#d8bf83}
@media(max-width:680px){.rs-slider,.rs-slider-content{min-height:600px}.rs-slider-copy{padding:70px 0}.rs-slider-copy h1{font-size:45px}.service-image{height:210px}}


/* Premium contact icons */
.contact-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:20px;
  margin-top:34px;
}
.contact-card{
  display:flex;
  align-items:flex-start;
  gap:16px;
  padding:24px 20px;
  background:#fff;
  border:1px solid rgba(113,23,46,.12);
  border-radius:16px;
  box-shadow:0 12px 30px rgba(20,16,12,.07);
  transition:transform .25s ease, box-shadow .25s ease;
}
.contact-card:hover{
  transform:translateY(-5px);
  box-shadow:0 18px 40px rgba(20,16,12,.12);
}
.contact-icon{
  flex:0 0 52px;
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:linear-gradient(135deg,#71172e,#8f2440);
  color:#d6aa55;
  font-size:25px;
  font-weight:700;
  box-shadow:0 8px 18px rgba(113,23,46,.22);
}
.contact-icon span{line-height:1; transform:translateY(-1px)}
.contact-card h3{margin:2px 0 7px;font-size:17px}
.contact-card p{margin:0;line-height:1.65}
.contact-card a{color:inherit;text-decoration:none}
.contact-card a:hover{color:#71172e}
@media(max-width:900px){
  .contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
  .contact-grid{grid-template-columns:1fr}
}
