/* BRAND TOKENS — COACHING BY CONCEPT — change colors/fonts here = whole site updates */
@import url('https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,400;12..96,600;12..96,700;12..96,800&family=Inter:wght@400;500;600;700&display=swap');
:root{
  --c-primary:#1B75BC; --c-primary-dark:#155e97; --c-accent:#EC008C;
  --c-yellow:#FDB913; --c-teal:#00A88E;
  --font-head:'Bricolage Grotesque',serif; --font-body:'Inter',sans-serif;
  --c-ink:#1B1B1F; --c-ink-2:#4A4A55; --c-ink-3:#6B6B75; --c-ink-4:#8A8A94;
  --c-paper:#FFFCF7; --c-tint:#F4F0E8; --c-line:#D9D1C5; --c-light:#fff;
  --c-primary-tint:#3E93D6; --c-on-dark:#D8D6D0;
  --c-on-primary:#E4F0FA; --c-on-primary-2:#CFE6F8;
  --c-band-1:#17324f; --c-band-2:#1d4a76; --c-ink-raised:#2A2A30;
  --btn-bg:var(--c-ink); --btn-text:#fff; --btn-bg-hover:var(--c-accent);
  --space-section:90px; --gap:28px;
  --r-sm:20px; --r-md:24px; --r-lg:32px; --r-pill:999px;
  --shadow-1:0 2px 10px rgba(0,0,0,.06); --shadow-2:0 40px 80px -46px rgba(27,117,188,.65);
  --fs-h1:clamp(36px,5vw,58px); --fs-h2:clamp(30px,4vw,44px);
  --fs-h3:clamp(24px,2.6vw,32px); --fs-body:17px;
}
@media all and (max-width:640px){ :root{ --space-section:56px; --gap:18px; } }

.is-wrapper h1,.is-wrapper h2,.is-wrapper h3,.is-wrapper h4,.is-wrapper h5{
  font-family:var(--font-head); color:var(--c-ink); text-wrap:balance; }
.is-wrapper p,.is-wrapper li{ font-family:var(--font-body); color:var(--c-ink-2); }

/* ===================== APPEND MARKER — Coaching by Concept home ===================== */

/* --- shared pieces --- */
.cbc-dots{ display:flex; align-items:center; gap:10px; margin-bottom:22px; }
.cbc-dots span.cbc-dot{ width:10px; height:10px; border-radius:var(--r-pill); display:inline-block; }
.cbc-dot--pink{ background:var(--c-accent); }
.cbc-dot--yellow{ background:var(--c-yellow); }
.cbc-dot--teal{ background:var(--c-teal); }
.cbc-eyebrow{ font-family:var(--font-body); font-size:13px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--c-ink-3); }

.cbc-btn{ display:inline-block; padding:16px 30px; border-radius:var(--r-pill); font-family:var(--font-body); font-size:16px; font-weight:600; text-decoration:none; transition:background .2s ease,color .2s ease,border-color .2s ease; }
.cbc-btn--dark{ background:var(--btn-bg); color:var(--btn-text); }
.cbc-btn--dark:hover{ background:var(--c-accent); color:var(--c-light); }
.cbc-btn--ghost{ border:1.5px solid var(--c-line); color:var(--c-ink); }
.cbc-btn--ghost:hover{ border-color:var(--c-primary); color:var(--c-primary); }
.cbc-btn--yellow{ background:var(--c-yellow); color:var(--c-ink); font-weight:700; }
.cbc-btn--yellow:hover{ background:var(--c-light); color:var(--c-ink); }
.cbc-btn--outline{ border:1.5px solid rgba(255,255,255,.55); color:var(--c-light); }
.cbc-btn--outline:hover{ background:rgba(255,255,255,.14); color:var(--c-light); }

.cbc-tick{ display:inline-block; width:44px; height:6px; border-radius:var(--r-pill); margin-bottom:22px; }
.cbc-tick--blue{ background:var(--c-primary); }
.cbc-tick--pink{ background:var(--c-accent); }
.cbc-tick--teal{ background:var(--c-teal); }
.cbc-tick--yellow{ background:var(--c-yellow); }

/* --- HERO (Webware banner chain, bnl-0) --- */
/* dark overlay card token for the banner content box */
.bnl-0 .bn-overlay{ display:none; }
.bnl-0 .pos-ab-ban{ z-index:3; }
.bnl-0 .main-banner-sec img{ object-fit:cover; }
.bnl-0 .bn-content{
  max-width:640px; text-align:left; margin-left:0; margin-right:auto;
  padding:32px 30px; border-radius:var(--r-sm);
  background:rgba(27,27,31,.82); color:var(--c-light);
}
.bnl-0 .bn-content .cbc-dots{ margin-bottom:20px; }
.bnl-0 .bn-content .cbc-eyebrow{ color:var(--c-on-primary-2); }
.bnl-0 .bn-content h1.banner-main-heading{
  color:var(--c-light); font-family:var(--font-head); font-weight:800;
  font-size:clamp(30px,4.4vw,50px); line-height:1.08; letter-spacing:-.02em;
  margin:0 0 16px; text-wrap:balance;
}
.bnl-0 .bn-content p{
  color:rgba(255,255,255,.92); font-family:var(--font-body);
  font-size:17px; line-height:1.65; margin:0 0 16px;
}
.bnl-0 .bn-content p:last-child{ margin-bottom:0; }
.bnl-0 .bn-content .cbc-btn-row{ margin-top:6px; }
@media all and (max-width:1023.5px){
  .bnl-0 .bn-content{ background:var(--c-ink);border-radius: 0px !important;max-width: 100% !important;width: 100% !important; color:var(--c-light); }
  .bnl-0 .bn-content h1.banner-main-heading{ color:var(--c-light); }
  .bnl-0 .bn-content p{ color:rgba(255,255,255,.85); }
}
@media all and (max-width:640px){
  .bnl-0 .bn-content{ padding:24px 22px; }
  .bnl-0 .bn-content .cbc-btn{ width:100%; text-align:center; }
}

/* --- INSIGHT BAND (high-end editorial) --- */
.is-wrapper > .cbc-band, .is-wrapper .cbc-band{ position:relative; overflow:hidden;
  background:linear-gradient(135deg, var(--c-band-1) 0%, var(--c-band-2) 52%, var(--c-band-1) 100%); color:var(--c-light); }
/* soft brand glows */
.cbc-band-glow{ position:absolute; border-radius:var(--r-pill); filter:blur(10px); pointer-events:none; }
.cbc-band-glow--1{ top:-160px; right:-100px; width:380px; height:380px; background:radial-gradient(circle at 30% 30%, rgba(62,147,214,.55), transparent 70%); }
.cbc-band-glow--2{ bottom:-170px; left:-90px; width:320px; height:320px; background:radial-gradient(circle at 60% 40%, rgba(253,185,19,.20), transparent 70%); }
.cbc-band-inner{ position:relative; padding:88px 0; }

.cbc-band-top{ display:flex; align-items:center; gap:14px; margin-bottom:30px; }
.cbc-band-idx{ font-family:var(--font-head); font-weight:800; font-size:15px; letter-spacing:.02em; color:var(--c-yellow); }
.cbc-band-kicker{ font-family:var(--font-body); font-size:12.5px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--c-on-primary-2); }
.cbc-band-rule{ flex:1; height:1px; background:linear-gradient(90deg, rgba(255,255,255,.30), rgba(255,255,255,0)); }

.cbc-band-grid{ display:grid; grid-template-columns:1.05fr 1fr; gap:72px; align-items:center; }
.cbc-band-head h2{ color:var(--c-light); font-weight:800; font-size:clamp(32px,4.4vw,50px); line-height:1.08; letter-spacing:-.02em; margin:0 0 24px; text-wrap:balance; }
.cbc-band-accent{ display:flex; align-items:center; gap:8px; margin:0; }
.cbc-band-accent .cbc-line{ width:56px; height:5px; border-radius:var(--r-pill); background:var(--c-yellow); }
.cbc-band-accent .cbc-dot{ width:9px; height:9px; border-radius:var(--r-pill); display:inline-block; }

.cbc-band-body{ padding-top:2px; }
.cbc-band-body .cbc-lead{ font-size:19px; line-height:1.7; color:var(--c-light); font-weight:500; margin:0 0 22px; text-wrap:pretty; }
.cbc-band-body .cbc-lead b{ color:var(--c-yellow); font-weight:700; }
.cbc-band-hr{ height:1px; background:rgba(255,255,255,.18); margin:0 0 22px; }
.cbc-band-body p{ font-size:16.5px; line-height:1.8; color:var(--c-on-primary); margin:0; text-wrap:pretty; }

.cbc-band-cta{ display:flex; align-items:center; gap:20px; flex-wrap:wrap; margin-top:32px; }
.cbc-band-note{ font-family:var(--font-body); font-size:14px; color:var(--c-on-primary); }

/* --- BENEFIT / APPROACH ROWS --- */
.is-wrapper > .cbc-approach, .is-wrapper .cbc-approach{ background:var(--c-paper); }
.cbc-approach-inner{ padding:48px 0 96px; display:grid; gap:28px; }
.cbc-row{ display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); gap:48px; align-items:stretch; background:var(--c-tint); border-radius:var(--r-lg); padding:20px 20px 20px 48px; }
.cbc-row--flip{ grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); padding:20px 48px 20px 20px; }
.cbc-row-copy{ display:grid; align-content:center; gap:28px; padding:28px 0; }
.cbc-row-copy h3{ font-weight:800; font-size:var(--fs-h3); line-height:1.15; margin:0 0 18px; }
.cbc-row-copy p{ font-size:17px; line-height:1.7; color:var(--c-ink-2); margin:0; }
.cbc-quote{ margin:0; background:var(--c-light); border-radius:var(--r-sm); padding:28px; }
.cbc-quote blockquote{ margin:0 0 18px; font-size:18px; line-height:1.55; font-weight:600; color:var(--c-ink); text-wrap:pretty; }
.cbc-quote figcaption{ display:flex; align-items:center; gap:12px; font-size:15px; font-weight:600; color:var(--c-ink-3); }
.cbc-quote figcaption .cbc-ava{ width:34px; height:34px; border-radius:var(--r-pill); display:inline-block; }
.cbc-ava--blue{ background:var(--c-primary); }
.cbc-ava--pink{ background:var(--c-accent); }
.cbc-ava--teal{ background:var(--c-teal); }
.cbc-row-media{ position:relative; min-width:0; min-height:400px; border-radius:22px; overflow:hidden; }
.cbc-row-media img{ width:100%; height:100%; object-fit:cover; }

/* --- CONTACT CTA --- */
.is-wrapper > .cbc-cta, .is-wrapper .cbc-cta{ background:var(--c-paper); }
.cbc-cta-inner{ padding:24px 0 88px; }
.cbc-cta-card{ position:relative; background:var(--c-primary); color:var(--c-light); border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--shadow-2); }
.cbc-cta-orb1{ position:absolute; top:-90px; right:-70px; width:300px; height:300px; border-radius:var(--r-pill); background:var(--c-primary-tint); }
.cbc-cta-orb2{ position:absolute; bottom:-120px; right:170px; width:230px; height:230px; border-radius:var(--r-pill); background:var(--c-yellow); opacity:.28; }
.cbc-cta-grid{ position:relative; display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:56px; padding:64px; align-items:center; }
.cbc-cta-eyebrow{ font-size:12.5px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--c-on-primary-2); }
.cbc-cta-grid h2{ color:var(--c-light); font-weight:800; font-size:var(--fs-h2); line-height:1.08; letter-spacing:-.015em; margin:0 0 22px; max-width:24ch; }
.cbc-cta-grid p{ font-size:18px; line-height:1.7; color:var(--c-on-primary); margin:0 0 34px; max-width:60ch; }
.cbc-cta-btns{ display:flex; gap:14px; flex-wrap:wrap; align-items:center; }
.cbc-cta-card .cbc-btn--yellow{ padding:17px 34px; font-size:17px; }
.cbc-cta-card .cbc-btn--outline{ border:1.5px solid rgba(255,255,255,.55); color:var(--c-light); padding:17px 30px; font-size:16px; font-weight:600; }
.cbc-cta-card .cbc-btn--outline:hover{ background:rgba(255,255,255,.14); }
.cbc-cta-list{ display:grid; gap:14px; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.22); border-radius:var(--r-md); padding:32px; }
.cbc-cta-item{ display:flex; gap:14px; align-items:flex-start; }
.cbc-cta-item .cbc-dot{ flex-shrink:0; margin-top:5px; width:10px; height:10px; border-radius:var(--r-pill); display:inline-block; }
.cbc-cta-item span:last-child{ font-size:16px; line-height:1.55; font-weight:600; color:var(--c-light); }
.cbc-cta-div{ height:1px; background:rgba(255,255,255,.2); }

