/*
Theme Name: Ready Assess Studio v26 (Automated Setup Build)
Theme URI: https://readyassess.us
Author: Ready Assess
Author URI: https://readyassess.us
Description: Production-ready consulting theme for Ready Assess. Includes modernized service cards, premium stacked icons, Partnerships section (CPA focus), Jobs templates (Sales, CPA, Lead Gen), Press page with downloadable PDF, and Account signup template. Built for classic WordPress (non-FSE).
Version: 26.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
Text Domain: readyassess
Tags: consulting, cybersecurity, compliance, enterprise, business, classic-theme, production
*/



:root{
  --ra-blue:#1f5eff;
  --ra-green:#2fa36b;
  --ra-ink:#0f172a;
  --ra-muted:#475569;
  --ra-border:rgba(15, 23, 42, .10);
  --ra-bg:#ffffff;
  --ra-card:#f8fafc;
  --ra-radius:16px;
  --ra-shadow:0 20px 50px rgba(2,6,23,.10);
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, "Helvetica Neue", Helvetica, sans-serif;
  color:var(--ra-ink);
  background:var(--ra-bg);
  line-height:1.6;
}

a{color:inherit}
.container{max-width:1200px;margin:0 auto;padding:0 24px}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  padding:12px 18px;border-radius:10px;border:1px solid transparent;
  font-weight:800;text-decoration:none;letter-spacing:.2px;
}

.btn-primary:hover{filter:brightness(.95)}
.btn-ghost{background:#fff;color:var(--ra-ink);border-color:var(--ra-border)}
.btn-ghost:hover{background:rgba(15,23,42,.03)}

.site-header{
  position:sticky;top:0;z-index:999;background:#fff;border-bottom:1px solid var(--ra-border);
}
.header-inner{
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  padding:16px 0;
}
.brand{
  display:flex;align-items:center;gap:10px;text-decoration:none;
}
.brand-mark{
  width:38px;height:38px;border-radius:999px;background:var(--ra-green));
  display:inline-block;
}
.brand-text{
  font-weight:900;font-size:26px;letter-spacing:-.4px;
}
.brand-text .green{color:var(--ra-green)}

.nav{
  display:flex;align-items:center;gap:26px;
}
.nav ul{
  list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:22px;
}
.nav a{
  text-decoration:none;font-weight:700;color:var(--ra-ink);opacity:.9;
  padding:10px 6px;border-radius:10px;
}
.nav a:hover{background:rgba(15,23,42,.03);opacity:1}
.header-actions{display:flex;align-items:center;gap:14px}
.icon-btn{
  width:42px;height:42px;border-radius:10px;border:1px solid var(--ra-border);
  display:inline-flex;align-items:center;justify-content:center;background:#fff;text-decoration:none;
}
.icon-btn:hover{background:rgba(15,23,42,.03)}
.hamburger{display:none}

.hero{
  position:relative;
  min-height:480px;
  overflow:hidden;
}
.hero-bg{
  position:absolute;
  inset:0;
  background:url('assets/images/hero-full.png') center/cover no-repeat;
}
.hero .hero-content{
  position:relative;
  padding:92px 0 66px;
  display:grid;
  grid-template-columns: 1.1fr .9fr;
  gap:28px;
  align-items:center;
}
.hero-copy{
  max-width:640px;
  color:#0b1220;
}
.kicker{
  font-weight:800;color:rgba(15,23,42,.85);
  text-transform:uppercase;letter-spacing:.12em;font-size:12px;
}
.hero h1{
  margin:12px 0 14px;
  font-size:64px; font-weight:900; letter-spacing:-1.5px;line-height:1.05;
  letter-spacing:-1px;
}
.hero p{
  margin:0 0 18px;
  font-size:18px;color:rgba(15,23,42,.78);
  max-width:560px;
}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-top:10px}
.hero-media{
  display:flex;justify-content:flex-end;
}
.hero-media img{
  width:min(520px, 100%);
  border-radius:18px;
  box-shadow:var(--ra-shadow);
  border:1px solid rgba(255,255,255,.35);
}

