/*
Theme Name: Rhemsy Plus
Theme URI: https://rhemsyplus.com.ng
Author: Rhemsy Plus Nigeria Limited
Author URI: https://rhemsyplus.com.ng
Description: Custom corporate theme for Rhemsy Plus Nigeria Limited, a diversified consulting and professional services firm. Built from a bespoke HTML/CSS design — no page builder, no third-party theme framework.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Tested up to: 6.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: rhemsy-plus
*/

/* ============================================================
   Design tokens
   ============================================================ */
:root{
  --ink:#0B2545;
  --ink-2:#15335C;
  --ink-line:#2C4870;
  --ivory:#FAF8F3;
  --ivory-2:#F2EEE4;
  --charcoal:#1B2430;
  --muted:#4B4F58;
  --bronze:#AF8D57;
  --bronze-dark:#8C6D3F;
  --line:#E4DFD2;
}

/* ============================================================
   Base
   ============================================================ */
*{box-sizing:border-box;}
body{margin:0;background:var(--ivory);color:var(--charcoal);font-family:'IBM Plex Sans',system-ui,sans-serif;-webkit-font-smoothing:antialiased;}
h1,h2,h3{font-family:'Newsreader',Georgia,serif;margin:0;font-weight:500;}
a{color:var(--bronze-dark);text-decoration:none;}
a:hover{opacity:0.8;}
button{font-family:inherit;cursor:pointer;}
input,select,textarea{font-family:inherit;}
input:focus,select:focus,textarea:focus{outline:2px solid var(--bronze);outline-offset:1px;}
img{max-width:100%;}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;white-space:nowrap;}

/* Service card hover-reveal + WhatsApp float */
.svc-card:hover .svc-reveal{grid-template-rows:1fr;}
.wa-float:hover{transform:scale(1.07);}
.svc-cta-link{transition:opacity .2s ease;}

/* Article body (single insight) */
.article-body p{font-size:16.5px;line-height:1.85;color:var(--charcoal);margin:0 0 22px;}
.article-body h2{font-size:23px;color:var(--ink);margin:40px 0 16px;}
.article-body h3{font-size:19px;color:var(--ink);margin:30px 0 12px;}
.article-body ul,.article-body ol{font-size:16.5px;line-height:1.85;color:var(--charcoal);margin:0 0 22px;padding-left:24px;}
.article-body li{margin:0 0 8px;}
.article-body a{color:var(--bronze-dark);text-decoration:underline;}

/* Contact form notices */
.form-notice{padding:14px 18px;border-radius:2px;font-size:14px;margin-bottom:18px;}
.form-notice.success{background:#E3F1E9;border:1px solid #9FCBB0;color:#1F5C36;}
.form-notice.error{background:#FBE9E7;border:1px solid #E3A79E;color:#8A2E22;}

/* ============================================================
   Responsive — consolidated from every page template
   ============================================================ */
@media (max-width: 1024px){
  .grid-3{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .footer-grid{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:36px !important; }
  .hero-h1{ font-size:46px !important; }
  .about-grid{ gap:44px !important; }
  .story-grid{ gap:44px !important; }
  .mv-grid{ grid-template-columns:1fr !important; }
  .values-grid{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .why-grid{ grid-template-columns:1fr !important; }
  .team-grid{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .contact-grid{ gap:44px !important; }
  .cta-grid{ grid-template-columns:1fr 260px !important; }
  .featured-grid{ grid-template-columns:1fr !important; }
  .featured-img{ height:280px !important; }
  .insights-grid{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .related-grid{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .approach-grid{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
}

@media (max-width: 680px){
  .header-inner{ padding:14px 20px !important; }
  .nav-links{ display:none !important; }
  .book-btn{ display:none !important; }
  .nav-toggle-label{ display:flex !important; }
  header:has(.nav-toggle-input:checked) .mobile-nav-panel{ display:flex !important; }

  .hero-sec{ height:560px !important; }
  .hero-inner{ padding:0 22px !important; }
  .hero-h1{ font-size:32px !important; }

  .sec-pad{ padding:64px 22px !important; }
  .sec-h2{ font-size:26px !important; }

  .about-grid{ grid-template-columns:1fr !important; gap:36px !important; }
  .about-photo{ height:260px !important; }

  .grid-3{ grid-template-columns:1fr !important; }
  .grid-3-hairline{ grid-template-columns:1fr !important; }
  .grid-item-px{ padding:20px 0 !important; }
  .svc-card{ height:400px !important; }
  .svc-reveal{ grid-template-rows:1fr !important; }

  .cta-sec{ padding:56px 22px !important; }
  .cta-grid{ grid-template-columns:1fr !important; gap:32px !important; }
  .cta-img-wrap{ height:200px !important; }

  .footer-wrap{ padding:56px 22px 24px !important; }
  .footer-grid{ grid-template-columns:1fr !important; gap:36px !important; }

  .wa-float{ width:50px !important; height:50px !important; right:16px !important; bottom:16px !important; }

  .about-title-sec{ padding:64px 22px 40px !important; }
  .about-h1{ font-size:32px !important; }
  .story-grid{ grid-template-columns:1fr !important; gap:32px !important; }
  .story-photo{ height:260px !important; }
  .values-grid{ grid-template-columns:1fr !important; }
  .team-grid{ grid-template-columns:1fr !important; }

  .contact-title-sec{ padding:64px 22px 40px !important; }
  .contact-form-sec{ padding:0 22px 64px !important; }
  .contact-map-sec{ padding:0 22px 64px !important; }
  .contact-grid{ grid-template-columns:1fr !important; gap:40px !important; }
  .form-row-2col{ grid-template-columns:1fr !important; }
  .contact-h1{ font-size:32px !important; }
  .map-panel{ height:260px !important; }

  .svc-title-sec{ padding:64px 22px 40px !important; }
  .svc-h1{ font-size:32px !important; }
  .service-row{ display:flex !important; flex-direction:column !important; gap:24px !important; padding:40px 22px !important; }
  .service-img{ order:-1 !important; height:220px !important; }

  .ins-title-sec{ padding:64px 22px 40px !important; }
  .ins-h1{ font-size:32px !important; }
  .insights-grid{ grid-template-columns:1fr !important; }
  .insights-grid .grid-item-px{ padding:0 !important; }

  .post-title-sec{ padding:48px 22px 32px !important; }
  .post-h1{ font-size:28px !important; }
  .post-body-sec{ padding:0 22px 56px !important; }
  .post-img-wrap{ height:220px !important; }
  .related-sec{ padding:56px 22px !important; }
  .related-grid{ grid-template-columns:1fr !important; }

  .svc-hero{ height:300px !important; }
  .svc-hero-h1{ font-size:28px !important; }
  .approach-grid{ grid-template-columns:1fr !important; }
}