/* --- WHERE WE COACH --- */
.is-wrapper > .cbc-where, .is-wrapper .cbc-where{ background:var(--c-paper); }
.cbc-where-inner{ padding:8px 0 96px; }
.cbc-where-head{ display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:56px; align-items:end; margin-bottom:44px; }
.cbc-where-head h2{ font-weight:800; font-size:clamp(28px,3.4vw,36px); line-height:1.12; letter-spacing:-.015em; margin:0; }
.cbc-where-head p{ font-size:17px; line-height:1.7; color:var(--c-ink-2); margin:0; }
.cbc-where-grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.cbc-loc{ position:relative; overflow:hidden; border-radius:var(--r-md); padding:32px 28px; /* min-height:210px; */ display:grid; align-content:space-between; text-decoration:none; transition:transform .2s ease,box-shadow .2s ease; }
.cbc-loc:hover{ transform:translateY(-4px); box-shadow:var(--shadow-1); }
.cbc-loc--home{ background:var(--c-ink); color:var(--c-light); }
.cbc-loc--home .cbc-loc-orb{ position:absolute; top:-40px; right:-40px; width:150px; height:150px; border-radius:var(--r-pill); background:var(--c-yellow); opacity:.22; }
.cbc-loc--home .cbc-loc-label{ position:relative; font-size:12px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--c-yellow); }
.cbc-loc--home .cbc-loc-name{ position:relative; color:var(--c-light); }
.cbc-loc--area{ background:var(--c-tint); }
.cbc-loc--b-blue{ border-top:6px solid var(--c-primary); }
.cbc-loc--b-pink{ border-top:6px solid var(--c-accent); }
.cbc-loc--b-teal{ border-top:6px solid var(--c-teal); }
.cbc-loc-label{ font-size:12px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--c-ink-4); }
.cbc-loc-name{ font-family:var(--font-head); font-weight:800; font-size:30px; line-height:1.1; letter-spacing:-.01em; color:var(--c-ink); }

/* ===================== RESPONSIVE ===================== */
@media all and (max-width:1024px){
  .cbc-band-grid{ grid-template-columns:1fr; gap:32px; }
  .cbc-row, .cbc-row--flip{ grid-template-columns:1fr; padding:20px; }
  .cbc-row--flip .cbc-row-media{ order:-1; }
  .cbc-row-media{ min-height:300px; }
  .cbc-cta-grid{ grid-template-columns:1fr; gap:36px; padding:44px; }
  .cbc-where-head{ grid-template-columns:1fr; gap:20px; align-items:start; }
  .cbc-where-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media all and (max-width:640px){
  .cbc-hero-inner{ padding:88px 0 96px; }
  .cbc-hero-copy p{ font-size:17px; }
  .cbc-band-grid{ padding:56px 0; }
  .cbc-approach-inner{ padding:32px 0 64px; }
  .cbc-cta-grid{ padding:32px 24px; }
  .cbc-cta-list{ padding:24px; }
  .cbc-where-grid{ grid-template-columns:1fr; }
  .cbc-btn{ width:100%; text-align:center; }
}

/* ===================== ABOUT PAGE ===================== */

/* --- OUR STORY --- */
.is-wrapper>.cbc-story,.is-wrapper .cbc-story{background:var(--c-paper)}
.cbc-story-inner{display:grid!important;grid-template-columns:1fr 1fr!important;gap:40px!important;padding:var(--space-section) 0;align-items:start;width:100%;box-sizing:border-box}
.cbc-story-aside{position:sticky;top:40px;min-width:0;width:100%}
.cbc-story-aside h2{font-weight:800;font-size:clamp(26px,3vw,34px);line-height:1.14;letter-spacing:-.015em;margin:0 0 28px;text-wrap:balance}
.cbc-story-media{width:100%;min-width:0;border-radius:var(--r-lg);overflow:hidden;min-height:320px;background:var(--c-tint)}
.cbc-story-media img{width:100%;height:100%;object-fit:cover;display:block}
.cbc-story-body{display:grid;gap:20px;width:100%;min-width:0}
.cbc-story-body p{font-size:17px;line-height:1.78;color:var(--c-ink-2);margin:0;text-wrap:pretty}
.cbc-story-close{background:var(--c-tint);border-left:4px solid var(--c-primary);border-radius:0 var(--r-sm) var(--r-sm) 0;padding:24px 26px;font-weight:600;color:var(--c-ink)!important;font-size:18px!important;line-height:1.6!important}
@media(max-width:1023.98px){.cbc-story-inner{display:grid!important;grid-template-columns:1fr!important;gap:40px!important}.cbc-story-aside{position:relative;top:auto}.cbc-story-media{min-height:280px}}


/* --- FOUNDER --- */
.is-wrapper>.cbc-founder,.is-wrapper .cbc-founder{background:var(--c-tint)}
.cbc-founder-card{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:40px!important;padding:var(--space-section) 0 30px!important;align-items:center;width:100%;box-sizing:border-box}
.cbc-founder-media{position:relative;width:100%;min-width:0;border-radius:var(--r-lg);overflow:hidden;min-height:460px;background:var(--c-line)}
.cbc-founder-media img{width:100%;height:100%;object-fit:cover;display:block}
.cbc-founder-badge{position:absolute;left:22px;bottom:22px;display:flex;align-items:center;gap:8px;background:var(--c-paper);padding:12px 16px;border-radius:var(--r-pill);box-shadow:var(--shadow-1)}
.cbc-founder-badge .cbc-dot{width:10px;height:10px;border-radius:var(--r-pill);display:inline-block}
.cbc-founder-body{width:100%;min-width:0}
.cbc-founder-body .cbc-eyebrow{display:block;margin-bottom:16px}
.cbc-founder-body h2{font-weight:800;font-size:clamp(26px,3.1vw,36px);line-height:1.14;letter-spacing:-.015em;margin:0 0 24px;text-wrap:balance}
.cbc-founder-body p{font-size:16.5px;line-height:1.78;color:var(--c-ink-2);margin:0 0 18px}
.cbc-founder-body p:last-child{margin-bottom:0}

/* --- TESTIMONIALS --- */
.is-wrapper>.cbc-tst,.is-wrapper .cbc-tst{background:var(--c-tint)}
.cbc-tst-head{padding-top:30px;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:56px;align-items:center;margin-bottom:48px}
.cbc-tst-head-l h2{font-weight:800;font-size:clamp(28px,3.4vw,40px);line-height:1.1;letter-spacing:-.02em;margin:0;text-wrap:balance}
.cbc-tst-head p{font-size:17px;line-height:1.8;color:var(--c-ink-2);margin:0;text-wrap:pretty}
.cbc-tst-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding-bottom:var(--space-section)}
.cbc-tst-card{position:relative;background:var(--c-paper);border-radius:var(--r-md);padding:34px 30px 30px;box-shadow:var(--shadow-1);display:grid;align-content:space-between;gap:26px;overflow:hidden}
.cbc-tst-card::before{content:"";position:absolute;top:0;left:0;right:0;height:5px}
.cbc-tst-card--blue::before{background:var(--c-primary)}
.cbc-tst-card--pink::before{background:var(--c-accent)}
.cbc-tst-card--teal::before{background:var(--c-teal)}
.cbc-tst-card blockquote{margin:0;font-family:var(--font-head);font-weight:600;font-size:19px;line-height:1.5;color:var(--c-ink);text-wrap:pretty}
.cbc-tst-card figcaption{display:flex;align-items:center;gap:12px}
.cbc-tst-card .cbc-ava{width:38px;height:38px;border-radius:var(--r-pill);display:inline-block;flex-shrink:0}
.cbc-tst-meta{display:flex;flex-direction:column}
.cbc-tst-name{font-family:var(--font-body);font-weight:700;font-size:15px;color:var(--c-ink)}
.cbc-tst-role{font-family:var(--font-body);font-size:13px;color:var(--c-ink-3)}

@media(max-width:1023.98px){
.cbc-founder-card{grid-template-columns:1fr!important;gap:40px!important;padding-bottom:30px!important}
.cbc-founder-media{min-height:360px}
.cbc-tst-head{grid-template-columns:1fr;gap:30px;padding-top:30px;margin-bottom:40px}
.cbc-tst-grid{grid-template-columns:1fr 1fr}
}

@media(max-width:767.98px){
.cbc-tst-grid{grid-template-columns:1fr}
.cbc-founder-card{gap:30px!important}
.cbc-founder-media{min-height:320px}
}
/* --- single-column CTA variant --- */
.cbc-cta-grid--single{ grid-template-columns:1fr; }
.cbc-cta-grid--single h2{ max-width:20ch; }

/* --- ABOUT RESPONSIVE --- */
@media all and (max-width:1024px){
  .cbc-story-inner{ grid-template-columns:1fr; gap:36px; }
  .cbc-story-aside{ position:static; }
  .cbc-founder-card{ grid-template-columns:1fr; gap:32px; }
  .cbc-founder-media{ min-height:360px; }
  .cbc-tst-head{ grid-template-columns:1fr; gap:18px; align-items:start; }
  .cbc-tst-grid{ grid-template-columns:1fr; }
}

/* ===================== SERVICES PAGE ===================== */
.is-wrapper > .cbc-svc, .is-wrapper .cbc-svc{ background:var(--c-paper); }
.cbc-svc-inner{ padding:var(--space-section) 0; }
.cbc-svc-head{ margin-bottom:44px; }
.cbc-svc-head h2{ font-weight:800; font-size:clamp(28px,3.4vw,40px); line-height:1.1; letter-spacing:-.02em; margin:0; text-wrap:balance; }

.cbc-svc-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
/* first two cards span wider on the top row for editorial rhythm */
.cbc-svc-card{ display:flex; flex-direction:column; background:var(--c-paper); border:1px solid var(--c-line); border-radius:var(--r-lg); overflow:hidden; transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.cbc-svc-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow-2); border-color:transparent; }
.cbc-svc-media{ position:relative; aspect-ratio:16/10; overflow:hidden; background:var(--c-tint); }
.cbc-svc-media img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .4s ease; }
.cbc-svc-card:hover .cbc-svc-media img{ transform:scale(1.05); }
.cbc-svc-tag{ position:absolute; top:16px; left:16px; width:40px; height:40px; border-radius:var(--r-pill); display:grid; place-items:center; font-family:var(--font-head); font-weight:800; font-size:15px; color:var(--c-light); }
.cbc-svc-tag--blue{ background:var(--c-primary); }
.cbc-svc-tag--pink{ background:var(--c-accent); }
.cbc-svc-tag--teal{ background:var(--c-teal); }
.cbc-svc-tag--yellow{ background:var(--c-yellow); color:var(--c-ink); }

.cbc-svc-body{ display:flex; flex-direction:column; gap:14px; padding:30px 28px 28px; flex:1; }
.cbc-svc-body h3{ font-weight:800; font-size:22px; line-height:1.2; letter-spacing:-.01em; margin:0; text-wrap:balance; }
.cbc-svc-body p{ font-size:16px; line-height:1.7; color:var(--c-ink-2); margin:0; }
.cbc-svc-link{ margin-top:auto; display:inline-flex; align-items:center; gap:8px; font-family:var(--font-body); font-weight:700; font-size:15px; color:var(--c-primary); text-decoration:none; padding-top:8px; }
.cbc-svc-arrow{ transition:transform .2s ease; }
.cbc-svc-link:hover{ color:var(--c-accent); }
.cbc-svc-link:hover .cbc-svc-arrow{ transform:translateX(4px); }