.section{
  background:#f5f7fa;

  padding:64px 0;
}
.section-title{
  text-align:center;
  margin:0 auto 10px;
  font-size:34px;
  letter-spacing:-.6px;
}
.section-sub{
  text-align:center;
  color:var(--ra-muted);
  margin:0 auto 34px;
  max-width:720px;
}
.cards{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:18px;
}
.card{
  background:#ffffff;
  border:1px solid rgba(0,0,0,.05);
  border-radius:20px;
  padding:32px;
  box-shadow:0 8px 24px rgba(0,0,0,.05);
  display:flex;
  flex-direction:column;
  gap:14px;
}
.card .icon{
  width:52px;height:52px;border-radius:14px;
  background:rgba(31,94,255,.10);
  display:flex;align-items:center;justify-content:center;
  font-weight:900;color:var(--ra-blue);
}
.card h3{margin:6px 0 4px;font-size:20px;letter-spacing:-.3px}
.card p{margin:0;color:var(--ra-muted)}
.card .card-link{
  margin-top:14px;
  display:inline-flex;align-items:center;gap:8px;
  color:var(--ra-blue);text-decoration:none;font-weight:800;
}
.card .card-link:hover{text-decoration:underline}

.page-hero{
  padding:54px 0 18px;
  border-bottom:1px solid var(--ra-border);
  background:rgba(255,255,255,0));
}
.page-hero h1{margin:0;font-size:54px; font-weight:900;letter-spacing:-.8px}
.page-hero p{margin:12px 0 0;color:var(--ra-muted);max-width:850px}

.prose{
  padding:26px 0 70px;
}
.prose .content{
  max-width:900px;
  margin:0 auto;
  font-size:17px;
}
.prose h2{margin-top:26px;letter-spacing:-.4px}
.prose ul{padding-left:18px}
.prose li{margin:8px 0}

.site-footer{
  border-top:1px solid var(--ra-border);
  padding:34px 0;
  color:rgba(15,23,42,.70);
}
.footer-grid{
  display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:18px;align-items:start;
}
.footer-grid a{text-decoration:none;color:inherit}
.footer-grid a:hover{text-decoration:underline}
.small{font-size:13px;color:rgba(15,23,42,.60)}

@media (max-width: 1020px){
  .hero .hero-content{grid-template-columns:1fr; padding:58px 0 56px}
  .hero h1{font-size:42px}
  .hero-media{justify-content:flex-start}
  .cards{grid-template-columns:repeat(2, 1fr)}
}
@media (max-width: 760px){
  .nav{display:none}
  .hamburger{display:inline-flex}
  .cards{grid-template-columns:1fr}
  header .container{padding:0 16px}
}

.card .icon{
  width:64px;
  height:64px;
  border-radius:16px;
  background:#eef2f7;
  display:flex;
  align-items:center;
  justify-content:center;
}


