/*
Theme Name: House of RCM
Theme URI: https://sitedigicraft.com/
Author: SiteDigiCraft
Author URI: https://sitedigicraft.com/
Description: House of RCM is a privately owned, trusted medical billing company with over 5 years of experience at the forefront of the healthcare industry. We keep medical billing, coding, claim submission, payment posting, denial management, A/R follow up, and provider credentialing under one roof, with one team accountable for the result. Our mission is to simplify operations so healthcare professionals can focus on what matters most: providing exceptional patient care. Billing costs 3% of what we collect, and credentialing costs $100 per insurance enrollment.
Version: 1.7.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: houseofrcm
*/

/* ==========================================================================
   1. Design tokens
   ========================================================================== */
:root{
  /* Brand palette, from the House of RCM logo: blue, green, navy */
  --brand:#0083CB;        /* main blue */
  --brand-light:#3AA5E0;  /* blue mixed with white */
  --brand-hover:#0072B4;
  --brand-text:#006DAA;   /* blue for small text on white (meets WCAG AA) */
  --brand-50:#EAF5FC;     /* very light blue */
  --brand-100:#CDE7F6;
  --accent:#8DC73F;       /* green: small highlights, and buttons on blue */
  --accent-text:#4A7F12;  /* green for small text on white (meets WCAG AA) */
  --accent-50:#F1F8E6;

  --ink:#0D2667;          /* navy: headings, dark buttons, top bar */
  --ink-deep:#0D2667;     /* topbar */
  --ink-line:#2A4384;     /* borders on navy */
  --ink-2:#3C4963;        /* body copy */
  --ink-3:#667289;        /* muted */
  --on-dark:#E6F0FA;      /* body copy on navy */

  --paper:#FFFFFF;
  --wash:#EEF6FC;
  --wash-2:#F5F8FB;
  --rule:#DCE7F0;
  --rule-2:#C3D2E0;
  --star:#F2A91E;

  /* Gradients: the blue mixed with white. Thin accent lines run blue into green, like the logo. */
  --grad-brand:linear-gradient(135deg,#0083CB 0%,#2A9BDD 100%);
  --grad-brand-h:linear-gradient(90deg,#0083CB 0%,#2A9BDD 100%);
  --grad-brand-hover:linear-gradient(135deg,#2A9BDD 0%,#0083CB 100%);
  --grad-accent:linear-gradient(90deg,#0083CB 0%,#8DC73F 100%);
  --grad-hero:radial-gradient(900px 480px at 90% -8%,rgba(255,255,255,.92) 0%,rgba(255,255,255,0) 70%),linear-gradient(180deg,#C9E5F6 0,#E1F0FA 210px,#F4FAFE 520px,#FFFFFF 100%);
  --grad-wash:linear-gradient(180deg,#EEF6FC 0%,#F5F8FB 100%);
  /* Blue surface with white type: used where the design needs a strong colored section */
  --grad-blue:radial-gradient(700px 420px at 85% 0%,rgba(255,255,255,.22) 0%,rgba(255,255,255,0) 60%),linear-gradient(135deg,#0083CB 0%,#0A8BD4 50%,#2A9BDD 100%);
  --grad-teal:var(--grad-blue); /* old names, kept for older markup */
  --grad-dark:var(--grad-blue);
  --grad-cta:var(--grad-blue);
  --grad-light:linear-gradient(180deg,#EEF6FC 0%,#FFFFFF 100%);
  --btn-bg:linear-gradient(135deg,#0083CB 0%,#0072B4 100%); /* primary buttons: blue, white text */
  --on-brand:#FFFFFF;     /* text on the blue surfaces */
  --on-teal:var(--on-brand);

  /* Faustina, the font used on houseofrcm.com */
  --font-head:"Faustina",Georgia,"Times New Roman",serif;
  --font-body:"Faustina",Georgia,"Times New Roman",serif;

  --r:10px;
  --r-lg:16px;
  --pad:clamp(56px,7vw,96px);
  --shadow:0 18px 40px rgba(13,38,103,.10);
  --shadow-brand:0 14px 30px rgba(0,131,203,.20);
}

/* ==========================================================================
   2. Base
   ========================================================================== */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}
h1,h2,h3,h4{font-family:var(--font-head);color:var(--ink);margin:0;line-height:1.18;font-weight:600;letter-spacing:-.005em}
h1{font-size:clamp(34px,4.8vw,56px);font-weight:700;line-height:1.1;letter-spacing:-.01em}
h2,.h2{font-size:clamp(28px,3.3vw,40px)}
h3{font-size:19px}
p{margin:0 0 14px}
a{color:var(--brand-text)}
a:hover{color:var(--ink)}
::selection{background:var(--brand);color:#fff}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--brand);outline-offset:3px}
.num{font-variant-numeric:tabular-nums}
.screen-reader-text,.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-9999px}
.skip:focus{left:24px;top:12px;background:var(--ink);color:#fff;padding:10px 16px;border-radius:var(--r);z-index:100}

.wrap{max-width:1248px;margin:0 auto;padding:0 24px}

/* ==========================================================================
   3. Type helpers
   ========================================================================== */
.eyebrow{font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--brand-text);margin:0 0 14px}
.lead{font-size:18px;line-height:1.7;color:var(--ink-2);max-width:68ch}
.small{font-size:14px;color:var(--ink-2)}
.tiny{font-size:13px;color:var(--ink-3)}
.sec-head{display:flex;flex-direction:column;gap:14px;max-width:820px;margin-bottom:40px}
.sec-head .eyebrow,.sec-head p{margin:0}

/* ==========================================================================
   4. Buttons, chips
   ========================================================================== */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 26px;border-radius:var(--r);font-family:var(--font-body);font-weight:600;font-size:16px;text-decoration:none;border:1.5px solid transparent;cursor:pointer;line-height:1.2;text-align:center;transition:background .15s,color .15s,border-color .15s}
.btn,.btn:visited{background-color:var(--brand);background-image:var(--btn-bg);color:#fff;text-shadow:0 1px 1px rgba(0,0,0,.12)}
.btn:hover{background:var(--ink);color:#fff;box-shadow:0 10px 22px rgba(13,38,103,.18)}
.btn--ghost,.btn--ghost:visited{background:transparent;background-image:none;color:var(--ink);border-color:var(--ink);text-shadow:none}
.btn--ghost:hover{background:var(--ink);color:#fff;text-shadow:none}
.btn--light,.btn--light:visited{background:#fff;background-image:none;color:var(--ink);text-shadow:none}
.btn--light:hover{background:var(--brand-50);color:var(--ink)}
.btn--outline-light,.btn--outline-light:visited{background:transparent;background-image:none;color:#fff;border-color:#fff}
.btn--outline-light:hover{background:#fff;color:var(--ink)}
.btn--sm{min-height:42px;padding:0 18px;font-size:15px}
.btn--wide{display:flex;width:100%}
.cta-row{display:flex;flex-wrap:wrap;gap:14px;align-items:center}

.chips{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none}
.chips li,.chip{display:inline-flex;align-items:center;min-height:34px;padding:0 14px;border-radius:999px;font-size:14px;font-weight:500;background:var(--brand-50);color:var(--brand-text)}
.chip--outline{background:#fff;border:1px solid var(--rule-2);color:var(--ink)}

/* ==========================================================================
   5. Header
   ========================================================================== */
.topbar{background:var(--ink-deep);color:var(--on-dark);font-size:14px}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;min-height:42px;gap:24px}
.topbar a{color:var(--on-dark);text-decoration:none}
.topbar a:hover{color:#fff}
.topbar__contact,.topbar__trust{display:flex;gap:24px;align-items:center}
.topbar__trust span+span::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);margin:0 12px 2px 0}
@media (max-width:760px){.topbar__trust{display:none}}

.site-header{position:relative;z-index:50;background:#fff;box-shadow:0 1px 0 var(--rule),0 8px 24px rgba(13,38,103,.06)}
.site-header .wrap{display:flex;justify-content:space-between;align-items:center;min-height:96px;gap:28px}
.brand{display:flex;align-items:center;flex-shrink:0}
.brand img,.brand .custom-logo,.custom-logo-link img{display:block;height:74px;width:auto}
.nav{display:flex;align-items:center;gap:30px}
.nav ul{display:flex;gap:28px;list-style:none;margin:0;padding:0}
.nav a{color:var(--ink);text-decoration:none;font-size:15.5px;font-weight:500}
.nav a:hover,.nav .current-menu-item>a,.nav .current_page_item>a{color:var(--brand-text);text-decoration:underline;text-decoration-color:var(--brand);text-underline-offset:8px;text-decoration-thickness:2px}
.site-header .header-cta{color:#fff}
.nav a.btn,.nav a.btn:hover{color:#fff;text-decoration:none}
.site-header .header-cta:hover{background:var(--ink);color:#fff}
.nav-toggle{display:none;background:transparent;border:1.5px solid rgba(13,38,103,.35);border-radius:var(--r);width:46px;height:46px;cursor:pointer;color:var(--ink);align-items:center;justify-content:center}
.nav-toggle svg{display:block}
@media (max-width:1020px){
  .nav-toggle{display:inline-flex}
  .header-cta{display:none}
  .nav{position:absolute;left:0;right:0;top:100%;background:var(--grad-light);border-top:1px solid var(--rule);box-shadow:0 18px 30px rgba(13,38,103,.12);padding:12px 24px 24px;flex-direction:column;align-items:stretch;gap:16px;display:none}
  .nav.is-open{display:flex}
  .nav ul{flex-direction:column;gap:0}
  .nav li a{display:block;padding:12px 0;border-bottom:1px solid var(--rule);color:var(--ink)}
  .nav .nav-cta{display:flex}
}
@media (min-width:1021px){.nav .nav-cta{display:none}}

/* ==========================================================================
   6. Sections
   ========================================================================== */
.sec{padding:var(--pad) 0}
.sec--wash{background:var(--wash);background-image:var(--grad-wash)}
.sec--white{background:#fff;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.sec--dark{background:var(--grad-blue);color:var(--on-brand)}
.sec--dark h2,.sec--dark h3,.sec--dark .h2{color:var(--on-brand)}
.sec--dark .eyebrow{color:var(--on-brand)}
.sec--dark .lead{color:var(--on-brand)}
.sec--brand{background:var(--grad-blue);color:var(--on-brand)}
.sec--brand h2{color:var(--on-brand)}
.sec--brand p{color:var(--on-brand)}

.breadcrumb{font-size:14px;color:var(--ink-3);margin-bottom:28px}
.breadcrumb a{color:var(--ink-2)}

/* Hero */
.hero{padding:clamp(48px,6vw,80px) 0 clamp(56px,7vw,88px);background:var(--grad-hero)}
.hero__grid{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(32px,4vw,56px);align-items:start}
.hero__grid--end{align-items:end}
.hero__copy{display:flex;flex-direction:column;gap:24px}
.hero__copy .eyebrow,.hero__copy p{margin:0}
@media (max-width:960px){.hero__grid{grid-template-columns:1fr}}

/* Stat tiles */
.stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.stat{border-radius:14px;padding:22px 24px;background:#fff;border:1.5px solid var(--ink)}
.stat b{display:block;font-family:var(--font-head);font-size:38px;font-weight:700;line-height:1.15;color:var(--ink)}
.stat span{font-size:14.5px;color:var(--ink-2)}
.stat--dark{background:var(--grad-blue) border-box no-repeat;border-color:#0079BD}
.stat--dark b{color:var(--on-brand)}
.stat--dark span{color:var(--on-brand)}
.stat--soft{border:1px solid var(--rule)}
.stat--soft b{font-size:28px}

/* Metrics band */
.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:24px}
.metrics div{border-top:3px solid var(--ink);padding-top:16px}
.metrics b{display:block;font-family:var(--font-head);font-size:clamp(32px,3.4vw,44px);font-weight:700;color:var(--ink);line-height:1.2}
.metrics span{font-size:15px;color:var(--ink)}

/* Ledger (light metrics) */
.ledger{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));border:1px solid var(--rule);border-radius:14px;overflow:hidden;background:#fff}
.ledger div{padding:22px;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.ledger b{display:block;font-family:var(--font-head);font-size:30px;font-weight:700;color:var(--brand-text)}
.ledger span{font-size:14px;color:var(--ink-2)}

/* Trust strip */
.strip{display:flex;flex-wrap:wrap;gap:10px 34px;justify-content:space-between;padding:18px 0;border-bottom:1px solid var(--rule);font-size:14.5px;color:var(--ink-2);font-weight:500}
.strip span::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--brand);margin:0 10px 2px 0}

/* ==========================================================================
   7. Grids and cards
   ========================================================================== */
.grid{display:grid;gap:20px}
.g2{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.g3{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
.g4{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}
.g5{grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr))}
@media (min-width:1000px){
  .g3.fixed{grid-template-columns:repeat(3,1fr)}
  .g4.fixed{grid-template-columns:repeat(4,1fr)}
}

.split{display:grid;grid-template-columns:5fr 7fr;gap:clamp(32px,4vw,56px);align-items:start}
.split--even{grid-template-columns:1fr 1fr}
.split--center{align-items:center}
.split__head{display:flex;flex-direction:column;gap:18px}
.split__head .eyebrow,.split__head p{margin:0}
@media (max-width:960px){.split,.split--even{grid-template-columns:1fr}}

.card{background:#fff;border:1px solid var(--rule);border-radius:14px;padding:26px;transition:border-color .15s,box-shadow .15s}
.card h3{margin:0 0 10px}
.card p{font-size:15.5px;line-height:1.6;color:var(--ink-2);margin:0}
.card p+p{margin-top:12px}
.card--link:hover{border-color:var(--brand);box-shadow:var(--shadow)}
.card--plain{background:var(--wash);border-color:transparent}
.card--accent{border-top:4px solid var(--brand)}
.card--sm{padding:22px}
.card--sm h3{font-size:17px}
.card--sm p{font-size:14.5px}
.card__num{font-family:var(--font-head);font-size:14px;font-weight:700;letter-spacing:.06em;color:var(--brand-text);margin-bottom:10px}
.card--row{display:flex;gap:18px;align-items:flex-start}
.card--row .card__big{font-family:var(--font-head);font-size:28px;font-weight:700;color:var(--brand);min-width:44px;line-height:1.1}
.card .more{display:inline-block;margin-top:14px;font-weight:600;font-size:15px;text-decoration:none}
.card .more::after{content:" \2192"}

.card--dark{background:rgba(255,255,255,.72);border-color:rgba(255,255,255,.9)}
.card--dark h3{color:var(--ink)}
.card--dark p{color:var(--ink-2)}

/* Numbered stages */
.stage{position:relative;padding-left:66px}
.stage .n{position:absolute;left:22px;top:24px;width:32px;height:32px;border-radius:50%;background:var(--brand-50);color:var(--brand-text);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700}

/* Step rail */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));border-top:3px solid var(--brand)}
.steps>div{padding:22px 20px 0 0}
.steps .n{font-size:13px;color:var(--brand-text);font-weight:700;margin:0 0 6px;letter-spacing:.04em;text-transform:uppercase}
.steps h3{font-size:18px}
.steps p{font-size:15px;color:var(--ink-2);margin:8px 0 0}

/* Tick list */
.ticks{list-style:none;margin:0;padding:0}
.ticks li{position:relative;padding:9px 0 9px 30px;border-bottom:1px solid var(--rule);font-size:15.5px;color:var(--ink-2)}
.ticks li:last-child{border-bottom:none}
.ticks li::before{content:"";position:absolute;left:0;top:13px;width:18px;height:18px;border-radius:50%;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3 3 7-7' fill='none' stroke='%23FFFFFF' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat,var(--grad-brand)}
.sec--dark .ticks li,.price--dark .ticks li{color:var(--on-brand);border-color:rgba(255,255,255,.22)}
.sec--dark .ticks li::before,.price--dark .ticks li::before{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3 3 7-7' fill='none' stroke='%230083CB' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat,#fff}

/* ==========================================================================
   8. Pricing
   ========================================================================== */
.price-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:24px}
.price{border-radius:18px;padding:clamp(28px,3vw,40px);display:flex;flex-direction:column;gap:20px;background:#fff;border:1.5px solid var(--ink)}
.price__label{font-size:14px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--brand-text)}
.price__rate{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.price__rate b{font-family:var(--font-head);font-size:clamp(52px,6vw,72px);font-weight:700;line-height:1;color:var(--ink)}
.price__rate span{font-size:17px;color:var(--ink-2)}
.price .btn{align-self:flex-start}
.price--dark{background:var(--grad-blue);background-origin:border-box;background-repeat:no-repeat;border-color:#0079BD;color:var(--on-brand)}
.price--dark .price__label,.price--dark .price__rate b{color:var(--on-brand)}
.price--dark .price__rate span{color:var(--on-brand)}
.price p{margin:0}

.calc{background:var(--wash);border:1px solid var(--rule);border-radius:18px;padding:clamp(24px,3vw,32px)}
.calc h3{margin-bottom:6px}
.calc label{display:block;margin-bottom:14px}
.calc label span{display:block;font-size:13.5px;font-weight:600;color:var(--ink);margin-bottom:6px}
.calc input{width:100%;height:48px;padding:0 12px;border:1px solid var(--rule-2);border-radius:var(--r);font:inherit;background:#fff;color:var(--ink)}
.result{background:var(--grad-blue);border-radius:14px;padding:20px;color:var(--on-brand)}
.result b{display:block;font-family:var(--font-head);font-size:38px;font-weight:700;line-height:1.2;color:var(--on-brand)}
.result-lines{display:flex;justify-content:space-between;font-size:14px;padding-top:10px;margin-top:10px;border-top:1px solid rgba(255,255,255,.3)}

/* ==========================================================================
   9. Forms
   ========================================================================== */
.form-card{background:var(--grad-accent) top left/100% 5px no-repeat,#fff;border:1px solid var(--rule);border-radius:18px;padding:clamp(24px,3vw,32px);padding-top:calc(clamp(24px,3vw,32px) + 5px);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:14px}
.form-card h2,.form-card h3{font-size:24px;margin:0}
.form-card>p{margin:0;font-size:15px;color:var(--ink-2)}
.hrcm-form{display:flex;flex-direction:column;gap:14px}
.field{display:flex;flex-direction:column;gap:6px}
.field label,.field>span{font-size:13.5px;font-weight:600;color:var(--ink)}
.field input,.field select,.field textarea{width:100%;height:48px;border:1px solid var(--rule-2);border-radius:8px;padding:0 12px;font:inherit;font-size:15px;background:#fff;color:var(--ink)}
.field textarea{height:auto;min-height:110px;padding:10px 12px}
.field input:focus,.field select:focus{border-color:var(--brand)}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:520px){.field-row{grid-template-columns:1fr}}
.consent{display:flex;gap:10px;font-size:12.5px;line-height:1.5;color:var(--ink-2)}
.consent input{margin-top:3px;accent-color:var(--brand-text)}
.hp{position:absolute!important;left:-9999px}
.form-note{text-align:center;margin:0}
.form-success{background:var(--brand-50);border:1px solid var(--brand-100);border-radius:12px;padding:20px}
.form-success strong{display:block;font-family:var(--font-head);font-size:18px;color:var(--ink);margin-bottom:4px}
.form-success p{margin:0;font-size:15px;color:var(--ink-2)}

/* ==========================================================================
   10. Tables
   ========================================================================== */
.table-wrap{overflow-x:auto;background:#fff;border:1px solid var(--rule);border-radius:14px}
table{width:100%;border-collapse:collapse}
caption{text-align:left;font-size:14px;color:var(--ink-2);padding:16px 18px 0}
th,td{text-align:left;padding:14px 18px;border-bottom:1px solid var(--rule);font-size:15px;vertical-align:top}
tr:last-child td{border-bottom:none}
thead th{font-weight:600;color:var(--ink);font-size:13.5px;background:var(--wash)}
.col-us{color:var(--brand-text);font-weight:600}

/* ==========================================================================
   11. Specialty directory
   ========================================================================== */
.tools{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end;justify-content:space-between;margin:0 0 6px}
.filters{display:flex;flex-wrap:wrap;gap:8px}
.filters button{background:#fff;border:1px solid var(--rule-2);color:var(--ink-2);font:inherit;font-size:14px;font-weight:500;padding:8px 15px;border-radius:999px;cursor:pointer}
.filters button:hover{border-color:var(--brand)}
.filters button[aria-pressed="true"]{background:var(--btn-bg);border-color:var(--brand);color:#fff}
.search input{width:260px;max-width:100%;height:44px;padding:0 12px;border:1px solid var(--rule-2);border-radius:var(--r);font:inherit;font-size:15px}
.count{font-size:14px;color:var(--ink-3);margin:16px 0}
.dir{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:14px;list-style:none;padding:0;margin:0}
.dir li{background:#fff;border:1px solid var(--rule);border-radius:12px;padding:18px}
.dir li[hidden]{display:none}
.dir h3{font-size:17px;margin-bottom:6px}
.dir p{font-size:14.5px;color:var(--ink-2);margin:0}
.dir .cat{display:inline-block;font-size:12px;font-weight:600;color:var(--brand-text);background:var(--brand-50);border-radius:999px;padding:2px 10px;margin-top:12px}
.dir a{display:block;font-size:14px;font-weight:600;margin-top:10px}
.empty{padding:26px;text-align:center;color:var(--ink-2);background:#fff;border:1px dashed var(--rule-2);border-radius:12px}

/* ==========================================================================
   12. Reviews, badges, team, placeholders
   ========================================================================== */
.badges{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}
.badges a{display:block;text-align:center;background:#fff;border:1px solid var(--rule);border-radius:12px;padding:16px;text-decoration:none;color:var(--ink)}
.badges a:hover{border-color:var(--brand)}
.badges b{display:block;font-size:15px}
.badges span{font-size:13px;color:var(--ink-2)}

.review{background:#fff;border:1px solid var(--rule);border-radius:14px;padding:26px;margin:0;display:flex;flex-direction:column;gap:14px}
.stars{color:var(--star);font-size:17px;letter-spacing:3px}
.review blockquote{margin:0;font-size:16px;line-height:1.65;color:var(--ink-2)}
.review figcaption{font-size:14px;font-weight:600;color:var(--ink)}
.review figcaption span{display:block;font-weight:400;color:var(--ink-2)}

.person{display:flex;flex-direction:column;gap:6px}
.person .photo{background:var(--brand-50);border-radius:14px;aspect-ratio:4/5;display:flex;align-items:center;justify-content:center;color:var(--ink-3);font-size:14px;margin-bottom:8px;overflow:hidden}
.person .photo img{width:100%;height:100%;object-fit:cover}
.person b{font-family:var(--font-head);font-size:19px;font-weight:600}
.person span{font-size:14.5px;color:var(--ink-2)}

.placeholder{background:var(--brand-50);border:1px dashed var(--brand-100);border-radius:14px;min-height:280px;display:flex;align-items:center;justify-content:center;color:var(--ink-3);font-size:15px;text-align:center;padding:20px}

.mission{border-radius:18px;padding:clamp(28px,3vw,40px);display:flex;flex-direction:column;gap:14px;background:#fff;border:1.5px solid var(--ink)}
.mission p{margin:0;font-family:var(--font-head);font-size:clamp(20px,2.2vw,25px);line-height:1.45;font-weight:500;color:var(--ink)}
.mission--dark{background:var(--grad-blue);background-origin:border-box;background-repeat:no-repeat;border-color:#0079BD}
.mission--dark p{color:var(--on-brand)}
.mission--dark .price__label{color:var(--on-brand)}

/* ==========================================================================
   13. FAQ
   ========================================================================== */
.faq details{border-bottom:1px solid var(--rule)}
.faq summary{cursor:pointer;list-style:none;padding:20px 40px 20px 0;font-family:var(--font-head);font-size:18px;font-weight:600;color:var(--ink);position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:0;top:16px;width:28px;height:28px;border-radius:50%;background:var(--brand-50);color:var(--brand-text);display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:500}
.faq details[open] summary::after{content:"\2013";background:var(--brand);color:#fff}
.faq details p{font-size:16px;line-height:1.7;color:var(--ink-2);margin:0 0 20px;padding-right:40px;max-width:76ch}

/* ==========================================================================
   14. CTA band
   ========================================================================== */
.cta-band .wrap{display:flex;justify-content:space-between;align-items:center;gap:40px;flex-wrap:wrap}
.cta-band__copy{display:flex;flex-direction:column;gap:14px;max-width:720px}
.cta-band__copy p{margin:0;font-size:18px}
.cta-band__actions{display:flex;flex-direction:column;gap:12px;min-width:260px}
.cta-band__actions .btn{width:100%}
.cta-band .btn--ghost{border-color:#fff;color:#fff}
.cta-band .btn--ghost:hover{background:#fff;color:var(--ink)}
.sec--brand .btn--light,.sec--dark .btn--light,.price--dark .btn{background:var(--accent);background-image:none;color:var(--ink);text-shadow:none}
.sec--brand .btn--light:hover,.sec--dark .btn--light:hover,.price--dark .btn:hover{background:#fff;color:var(--ink)}

/* ==========================================================================
   15. Footer
   ========================================================================== */
.site-footer{background:var(--grad-accent) top left/100% 4px no-repeat,var(--grad-light);color:var(--ink-2);padding:72px 0 32px;font-size:14.5px}
.site-footer .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px;margin-bottom:48px}
@media (max-width:860px){.site-footer .cols{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.site-footer .cols{grid-template-columns:1fr}}
.site-footer .brand img,.site-footer .custom-logo{height:84px;width:auto;margin-bottom:14px}
.site-footer h3{color:var(--ink);font-family:var(--font-body);font-size:15px;font-weight:600;margin:0 0 14px}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer li{margin-bottom:9px}
.site-footer a{color:var(--ink-2);text-decoration:none}
.site-footer a:hover{color:var(--brand-text)}
.site-footer p{margin:0 0 12px;line-height:1.6}
.site-footer .bottom{border-top:1px solid var(--rule);padding-top:24px;font-size:13.5px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.social{display:flex;gap:16px}

/* ==========================================================================
   16. Blog / default content
   ========================================================================== */
.page-hero{padding:clamp(48px,6vw,72px) 0;background:var(--grad-hero);border-bottom:1px solid var(--rule)}
.page-hero h1{font-size:clamp(32px,4vw,48px)}
.entry{max-width:780px;margin:0 auto;padding:var(--pad) 24px}
.entry-content{font-size:17px;line-height:1.75;color:var(--ink-2)}
.entry-content h2,.entry-content h3{margin:1.6em 0 .6em}
.entry-content img{border-radius:12px}
.entry-content blockquote{border-left:4px solid var(--brand);margin:1.5em 0;padding:4px 0 4px 20px;color:var(--ink)}
.post-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:24px}
.post-card{display:flex;flex-direction:column;gap:10px}
.post-card img{border-radius:10px;aspect-ratio:16/9;object-fit:cover;width:100%}
.post-card h2{font-size:21px}
.post-card h2 a{color:var(--ink);text-decoration:none}
.post-card h2 a:hover{color:var(--brand-text)}
.meta{font-size:13.5px;color:var(--ink-3)}
.pagination{margin-top:40px;display:flex;gap:8px;flex-wrap:wrap}
.pagination .page-numbers{padding:8px 14px;border:1px solid var(--rule);border-radius:8px;text-decoration:none;color:var(--ink)}
.pagination .current{background:var(--btn-bg);border-color:var(--brand);color:#fff}
.alignwide{max-width:1100px}
.alignfull{width:100%}
.aligncenter{display:block;margin-left:auto;margin-right:auto}
.alignleft{float:left;margin:0 1.5em 1em 0}
.alignright{float:right;margin:0 0 1em 1.5em}
.wp-caption-text{font-size:14px;color:var(--ink-3)}

/* ==========================================================================
   17. Comments, tags and WordPress classes
   ========================================================================== */
.post-tags{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0 0}
.post-tags a{display:inline-flex;align-items:center;min-height:32px;padding:0 12px;border-radius:999px;background:var(--brand-50);color:var(--brand-text);font-size:14px;text-decoration:none}
.post-tags a:hover{background:var(--brand);color:#fff}
.comments{margin-top:56px;padding-top:40px;border-top:1px solid var(--rule)}
.comments__title{font-size:24px;margin:0 0 20px}
.comment-list{list-style:none;margin:0 0 32px;padding:0}
.comment-list .children{list-style:none;margin:0;padding-left:28px;border-left:2px solid var(--brand-100)}
.comment-body{padding:18px 0;border-bottom:1px solid var(--rule)}
.comment-author{display:flex;align-items:center;gap:10px;font-weight:600;color:var(--ink)}
.comment-author .avatar{border-radius:50%}
.comment-author .says{display:none}
.comment-metadata{font-size:13.5px;margin:4px 0 8px}
.comment-metadata a{color:var(--ink-3);text-decoration:none}
.comment-content{color:var(--ink-2)}
.reply a{font-size:14px;font-weight:600}
.bypostauthor>.comment-body .comment-author b::after{content:"Author";margin-left:8px;font-size:12px;font-weight:600;background:var(--brand-50);color:var(--brand-text);padding:2px 8px;border-radius:999px}
.comment-respond label{display:block;font-size:14.5px;font-weight:600;color:var(--ink);margin-bottom:6px}
.comment-respond input[type=text],.comment-respond input[type=email],.comment-respond input[type=url],.comment-respond textarea{width:100%;border:1px solid var(--rule-2);border-radius:8px;padding:10px 12px;font:inherit;background:#fff;color:var(--ink)}
.comment-respond p{margin:0 0 14px}
.comment-form-cookies-consent{display:flex;gap:8px;align-items:flex-start}
.comment-form-cookies-consent label{font-weight:400;font-size:14px}
.comments .nav-links{display:flex;justify-content:space-between;margin-bottom:24px}
.sticky .post-card h2::before,.post-card.sticky h2::before{content:"Featured \00B7 ";color:var(--brand-text)}
.gallery-caption{font-size:14px;color:var(--ink-3);padding-top:6px}
.wp-block-image figcaption{font-size:14px;color:var(--ink-3)}