@media all and (max-width:1024px){
  .cbc-svc-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media all and (max-width:640px){
  .cbc-svc-grid{ grid-template-columns:1fr; }
}

/* ===================== SERVICE DETAIL PAGE ===================== */

/* --- INTRO --- */
.is-wrapper > .cbc-intro, .is-wrapper .cbc-intro{ background:var(--c-paper); }
.cbc-intro-inner{ display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:56px; padding:var(--space-section) 0; align-items:start; }
.cbc-intro-lead{ font-family:var(--font-head); font-weight:700; font-size:clamp(22px,2.6vw,28px); line-height:1.3; color:var(--c-ink) !important; margin:0; text-wrap:balance; }
.cbc-intro-r p{ font-size:16.5px; line-height:1.8; color:var(--c-ink-2); margin:0 0 18px; text-wrap:pretty; }
.cbc-intro-cta{ margin-top:26px; }

/* --- SERVICE BENEFITS (tint) --- */
.is-wrapper > .cbc-ben, .is-wrapper .cbc-ben{ background:var(--c-tint); }
.cbc-ben-inner{ padding:var(--space-section) 0; }
.cbc-ben-head{ margin-bottom:44px; }
.cbc-ben-head h2{ font-weight:800; font-size:clamp(28px,3.4vw,40px); line-height:1.1; letter-spacing:-.02em; margin:0; text-wrap:balance; }
.cbc-ben-grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.cbc-ben-card{ background:var(--c-paper); border-radius:var(--r-md); padding:32px 28px; display:grid; gap:16px; align-content:start; box-shadow:var(--shadow-1); transition:transform .2s ease, box-shadow .2s ease; }
.cbc-ben-card:hover{ transform:translateY(-5px); box-shadow:var(--shadow-2); }
.cbc-ben-icon{ width:56px; height:56px; border-radius:var(--r-sm); display:grid; place-items:center; font-size:24px; color:var(--c-light); }
.cbc-ben-icon--blue{ background:var(--c-primary); }
.cbc-ben-icon--pink{ background:var(--c-accent); }
.cbc-ben-icon--teal{ background:var(--c-teal); }
.cbc-ben-icon--yellow{ background:var(--c-yellow); color:var(--c-ink); }
.cbc-ben-card h3{ font-weight:800; font-size:19px; line-height:1.25; letter-spacing:-.01em; margin:0; text-wrap:balance; }
.cbc-ben-card p{ font-size:15.5px; line-height:1.7; color:var(--c-ink-2); margin:0; }

/* --- FEATURE ROWS (zig-zag) --- */
.is-wrapper > .cbc-feat, .is-wrapper .cbc-feat{ background:var(--c-paper); }
.cbc-feat-inner{ display:grid; gap:64px; padding:var(--space-section) 0; }
.cbc-feat-row{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:56px; align-items:center; }
.cbc-feat-row--flip .cbc-feat-media{ order:2; }
.cbc-feat-media{ border-radius:var(--r-lg); overflow:hidden; min-height:420px; background:var(--c-tint); }
.cbc-feat-media img{ width:100%; height:100%; object-fit:cover; display:block; }
.cbc-feat-copy h3{ font-weight:800; font-size:clamp(24px,2.8vw,32px); line-height:1.15; letter-spacing:-.015em; margin:0 0 20px; text-wrap:balance; }
.cbc-feat-copy p{ font-size:16.5px; line-height:1.78; color:var(--c-ink-2); margin:0 0 18px; text-wrap:pretty; }

/* --- CHECKLIST --- */
.cbc-check{ list-style:none; margin:24px 0 0; padding:0; display:grid; gap:12px; }
.cbc-check li{ position:relative; padding-left:34px; font-family:var(--font-body); font-size:16px; line-height:1.5; color:var(--c-ink); }
.cbc-check li::before{ content:"\f00c"; font-family:"Font Awesome 5 Pro","Font Awesome 5 Free"; font-weight:900; position:absolute; left:0; top:1px; width:22px; height:22px; border-radius:var(--r-pill); background:var(--c-teal); color:var(--c-light); font-size:11px; display:grid; place-items:center; }

/* --- FAQ ACCORDION --- */
.is-wrapper > .cbc-faq, .is-wrapper .cbc-faq{ background:var(--c-tint); }
.cbc-faq-inner{ display:grid; grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr); gap:56px; padding:var(--space-section) 0; align-items:start; }
.cbc-faq-head{ position:sticky; top:40px; }
.cbc-faq-head h2{ font-weight:800; font-size:clamp(28px,3.4vw,40px); line-height:1.1; letter-spacing:-.02em; margin:0; text-wrap:balance; }
.cbc-faq-list{ display:grid; gap:14px; }
.cbc-faq-item{ background:var(--c-paper); border:1px solid var(--c-line); border-radius:var(--r-md); overflow:hidden; }
.cbc-faq-item summary{ list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:24px 26px; font-family:var(--font-head); font-weight:700; font-size:18px; line-height:1.4; color:var(--c-ink); }
.cbc-faq-item summary::-webkit-details-marker{ display:none; }
.cbc-faq-plus{ position:relative; flex-shrink:0; width:22px; height:22px; }
.cbc-faq-plus::before, .cbc-faq-plus::after{ content:""; position:absolute; background:var(--c-primary); border-radius:var(--r-pill); transition:transform .25s ease; }
.cbc-faq-plus::before{ top:10px; left:0; width:22px; height:2px; }
.cbc-faq-plus::after{ left:10px; top:0; width:2px; height:22px; }
.cbc-faq-item[open] .cbc-faq-plus::after{ transform:scaleY(0); }
.cbc-faq-a{ padding:0 26px 24px; }
.cbc-faq-a p{ font-size:16px; line-height:1.75; color:var(--c-ink-2); margin:0; }

/* --- SERVICE DETAIL RESPONSIVE --- */
@media all and (max-width:1024px){
  .cbc-intro-inner{ grid-template-columns:1fr; gap:28px; }
  .cbc-ben-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cbc-faq-inner{ grid-template-columns:1fr; gap:28px; }
  .cbc-faq-head{ position:static; }
}
@media all and (max-width:1023.5px){
  .cbc-feat-row, .cbc-feat-row--flip{ grid-template-columns:1fr; gap:28px; }
  .cbc-feat-media, .cbc-feat-row--flip .cbc-feat-media{ order:-1; min-height:280px; }
}
@media all and (max-width:640px){
  .cbc-ben-grid{ grid-template-columns:1fr; }
}

/* ===================== CONTACT PAGE ===================== */
.is-wrapper > .cbc-contact, .is-wrapper .cbc-contact{ background:var(--c-tint); }
.cbc-contact-inner{ padding:0 0 var(--space-section); }
.cbc-contact-grid{ display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:32px; align-items:start; margin-bottom:32px; }

/* form (blank placeholder) */
.cbc-contact-form-card{ background:var(--c-paper); border-radius:var(--r-lg); padding:40px; box-shadow:var(--shadow-1); }
.cbc-contact-form-card h2{ font-weight:800; font-size:clamp(24px,2.8vw,30px); line-height:1.2; letter-spacing:-.015em; margin:0 0 10px; }
.cbc-contact-form-sub{ font-size:16px; line-height:1.7; color:var(--c-ink-2); margin:0 0 26px; }
.cbc-contact-form-blank{ min-height:360px; border:1.5px dashed var(--c-line); border-radius:var(--r-md); background:repeating-linear-gradient( 135deg, var(--c-tint), var(--c-tint) 10px, var(--c-paper) 10px, var(--c-paper) 20px ); }

/* contact info */
.cbc-contact-info h2{ font-weight:800; font-size:clamp(24px,2.8vw,30px); line-height:1.2; letter-spacing:-.015em; margin:0 0 24px; }
.cbc-info-card{ display:flex; align-items:flex-start; gap:18px; background:var(--c-paper); border-radius:var(--r-md); padding:24px; margin-bottom:16px; box-shadow:var(--shadow-1); }
.cbc-info-icon{ flex-shrink:0; width:48px; height:48px; border-radius:var(--r-sm); display:grid; place-items:center; font-size:19px; color:var(--c-light); }
.cbc-info-icon--blue{ background:var(--c-primary); }
.cbc-info-icon--pink{ background:var(--c-accent); }
.cbc-info-icon--teal{ background:var(--c-teal); }
.cbc-info-label{ display:block; font-family:var(--font-body); font-size:12.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--c-ink-3); margin-bottom:6px; }
.cbc-info-value{ display:block; font-family:var(--font-head); font-weight:700; font-size:17px; color:var(--c-ink); text-decoration:none; }
.cbc-info-link:hover{ color:var(--c-primary); }

/* map */
.cbc-map-wrap{ border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--shadow-1); }
.cbc-map{ display:block; width:100%; height:420px; border:0; }

@media all and (max-width:1024px){
  .cbc-contact-grid{ grid-template-columns:1fr; }
}
@media all and (max-width:640px){
  .cbc-contact-form-card{ padding:28px 22px; }
  .cbc-map{ height:320px; }
}

/* ===================== BLOG LISTING (real Webware markup) ===================== */
/* Blog pages have NO .is-wrapper, so the top-of-sheet typography + section rules
   never reach them. Everything here is scoped under .new-blog-page-type (which IS
   present on the blog <main>) for specificity over the theme, and fonts/colors are
   restated from :root tokens because .is-wrapper h1/p rules don't apply on blog. */

/* --- base typography for blog (replaces the .is-wrapper h1/p rules) --- */
.new-blog-page-type,
.new-blog-page-type p,
.new-blog-page-type li,
.new-blog-page-type a{ font-family:var(--font-body); }
.new-blog-page-type h1,
.new-blog-page-type h2,
.new-blog-page-type h3,
.new-blog-page-type h4,
.new-blog-page-type h5{ font-family:var(--font-head); color:var(--c-ink); text-wrap:balance; }

/* --- banner refinements (chain already styled via .bnl-0 rules above) --- */
.new-blog-template{ background:var(--c-ink); }
.new-blog-template .bn-content{ max-width:720px; }

/* --- page shell --- */
.new-blog-page-type.blog-page-type{ background:var(--c-paper); }
.new-blog-page-type .main-blog-widget{ padding:var(--space-section) 0; }
.new-blog-page-type .main-blog-widget > .grid-container{ max-width:1200px; }

/* --- featured strip (currently display:none inline; styled defensively) --- */
.new-blog-page-type .featured-articles-section{ margin-bottom:48px; }
.new-blog-page-type .featured-articles h5{ font-family:var(--font-body); font-size:12.5px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--c-ink-3); margin:0 0 18px; }
.new-blog-page-type .featured-articles-slider{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }

/* --- search --- */
.new-blog-page-type .blog-search-container{ margin-bottom:40px; }
.new-blog-page-type .position-relative{ position:relative; max-width:520px; }
.new-blog-page-type .search-input-blog{
  width:100%; height:56px; padding:0 56px 0 24px; border-radius:var(--r-pill);
  border:1.5px solid var(--c-line); background:var(--c-paper);
  font-family:var(--font-body); font-size:16px; color:var(--c-ink); box-shadow:none;
  transition:border-color .2s ease, box-shadow .2s ease;
}
.new-blog-page-type .search-input-blog::placeholder{ color:var(--c-ink-4); }
.new-blog-page-type .search-input-blog:focus{ outline:none; border-color:var(--c-primary); box-shadow:0 0 0 4px rgba(27,117,188,.12); }
.new-blog-page-type .blog-search-button{
  position:absolute; right:8px; top:50%; transform:translateY(-50%);
  width:35px; height:35px; border-radius:var(--r-pill); border:0; cursor:pointer;
  background:var(--c-ink); display:grid; place-items:center; padding:0; transition:background .2s ease;
}
.new-blog-page-type .blog-search-button:hover{ background:var(--c-primary); }
.new-blog-page-type .blog-search-button svg{ width:18px; height:18px; }
.new-blog-page-type .blog-search-button svg path{ fill:var(--c-light); }

/* --- category pills (mobile block + sidebar) --- */
.new-blog-page-type .articles-filter-container{ margin-bottom:8px; }
.new-blog-page-type .filter-h2.section-main-heading{
  font-family:var(--font-head); font-weight:800; font-size:20px; letter-spacing:-.01em;
  color:var(--c-ink); margin:0 0 18px;
}
.new-blog-page-type .ps-blog-category{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:10px; }
.new-blog-page-type .blog-sidebar .ps-blog-category{ flex-direction:column; gap:8px; }
.new-blog-page-type .ps-blog-category li{ display:flex; margin:0; }
.new-blog-page-type .ps-blog-category li a{
  display:inline-flex; align-items:center; width:100%;
  padding:11px 18px; border-radius:var(--r-pill); border:1.5px solid var(--c-line);
  background:var(--c-paper); font-family:var(--font-body); font-size:14.5px; font-weight:600;
  color:var(--c-ink-2); text-decoration:none; white-space:nowrap;
  transition:background .2s ease, color .2s ease, border-color .2s ease;
}
.new-blog-page-type .blog-sidebar .ps-blog-category li a{ white-space:normal; }
.new-blog-page-type .ps-blog-category li a:hover{ border-color:var(--c-primary); color:var(--c-primary); }
.new-blog-page-type .ps-blog-category li.active a,
.new-blog-page-type .ps-blog-category li a.all-blogs.button{ background:var(--c-ink); border-color:var(--c-ink); color:var(--c-light); }
.new-blog-page-type .ps-blog-category li.active a:hover,
.new-blog-page-type .ps-blog-category li a.all-blogs.button:hover{ background:var(--c-primary); border-color:var(--c-primary); color:var(--c-light); }

/* --- article list (image-on-top cards) --- */
.new-blog-page-type .blog-articles{ min-width:0; }
.new-blog-page-type .blog-ul{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr; gap:28px; }
.new-blog-page-type .blog-li{ display:flex; margin:0; }
.new-blog-page-type .blog-li .row{ margin:0; max-width:none; width:100%; display:flex; }
.new-blog-page-type .blog-article{
  display:flex; flex-direction:column; width:100%;
  background:var(--c-paper); border:1px solid var(--c-line); border-radius:var(--r-lg);
  overflow:hidden; transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
  padding:0; float:none;
}
.new-blog-page-type .blog-article:hover{ transform:translateY(-6px); box-shadow:var(--shadow-2); border-color:transparent; }