/* Modern Clean Typography */
body {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

.hero-bg{
  position:absolute;
  inset:0;
  background:url('assets/images/hero-full.png') center/cover no-repeat;
}

.hero {
  position:relative;
  min-height:520px;
  display:flex;
  align-items:center;
}

.hero-copy {
  max-width:640px;
  color:#0f172a;
}

.hero h1 {
  font-size:56px;
  font-weight:600;
  line-height:1.1;
  letter-spacing:-1px;
  margin-bottom:20px;
}

.hero p {
  font-size:18px;
  font-weight:400;
  color:#475569;
  margin-bottom:24px;
}

.hero-ctas .btn-primary {
  background:#1f5eff;
  border-radius:8px;
}

.hero-ctas .btn-ghost {
  background:#f1f5f9;
  border-radius:8px;
  border:1px solid #e2e8f0;
}

/* Section Styling */
.section {
  background:#f8fafc;
}

.section-title {
  font-size:32px;
  font-weight:600;
}

.section-sub {
  font-size:16px;
  color:#64748b;
}

.card {
  background:#ffffff;
  border:1px solid #e5e7eb;
  border-radius:16px;
  padding:30px;
  box-shadow:0 6px 18px rgba(0,0,0,0.05);
}

.card h3 {
  font-weight:600;
  font-size:20px;
}

.card p {
  color:#6b7280;
  font-size:15px;
}

.card .icon {
  width:56px;
  height:56px;
  border-radius:14px;
  background:#eef2ff;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:14px;
}

/* Global typography override */
body, h1, h2, h3, h4, h5, h6, p, a, li {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

h1, h2, h3 {
    font-weight: 600;
    letter-spacing: -0.5px;
}

/* Make hero paragraph black */
.hero p {
    color: #000000 !important;
}


/* Force single clean typography everywhere */
body, h1, h2, h3, h4, h5, h6, p, a, li, span, div {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
    font-weight: 500 !important;
    letter-spacing: -0.3px;
    color: #0f172a;
}

.hero h1 {
    font-weight: 600 !important;
    letter-spacing: -1px !important;
}

.hero p {
    color: #000000 !important;
}





/* Mobile drawer navigation */
.ra-overlay{
  position:fixed;
  inset:0;
  background:rgba(2,6,23,.55);
  z-index:1000;
  opacity:0;
  transition:opacity .2s ease;
}
.ra-overlay.is-open{ opacity:1; }

.ra-drawer{
  position:fixed;
  top:0; right:0;
  height:100vh;
  width:min(86vw, 360px);
  background:#fff;
  border-left:1px solid var(--ra-border);
  z-index:1001;
  transform:translateX(104%);
  transition:transform .24s ease;
  display:flex;
  flex-direction:column;
  padding:18px 18px 22px;
}
.ra-drawer.is-open{ transform:translateX(0); }

.ra-drawer-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding-bottom:12px;
  border-bottom:1px solid var(--ra-border);
}

.ra-close{
  width:42px;height:42px;
  border-radius:10px;
  border:1px solid var(--ra-border);
  background:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.ra-close:hover{ background:rgba(15,23,42,.03); cursor:pointer; }

.ra-drawer-nav{
  padding-top:14px;
}
.ra-drawer-nav ul{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:6px;
}
.ra-drawer-nav a{
  display:block;
  padding:12px 12px;
  border-radius:12px;
  text-decoration:none;
  font-weight:700;
}
.ra-drawer-nav a:hover{
  background:rgba(15,23,42,.04);
}

.ra-no-scroll{ overflow:hidden; }

/* Show hamburger only on mobile, hide desktop nav */
@media (max-width: 980px){
  .nav{ display:none !important; }
  .hamburger{ display:inline-flex !important; }
}
@media (min-width: 981px){
  .hamburger{ display:none !important; }
}

/* Improve hero text readability */
.hero h1,
.hero p {
    color: #ffffff !important;
    text-shadow: 0 2px 8px rgba(0,0,0,0.35);
}

.hero-copy {
    color: #ffffff !important;
}

/* v17 Force Center Service Blocks */
.services-section {
    display: flex;
    justify-content: space-around;
    margin-top: 40px;
}
.services-section .service-card {
    text-align: center;
    width: 22%;
}
.services-section img {
    display: block;
    margin: 0 auto 15px auto;
}

/* ===============================
   v18 Modernized Service Boxes
   =============================== */

.cards {
    display: flex;
    justify-content: space-between;
    gap: 30px;
    margin-top: 60px;
}

.cards .card {
    flex: 1;
    text-align: center;
    padding: 30px 20px;
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 0 10px 25px rgba(0,0,0,0.08);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.cards .card:hover {
    transform: translateY(-6px);
    box-shadow: 0 15px 35px rgba(0,0,0,0.12);
}

.cards .card .icon {
    font-size: 0;
    width: 70px;
    height: 70px;
    margin: 0 auto 20px auto;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.cards .card:nth-child(1) .icon {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' fill='%230066cc' viewBox='0 0 24 24'><path d='M12 2l8 4v6c0 5.25-3.5 10.74-8 12-4.5-1.26-8-6.75-8-12V6l8-4z'/></svg>");
}

.cards .card:nth-child(2) .icon {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' fill='%2300aa66' viewBox='0 0 24 24'><circle cx='12' cy='12' r='10'/><circle cx='12' cy='12' r='6' fill='%23ffffff'/><circle cx='12' cy='12' r='3'/></svg>");
}

.cards .card:nth-child(3) .icon {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' fill='%23009999' viewBox='0 0 24 24'><path d='M19.14 12.94a7.43 7.43 0 000-1.88l2.03-1.58-1.92-3.32-2.39.96a7.37 7.37 0 00-1.63-.94L14.5 2h-5l-.73 3.6c-.57.22-1.11.52-1.63.94l-2.39-.96-1.92 3.32 2.03 1.58a7.43 7.43 0 000 1.88L2.83 14.5l1.92 3.32 2.39-.96c.52.42 1.06.72 1.63.94L9.5 22h5l.73-3.6c.57-.22 1.11-.52 1.63-.94l2.39.96 1.92-3.32-2.03-1.56zM12 15.5A3.5 3.5 0 1112 8a3.5 3.5 0 010 7.5z'/></svg>");
}

.cards .card:nth-child(4) .icon {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' fill='%23cc6600' viewBox='0 0 24 24'><path d='M1 21h22L12 2 1 21z'/><rect x='11' y='9' width='2' height='5' fill='%23ffffff'/><rect x='11' y='16' width='2' height='2' fill='%23ffffff'/></svg>");
}

@media (max-width: 900px) {
    .cards {
        flex-direction: column;
    }
}

/* ===============================
   v19 Premium Detailed Icons Upgrade
   =============================== */

.cards .card .icon {
    font-size: 0;
    width: 90px;
    height: 90px;
    margin: 0 auto 24px auto;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    filter: drop-shadow(0 10px 18px rgba(0,0,0,0.25));
    transition: transform 0.2s ease;
}

.cards .card:hover .icon {
    transform: scale(1.08);
}

/* Shield */
.cards .card:nth-child(1) .icon {
background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'><defs><linearGradient id='g1' x1='0' y1='0' x2='1' y2='1'><stop offset='0%' stop-color='%23003399'/><stop offset='100%' stop-color='%2300b0ff'/></linearGradient></defs><path fill='url(%23g1)' d='M32 4l24 12v16c0 15-10 26-24 28C18 58 8 47 8 32V16z'/><path fill='%23ffffff' d='M28 34l-6-6 4-4 4 4 8-8 4 4z'/></svg>");
}

/* Target */
.cards .card:nth-child(2) .icon {
background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'><defs><radialGradient id='g2'><stop offset='0%' stop-color='%23ffffff'/><stop offset='40%' stop-color='%2300e676'/><stop offset='100%' stop-color='%2300643c'/></radialGradient></defs><circle cx='32' cy='32' r='28' fill='url(%23g2)'/><circle cx='32' cy='32' r='10' fill='%23ffffff'/><circle cx='32' cy='32' r='5' fill='%23004422'/></svg>");
}

/* Gear */
.cards .card:nth-child(3) .icon {
background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'><defs><linearGradient id='g3' x1='0' y1='0' x2='1' y2='1'><stop offset='0%' stop-color='%2300cfd8'/><stop offset='100%' stop-color='%2300666a'/></linearGradient></defs><path fill='url(%23g3)' d='M54 36l6-4-4-8-7 2c-1-1-2-2-3-3l2-7-8-4-4 6h-4l-4-6-8 4 2 7c-1 1-2 2-3 3l-7-2-4 8 6 4v4l-6 4 4 8 7-2c1 1 2 2 3 3l-2 7 8 4 4-6h4l4 6 8-4-2-7c1-1 2-2 3-3l7 2 4-8-6-4z'/><circle cx='32' cy='32' r='10' fill='%23ffffff'/></svg>");
}

/* Alert */
.cards .card:nth-child(4) .icon {
background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'><defs><linearGradient id='g4' x1='0' y1='0' x2='1' y2='1'><stop offset='0%' stop-color='%23ffb300'/><stop offset='100%' stop-color='%23e65100'/></linearGradient></defs><path fill='url(%23g4)' d='M32 6L4 58h56z'/><rect x='29' y='22' width='6' height='18' fill='%23ffffff'/><circle cx='32' cy='46' r='3' fill='%23ffffff'/></svg>");
}

/* ===============================
   v20 Layered / Stacked Icon Style
   Inspired by provided references
   =============================== */

.cards .card .icon {
    position: relative;
    width: 110px;
    height: 110px;
    margin: 0 auto 24px auto;
    font-size: 0;
}

.cards .card .icon::before,
.cards .card .icon::after {
    content: "";
    position: absolute;
    border-radius: 22px;
    box-shadow: 0 14px 28px rgba(0,0,0,0.18);
}

/* Primary background square */
.cards .card .icon::before {
    width: 90px;
    height: 90px;
    top: 0;
    left: 0;
}

/* Secondary small accent square */
.cards .card .icon::after {
    width: 42px;
    height: 42px;
    bottom: 0;
    right: 0;
}

/* Cybersecurity */
.cards .card:nth-child(1) .icon::before {
    background: linear-gradient(135deg,#2563eb,#1e40af);
    mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'><path fill='white' d='M32 4l24 12v16c0 15-10 26-24 28C18 58 8 47 8 32V16z'/></svg>") center/60% no-repeat;
    -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'><path fill='white' d='M32 4l24 12v16c0 15-10 26-24 28C18 58 8 47 8 32V16z'/></svg>") center/60% no-repeat;
}
.cards .card:nth-child(1) .icon::after {
    background: linear-gradient(135deg,#0ea5e9,#0284c7);
}

/* Strategic IT */
.cards .card:nth-child(2) .icon::before {
    background: linear-gradient(135deg,#22c55e,#15803d);
    mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'><circle cx='32' cy='32' r='20' fill='white'/></svg>") center/60% no-repeat;
    -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'><circle cx='32' cy='32' r='20' fill='white'/></svg>") center/60% no-repeat;
}
.cards .card:nth-child(2) .icon::after {
    background: linear-gradient(135deg,#16a34a,#166534);
}

/* Software Modernization */
.cards .card:nth-child(3) .icon::before {
    background: linear-gradient(135deg,#14b8a6,#0f766e);
    mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'><circle cx='32' cy='32' r='16' fill='white'/></svg>") center/50% no-repeat;
    -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'><circle cx='32' cy='32' r='16' fill='white'/></svg>") center/50% no-repeat;
}
.cards .card:nth-child(3) .icon::after {
    background: linear-gradient(135deg,#2dd4bf,#0f766e);
}

/* Risk */
.cards .card:nth-child(4) .icon::before {
    background: linear-gradient(135deg,#f59e0b,#d97706);
    mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'><polygon fill='white' points='32,6 58,58 6,58'/></svg>") center/65% no-repeat;
    -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'><polygon fill='white' points='32,6 58,58 6,58'/></svg>") center/65% no-repeat;
}
.cards .card:nth-child(4) .icon::after {
    background: linear-gradient(135deg,#fb923c,#c2410c);
}
.section-divider {
    margin: 80px 0;
    border: none;
    border-top: 1px solid #e5e5e5;
}

.service-section {
    display: flex;
    gap: 60px;
    align-items: center;
    margin-bottom: 60px;
}

.service-section:nth-of-type(even) {
    flex-direction: row-reverse;
}

.service-text {
    flex: 1;
}

.service-text h2 {
    margin-bottom: 20px;
    font-size: 28px;
}

.service-text ul {
    padding-left: 20px;
}

.service-text li {
    margin-bottom: 10px;
}

.service-image {
    flex: 1;
}

.service-image img {
    width: 100%;
    border-radius: 10px;
}