.new-blog-page-type .ps-article-img{ position:relative; aspect-ratio:16/10; overflow:hidden; background:var(--c-tint); margin:0; }
.new-blog-page-type .ps-article-img img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .4s ease; }
.new-blog-page-type .blog-article:hover .ps-article-img img{ transform:scale(1.05); }

.new-blog-page-type .article-category{
  margin:26px 28px 0; padding:0; font-family:var(--font-body); font-size:12.5px; font-weight:700;
  letter-spacing:.06em; text-transform:uppercase; color:var(--c-ink-3); line-height:1.7;
}
.new-blog-page-type .article-category .categories_text{ display:none; }
.new-blog-page-type .article-category a{ color:var(--c-primary); text-decoration:none; }
.new-blog-page-type .article-category a:hover{ color:var(--c-accent); }

.new-blog-page-type .article-title.widget-title{ margin:12px 28px 0; }
.new-blog-page-type .article-title.widget-title a.section-main-heading{
  display:block; font-family:var(--font-head); font-weight:800; font-size:22px; line-height:1.28;
  letter-spacing:-.01em; color:var(--c-ink); text-decoration:none; text-wrap:balance;
}
.new-blog-page-type .article-title.widget-title a.section-main-heading:hover{ color:var(--c-primary); }

.new-blog-page-type .article-body.rte{ margin:14px 28px 0; }
.new-blog-page-type .article-body.rte p{
  font-family:var(--font-body); font-size:15.5px; line-height:1.7; color:var(--c-ink-2);
  margin:0; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
}

.new-blog-page-type .blog-read-more.link-1{
  display:inline-flex; align-items:center; gap:8px; margin:auto 28px 28px; padding-top:20px;
  font-family:var(--font-body); font-weight:700; font-size:14.5px; color:var(--c-ink);
  text-decoration:none;
}
.new-blog-page-type .blog-read-more.link-1::after{ content:"\2192"; transition:transform .2s ease; }
.new-blog-page-type .blog-read-more.link-1:hover{ color:var(--c-primary); }
.new-blog-page-type .blog-read-more.link-1:hover::after{ transform:translateX(4px); }

/* --- pagination --- */
.new-blog-page-type .ps-pagination-bar{ display:flex; justify-content:center; margin-top:48px; }
.new-blog-page-type .ps-pagination-bar p{ margin:0; }
.new-blog-page-type .ps-pagination-bar a,
.new-blog-page-type .ps-pagination-bar span{
  display:inline-flex; align-items:center; justify-content:center; min-width:42px; height:42px;
  padding:0 14px; margin:0 4px; border-radius:var(--r-pill); border:1px solid var(--c-line);
  font-family:var(--font-body); font-weight:600; font-size:14px; color:var(--c-ink-2);
  text-decoration:none; transition:background .2s ease, color .2s ease, border-color .2s ease;
}
.new-blog-page-type .ps-pagination-bar a:hover{ border-color:var(--c-primary); color:var(--c-primary); }
.new-blog-page-type .ps-pagination-bar .current,
.new-blog-page-type .ps-pagination-bar .active{ background:var(--c-ink); border-color:var(--c-ink); color:var(--c-light); }

/* --- sidebar --- */
.new-blog-page-type .blog-sidebar{ min-width:0; }
.new-blog-page-type .blog-sidebar .articles-filter-container{
  position:sticky; top:40px; background:var(--c-tint); border-radius:var(--r-lg); padding:28px; margin:0;
}

/* --- responsive --- */
@media all and (max-width:1024px){
  .new-blog-page-type .blog-sidebar .articles-filter-container{ position:static; }
  .new-blog-page-type .featured-articles-slider{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media all and (max-width:1023.5px){
  .new-blog-page-type .blog-ul{ grid-template-columns:1fr; }
  .new-blog-page-type .article-category,
  .new-blog-page-type .article-title.widget-title,
  .new-blog-page-type .article-body.rte,
  .new-blog-page-type .blog-read-more.link-1{ margin-left:22px; margin-right:22px; }
}
@media all and (max-width:640px){
  .new-blog-page-type .search-input-blog{ height:52px; font-size:15px; }
  .new-blog-page-type .ps-blog-category{ gap:8px; }
  .new-blog-page-type .ps-blog-category li a{ padding:10px 15px; font-size:14px; }
  .new-blog-page-type .featured-articles-slider{ grid-template-columns:1fr; }
}

/* ===================== BLOG SINGLE / ARTICLE PAGE ===================== */
/* Scoped under .new-blog-page-type (present on article <main>); typography restated
   from tokens since .is-wrapper rules never reach blog/article pages. */

.new-blog-page-type.article-page-type{ background:var(--c-paper); }
.new-blog-page-type .blog-article-content{ max-width:1000px; margin:0 auto; }

/* --- article title --- */
.new-blog-page-type .blog-article-content > h1.article-title.banner-main-heading{
  font-family:var(--font-head); font-weight:800; font-size:clamp(30px,4vw,46px);
  line-height:1.12; letter-spacing:-.02em; color:var(--c-ink); margin:0 0 32px; text-wrap:balance;
}

/* --- featured image + author row --- */
.new-blog-page-type .blog-article-content .ps-article-img{
  margin:0; border-radius:var(--r-lg); overflow:hidden; background:var(--c-tint);
}
.new-blog-page-type .blog-article-content .ps-article-img img{
  width:100%; height:100%; object-fit:cover; display:block; aspect-ratio:16/10;
}

.new-blog-page-type .blog-author{
  background:var(--c-tint); border-radius:var(--r-lg); padding:30px 28px;
}
.new-blog-page-type .blog-author.mb-15{ margin-bottom:0; }
.new-blog-page-type .blog-author .lab-ul{ list-style:none; margin:0; padding:0; }
.new-blog-page-type .blog-author .lab-ul > li{ margin:0 0 12px; padding:0; }
.new-blog-page-type .blog-author .author_name{
  font-family:var(--font-head); font-weight:800; font-size:18px; line-height:1.3; color:var(--c-ink);
}
.new-blog-page-type .blog-author .pubdate{
  font-family:var(--font-body); font-size:14px; font-weight:600; color:var(--c-ink-3);
}
.new-blog-page-type .blog-author .lab-ul{
  font-family:var(--font-body); font-size:12.5px; font-weight:700; letter-spacing:.06em;
  text-transform:uppercase; color:var(--c-ink-3); line-height:1.9;
}
.new-blog-page-type .blog-author .lab-ul a{ color:var(--c-primary); text-decoration:none; }
.new-blog-page-type .blog-author .lab-ul a:hover{ color:var(--c-accent); }

/* --- article body (long-form RTE) --- */
.new-blog-page-type .blog-article-content > .article-body.rte{
  max-width:100%; margin:48px auto 0;
}
.new-blog-page-type .blog-article-content > .article-body.rte p{
  font-family:var(--font-body); font-size:18px; line-height:1.85; color:var(--c-ink-2);
  margin:0 0 26px;
  /* override listing clamp */
  display:block; -webkit-line-clamp:none; overflow:visible;
}
.new-blog-page-type .blog-article-content > .article-body.rte h2{
  font-family:var(--font-head); font-weight:800; font-size:clamp(24px,2.8vw,30px); line-height:1.22;
  letter-spacing:-.015em; color:var(--c-ink); margin:48px 0 18px; text-wrap:balance;
}
.new-blog-page-type .blog-article-content > .article-body.rte h3{
  font-family:var(--font-head); font-weight:700; font-size:22px; line-height:1.3;
  color:var(--c-ink); margin:36px 0 14px;
}
.new-blog-page-type .blog-article-content > .article-body.rte a{
  color:var(--c-primary); text-decoration:underline; text-underline-offset:3px; text-decoration-thickness:1px;
}
.new-blog-page-type .blog-article-content > .article-body.rte a:hover{ color:var(--c-accent); }
.new-blog-page-type .blog-article-content > .article-body.rte ul,
.new-blog-page-type .blog-article-content > .article-body.rte ol{ margin:0 0 26px; padding-left:22px; }
.new-blog-page-type .blog-article-content > .article-body.rte li{
  font-family:var(--font-body); font-size:18px; line-height:1.8; color:var(--c-ink-2); margin-bottom:10px;
}
.new-blog-page-type .blog-article-content > .article-body.rte blockquote{
  margin:32px 0; padding:22px 28px; background:var(--c-tint); border-left:4px solid var(--c-primary);
  border-radius:0 var(--r-sm) var(--r-sm) 0; font-family:var(--font-head); font-weight:600;
  font-size:20px; line-height:1.55; color:var(--c-ink);
}
.new-blog-page-type .blog-article-content > .article-body.rte img{
  width:100%; height:auto; border-radius:var(--r-md); margin:8px 0 26px; display:block;
}

/* --- recent posts sidebar --- */
.new-blog-page-type .blog-sidebar .blog-sidebar-widget{
  max-width:1000px; margin:64px auto 0; padding-top:48px; border-top:1px solid var(--c-line);
}
.new-blog-page-type .blog-sidebar-h2.recent-posts-text{
  font-family:var(--font-head); font-weight:800; font-size:clamp(24px,3vw,32px);
  letter-spacing:-.015em; color:var(--c-ink); margin:0 0 32px;
}
.new-blog-page-type .ps-blog-recent-posts{
  list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px;
}
.new-blog-page-type .ps-blog-recent-posts .blog-li{ display:flex; margin:0; }
.new-blog-page-type .ps-blog-recent-posts .blog-li .row{ margin:0; max-width:none; width:100%; display:flex; }
.new-blog-page-type .ps-blog-recent-posts .blog-article{
  display:flex; flex-direction:column; width:100%; float:none; padding:0;
  background:var(--c-paper); border:1px solid var(--c-line); border-radius:var(--r-lg);
  overflow:hidden; transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.new-blog-page-type .ps-blog-recent-posts .blog-article:hover{ transform:translateY(-6px); box-shadow:var(--shadow-2); border-color:transparent; }
.new-blog-page-type .ps-blog-recent-posts .ps-article-img{
  position:relative; aspect-ratio:16/10; overflow:hidden; background:var(--c-tint); margin:0; border-radius:0;
}
.new-blog-page-type .ps-blog-recent-posts .ps-article-img img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .4s ease; }
.new-blog-page-type .ps-blog-recent-posts .blog-article:hover .ps-article-img img{ transform:scale(1.05); }
.new-blog-page-type .ps-blog-recent-posts .article-category{
  margin:24px 26px 0; padding:0; font-family:var(--font-body); font-size:12px; font-weight:700;
  letter-spacing:.06em; text-transform:uppercase; color:var(--c-ink-3); line-height:1.7;
}
.new-blog-page-type .ps-blog-recent-posts .article-category .categories_text{ display:none; }
.new-blog-page-type .ps-blog-recent-posts .article-category a{ color:var(--c-primary); text-decoration:none; }
.new-blog-page-type .ps-blog-recent-posts .article-category a:hover{ color:var(--c-accent); }
.new-blog-page-type .ps-blog-recent-posts .article-title.widget-title{ margin:10px 26px 0; }
.new-blog-page-type .ps-blog-recent-posts .article-title.widget-title a{
  display:block; font-family:var(--font-head); font-weight:800; font-size:19px; line-height:1.3;
  letter-spacing:-.01em; color:var(--c-ink); text-decoration:none; text-wrap:balance;
}
.new-blog-page-type .ps-blog-recent-posts .article-title.widget-title a:hover{ color:var(--c-primary); }
.new-blog-page-type .ps-blog-recent-posts .item-body.rte{ margin:12px 26px 0; }
.new-blog-page-type .ps-blog-recent-posts .item-body.rte p{
  font-family:var(--font-body); font-size:15px; line-height:1.7; color:var(--c-ink-2); margin:0;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
}
.new-blog-page-type .ps-blog-recent-posts .blog-read-more.link-1{
  display:inline-flex; align-items:center; gap:8px; margin:auto 26px 26px; padding-top:18px;
  font-family:var(--font-body); font-weight:700; font-size:14px; color:var(--c-ink); text-decoration:none;
}
.new-blog-page-type .ps-blog-recent-posts .blog-read-more.link-1::after{ content:"\2192"; transition:transform .2s ease; }
.new-blog-page-type .ps-blog-recent-posts .blog-read-more.link-1:hover{ color:var(--c-primary); }
.new-blog-page-type .ps-blog-recent-posts .blog-read-more.link-1:hover::after{ transform:translateX(4px); }

/* --- article responsive --- */
@media all and (max-width:1024px){
  .new-blog-page-type .ps-blog-recent-posts{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media all and (max-width:1023.5px){
  .new-blog-page-type .blog-author{ margin-top:20px; }
}
@media all and (max-width:640px){
  .new-blog-page-type .blog-article-content > .article-body.rte p,
  .new-blog-page-type .blog-article-content > .article-body.rte li{ font-size:17px; }
  .new-blog-page-type .blog-article-content > .article-body.rte blockquote{ font-size:18px; padding:18px 20px; }
  .new-blog-page-type .ps-blog-recent-posts{ grid-template-columns:1fr; }
}

/* ===================== MOBILE SIDENAV (off-canvas) ===================== */
/* Global off-canvas element (no .is-wrapper); styled via its real Foundation classes.
   Do NOT alter off-canvas transform/visibility mechanics — only surface styling.
   The Webware theme paints each .menu a as a dark pill; we force transparent + light
   text so labels are visible, and use !important narrowly to beat those theme rules. */

.sidenav.off-canvas{
  /* width:288px; */ max-width:82vw; padding:0;
  background:var(--c-ink);
  box-shadow:-24px 0 60px -30px rgba(0,0,0,.55);
}

/* brand accent bar down the leading edge */
.sidenav.off-canvas::before{
  content:""; position:absolute; top:0; left:0; bottom:0; width:4px; z-index:1;
  background:linear-gradient(180deg, var(--c-accent), var(--c-yellow) 50%, var(--c-teal));
}

/* menu shell */
.sidenav .accordion-menu.vertical.menu{
  padding:24px 18px 30px; margin:0; list-style:none; background:transparent;
}

/* kill theme pill backgrounds on every level */
.sidenav .accordion-menu li{ background:transparent !important; border:0; }
.sidenav .accordion-menu li > a{ background:transparent !important; box-shadow:none !important; }

/* top-level items */
.sidenav .accordion-menu > li{ margin:0 0 2px; }
.sidenav .accordion-menu > li > a{
  position:relative; display:flex; align-items:center; justify-content:flex-start; gap:9px;
  padding:14px 15px; border-radius:var(--r-sm);
  font-family:var(--font-head); font-weight:700; font-size:16px; letter-spacing:-.01em;
  color:var(--c-light) !important; text-decoration:none; line-height:1.3;
  transition:background .2s ease, padding-left .2s ease;
}
.sidenav .accordion-menu > li > a span{ color:var(--c-light) !important; }
.sidenav .accordion-menu > li > a > span::before,
.sidenav .accordion-menu li > a > span::before{ content:none !important; display:none !important; background:none !important; }
.sidenav .accordion-menu > li > a:hover{ background:rgba(255,255,255,.08) !important; padding-left:19px; }
.sidenav .accordion-menu > li > a:hover span{ color:var(--c-light) !important; }

/* active top-level item */
.sidenav .accordion-menu > li.active > a{ background:rgba(255,255,255,.12) !important; }
.sidenav .accordion-menu > li.active > a::before{
  content:""; width:7px; height:7px; border-radius:var(--r-pill);
  background:var(--c-yellow); flex-shrink:0; order:-1;
}

/* submenu parent caret */
.sidenav .accordion-menu > li.has-submenu > a{ padding-right:40px; }
.sidenav .accordion-menu > li.has-submenu > a::after{
  /* content:"\f107"; */ /* fa chevron-down */
  font-family:"Font Awesome 5 Pro","Font Awesome 5 Free","Font Awesome 6 Free"; font-weight:900;
  font-size:13px; color:var(--c-on-primary-2) !important;
  position:absolute; right:16px; top:50%; transform:translateY(-50%);
  transition:transform .25s ease; flex-shrink:0;
}
.sidenav .accordion-menu > li.has-submenu[aria-expanded="true"] > a::after,
.sidenav .accordion-menu > li.has-submenu.is-active > a::after{ transform:translateY(-50%) rotate(180deg); }
.sidenav .accordion-menu > li.has-submenu[aria-expanded="true"] > a{ background:rgba(255,255,255,.08) !important; }

/* nested submenu */
.sidenav .accordion-menu .is-accordion-submenu{
  margin:2px 0 6px 15px; padding:4px 0 4px 8px; list-style:none;
  border-left:1px solid rgba(255,255,255,.16);
}
.sidenav .accordion-menu .is-accordion-submenu > li{ margin:0; }
.sidenav .accordion-menu .is-accordion-submenu > li > a{
  display:block; padding:10px 13px; border-radius:var(--r-sm);
  font-family:var(--font-body); font-weight:600; font-size:14px; line-height:1.4;
  color:var(--c-on-primary) !important; text-decoration:none;
  transition:background .2s ease, padding-left .2s ease;
}
.sidenav .accordion-menu .is-accordion-submenu > li > a span{ color:inherit !important; padding-left:0 !important; }
.sidenav .accordion-menu .is-accordion-submenu > li > a:hover{ background:rgba(255,255,255,.07) !important; padding-left:17px; }
.sidenav .accordion-menu .is-accordion-submenu > li > a:hover span{ color:var(--c-light) !important; }
.sidenav .accordion-menu .is-accordion-submenu > li.active > a{ background:rgba(255,255,255,.07) !important; }
.sidenav .accordion-menu .is-accordion-submenu > li.active > a span{ color:var(--c-yellow) !important; }

/* ===================== HEADER (new-header-6) ===================== */
/* Styled via real theme classes. Header markup lives outside .is-wrapper in the
   header module, so selectors are anchored on #header / .new-header. Narrow
   !important only where the Webware theme paints its own bg/colors. */

#header.new-header{ background:var(--c-paper); position:relative; z-index:50; }
#header.new-header.has-bg{ box-shadow:var(--shadow-1); }
#header .custom-grid-container{ max-width:1240px; margin:0 auto; }

/* --- desktop layout: logo left, right block = contact strip (top) + nav (below) --- */
@media all and (min-width:1024px){
  #header .custom-grid-container{
    display:flex !important; align-items:center; justify-content:space-between;
    gap:24px;padding: 0px !important; flex-wrap:nowrap;
  }
  #header .logo-container{ flex:0 0 auto; }
  /* the big right cell holds contact-section + menu-container stacked */
  #header .cell.show-for-large{
    flex:1 1 auto; display:flex; flex-direction:column; align-items:flex-end; gap:10px;
  }
  #header .contact-section{ width:auto; }
  #header .menu-container{ width:100%; }
}

/* --- logo --- */
#header .logo-container a{ display:inline-flex; align-items:center; }
#header .logo-container img{ max-width:152px; height:auto; display:block; }

/* --- top contact strip (phone + contact button) --- */
#header .contact-section{ display:flex; align-items:center; gap:10px; margin:0; list-style:none; justify-content:flex-end; }
#header .contact-section li{ margin:0; }
#header .head-contact-links{
  display:inline-flex; align-items:center; gap:11px; padding:8px 14px !important; border-radius:var(--r-pill);
  text-decoration:none; transition:background .2s ease;
}
#header .head-contact-links:hover{ background:var(--c-tint); }
#header .head-contact-links .icon-part{
  width:38px; height:38px; border-radius:var(--r-pill); flex-shrink:0;
  display:grid; place-items:center; background:var(--c-primary); color:var(--c-light); font-size:15px;
}
#header .head-contact-links .icon-part i{ color:var(--c-light); }
#header .head-contact-links .text-part .heading{
  font-family:var(--font-body); font-size:11.5px; font-weight:700; letter-spacing:.1em;
  text-transform:uppercase; color:var(--c-ink-3); line-height:1;
}
#header .head-contact-links .text-part .below-text{
  font-family:var(--font-head); font-size:16px; font-weight:800; color:var(--c-ink); line-height:1.3;
}

/* --- Contact Us button --- */
#header .contact-section .button,
#header .mobile-contact-button-section .button{
  display:inline-flex; align-items:center; justify-content:center;
  padding:13px 26px; border-radius:var(--r-pill);
  background:var(--c-ink) !important; color:var(--c-light) !important;
  font-family:var(--font-body); font-weight:700; font-size:14.5px; letter-spacing:.01em;
  text-decoration:none; border:0; transition:background .2s ease, transform .2s ease;
}
#header .contact-section .button:hover,
#header .mobile-contact-button-section .button:hover{
  background:var(--c-accent) !important; color:var(--c-light) !important; transform:translateY(-1px);
}

/* --- primary nav (desktop dropdown) --- */
#header .menu-container nav{ display:flex; justify-content:flex-end; }
#header #mainNav.dropdown.menu{ display:flex; align-items:center; gap:2px; margin:0; padding:0; list-style:none; background:transparent; }
#header #mainNav > li{ margin:0; background:transparent; }
#header #mainNav > li > a{
  position:relative; display:inline-flex; align-items:center; gap:7px;
  padding:12px 16px; border-radius:var(--r-sm); background:transparent !important;
  font-family:var(--font-body); font-weight:600; font-size:15.5px; letter-spacing:-.01em;
  color:var(--c-ink) !important; text-decoration:none; transition:color .2s ease, background .2s ease;
}
#header #mainNav > li > a span{ color:inherit !important; }
#header #mainNav > li > a span::before,
#header #mainNav > li.has-submenu > a > span::before{ content:none !important; display:none !important; background:none !important; }
#header #mainNav > li > a:hover{ color:var(--c-primary) !important; }
/* animated underline */
#header #mainNav > li:not(.has-submenu) > a::after{
  content:""; position:absolute; left:16px; right:16px; bottom:7px; height:2px; border-radius:var(--r-pill);
  background:var(--c-primary); transform:scaleX(0); transform-origin:left; transition:transform .22s ease;
}
#header #mainNav > li:not(.has-submenu) > a:hover::after{ transform:scaleX(1); }
/* active top-level */
#header #mainNav > li.active > a{ color:var(--c-primary) !important; }
#header #mainNav > li.active:not(.has-submenu) > a::after{ transform:scaleX(1); background:var(--c-yellow); }

/* submenu parent caret */
#header #mainNav > li.has-submenu > a{ padding-right:34px; }
#header #mainNav > li.has-submenu > a::after{
  /* content:"\f107"; */ font-family:"Font Awesome 5 Pro","Font Awesome 5 Free","Font Awesome 6 Free"; font-weight:900;
  font-size:11px; color:var(--c-ink-3); position:absolute; right:14px !important; top:57%; transform:translateY(-50%);
  transition:transform .2s ease, color .2s ease; background:none; width:auto; height:auto;
}
#header #mainNav > li.has-submenu:hover > a::after,
#header #mainNav > li.has-submenu[aria-expanded="true"] > a::after{ transform:translateY(-50%) rotate(180deg); color:var(--c-primary); }

/* dropdown panel */
#header #mainNav .is-dropdown-submenu{
  min-width:300px; max-width:360px; padding:10px; margin-top:8px; border:0; border-radius:var(--r-md);
  background:var(--c-paper) !important; box-shadow:var(--shadow-2);
}
#header #mainNav .is-dropdown-submenu::before{
  content:""; position:absolute; top:-5px; left:22px; width:12px; height:12px; rotate:45deg;
  background:var(--c-paper); box-shadow:-3px -3px 8px -4px rgba(0,0,0,.12);
}
#header #mainNav .is-dropdown-submenu > li{ margin:0; background:transparent; }
#header #mainNav .is-dropdown-submenu > li > a{
  display:block; padding:11px 14px; border-radius:var(--r-sm); background:transparent !important;
  font-family:var(--font-body); font-weight:600; font-size:14.5px; line-height:1.4;
  color:var(--c-ink-2) !important; text-decoration:none; white-space:normal;
  transition:background .2s ease, color .2s ease, padding-left .2s ease;
}
#header #mainNav .is-dropdown-submenu > li > a span{ white-space:normal; }
#header #mainNav .is-dropdown-submenu > li > a span{ color:inherit !important; }
#header #mainNav .is-dropdown-submenu > li > a:hover{
  background:var(--c-tint) !important; color:var(--c-primary) !important; padding-left:18px;
}
#header #mainNav .is-dropdown-submenu > li.active > a{ color:var(--c-primary) !important; }

/* --- mobile hamburger + contact row --- */
#header .openMenu{
  display:inline-flex; align-items:center; justify-content:center; width:48px; height:48px;
  border-radius:var(--r-sm); border:0; cursor:pointer; background:var(--c-tint); color:var(--c-ink);
  transition:background .2s ease, color .2s ease;
}
#header .openMenu:hover{ background:var(--c-ink); color:var(--c-light); }
#header .openMenu .icon{ font-size:22px; }

#header .mobile-contact-buttom-section{ margin-top:10px; }
#header .mobile-contact-buttom-section .cta-links{
  display:inline-flex; align-items:center; gap:8px; padding:10px 16px; border-radius:var(--r-pill);
  background:var(--c-tint); color:var(--c-ink); text-decoration:none;
  font-family:var(--font-body); font-weight:700; font-size:14.5px;
}
#header .mobile-contact-buttom-section .cta-links i{ color:var(--c-primary); }
#header .mobile-contact-button-section{ margin-top:10px; }

/* --- header responsive (mobile) --- */
@media all and (max-width:1023.5px){
  /* top row: logo centered, hamburger pinned top-right */
  #header .custom-grid-container{
    position:relative; display:flex !important; flex-wrap:wrap; align-items:center;
    justify-content:center; gap:12px; padding:14px 16px !important;
  }
  #header .logo-container{ flex:0 0 100%; display:flex; justify-content:center; }
  #header .sidenav-container{
    position:absolute; top:12px; right:16px; flex:0 0 auto; margin:0;
  }

  /* hide the desktop contact strip entirely on mobile */
  #header .cell.show-for-large,
  #header .contact-section,
  #header .menu-container.show-for-large{ display:none !important; }

  /* mobile contact strip: full-width row below logo, on paper */
  #header .hide-for-large:not(.sidenav-container){
    flex:0 0 100%; width:100%; display:flex; flex-direction:column; align-items:center;
    justify-content:center; gap:12px; margin-top:0; padding-top:14px;
    border-top:1px solid var(--c-line);
  }
  /* kill any theme dark background on the mobile contact sections */
  #header .mobile-contact-buttom-section,
  #header .mobile-contact-button-section{
    width:100%; display:flex; justify-content:center; margin:0;
    background:transparent !important; border:0 !important;
  }
  #header .mobile-contact-buttom-section{ padding:0 !important; }
  /* divider between phone number and Contact Us button */
  #header .mobile-contact-button-section{
    padding:12px 0 0 !important; border-top:1px solid var(--c-line) !important; width:100%;
  }

  /* phone pill (compact, centered) */
  #header .mobile-contact-buttom-section .cta-links{
    display:inline-flex; align-items:center; gap:9px; width:auto; max-width:max-content;
    padding:12px 24px; border-radius:var(--r-pill);
    background:var(--c-tint) !important; color:var(--c-ink) !important; text-decoration:none;
    font-family:var(--font-head); font-weight:800; font-size:16px;
  }
  #header .mobile-contact-buttom-section .cta-links i{width: 38px;height: 38px;border-radius: var(--r-pill);flex-shrink: 0;display: grid;place-items: center;background: var(--c-primary);color: var(--c-light);font-size: 15px;}
  #header .mobile-contact-buttom-section .cta-links span{ color:var(--c-ink) !important; }

  /* Contact Us button (compact pill, not full-width) */
  #header .mobile-contact-button-section .button{
    display:inline-flex; width:auto; max-width:max-content;
    padding:13px 34px; font-size:15px; border-radius:var(--r-pill);
  }

  /* bigger tap target hamburger */
  #header .openMenu{ width:50px; height:50px; }
  #header .openMenu .icon{ font-size:24px; }
}
@media all and (max-width:400px){
  #header .mobile-contact-buttom-section .cta-links,
  #header .mobile-contact-button-section .button{ width:auto; max-width:90%; justify-content:center; }
}

/* ===================== FOOTER (new-footer-1) ===================== */
/* Styled via real theme classes. Narrow !important only where the Webware theme
   paints its own bg/colors (nav links, dropdown, button). */

#footer.new-footer{ background:var(--c-ink); color:var(--c-on-dark); position:relative; }
#footer .custom-grid-container{ max-width:1200px; margin:0 auto; }

/* --- top nav bar --- */
#footer .footer-menu-container{ border-bottom:1px solid rgba(255,255,255,.12); }
#footer #mainNav.dropdown.menu{ display:flex; flex-wrap:wrap; justify-content:center; gap:4px; margin:0; padding:0; list-style:none; background:transparent; }
#footer #mainNav > li{ margin:0; background:transparent; position:relative; }
#footer #mainNav > li > a{
  display:inline-flex; align-items:center; gap:7px; padding:10px 16px; border-radius:var(--r-sm);
  background:transparent !important; font-family:var(--font-body); font-weight:600; font-size:15px;
  color:var(--c-light) !important; text-decoration:none; transition:color .2s ease, background .2s ease;
}
#footer #mainNav > li > a span{ color:inherit !important; }
#footer #mainNav > li > a:hover{ color:var(--c-yellow) !important; background:rgba(255,255,255,.06) !important; }
#footer #mainNav > li.active > a{ color:var(--c-yellow) !important; }

/* caret + footer dropdown (opens upward on live via theme; style panel) */
#footer #mainNav > li.has-submenu > a::after{
  content:"\f107"; font-family:"Font Awesome 5 Pro","Font Awesome 5 Free","Font Awesome 6 Free"; font-weight:900;
  font-size:11px; color:var(--c-on-primary-2) !important; transition:transform .2s ease;
}
#footer #mainNav > li.has-submenu:hover > a::after{ transform:rotate(180deg); }
#footer #mainNav .is-dropdown-submenu{
  min-width:250px; padding:10px; border:0; border-radius:var(--r-md);
  background:var(--c-ink-raised) !important; box-shadow:var(--shadow-2);
}
#footer #mainNav .is-dropdown-submenu > li{ margin:0; background:transparent; }
#footer #mainNav .is-dropdown-submenu > li > a{
  display:block; padding:10px 14px; border-radius:var(--r-sm); background:transparent !important;
  font-family:var(--font-body); font-weight:600; font-size:14px; color:var(--c-on-primary) !important;
  text-decoration:none; white-space:nowrap; transition:background .2s ease, color .2s ease, padding-left .2s ease;
}
#footer #mainNav .is-dropdown-submenu > li > a:hover{ background:rgba(255,255,255,.08) !important; color:var(--c-light) !important; padding-left:18px; }

/* --- body columns --- */
#footer .new-footer-1.align-justify{ padding-top:44px; padding-bottom:40px; }
#footer .footer-text h4,
#footer .contact-us-column h4{
  font-family:var(--font-head); font-weight:800; font-size:19px; letter-spacing:-.01em;
  color:var(--c-light); margin:0 0 14px; position:relative; padding-bottom:12px;
}
#footer .footer-text h4::after,
#footer .contact-us-column h4::after{
  content:""; position:absolute; left:0; bottom:0; width:40px; height:3px; border-radius:var(--r-pill);
  background:linear-gradient(90deg, var(--c-accent), var(--c-yellow));
}
#footer .footer-text p{ font-family:var(--font-body); font-size:15px; line-height:1.7; color:var(--c-on-dark); margin:0 0 20px; }

/* social icons */
#footer .footer-social-media .menu{ display:flex; gap:10px; margin:0; padding:0; list-style:none; }
#footer .footer-social-media .menu li{ margin:0; }
#footer .footer-social-media .menu li a{
  display:grid; place-items:center; width:42px; height:42px; border-radius:var(--r-pill);
  backgrounds:rgba(255,255,255,.08); color:var(--c-light); text-decoration:none; font-size:17px;
  transition:background .2s ease, transform .2s ease, color .2s ease;
}
#footer .footer-social-media .menu li a:hover{ backgrounds:var(--c-primary); color:var(--c-light); transform:translateY(-3px); }

/* center logo */
#footer .footer-media-box{ display:flex; align-items:center; justify-content:center; }
#footer .footer-media-box img{ max-width:200px; height:auto; display:block; }

/* contact column */
#footer .contact-us-column .shop-address{
  display:flex !important; align-items:center; gap:12px;
  font-family:var(--font-body); font-size:15px; line-height:1.5; color:var(--c-on-dark) !important;
  text-decoration:none; margin-bottom:16px; transition:color .2s ease;
}
#footer .contact-us-column .shop-address::before{
  content:"\f3c5"; /* fa map-marker-alt */
  font-family:"Font Awesome 5 Pro","Font Awesome 5 Free","Font Awesome 6 Free"; font-weight:900;
  width:28px; height:28px; border-radius:var(--r-pill); flex-shrink:0;
  display:grid; place-items:center; font-size:13px; background:var(--c-primary); color:var(--c-light);
}
#footer .contact-us-column .shop-address:hover{ color:var(--c-light) !important; }
#footer .contact-us-column .contact-number{ display:flex; align-items:center; gap:12px; margin-bottom:14px; line-height:1; }
#footer .contact-us-column .contact-number::before{
  content:"\f879"; /* fa phone-alt (upright handset) */
  font-family:"Font Awesome 5 Pro","Font Awesome 5 Free","Font Awesome 6 Free"; font-weight:900;
  width:28px; height:28px; border-radius:var(--r-pill); flex-shrink:0;
  display:grid; place-items:center; font-size:13px; background:var(--c-accent); color:var(--c-light);
}
#footer .contact-us-column .contact-number a{ line-height:1; display:inline-flex; align-items:center; }
#footer .contact-us-column .contact-number a{
  font-family:var(--font-head); font-weight:800; font-size:18px; color:var(--c-light) !important; text-decoration:none;
}
#footer .contact-us-column .contact-number a:hover{ color:var(--c-yellow) !important; }
#footer .contact-us-column .email-id{
  position:relative; display:inline-flex; align-items:center; gap:12px;
  font-family:var(--font-body); font-size:15px; color:var(--c-on-primary) !important;
  text-decoration:none; margin-bottom:18px; transition:color .2s ease;
}
#footer .contact-us-column .email-id::before{
  content:"\f0e0"; /* fa envelope */
  font-family:"Font Awesome 5 Pro","Font Awesome 5 Free","Font Awesome 6 Free"; font-weight:900;
  width:28px; height:28px; border-radius:var(--r-pill); flex-shrink:0;
  display:grid; place-items:center; font-size:12px; background:var(--c-teal); color:var(--c-light);
}
#footer .contact-us-column .email-id:hover{ color:var(--c-yellow) !important; }

/* mailing-list button */
#footer .mailing-list-button .button{
  display:inline-flex; align-items:center; justify-content:center; padding:12px 26px; border-radius:var(--r-pill); margin-top:4px;
  background:var(--c-yellow) !important; color:var(--c-ink) !important;
  font-family:var(--font-body); font-weight:700; font-size:14.5px; text-decoration:none; border:0;
  transition:background .2s ease, transform .2s ease;
}
#footer .mailing-list-button .button:hover{ background:var(--c-light) !important; color:var(--c-ink) !important; transform:translateY(-2px); }

/* --- copyright bar --- */
#footer .copyright-container{ border-top:1px solid rgba(255,255,255,.12); padding:22px 0; }
#footer .copyright-container .copyright{
  font-family:var(--font-body); font-size:13.5px; color:var(--c-on-dark); margin:0;
}
#footer .copyright-container .copyright a{ color:var(--c-on-primary-2) !important; text-decoration:none; }
#footer .copyright-container .copyright a:hover{ color:var(--c-yellow) !important; }

/* --- footer responsive --- */
@media all and (max-width:1024px){
  #footer .new-footer-1.align-justify{ padding-top:44px; padding-bottom:44px; }
  #footer .footer-media-box{ margin:8px 0 24px; }
}
@media all and (max-width:1024px){
  /* columns stack at this width (Foundation large-*), so center everything here */
  #footer #mainNav.dropdown.menu{ flex-wrap:wrap; justify-content:center; }

  #footer .footer-text,
  #footer .contact-us-column{ text-align:center; }
  #footer .footer-text h4,
  #footer .contact-us-column h4{ display:inline-block; }
  #footer .footer-text h4::after,
  #footer .contact-us-column h4::after{ left:50%; transform:translateX(-50%); }
  #footer .footer-social-media .menu{ justify-content:center; }

  /* address: pin icon inline (left), text beside it — like phone/email */
  #footer .contact-us-column .shop-address{
    display:flex !important; align-items:center; justify-content:center; gap:12px;
    padding-left:0 !important; text-align:left; flex-wrap:nowrap; line-height:1.4;
  }
  #footer .contact-us-column .shop-address::before{
    position:static !important; top:auto !important; left:auto !important; margin:0 !important;
    display:inline-grid !important; flex-shrink:0;
  }

  /* phone + email: badge + text centered as a group */
  #footer .contact-us-column .contact-number{ justify-content:center; }
  #footer .contact-us-column .email-id{ justify-content:center; }

  /* mailing-list button centered */
  #footer .mailing-list-button{ text-align:center; }
}
@media all and (max-width:640px){
  #footer #mainNav.dropdown.menu{ flex-direction:column; align-items:center; gap:0; }
}

/* ===================== BACK-TO-TOP BUTTON ===================== */
/* Real markup: <a class="position-fixed back-to-top-button"><i class="fas fa-arrow-right fa-2x fa-pull-right fa-border fa-rotate-270"></i></a> */
.back-to-top-button{
  position:fixed !important; right:24px; bottom:24px; z-index:120;
  width:52px; height:52px; border-radius:var(--r-pill);
  display:grid !important; place-items:center; cursor:pointer;
  background:var(--c-ink) !important; color:var(--c-light) !important;
  border:0; text-decoration:none; box-shadow:var(--shadow-2);
  transition:background .2s ease, transform .2s ease, opacity .25s ease, visibility .25s ease;
}
.back-to-top-button:hover{ background:var(--c-primary) !important; transform:translateY(-4px); }
.back-to-top-button:active{ transform:translateY(-1px); }

/* neutralize FontAwesome utility classes that distort the icon */
.back-to-top-button i.fas{
  float:none !important; margin:0 !important; padding:0 !important;
  border:0 !important; border-radius:0 !important; background:none !important;
  box-shadow:none !important; width:auto !important; height:auto !important;
  color:var(--c-light) !important; line-height:1 !important;
  font-size:18px !important; /* tame fa-2x so it fits the 52px circle */
}
/* keep the upward rotation from fa-rotate-270 intact (points arrow up) */

@media all and (max-width:640px){
  .back-to-top-button{ right:16px; bottom:16px; width:46px; height:46px; }
  .back-to-top-button i.fas{ font-size:16px !important; }
}


.form-container-3,form:has(.fieldset){background:var(--c-paper)!important;border:1px solid var(--c-line)!important;padding:42px!important;border-radius:var(--r-md)!important;box-shadow:var(--shadow-1)!important;max-width:650px!important;margin:0 auto!important;position:relative;overflow:hidden}
.form-container-3::before,form:has(.fieldset)::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--c-primary);z-index:1}
.form-container-3::after,form:has(.fieldset)::after{content:"";position:absolute;right:-55px;bottom:-55px;width:150px;height:150px;border:18px solid rgba(27,117,188,.07);border-radius:50%;pointer-events:none}
.form-template-3 .ww-form-container-3 textarea{background:var(--c-light)!important;border-radius:8px}
input.input,input[type="text"],input[type="email"],input[type="tel"],.form-container select,.form-container textarea{width:100%!important;background:var(--c-light)!important;border:1px solid var(--c-line)!important;border-radius:8px!important;padding:15px 18px!important;font-family:var(--font-body);font-size:var(--fs-body)!important;color:var(--c-ink)!important;transition:all .3s ease!important;box-shadow:var(--shadow-1)!important}
input.input:hover,input[type="text"]:hover,input[type="email"]:hover,input[type="tel"]:hover,.form-container select:hover,.form-container textarea:hover{border-color:rgba(27,117,188,.35)!important}
input.input:focus,input[type="text"]:focus,input[type="email"]:focus,input[type="tel"]:focus,.form-container select:focus,.form-container textarea:focus{border-color:var(--c-primary)!important;background:var(--c-light)!important;outline:none!important;box-shadow:0 0 0 3px rgba(27,117,188,.12)!important}
.fieldset label,.form-container label{font-family:var(--font-head);font-size:16px!important;font-weight:600!important;color:var(--c-ink)!important;margin-bottom:7px!important;letter-spacing:.1px!important}
.form-container input[type="submit"],.form-container button[type="submit"]{position:relative;background:var(--btn-bg)!important;color:var(--btn-text)!important;border:1px solid var(--btn-bg)!important;border-radius:8px!important;padding:15px 24px!important;font-family:var(--font-head);font-size:15px!important;font-weight:600!important;letter-spacing:.06em!important;text-transform:none!important;transition:all .3s ease!important;box-shadow:0 7px 18px rgba(27,117,188,.2)!important;cursor:pointer!important;width:165px!important}
.form-container input[type="submit"]:hover,.form-container button[type="submit"]:hover{background:var(--btn-bg-hover)!important;border-color:var(--btn-bg-hover)!important;color:var(--btn-text)!important;transform:translateY(-3px)!important;box-shadow:0 12px 25px rgba(236,0,140,.18)!important}
.form-template-3 .ww-form-container-3 select{background:var(--c-light)!important;border:1px solid var(--c-line)!important;border-radius:8px!important}
input#mob_phone_phone_number_tel{padding-left:47px!important}
@media screen and (max-width:767px){.form-container-3,form:has(.fieldset){padding:30px 20px!important;border-radius:var(--r-sm)!important}.form-container input[type="submit"],.form-container button[type="submit"]{width:100%!important}}



#lead-magnet-form .ww-form-container{position:relative;overflow:hidden;max-width:660px;margin:0 auto;padding:42px 38px;border:1px solid var(--c-line);border-radius:var(--r-md);background:var(--c-paper);box-shadow:var(--shadow-1)}
#lead-magnet-form .ww-form-container::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--c-primary)}
#lead-magnet-form .ww-form-container::after{content:"";position:absolute;right:-55px;bottom:-55px;width:150px;height:150px;border:18px solid rgba(27,117,188,.07);border-radius:50%;pointer-events:none}
#lead-magnet-form form{width:100%}
#lead-magnet-form h2{font-family:var(--font-head);font-size:var(--fs-h3);line-height:1.2;font-weight:600;color:var(--c-ink);margin:0 0 14px;position:relative;z-index:1}
#lead-magnet-form h2::after{content:"";display:block;width:42px;height:3px;background:var(--c-yellow);border-radius:3px;margin-top:12px}
#lead-magnet-form p{font-family:var(--font-body);color:var(--c-ink)!important;font-size:var(--fs-body);line-height:1.7;margin:0 0 26px;position:relative;z-index:1}
#lead-magnet-form .first_name_wrap,#lead-magnet-form .email_wrap{margin-bottom:18px}
#lead-magnet-form label{display:block;font-family:var(--font-head);font-size:15px;font-weight:600;letter-spacing:.02em;text-transform:none;color:var(--c-ink)!important;margin-bottom:7px}
#lead-magnet-form .required{color:var(--c-accent)!important;margin-left:3px}
#lead-magnet-form input.input:not(.button){width:100%;padding:14px 17px;line-height:1.5;font-family:var(--font-body);font-size:var(--fs-body);background:var(--c-light)!important;border:1px solid var(--c-line)!important;color:var(--c-ink)!important;border-radius:8px!important;box-shadow:var(--shadow-1)!important;transition:all .3s ease}
#lead-magnet-form input.input:not(.button):hover{border-color:rgba(27,117,188,.35)!important}
#lead-magnet-form input.input:not(.button)::placeholder{color:var(--c-ink-4)}
#lead-magnet-form input.input:not(.button):focus{outline:none;border-color:var(--c-primary)!important;box-shadow:0 0 0 3px rgba(27,117,188,.12)!important}
#lead-magnet-form .error{display:block;margin-top:6px;font-family:var(--font-body);font-size:13px;color:var(--c-accent)}
#lead-magnet-form .captcha_wrap{margin-bottom:16px}
#lead-magnet-form input[type="submit"]{font-family:var(--font-head);font-weight:600;font-size:15px!important;line-height:1.4!important;letter-spacing:.06em;text-align:center;text-transform:none;display:inline-flex;align-items:center;justify-content:center;padding:15px 26px!important;cursor:pointer;background:var(--btn-bg)!important;color:var(--btn-text)!important;border:1px solid var(--btn-bg)!important;border-radius:8px!important;transition:all .3s ease;transform:translateY(0);width:max-content!important;box-shadow:0 7px 18px rgba(27,117,188,.2)}
#lead-magnet-form input[type="submit"]:hover,#lead-magnet-form input[type="submit"]:focus,#lead-magnet-form input[type="submit"]:active{background:var(--btn-bg-hover)!important;color:var(--btn-text)!important;border-color:var(--btn-bg-hover)!important;opacity:1;transform:translateY(-3px);box-shadow:0 12px 25px rgba(236,0,140,.18);outline:none}
@media all and (max-width:640px){
#lead-magnet-form .ww-form-container{padding:30px 22px;border-radius:var(--r-sm)}
#lead-magnet-form h2{font-size:28px}
#lead-magnet-form p{font-size:15px}
#lead-magnet-form input[type="submit"]{width:100%!important}
}





/* ===== CREDENTIALS SECTION — standalone CSS (Coaching by Concept) ===== */

/* accent tick */
.cbc-creds .cbc-tick{ display:inline-block; width:44px; height:6px; border-radius:var(--r-pill); margin-bottom:22px; }
.cbc-creds .cbc-tick--blue{ background:var(--c-primary); }

/* section */
.is-wrapper > .cbc-creds, .is-wrapper .cbc-creds{ background:var(--c-tint); }
.cbc-creds-inner{ padding:var(--space-section) 0; }
.cbc-creds-head{ margin-bottom:44px; }
.cbc-creds-head h2{ font-family:var(--font-head); font-weight:800; font-size:clamp(28px,3.4vw,40px); line-height:1.1; letter-spacing:-.02em; color:var(--c-ink); margin:0; text-wrap:balance; }

/* grid */
.cbc-creds-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.cbc-cred-card{
  display:flex; align-items:center; gap:16px; padding:10px;
  background:var(--c-paper); border:1px solid var(--c-line); border-radius:var(--r-md);
  text-decoration:none; transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.cbc-cred-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow-2); border-color:transparent; }

.cbc-cred-icon{
  flex-shrink:0; width:100%; height:auto; border-radius:var(--r-sm);
  display:grid; place-items:center; font-size:20px; color:var(--c-light);
}
.cbc-cred-icon--jpg{ background:var(--c-primary); }
.cbc-cred-icon--pdf{ background:var(--c-accent); }

.cbc-cred-body{ flex:1; min-width:0; display:flex; flex-direction:column; gap:5px; }
.cbc-cred-name{ font-family:var(--font-head); font-weight:600; font-size:15px; line-height:1.3; color:var(--c-ink); text-wrap:balance; }
.cbc-cred-type{ font-family:var(--font-body); font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--c-ink-3); }

.cbc-cred-dl{
  flex-shrink:0; display:inline-flex; align-items:center; gap:7px;
  font-family:var(--font-body); font-size:13px; font-weight:700; color:var(--c-primary);
  transition:color .2s ease;
}
.cbc-cred-dl i{ font-size:12px; }
.cbc-cred-card:hover .cbc-cred-dl{ color:var(--c-accent); }

@media all and (max-width:1024px){
  .cbc-creds-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media all and (max-width:640px){
  .cbc-creds-grid{ grid-template-columns:1fr; }
  .cbc-cred-dl span{ display:none; }
}

/* ===================== PERSONAL GROWTH PAGE ===================== */
/* Reuses existing tokens + shared classes (.cbc-dots, .cbc-tick, .bnl-0 hero,
   .cbc-cta, .cbc-btn). Only the page-specific sections are defined below. */

/* --- AREAS WE SERVE --- */
.is-wrapper > .cbc-areas, .is-wrapper .cbc-areas{ background:var(--c-paper); }
.cbc-areas-inner{ padding:var(--space-section) 0; }
.cbc-areas-head{ margin-bottom:40px; }
.cbc-areas-head h2{ font-weight:800; font-size:clamp(26px,3.2vw,36px); line-height:1.12; letter-spacing:-.015em; margin:0; }
.cbc-areas-grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.cbc-area{ background:var(--c-tint); border-radius:var(--r-md); padding:30px 26px; display:grid; gap:8px; align-content:space-between; min-height:150px; transition:transform .2s ease, box-shadow .2s ease; }
.cbc-area:hover{ transform:translateY(-4px); box-shadow:var(--shadow-1); }
.cbc-area--blue{ border-top:6px solid var(--c-primary); }
.cbc-area--pink{ border-top:6px solid var(--c-accent); }
.cbc-area--teal{ border-top:6px solid var(--c-teal); }
.cbc-area--yellow{ border-top:6px solid var(--c-yellow); }
.cbc-area-label{ font-family:var(--font-body); font-size:12px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--c-ink-4); }
.cbc-area-name{ font-family:var(--font-head); font-weight:800; font-size:26px; line-height:1.1; letter-spacing:-.01em; color:var(--c-ink); }

/* --- VALUE / EVERYDAY CHALLENGES --- */
.is-wrapper > .cbc-value, .is-wrapper .cbc-value{ background:var(--c-tint); }
.cbc-value-inner{ display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); gap:56px; padding:var(--space-section) 0; align-items:start; }
.cbc-value-head h2{ font-weight:800; font-size:var(--fs-h2); line-height:1.1; letter-spacing:-.02em; margin:0; }
.cbc-value-body p{ font-size:17px; line-height:1.8; color:var(--c-ink-2); margin:0; text-wrap:pretty; }

/* --- HOW WE CAN HELP --- */
.is-wrapper > .cbc-help, .is-wrapper .cbc-help{ background:var(--c-paper); }
.cbc-help-inner{ padding:var(--space-section) 0; }
.cbc-help-head{ margin-bottom:44px; }
.cbc-help-head h2{ font-weight:800; font-size:var(--fs-h2); line-height:1.1; letter-spacing:-.02em; margin:0; }
.cbc-help-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.cbc-help-card{ position:relative; overflow:hidden; background:var(--c-paper); border:1px solid var(--c-line); border-radius:var(--r-lg); padding:34px 30px 30px; display:flex; flex-direction:column; gap:14px; text-decoration:none; transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.cbc-help-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow-2); border-color:transparent; }
.cbc-help-card::before{ content:""; position:absolute; top:0; left:0; right:0; height:5px; background:linear-gradient(90deg, var(--c-primary), var(--c-teal)); opacity:0; transition:opacity .22s ease; }
.cbc-help-card:hover::before{ opacity:1; }
.cbc-help-num{ font-family:var(--font-head); font-weight:800; font-size:15px; color:var(--c-accent); letter-spacing:.02em; }
.cbc-help-card h3{ font-weight:800; font-size:21px; line-height:1.22; letter-spacing:-.01em; margin:0; text-wrap:balance; }
.cbc-help-card p{ font-size:15.5px; line-height:1.7; color:var(--c-ink-2); margin:0; }
.cbc-help-more{ margin-top:6px; display:inline-flex; align-items:center; gap:7px; font-family:var(--font-body); font-weight:700; font-size:14px; color:var(--c-primary); transition:color .2s ease, transform .2s ease; }
.cbc-help-more::after{ content:"\2192"; transition:transform .2s ease; }
.cbc-help-card:hover .cbc-help-more{ color:var(--c-accent); }
.cbc-help-card:hover .cbc-help-more::after{ transform:translateX(4px); }

/* --- PERSONAL GROWTH RESPONSIVE --- */
@media all and (max-width:1024px){
  .cbc-areas-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cbc-value-inner{ grid-template-columns:1fr; gap:24px; }
  .cbc-help-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media all and (max-width:640px){
  .cbc-areas-grid{ grid-template-columns:1fr; }
  .cbc-help-grid{ grid-template-columns:1fr; }
}


/* ===================== STARK COUNTY / LOCATION PAGE ===================== */
/* Reuses existing: .cbc-intro, .cbc-check, .cbc-areas, .cbc-cta, .bnl-0 hero,
   .cbc-dots, .cbc-tick, .cbc-btn. Only new sections defined below. */

.cbc-help-head{ max-width:820px; }
.cbc-help-head p{ font-size:17px; line-height:1.8; color:var(--c-ink-2); margin:16px 0 0; text-wrap:pretty; }

/* --- HELPING YOU GROW (image + checklist) --- */
.is-wrapper > .cbc-grow, .is-wrapper .cbc-grow{ background:var(--c-paper); }
.cbc-grow-inner{ display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:56px; padding:var(--space-section) 0; align-items:center; }
.cbc-grow-media{ position:sticky; top:40px; border-radius:var(--r-lg); overflow:hidden; min-height:460px; background:var(--c-tint); }
.cbc-grow-media img{ width:100%; height:100%; object-fit:cover; display:block; }
.cbc-grow-copy h2{ font-weight:800; font-size:var(--fs-h2); line-height:1.1; letter-spacing:-.02em; margin:0 0 20px; text-wrap:balance; }
.cbc-grow-copy > p{ font-size:16.5px; line-height:1.8; color:var(--c-ink-2); margin:0; text-wrap:pretty; }

/* --- LOCATION PAGE RESPONSIVE --- */
@media all and (max-width:1024px){
  .cbc-grow-inner{ grid-template-columns:1fr; gap:32px; }
  .cbc-grow-media{ position:static; min-height:320px; order:-1; }
}



/* ===== REVIEWS / TESTIMONIALS MODULE — standalone CSS (Coaching by Concept) ===== */
@import url('https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,400;12..96,600;12..96,700;12..96,800&family=Inter:wght@400;500;600;700&display=swap');
:root{
  --c-primary:#1B75BC; --c-accent:#EC008C; --c-yellow:#FDB913; --c-teal:#00A88E;
  --font-head:'Bricolage Grotesque',serif; --font-body:'Inter',sans-serif;
  --c-ink:#1B1B1F; --c-ink-2:#4A4A55; --c-ink-3:#6B6B75; --c-ink-4:#8A8A94;
  --c-paper:#FFFCF7; --c-tint:#F4F0E8; --c-line:#D9D1C5; --c-light:#fff;
  --c-error:#c0392b; --c-fb:#1877F2; --c-google:#EA4335;
  --space-section:90px;
  --r-sm:12px; --r-md:20px; --r-lg:28px; --r-pill:999px;
  --shadow-1:0 2px 10px rgba(0,0,0,.06); --shadow-2:0 40px 80px -46px rgba(27,117,188,.65);
  --fs-body:17px;
}

/* base typography restated (module may sit outside .is-wrapper) */
.reviews-form-container,
.reviews-form-container p,
.reviews-form-container label,
.review-list-container,
.review-list-container p{ font-family:var(--font-body); }
.reviews-form-container h1,
.reviews-form-container h2,
.reviews-form-container h3{ font-family:var(--font-head); color:var(--c-ink); text-wrap:balance; }

/* ================= REVIEW SUBMISSION FORM ================= */
#form{ padding:var(--space-section) 0 40px; }
#form .grid-x.align-center{ justify-content:center; }

.reviews-form-container{
  position:relative; overflow:hidden;
  background:var(--c-paper); border:1px solid var(--c-line); border-radius:var(--r-lg);
  padding:44px 40px; box-shadow:var(--shadow-1); max-width:620px; width:100%; margin:0 auto;
}
.reviews-form-container::before{ content:""; position:absolute; top:0; left:0; right:0; height:4px;
  background:linear-gradient(90deg, var(--c-accent), var(--c-yellow) 50%, var(--c-teal)); }

.rating-experience-heading{
  font-family:var(--font-body) !important; font-size:12.5px; font-weight:700; letter-spacing:.18em;
  text-transform:uppercase; color:var(--c-ink-3); margin:0 0 6px;
}
.reviews-form-container > h1,
.reviews-form-container h1.text-center{
  font-family:var(--font-head); font-weight:800; font-size:clamp(30px,4vw,42px); line-height:1.1;
  letter-spacing:-.02em; color:var(--c-ink); margin:0 0 12px;
}
.reviews-form-container h1 b{ color:var(--c-primary); }
.review-feedback-form-text,
.reviews-form-container > p.text-center{
  font-family:var(--font-body); font-size:16px; line-height:1.6; color:var(--c-ink-2); margin:0;
}

/* star rating input */
.review-stars{ width:100%; }
.rating-star{ display:inline-flex; gap:8px; align-items:center; }
.rating-star span{
  width:38px; height:38px; cursor:pointer; display:inline-block;
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 .288l2.833 8.718h9.167l-7.417 5.389 2.833 8.718-7.416-5.388-7.417 5.388 2.833-8.718-7.416-5.389h9.167z'/></svg>") center/contain no-repeat;
  mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 .288l2.833 8.718h9.167l-7.417 5.389 2.833 8.718-7.416-5.388-7.417 5.388 2.833-8.718-7.416-5.389h9.167z'/></svg>") center/contain no-repeat;
  background:var(--c-line); transition:background .15s ease, transform .15s ease;
}
.rating-star span:hover{ transform:scale(1.1); }
.rating-star span.active,
.rating-star span.selected,
.rating-star span.hover{ background:var(--c-yellow); }
.rating-star .reset-stars{
  margin-left:12px; color:var(--c-ink-4); cursor:pointer; font-size:14px;
  transition:color .2s ease;
}
.rating-star .reset-stars:hover{ color:var(--c-accent); }

/* form fields */
.input-fields{ margin-top:18px; }
.input-field-label,
.input-field-feedback{
  display:block; font-family:var(--font-body); font-size:14px; font-weight:600; color:var(--c-ink);
}
.input-field-label .required,
.input-field-feedback .required{ color:var(--c-accent); margin-left:3px; }
.reviews-form-container input[type="text"],
.reviews-form-container input[type="email"],
.reviews-form-container textarea{
  width:100%; margin-top:7px; padding:14px 16px; border-radius:var(--r-sm);
  border:1.5px solid var(--c-line); background:var(--c-light);
  font-family:var(--font-body); font-size:15px; color:var(--c-ink); box-shadow:none;
  transition:border-color .2s ease, box-shadow .2s ease; box-sizing:border-box;
}
.reviews-form-container textarea{ min-height:120px; resize:vertical; }
.reviews-form-container input:focus,
.reviews-form-container textarea:focus{ outline:none; border-color:var(--c-primary); box-shadow:0 0 0 4px rgba(27,117,188,.12); }

.review-captcha{ margin-top:18px; }

/* submit */
.submit-review-form{ margin-top:8px; }
.submit-review-form .button,
.reviews-form-container input[type="submit"].button{
  display:inline-flex; align-items:center; justify-content:center;
  padding:15px 34px; border-radius:var(--r-pill);
  background:var(--c-ink) !important; color:var(--c-light) !important;
  font-family:var(--font-body); font-weight:700; font-size:15px; letter-spacing:.01em;
  border:0; cursor:pointer; transition:background .2s ease, transform .2s ease;
}
.submit-review-form .button:hover,
.reviews-form-container input[type="submit"].button:hover{
  background:var(--c-accent) !important; color:var(--c-light) !important; transform:translateY(-2px);
}

/* positive feedback (post-submit) — facebook / google logos */
.positive-feedback-services h1{ margin-bottom:8px; }
.positive-feedback-services h2{ font-family:var(--font-head); font-weight:700; font-size:clamp(20px,2.4vw,26px); color:var(--c-ink); margin:0 0 24px; }
.services-present{ margin-top:10px; }
.review-logo{ padding:12px; }
.review-logo a{ display:block; border:1px solid var(--c-line); border-radius:var(--r-md); padding:16px; background:var(--c-paper); transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.review-logo a:hover{ transform:translateY(-4px); box-shadow:var(--shadow-1); border-color:transparent; }
.review-logo img{ max-width:100%; height:auto; display:block; margin:0 auto; }

/* ================= REVIEWS LIST ================= */
.reviews-form-container.margin-bottom-2{
  max-width:820px; background:transparent; border:0; box-shadow:none; padding:0; overflow:visible; margin-bottom:64px;
}
.reviews-form-container.margin-bottom-2::before{ display:none; }
.reviews-form-container.margin-bottom-2 > p strong{
  font-family:var(--font-head); font-weight:800; font-size:clamp(22px,3vw,30px); color:var(--c-ink);
}

.review-list-container{ list-style:none; margin:0; padding:0; display:grid; gap:20px; }
.review-list-container > li{
  position:relative; background:var(--c-paper); border:1px solid var(--c-line);
  border-radius:var(--r-lg); padding:28px 30px; box-shadow:var(--shadow-1);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
li.site-post {
    position: relative;
    background: var(--c-paper);
    border: 1px solid var(--c-line);
    border-radius: var(--r-lg);
    padding: 28px 30px;
    box-shadow: var(--shadow-1);
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
    margin: 9px;
}
.review-list-container > li:hover{ transform:translateY(-4px); box-shadow:var(--shadow-2); border-color:transparent; }
/* source accent bar */
.review-list-container > li::before{ content:""; position:absolute; top:0; left:0; bottom:0; width:0px; border-radius:var(--r-lg) 0 0 var(--r-lg); }
.review-list-container > li.facebook-post::before{ background:var(--c-fb); }
.review-list-container > li.google-post::before{ background:var(--c-google); }
.review-list-container > li.site-post::before{ background:var(--c-primary); }

.social-review-image{ align-items:flex-start; }
.review-img img{ width:34px; height:34px; object-fit:contain; display:block; }
.review-details{ padding-left:6px; }
.user-profile strong{ font-family:var(--font-head); font-weight:800; font-size:16px; color:var(--c-ink); display:block; }

/* star rating display (numeric rating rendered as stars) */
.star-ratings-css{
  --pct:calc(var(--rating,5) / 5 * 100%);
  display:inline-block; margin-top:4px; font-size:16px; line-height:1; position:relative; unicode-bidi:bidi-override;
  font-family:var(--font-body); font-weight:700; color:var(--c-yellow);
}

.user-comment .review-text p{ font-family:var(--font-body); font-size:15.5px; line-height:1.7; color:var(--c-ink-2); margin:8px 0 0; text-wrap:pretty; }
.review-date{ font-family:var(--font-body); font-size:13px; font-weight:600; color:var(--c-ink-4); text-align:right; }

/* empty state */
.definition-block > p{ font-family:var(--font-body); font-size:16px; color:var(--c-ink-3); }

/* pagination */
.pagination{ display:flex; justify-content:center; margin-top:40px; gap:8px; flex-wrap:wrap; }
.pagination a, .pagination span{
  display:inline-flex; align-items:center; justify-content:center; min-width:42px; height:42px; padding:0 14px;
  border-radius:var(--r-pill); border:1px solid var(--c-line); font-family:var(--font-body); font-weight:600;
  font-size:14px; color:var(--c-ink-2); text-decoration:none; transition:background .2s ease, color .2s ease, border-color .2s ease;
}
.pagination a:hover{ border-color:var(--c-primary); color:var(--c-primary); }
.pagination .current, .pagination .active{ background:var(--c-ink); border-color:var(--c-ink); color:var(--c-light); }

/* ================= RESPONSIVE ================= */
@media all and (max-width:640px){
  #form{ padding:56px 0 32px; }
  .reviews-form-container{ padding:30px 22px; }
  .review-list-container > li{ padding:22px 22px; }
  .review-date{ text-align:left; margin-top:6px; }
  .rating-star span{ width:32px; height:32px; }
}













