/* ============================================================
   BRAND TOKENS — K WALKER BUILD — edit here to reskin globally
   (palette + fonts reconstructed from the supplied design;
    swap exact hex/font names if you have the real values)
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Sora:wght@400;500;600;700;800&family=Inter:wght@400;500;600;700&display=swap');

:root{
  /* Brand — gold */
  --c-primary:#B48837;
  --c-primary-dark:#8A6526;
  --c-accent:#E4C988;
  --gold-grad:linear-gradient(90deg,#E4C988,#B48837);

  /* Neutrals */
  --c-ink:#1a1a1a;
  --c-ink-2:#5b554c;
  --c-charcoal:#14120f;
  --c-charcoal-2:#1d1a15;
  --c-paper:#ffffff;
  --c-cream:#f7f3eb;
  --c-tint:#f1ece1;
  --c-line:#e6e1d8;
  --c-line-cream:rgba(247,243,235,.16);
  --c-cream-soft:rgba(247,243,235,.74);

  /* Typography */
  --font-head:'Sora',sans-serif;
  --font-body:'Inter',sans-serif;
  --fs-h1:clamp(34px,5vw,56px);
  --fs-h2:clamp(28px,4vw,44px);
  --fs-h3:clamp(20px,2.4vw,26px);
  --fs-body:17px;

  /* Buttons */
  --btn-bg:var(--c-primary);
  --btn-text:#ffffff;
  --btn-bg-hover:var(--c-primary-dark);
  --btn-radius:6px;
  --btn-padding:14px 32px;
  --btn-font-size:14px;
  --btn-letter-sp:.06em;

  /* Spacing */
  --space-section:50px;
  --gap:24px;

  /* Shape */
  --r-sm:8px;
  --r-md:14px;
  --r-lg:20px;
  --r-pill:500px;

  /* Shadow / motion */
  --shadow-1:0 2px 14px rgba(20,18,15,.07);
  --shadow-2:0 24px 60px rgba(20,18,15,.14);
  --ease:cubic-bezier(.2,.7,.2,1);
}
@media all and (max-width:640px){
  :root{ --gap:16px; }
}

/* ============================================================
   GLOBAL RESETS (scoped to .is-wrapper)
   ============================================================ */
.is-wrapper h1,.is-wrapper h2,.is-wrapper h3,
.is-wrapper h4,.is-wrapper h5,.is-wrapper h6{
  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);
  font-size:var(--fs-body);
  line-height:1.7;
}

/* ============================================================
   GLOBAL TYPOGRAPHY CLASSES
   Scoped under .is-wrapper so size / weight / color always beat
   the element resets above — guarantees one rhythm everywhere.
   ============================================================ */
.is-wrapper .banner-main-heading{
  font-family:var(--font-head); font-size:var(--fs-h1);
  color:#fff; line-height:1.08; font-weight:700;
  text-wrap:balance; letter-spacing:-.015em; margin:0 0 18px;
}
.is-wrapper .section-main-heading{
  font-family:var(--font-head); font-size:var(--fs-h2);
  color:var(--c-ink); line-height:1.16; font-weight:700;
  text-wrap:auto; letter-spacing:-.015em; margin:0 0 16px;
}
.is-wrapper .section-sub-heading{
  font-family:var(--font-head); font-size:var(--fs-h3);
  color:var(--c-ink); line-height:1.25; font-weight:600;
  text-wrap:balance; letter-spacing:-.01em; margin:0 0 12px;
}
.is-wrapper .content-heading{ font:600 20px/1.3 var(--font-head); color:var(--c-ink); margin:0 0 10px; }
.is-wrapper .content-sub-heading{ font:600 17px/1.4 var(--font-head); color:var(--c-ink); margin:0 0 8px; }
.is-wrapper .small-heading{ font:700 13px/1 var(--font-body); color:var(--c-ink); text-transform:uppercase; letter-spacing:.12em; margin:0; }

.is-wrapper .section-description{ font:400 18px/1.75 var(--font-body); color:var(--c-ink-2); margin:0; }
.is-wrapper .content-text{ font:400 var(--fs-body)/1.7 var(--font-body); color:var(--c-ink-2); margin:0; }
.is-wrapper .small-text{ font:400 14px/1.6 var(--font-body); color:var(--c-ink-2); margin:0; }
.is-wrapper .highlight-text{ font:600 var(--fs-body)/1.6 var(--font-body); color:var(--c-primary-dark); }
.is-wrapper .caption-text{ font:400 13px/1.5 var(--font-body); color:var(--c-ink-2); margin:0; }

/* reusable eyebrow / kicker (matches source section labels) */
.is-wrapper .kwb-kicker{
  display:inline-block;
  font:700 13px/1 var(--font-head);
  letter-spacing:.2em; text-transform:uppercase;
  color:var(--c-primary-dark); margin:0 0 14px;
}
.is-wrapper .kwb-kicker--center{ display:block; text-align:center; }

/* ============================================================
   GLOBAL BUTTON SYSTEM — same everywhere, single hover
   ============================================================ */
.web-primary-btn,
.is-wrapper a.web-primary-btn,
.is-wrapper button.web-primary-btn{
  display:inline-flex; align-items:center; gap:10px;
  background:var(--btn-bg); color:var(--btn-text);
  padding:var(--btn-padding);
  font:600 var(--btn-font-size)/1 var(--font-body);
  letter-spacing:var(--btn-letter-sp);
  border-radius:var(--btn-radius);
  border:2px solid var(--btn-bg);
  text-decoration:none; cursor:pointer;
  text-transform:capitalize;
  transition:background .22s var(--ease),border-color .22s var(--ease),color .22s var(--ease),transform .18s var(--ease),box-shadow .22s var(--ease);
}
.web-primary-btn:hover,.is-wrapper a.web-primary-btn:hover,
.web-primary-btn:focus,.is-wrapper a.web-primary-btn:focus{
  background:var(--btn-bg-hover); border-color:var(--btn-bg-hover);
  color:var(--btn-text); transform:translateY(-2px);
  box-shadow:0 10px 24px rgba(20,18,15,.22);
}
.web-primary-btn i{ font-size:.95em; }

.web-secondary-btn,
.is-wrapper a.web-secondary-btn{
  display:inline-flex; align-items:center; gap:10px;
  background:transparent; color:var(--c-primary);
  padding:var(--btn-padding);
  font:600 var(--btn-font-size)/1 var(--font-body);
  letter-spacing:var(--btn-letter-sp);
  border-radius:var(--btn-radius);
  border:2px solid var(--c-primary);
  text-decoration:none; cursor:pointer;
  transition:background .22s var(--ease),color .22s var(--ease),transform .18s var(--ease),box-shadow .22s var(--ease);
}
.web-secondary-btn:hover,.is-wrapper a.web-secondary-btn:hover,
.web-secondary-btn:focus,.is-wrapper a.web-secondary-btn:focus{
  background:var(--c-primary); color:var(--btn-text);
  transform:translateY(-2px); box-shadow:0 10px 24px rgba(20,18,15,.22);
}

.web-text-btn,.is-wrapper a.web-text-btn{
  display:inline-flex; align-items:center; gap:8px;
  background:transparent; color:var(--c-primary); padding:0;
  font:600 var(--btn-font-size)/1 var(--font-body);
  text-decoration:none; border-bottom:2px solid transparent;
  transition:border-color .2s var(--ease),color .2s var(--ease);
}
.web-text-btn:hover,.is-wrapper a.web-text-btn:hover{
  border-bottom-color:var(--c-primary); color:var(--c-primary-dark);
}

.web-cta-link,.is-wrapper a.web-cta-link{
  color:var(--c-primary); font-weight:600; text-decoration:none;
  border-bottom:1px solid var(--c-primary); transition:opacity .2s var(--ease);
}
.web-cta-link:hover{ opacity:.75; }

/* desktop-only column ordering helper (grid-x is flex) */
@media all and (min-width:1024px){
  .kwb-order-1{ order:1; }
  .kwb-order-2{ order:2; }
}

/* ============================================================
   HERO  (.main-banner-sec / .kwb-hero)
   ============================================================ */
.is-wrapper > .main-banner-sec{ position:relative; }
.main-banner-sec .full img{ width:100%; height:clamp(440px,80vh,720px); object-fit:cover; display:block; }
/* responsive hero art — portrait on mobile, landscape on desktop */
.main-banner-sec .full .kwb-hero-img-d{ display:none; }
.main-banner-sec .full .kwb-hero-img-m{ display:block; }
@media all and (min-width:1024px){
  .main-banner-sec .full .kwb-hero-img-d{ display:block; }
  .main-banner-sec .full .kwb-hero-img-m{ display:none; }
}
.main-banner-sec .bn-overlay{
  position:absolute; inset:0; z-index:1;
  background:linear-gradient(180deg,rgba(14,12,9,.30) 0%,rgba(14,12,9,.55) 60%,rgba(14,12,9,.82) 100%);
}
.main-banner-sec .pos-ab-ban{ inset:0; z-index:2; }
.kwb-hero .bn-content{ max-width:880px; padding:130px 0 80px; }
.kwb-hero .kwb-kicker{ color:var(--c-accent); }
.kwb-hero .section-description{ color:var(--c-cream-soft); max-width:720px; }
.kwb-hero-actions{ display:flex; flex-wrap:wrap; gap:14px; margin-top:30px; }
.kwb-hero .web-secondary-btn{ color:#fff; border-color:rgba(247,243,235,.5); }
.kwb-hero .web-secondary-btn:hover{ background:#fff; color:var(--c-ink); border-color:var(--c-primary); }
.kwb-hero-cred{
  display:flex; flex-wrap:wrap; align-items:center; gap:16px;
  margin-top:32px; padding-top:24px; border-top:1px solid rgba(247,243,235,.22);
}
.kwb-hero-cred span{
  font:600 13px/1 var(--font-head); letter-spacing:.05em; text-transform:uppercase;
  color:rgba(247,243,235,.88);
}
.kwb-hero-cred i{ width:5px; height:5px; border-radius:50%; background:var(--c-accent); }
@media all and (max-width:640px){
  .kwb-hero .bn-content{ padding:104px 0 56px; }
}

/* ============================================================
   MARQUEE  (.kwb-marquee)
   ============================================================ */
.is-wrapper > .kwb-marquee{ background:var(--c-charcoal); overflow:hidden; }
.kwb-marquee .kwb-marquee__viewport{ overflow:hidden; }
.kwb-marquee__track{
  display:inline-flex; white-space:nowrap; will-change:transform;
  animation:kwb-scroll 34s linear infinite;
}
.kwb-marquee:hover .kwb-marquee__track{ animation-play-state:paused; }
.kwb-marquee__track > span{
  display:inline-flex; align-items:center;
  font:700 15px/1 var(--font-head); letter-spacing:.16em; text-transform:uppercase;
  color:var(--c-cream); padding:20px 0;
}
.kwb-marquee__track .kwb-dot{ color:var(--c-primary); padding:0 30px; font-size:9px; }
@keyframes kwb-scroll{ from{transform:translateX(0)} to{transform:translateX(-50%)} }
@media (prefers-reduced-motion:reduce){ .kwb-marquee__track{ animation:none; } }

/* ============================================================
   GUIDE  (.kwb-guide)
   ============================================================ */
.is-wrapper > .kwb-guide{ background:var(--c-cream); padding:var(--space-section) 0; }
.kwb-guide-head{ max-width:100%; margin:0 auto; text-align:center; }
.kwb-gstep{
  position:relative; height:100%;
  background:var(--c-paper); border:1px solid var(--c-line);
  border-radius:var(--r-md); padding:34px 30px 32px;
  box-shadow:var(--shadow-1); overflow:hidden;
  transition:transform .4s var(--ease),box-shadow .4s var(--ease),border-color .25s var(--ease);
}
.kwb-gstep::before{
  content:""; position:absolute; left:0; top:0; height:3px; width:0;
  background:var(--gold-grad); transition:width .45s var(--ease);
}
.kwb-gstep:hover{ transform:translateY(-6px); box-shadow:var(--shadow-2); border-color:transparent; }
.kwb-gstep:hover::before{ width:100%; }
.kwb-gstep__top{ display:flex; align-items:center; justify-content:space-between; margin-bottom:20px; }
.kwb-gstep__ic{
  width:54px; height:54px; border-radius:13px; background:var(--c-cream);
  color:var(--c-primary-dark); display:grid; place-items:center; font-size:23px;
}
.kwb-gstep__n{
  font:800 34px/1 var(--font-head); color:transparent;
  -webkit-text-stroke:1.4px rgba(180,136,55,.45);
}
.kwb-gstep .content-heading{ margin-bottom:11px; }
.kwb-gstep .content-text{ font-size:15px; line-height:1.62; }
.kwb-guide-cta{ text-align:center; margin-top:clamp(38px,4vw,52px); }
@media all and (max-width:640px){
  .kwb-gstep{ padding:28px 24px; }
}

/* ============================================================
   CAPABILITIES  (.kwb-cap)
   ============================================================ */
.is-wrapper > .kwb-cap{ background:var(--c-paper); padding:var(--space-section) 0; }
.kwb-cap-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.kwb-cap-head .section-main-heading{ max-width:620px; }
.kwb-cap-index{
  border-top:1px solid var(--c-line); margin-top:36px;
  display:grid; grid-template-columns:1fr 1fr; column-gap:64px;
}
.kwb-cap-row{
  display:grid; grid-template-columns:46px 1fr 26px; align-items:center; gap:14px;
  padding:22px 14px 22px 6px; border-bottom:1px solid var(--c-line);
  text-decoration:none; transition:padding .25s var(--ease),background .25s var(--ease);
}
.kwb-cap-row .kwb-cnum{ font:700 14px/1 var(--font-head); color:var(--c-primary-dark); }
.kwb-cap-row .kwb-cname{
  font:700 clamp(18px,1.7vw,23px)/1.2 var(--font-head); color:var(--c-ink);
  letter-spacing:-.01em; transition:color .2s var(--ease);
}
.kwb-cap-row .kwb-carrow{ color:var(--c-ink-2); display:grid; place-items:center; transition:color .2s var(--ease),transform .25s var(--ease); }
.kwb-cap-row:hover{ background:var(--c-cream); padding-left:18px; }
.kwb-cap-row:hover .kwb-cname{ color:var(--c-primary-dark); }
.kwb-cap-row:hover .kwb-carrow{ color:var(--c-primary-dark); transform:translateX(4px); }
@media all and (max-width:760px){
  .kwb-cap-index{ grid-template-columns:1fr; column-gap:0; }
}

/* ============================================================
   TRUSTED BY  (.kwb-trust  — dark)
   ============================================================ */
.is-wrapper > .kwb-trust{ background:var(--c-charcoal); padding:var(--space-section) 0; }
.kwb-trust .section-main-heading{ color:var(--c-cream); }
.kwb-trust-head{ max-width:760px; }
.kwb-trust .kwb-kicker{ color:var(--c-accent); }
.kwb-tmedia{ position:relative; aspect-ratio:1/1; }
.kwb-tmedia img{
  width:100%; height:100%; object-fit:cover; display:block;
  border-radius:var(--r-lg); box-shadow:var(--shadow-2);
  border:1px solid rgba(228,201,136,.18);
}
.kwb-tnum{
  position:absolute; top:-46px; right:-10px; z-index:2; pointer-events:none;
  font:800 clamp(96px,12vw,180px)/.7 var(--font-head); color:transparent;
  -webkit-text-stroke:1.6px rgba(228,201,136,.5);
}
.kwb-tbody{ max-width:560px; }
.kwb-pill{
  display:inline-block; margin-bottom:16px; padding:7px 16px; border-radius:var(--r-pill);
  font:600 12px/1 var(--font-head); letter-spacing:.06em; text-transform:uppercase;
  color:var(--c-accent); background:rgba(228,201,136,.10); border:1px solid var(--c-line-cream);
}
.kwb-tbody .section-sub-heading{ color:var(--c-cream); }
.kwb-tbody > .content-text{ color:var(--c-cream-soft); line-height:1.7; }
.kwb-tquote{
  margin:28px 0 0; padding:24px 26px;
  background:rgba(247,243,235,.04); border:1px solid var(--c-line-cream); border-radius:var(--r-md);
}
.kwb-stars{ display:flex; gap:4px; color:var(--c-accent); margin-bottom:14px; font-size:15px; }
.kwb-tquote blockquote{ margin:0; font:italic 400 18px/1.6 var(--font-body); color:var(--c-cream); }
.kwb-tquote figcaption{ margin-top:16px; display:flex; align-items:center; gap:10px; font-size:14px; }
.kwb-tquote .kwb-who{ font:700 14px/1 var(--font-head); color:var(--c-accent); letter-spacing:.02em; }
.kwb-tquote .kwb-role{ color:rgba(247,243,235,.55); }
.kwb-tquote .kwb-role::before{ content:"— "; }
.kwb-trow{ margin-top:clamp(56px,8vw,104px); }
.kwb-trow:first-of-type{ margin-top:clamp(40px,5vw,68px); }
.kwb-trow .kwb-tmedia-cell,.kwb-trow .kwb-tbody-cell{ display:flex; align-items:center; }
@media all and (max-width:1023px){
  .kwb-tnum{ font-size:clamp(80px,22vw,120px); top:-34px; }
}

/* ============================================================
   GALLERY  (.kwb-gallery)
   ============================================================ */
.is-wrapper > .kwb-gallery{ background:var(--c-cream); padding:var(--space-section) 0; }
.kwb-gallery-top{ display:flex; align-items:flex-end; justify-content:space-between; gap:28px; flex-wrap:wrap; }
.kwb-gallery-top .section-description{ max-width:520px; }
.kwb-gtile{
  position:relative; display:block; overflow:hidden; border-radius:var(--r-md);
  box-shadow:var(--shadow-1); background:var(--c-charcoal-2); cursor:pointer;
  aspect-ratio:4/3; height:100%;
}
.kwb-gtile img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .7s var(--ease); }
.kwb-gtile:hover img{ transform:scale(1.06); }
.kwb-gtile__scrim{
  position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(180deg,rgba(14,12,9,0) 40%,rgba(14,12,9,.30) 64%,rgba(14,12,9,.85) 100%);
}
.kwb-gtile__cap{ position:absolute; left:0; right:0; bottom:0; padding:20px 22px; z-index:2; pointer-events:none; }
.kwb-gtile__tag{ font:700 11px/1 var(--font-head); letter-spacing:.16em; text-transform:uppercase; color:var(--c-accent); }
.kwb-gtile__ttl{ font:700 clamp(15px,1.4vw,19px)/1.2 var(--font-head); color:#fff; margin-top:5px; letter-spacing:-.01em; }
.kwb-gtile__pin{
  position:absolute; top:14px; right:14px; z-index:2;
  display:inline-flex; align-items:center; gap:6px; padding:6px 11px; border-radius:var(--r-pill);
  background:rgba(14,12,9,.5); font:600 11px/1 var(--font-head); letter-spacing:.04em; color:var(--c-cream);
  opacity:0; transform:translateY(-4px); transition:opacity .35s var(--ease),transform .35s var(--ease);
}
.kwb-gtile:hover .kwb-gtile__pin{ opacity:1; transform:translateY(0); }
.kwb-gtile__pin i{ color:var(--c-accent); }

/* ============================================================
   SERVICE AREA  (.kwb-area — dark)
   ============================================================ */
.is-wrapper > .kwb-area{ position:relative; isolation:isolate; overflow:hidden; background:var(--c-charcoal); padding:var(--space-section) 0; }
.is-wrapper > .kwb-area::before{
  content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:
    radial-gradient(120% 90% at 100% 0%, rgba(228,201,136,.12), transparent 55%),
    repeating-linear-gradient(90deg, rgba(247,243,235,.035) 0 1px, transparent 1px 90px);
}
.kwb-area .kwb-kicker{ color:var(--c-accent); }
.kwb-area .section-main-heading{ color:var(--c-cream); }
.kwb-area .section-description{ color:var(--c-cream-soft); }
.kwb-area-cta{ margin-top:28px; }
.kwb-area .web-secondary-btn{ color:var(--c-accent); border-color:var(--c-accent); }
.kwb-area .web-secondary-btn:hover{ background:var(--c-accent); color:var(--c-charcoal); border-color:var(--c-accent); }
.kwb-county-list{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.kwb-county-list li{ margin:0; }
.kwb-county{
  position:relative; display:flex; align-items:center; gap:14px; overflow:hidden;
  padding:15px 18px; border:1px solid var(--c-line-cream); border-radius:var(--r-md);
  background:rgba(247,243,235,.03); text-decoration:none;
  font:600 16px/1.3 var(--font-head); color:var(--c-cream);
  transition:background .28s var(--ease),border-color .28s var(--ease),transform .28s var(--ease);
}
.kwb-county::before{
  content:""; position:absolute; left:0; top:0; bottom:0; width:3px;
  background:var(--gold-grad); transform:scaleY(0); transform-origin:top;
  transition:transform .3s var(--ease);
}
.kwb-county-pin{
  flex:none; width:38px; height:38px; border-radius:10px; display:grid; place-items:center;
  background:rgba(228,201,136,.12); color:var(--c-accent); font-size:16px;
  transition:background .28s var(--ease),color .28s var(--ease);
}
.kwb-county-name{ flex:1 1 auto; }
.kwb-county-go{
  flex:none; color:var(--c-accent); font-size:14px; opacity:0; transform:translateX(-6px);
  transition:opacity .28s var(--ease),transform .28s var(--ease);
}
.kwb-county:hover{ background:rgba(228,201,136,.08); border-color:var(--c-accent); transform:translateY(-3px); }
.kwb-county:hover::before{ transform:scaleY(1); }
.kwb-county:hover .kwb-county-pin{ background:var(--c-accent); color:var(--c-charcoal); }
.kwb-county:hover .kwb-county-go{ opacity:1; transform:translateX(0); }
.kwb-county.kwb-county--full{ grid-column:1 / -1; color:var(--c-cream-soft); font-weight:500; font-style:italic; }
@media all and (min-width:1024px){
  .kwb-area-grid{ align-items:center; }
}
@media all and (max-width:680px){
  .kwb-county-list{ grid-template-columns:1fr; }
}

/* ============================================================
   NEWSLETTER  (.kwb-news — cream section, premium dark panel, button only)
   ============================================================ */
.is-wrapper > .kwb-news{ position:relative; isolation:isolate; overflow:hidden; background:var(--c-cream); padding:var(--space-section) 0; }
.is-wrapper > .kwb-news::before{
  content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:radial-gradient(60% 55% at 50% 0%, rgba(228,201,136,.14), transparent 62%);
}
.kwb-news-card{
  position:relative; isolation:isolate; overflow:hidden;
  max-width:100%; margin:0 auto; text-align:center;
  background:radial-gradient(120% 130% at 50% -12%, rgba(228,201,136,.20), transparent 58%), var(--c-charcoal);
  border:1px solid rgba(228,201,136,.22); border-radius:var(--r-lg);
  padding:clamp(48px,5.5vw,78px) clamp(28px,4.5vw,64px); box-shadow:var(--shadow-2);
}
/* faint blueprint grid, faded toward the edges */
.kwb-news-card::after{
  content:""; position:absolute; inset:0; z-index:-1; pointer-events:none; opacity:.55;
  background-image:
    repeating-linear-gradient(0deg, rgba(247,243,235,.045) 0 1px, transparent 1px 46px),
    repeating-linear-gradient(90deg, rgba(247,243,235,.045) 0 1px, transparent 1px 46px);
  -webkit-mask-image:radial-gradient(82% 82% at 50% 28%, #000, transparent 82%);
  mask-image:radial-gradient(82% 82% at 50% 28%, #000, transparent 82%);
}
/* gold top accent bar */
.kwb-news-card::before{ content:""; position:absolute; left:50%; top:0; transform:translateX(-50%); width:140px; height:4px; background:var(--gold-grad); }
.kwb-news-badge{
  position:relative; width:66px; height:66px; margin:0 auto 22px; border-radius:18px;
  display:grid; place-items:center;
  background:var(--gold-grad); color:var(--c-charcoal); font-size:26px;
  box-shadow:0 12px 30px rgba(180,136,55,.40);
}
.kwb-news-badge::before{ content:""; position:absolute; inset:-9px; border-radius:24px; z-index:-1; border:1px solid rgba(228,201,136,.30); }
.kwb-news .kwb-kicker{ color:var(--c-accent); }
.kwb-news-card .section-main-heading{ color:var(--c-cream); }
.kwb-news-card .section-description{ color:var(--c-cream-soft); max-width:80%; margin-inline:auto; }
.kwb-news-card .web-primary-btn{ margin:30px auto 0; }
.kwb-news-perks{ display:flex; flex-wrap:wrap; justify-content:center; gap:12px 14px; margin-top:32px; }
.kwb-news-perk{
  display:inline-flex; align-items:center; gap:8px; padding:10px 18px;
  border:1px solid rgba(247,243,235,.18); border-radius:var(--r-pill);
  background:rgba(247,243,235,.05); font:600 14px/1 var(--font-body); color:rgba(247,243,235,.92);
}
.kwb-news-perk i{ color:var(--c-accent); }
.kwb-news-note{ position:relative; margin-top:30px; padding-top:22px; font-size:13px; color:var(--c-cream-soft); }
.kwb-news-note::before{ content:""; position:absolute; left:50%; top:0; transform:translateX(-50%); width:64px; height:1px; background:var(--c-line-cream); }

/* ============================================================
   APPEND NEW SECTION CSS BELOW THIS LINE
   ============================================================ */

/* ===================== ABOUT • INTRO ===================== */
.is-wrapper > .kwb-about-intro,.is-wrapper .kwb-about-intro{ background:var(--c-cream); padding:var(--space-section) 0; }
.kwb-about-grid{ align-items:center; }
.is-wrapper .kwb-about-lead{ font-size:20px; line-height:1.7; color:var(--c-ink); }
.kwb-mission{
  margin-top:26px; padding:18px 24px; border-left:3px solid var(--c-primary);
  background:rgba(180,136,55,.06); border-radius:0 var(--r-sm) var(--r-sm) 0;
}
.is-wrapper .kwb-mission .content-text{ font-style:italic; font-size:17px; color:var(--c-ink); }
.kwb-about-media{ position:relative; border-radius:var(--r-md); overflow:hidden; box-shadow:var(--shadow-2); }
.kwb-about-img{ display:block; width:100%; height:100%; object-fit:cover; }

/* ===================== ABOUT • FOUNDER (dark) ===================== */
.is-wrapper > .kwb-founder,.is-wrapper .kwb-founder{ background:var(--c-charcoal); padding:var(--space-section) 0; }
.kwb-founder{ position:relative; isolation:isolate; overflow:hidden; }
.kwb-founder::before{
  content:""; position:absolute; z-index:-1; right:-12%; top:-30%; width:60%; height:130%;
  background:radial-gradient(closest-side,rgba(180,136,55,.16),transparent 70%); pointer-events:none;
}
.kwb-founder-grid{ align-items:center; }
.kwb-founder-media{
  position:relative; border-radius:var(--r-md); overflow:hidden;
  box-shadow:0 30px 70px rgba(0,0,0,.5); border:1px solid var(--c-line-cream);
}
.kwb-founder-media::after{
  content:""; position:absolute; inset:0; border-radius:var(--r-md);
  box-shadow:inset 0 0 0 1px rgba(228,201,136,.28); pointer-events:none;
}
.kwb-founder-img{ display:block; width:100%; height:100%; object-fit:cover; }
.kwb-founder .section-main-heading{ color:var(--c-cream); position:relative; padding-bottom:18px; margin-bottom:22px; }
.kwb-founder .section-main-heading::after{
  content:""; position:absolute; left:0; bottom:0; width:54px; height:3px; background:var(--gold-grad); border-radius:2px;
}
.is-wrapper .kwb-founder-text .content-text{ color:var(--c-cream-soft); }
.is-wrapper .kwb-founder-text .content-text + .content-text{ margin-top:16px; }

/* ===================== ABOUT • GUIDE CTA ===================== */
.is-wrapper > .kwb-guidecta,.is-wrapper .kwb-guidecta{ background:var(--c-cream); padding:var(--space-section) 0; }
.kwb-guidecta-grid{ align-items:center; }
.kwb-guidecta-media{ position:relative; border-radius:var(--r-md); overflow:hidden; box-shadow:var(--shadow-2); }
.kwb-guidecta-media::after{
  content:""; position:absolute; inset:0; border-radius:var(--r-md);
  box-shadow:inset 0 0 0 1px rgba(180,136,55,.18); pointer-events:none;
}
.kwb-guidecta-img{ display:block; width:100%; height:100%; object-fit:cover; }
.kwb-guidecta-text .web-primary-btn{ margin-top:28px; }

/* ===================== ABOUT • COMMITMENT + REVIEWS ===================== */
.is-wrapper > .kwb-commit,.is-wrapper .kwb-commit{ background:var(--c-paper); padding:var(--space-section) 0; }
.kwb-commit-head{ max-width:760px; margin:0 auto; text-align:center; }
.kwb-commit-head .section-description{ margin-top:14px; }
.kwb-rev-grid{ margin-top:10px; }
.kwb-rev-cell{ display:flex; }
.kwb-rev-card{
  position:relative; width:100%; background:var(--c-cream);
  border:1px solid var(--c-line); border-radius:var(--r-md);
  padding:30px 28px 28px; box-shadow:var(--shadow-1);
  transition:transform .35s var(--ease), box-shadow .35s var(--ease), border-color .35s var(--ease);
}
.kwb-rev-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow-2); border-color:rgba(180,136,55,.4); }
.kwb-rev-stars{ display:flex; gap:4px; color:var(--c-primary); font-size:14px; margin-bottom:14px; }
.is-wrapper .kwb-rev-quote{ margin:0 0 18px; font:italic 400 var(--fs-body)/1.65 var(--font-body); color:var(--c-ink); }
.is-wrapper .kwb-rev-name{ margin:0; font:700 16px/1.3 var(--font-head); color:var(--c-ink); }
.is-wrapper .kwb-rev-role{ margin:3px 0 0; font:600 12px/1.4 var(--font-body); text-transform:uppercase; letter-spacing:.09em; color:var(--c-primary-dark); }

/* ===================== ABOUT • RESPONSIVE ===================== */
@media all and (max-width:640px){
  .is-wrapper .kwb-about-lead{ font-size:18px; }
  .kwb-mission{ padding:16px 20px; }
  .kwb-rev-card{ padding:26px 22px 24px; }
}

/* ===================== SERVICES • GRID ===================== */
.is-wrapper > .kwb-svc,.is-wrapper .kwb-svc{ background:var(--c-paper); padding:var(--space-section) 0; }
.kwb-svc-head{ text-align:center; margin-bottom:6px; }
.kwb-svc-grid{ justify-content:center; }
.kwb-svc-cell{ display:flex; }
.kwb-svc-card{
  position:relative; display:flex; flex-direction:column; width:100%; height:100%;
  background:var(--c-paper); border:1px solid var(--c-line); border-radius:var(--r-md);
  overflow:hidden; box-shadow:var(--shadow-1);
  transition:transform .35s var(--ease), box-shadow .35s var(--ease), border-color .35s var(--ease);
}
.kwb-svc-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow-2); border-color:rgba(180,136,55,.4); }
.kwb-svc-media{ position:relative; aspect-ratio:16 / 10; overflow:hidden; background:var(--c-cream); }
.kwb-svc-img{ display:block; width:100%; height:100%; object-fit:cover; transition:transform .6s var(--ease); }
.kwb-svc-card:hover .kwb-svc-img{ transform:scale(1.06); }
.kwb-svc-body{ display:flex; flex-direction:column; flex:1 1 auto; padding:26px 26px 28px; }
.is-wrapper .kwb-svc-desc{ font-size:15px; line-height:1.62; margin:0; }
.kwb-svc-cta{ margin-top:auto; padding-top:20px; }

@media all and (max-width:640px){
  .kwb-svc-body{ padding:22px 22px 24px; }
}

/* ===================== CUSTOM HOME BUILDER (service detail) ===================== */

/* 2 • INTRO + CTA */
.is-wrapper > .kwb-intro,.is-wrapper .kwb-intro{ background:var(--c-cream); padding:var(--space-section) 0; }
.kwb-intro-inner{ text-align:center; }
.is-wrapper .kwb-intro-lead{ margin:0 auto 30px; max-width:62ch; }

/* 3 • SERVICE BENEFITS (charcoal) */
.is-wrapper > .kwb-ben,.is-wrapper .kwb-ben{ background:var(--c-charcoal); padding:var(--space-section) 0; }
.kwb-ben-head{ text-align:center; margin-bottom:8px; }
.is-wrapper .kwb-ben .section-main-heading{ color:var(--c-cream); margin:0; }
.kwb-ben-cell{ display:flex; }
.kwb-ben-card{
  position:relative; width:100%; height:100%; overflow:hidden;
  background:rgba(247,243,235,.03);
  border:1px solid var(--c-line-cream);
  border-radius:var(--r-md);
  padding:34px 32px 32px;
  transition:transform .35s var(--ease),border-color .35s var(--ease),background .35s var(--ease);
}
.kwb-ben-card::before{ content:""; position:absolute; left:0; top:0; width:54px; height:3px; background:var(--gold-grad); }
.kwb-ben-card:hover{ transform:translateY(-6px); border-color:rgba(228,201,136,.45); background:rgba(247,243,235,.05); }
.is-wrapper .kwb-ben-card .content-heading{ color:var(--c-cream); margin:0 0 12px; }
.is-wrapper .kwb-ben-card .content-text{ color:var(--c-cream-soft); margin:0; }

/* charcoal benefits — intro line legibility */
.is-wrapper .kwb-ben-head .section-description{ color:var(--c-cream-soft); max-width:760px; margin:14px auto 0; }

/* 4–6 • EDITORIAL FEATURE ROWS */
.is-wrapper > .kwb-feat,.is-wrapper .kwb-feat{ padding:var(--space-section) 0; }
.is-wrapper > .kwb-feat--cream,.is-wrapper .kwb-feat--cream{ background:var(--c-cream); }
.is-wrapper > .kwb-feat--paper,.is-wrapper .kwb-feat--paper{ background:var(--c-paper); }
.kwb-feat-grid{ align-items:center; }
.kwb-feat-media-cell{ padding-bottom:18px; }
.kwb-feat-media{ position:relative; isolation:isolate; }
.kwb-feat-imgwrap{
  position:relative; z-index:1; overflow:hidden;
  border-radius:var(--r-lg); box-shadow:var(--shadow-2);
}
.kwb-feat-img{
  display:block; width:100%; height:auto;
  aspect-ratio:4 / 3; object-fit:cover;
  transition:transform .65s var(--ease);
}
.kwb-feat-media:hover .kwb-feat-img{ transform:scale(1.06); }
.kwb-feat-media::after{
  content:""; position:absolute; z-index:0; right:-14px; bottom:-14px;
  width:62%; height:62%; border:2px solid rgba(180,136,55,.35); border-radius:var(--r-lg);
}
.kwb-feat-body{ padding:6px 0; }
.is-wrapper .kwb-feat-body .section-main-heading{ margin:0 0 16px; }
.is-wrapper .kwb-feat-body .section-description{ margin:0 0 24px; }
.kwb-feat-list{ list-style:none; margin:0; padding:0; }
.kwb-feat-list li{
  position:relative; padding:0 0 0 32px; margin:0 0 14px;
  font-family:var(--font-body); color:var(--c-ink); font-size:16px; line-height:1.55;
}
.kwb-feat-list li:last-child{ margin-bottom:0; }
.kwb-feat-list li i{ position:absolute; left:0; top:3px; color:var(--c-primary); font-size:15px; }

/* 7 • FAQ (native <details> accordion, no JS) */
.is-wrapper > .kwb-faq,.is-wrapper .kwb-faq{ background:var(--c-paper); padding:var(--space-section) 0; }
.kwb-faq-head{ text-align:center; margin-bottom:6px; }
.is-wrapper .kwb-faq-head .section-main-heading{ margin:0; }
.kwb-faq-list{ max-width:880px; margin:0 auto; }
.kwb-faq-item{
  border:1px solid var(--c-line); border-radius:var(--r-md); background:var(--c-paper);
  margin-bottom:14px; overflow:hidden;
  transition:border-color .3s var(--ease),box-shadow .3s var(--ease);
}
.kwb-faq-item:last-child{ margin-bottom:0; }
.kwb-faq-item[open]{ border-color:rgba(180,136,55,.4); box-shadow:var(--shadow-1); }
.kwb-faq-q{
  display:flex; align-items:center; justify-content:space-between; gap:18px;
  list-style:none; cursor:pointer; padding:22px 26px;
  font-family:var(--font-head); font-weight:600; font-size:18px; line-height:1.45; color:var(--c-ink);
}
.kwb-faq-q::-webkit-details-marker{ display:none; }
.kwb-faq-q .kwb-faq-ico{ flex:0 0 auto; color:var(--c-primary); font-size:17px; transition:transform .3s var(--ease); }
.kwb-faq-item[open] .kwb-faq-q .kwb-faq-ico{ transform:rotate(180deg); }
.kwb-faq-a{ padding:0 26px 24px; }
.is-wrapper .kwb-faq-a .content-text{ margin:0; }

@media all and (max-width:1023px){
  .kwb-feat-body{ padding-top:28px; }
}
@media all and (max-width:640px){
  .kwb-ben-card{ padding:28px 24px 26px; }
  .kwb-faq-q{ padding:18px 20px; font-size:16px; }
  .kwb-faq-a{ padding:0 20px 20px; }
}

/* ===================== CUSTOM HOME BUILDER — INTERACTIVITY & MOTION ===================== */

/* benefit icon badge (charcoal section) */
.kwb-ben-ico{
  display:inline-flex; align-items:center; justify-content:center;
  width:56px; height:56px; border-radius:var(--r-md);
  background:rgba(180,136,55,.14); color:var(--c-accent);
  font-size:24px; margin-bottom:20px;
  transition:transform .45s var(--ease),background .45s var(--ease),color .45s var(--ease),box-shadow .45s var(--ease);
}
.kwb-ben-card:hover .kwb-ben-ico{
  background:var(--gold-grad); color:var(--c-charcoal);
  transform:translateY(-2px) rotate(-6deg) scale(1.06);
  box-shadow:0 12px 26px rgba(180,136,55,.38);
}

/* FAQ question hover cue */
.kwb-faq-q:hover{ color:var(--c-primary); }

/* shared keyframes */
@keyframes kwb-fade-up{ from{ opacity:0; transform:translateY(28px); } to{ opacity:1; transform:translateY(0); } }
@keyframes kwb-faq-open{ from{ opacity:0; transform:translateY(-6px); } to{ opacity:1; transform:translateY(0); } }

/* time-based motion: hero load-in + FAQ answer reveal */
@media (prefers-reduced-motion: no-preference){
  .kwb-hero .banner-main-heading{ animation:kwb-fade-up .8s var(--ease) both; }
  .kwb-hero .section-description{ animation:kwb-fade-up .8s var(--ease) .15s both; }
  .kwb-faq-item[open] .kwb-faq-a{ animation:kwb-faq-open .35s var(--ease); }
}

/* scroll-reveal — progressive enhancement.
   Gated behind @supports + reduced-motion so unsupported browsers / reduced-motion
   users always see fully-visible content (no hidden-content risk). */
@media (prefers-reduced-motion: no-preference){
  @supports (animation-timeline: view()){
    .kwb-reveal{
      opacity:0;
      animation-name:kwb-fade-up;
      animation-fill-mode:both;
      animation-timing-function:linear;
      animation-timeline:view();
      animation-range:entry 0% entry 55%;
    }
  }
}

/* ===================== BLOG BANNER — mirrors .kwb-hero exactly ===================== */
.is-wrapper .kwb-blog-banner{ position:relative; overflow:hidden; }
.is-wrapper .kwb-blog-banner .kwb-blog-banner-media img{
  display:block; width:100%; height:100%; object-fit:cover;
}
/* identical overlay to the hero */
.is-wrapper .kwb-blog-banner .bn-overlay{
  position:absolute; inset:0; z-index:1; pointer-events:none;
  background:linear-gradient(180deg,rgba(14,12,9,.30) 0%,rgba(14,12,9,.55) 60%,rgba(14,12,9,.82) 100%);
}
/* content row — 1200 cap, vertically centred + left, like the hero flex-container */
.is-wrapper .kwb-blog-banner .inner-banner.blog-banner{
  position:absolute; inset:0; z-index:2;
  display:flex; align-items:center; justify-content:flex-start;
  max-width:1200px; margin:0 auto; left:0; right:0; padding:0 30px;
}
/* inner text block — mirrors .kwb-hero .bn-content (880 cap + same padding rhythm) */
.is-wrapper .kwb-blog-banner .in-banner-desc{
  width:100%; max-width:880px; padding:130px 0 80px;
}
/* heading — same as hero; global .banner-main-heading supplies #fff + fs-h1 */
.is-wrapper .kwb-blog-banner .banner-main-heading{ margin:0; }
@media all and (max-width:960px){
  .is-wrapper .kwb-blog-banner .inner-banner.blog-banner{ padding-left:15px; padding-right:15px; }
}
@media all and (max-width:640px){
  .is-wrapper .kwb-blog-banner .in-banner-desc{ padding:104px 0 56px; }
}

/* ===================== BLOG LISTING PAGE (.new-blog-page-type) ===================== */

/* page rhythm */
.new-blog-page-type.blog-page-type{ background:var(--c-cream); }
.new-blog-page-type .main-blog-widget{ padding-top:var(--space-section); }

/* --- search --- */
.new-blog-page-type .blog-search-container{ margin-bottom:clamp(36px,5vw,56px); }
.new-blog-page-type .blog-search-container .position-relative{ max-width:560px; margin:0 auto; }
.new-blog-page-type .blog-search-container #search-input-blog{
  height:58px; margin:0; width:100%;
  border:1px solid var(--c-line); border-radius:var(--r-pill);
  background:var(--c-paper); padding:8px 24px 8px 52px;
  font:400 16px/1 var(--font-body); color:var(--c-ink);
  box-shadow:var(--shadow-1);
  transition:border-color .25s var(--ease),box-shadow .25s var(--ease);
}
.new-blog-page-type .blog-search-container #search-input-blog::placeholder{ color:var(--c-ink-2); opacity:1; }
.new-blog-page-type .blog-search-container #search-input-blog:focus{
  outline:none; border-color:var(--c-primary);
  box-shadow:0 0 0 4px rgba(180,136,55,.16);
}
.new-blog-page-type .blog-search-container .blog-search-button{
  position:absolute; left:20px; top:50%; transform:translateY(-50%);
  margin:0; padding:0; line-height:0; background:none; border:0; box-shadow:none; cursor:pointer;
}
.new-blog-page-type .blog-search-button svg{ width:18px; height:18px; display:block; }
.new-blog-page-type .blog-search-button svg path{ fill:var(--c-primary); transition:fill .2s var(--ease); }
.new-blog-page-type .blog-search-button:hover svg path{ fill:var(--c-primary-dark); }

/* --- article cards --- */
.new-blog-page-type .blog-articles,
.new-blog-page-type .blog-sidebar{ margin-top:0; }
.new-blog-page-type .blog-articles .blog-ul{ grid-template-columns:1fr; gap:24px; margin:0; }
.new-blog-page-type .blog-li{ margin:0; }
.new-blog-page-type .blog-li .row{ max-width:none; margin-left:0; margin-right:0; }
.new-blog-page-type .blog-article{
  position:relative; overflow:hidden; width:100%; float:none;
  background:var(--c-paper); border:1px solid var(--c-line); border-radius:var(--r-md);
  padding:clamp(26px,3vw,38px); box-shadow:var(--shadow-1);
  transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s var(--ease);
}
.new-blog-page-type .blog-article::before{
  content:""; position:absolute; left:0; top:0; bottom:0; width:3px;
  background:var(--gold-grad); transform:scaleY(0); transform-origin:top;
  transition:transform .4s var(--ease);
}
.new-blog-page-type .blog-article:hover{
  transform:translateY(-5px); box-shadow:var(--shadow-2); border-color:rgba(180,136,55,.4);
}
.new-blog-page-type .blog-article:hover::before{ transform:scaleY(1); }

/* category pills (on each card) */
.new-blog-page-type .article-category{
  display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:0 0 16px;
}
.new-blog-page-type .article-category .categories_text{
  font:700 11px/1 var(--font-head); letter-spacing:.12em; text-transform:uppercase;
  color:var(--c-ink-2); margin-right:2px;
}
.new-blog-page-type .article-category > span:not(.categories_text):not(:has(a)){ display:none; } /* hide comma separators */
.new-blog-page-type .article-category > span:has(a){ display:inline-flex; }
.new-blog-page-type .article-category > span a{
  display:inline-flex; align-items:center; padding:5px 12px; border-radius:var(--r-pill);
  background:var(--c-cream); border:1px solid var(--c-line);
  font:600 12px/1 var(--font-body); color:var(--c-primary-dark); text-decoration:none;
  text-transform:capitalize;
  transition:background .22s var(--ease),color .22s var(--ease),border-color .22s var(--ease);
}
.new-blog-page-type .article-category > span a:hover{
  background:var(--c-primary); color:#fff; border-color:var(--c-primary);
}

/* title */
.new-blog-page-type .article-title{ margin:0 0 12px; }
.new-blog-page-type .article-title a,
.new-blog-page-type .article-title a.section-main-heading{
  display:inline; font-family:var(--font-head); font-weight:700;
  font-size:clamp(21px,2.3vw,27px); line-height:1.28; letter-spacing:-.01em;
  color:var(--c-ink); text-decoration:none; text-wrap:balance;
  transition:color .25s var(--ease);
}
.new-blog-page-type .article-title a:hover{ color:var(--c-primary-dark); }

/* excerpt */
.new-blog-page-type .article-body.rte p{
  margin:0; font:400 16px/1.7 var(--font-body); color:var(--c-ink-2);
}

/* read more */
.new-blog-page-type .blog-read-more{
  display:inline-flex; align-items:center; gap:9px; margin-top:18px; border:0;
  font:600 14px/1 var(--font-body); color:var(--c-primary); text-decoration:none;
  transition:color .22s var(--ease);
}
.new-blog-page-type .blog-read-more::after{
  font-family:'Font Awesome 5 Pro'; font-weight:900; content:"\f061";
  font-size:13px; transition:transform .25s var(--ease);
}
.new-blog-page-type .blog-read-more:hover{ color:var(--c-primary-dark); }
.new-blog-page-type .blog-read-more:hover::after{ transform:translateX(4px); }

/* --- sidebar / categories card --- */
.new-blog-page-type .articles-filter-container{
  background:var(--c-paper); border:1px solid var(--c-line); border-radius:var(--r-md);
  padding:28px 26px; box-shadow:var(--shadow-1);
}
.new-blog-page-type .blog-sidebar .articles-filter-container{ position:sticky; top:24px; }
.new-blog-page-type .articles-filter-container .filter-h2{
  position:relative; margin:0 0 22px; padding-bottom:14px;
  font:700 18px/1.2 var(--font-head); color:var(--c-ink); letter-spacing:-.01em;
}
.new-blog-page-type .articles-filter-container .filter-h2::after{
  content:""; position:absolute; left:0; bottom:0; width:42px; height:3px;
  background:var(--gold-grad); border-radius:2px;
}
.new-blog-page-type .articles-filter-container .ps-blog-category{ list-style:none; margin:0; padding:0; max-height:none; }
.new-blog-page-type .articles-filter-container .ps-blog-category li{ display:block; margin:0 0 6px; width:auto; }
.new-blog-page-type .articles-filter-container .ps-blog-category li:last-child{ margin-bottom:0; }
.new-blog-page-type .articles-filter-container .ps-blog-category li a{
  display:flex; align-items:center; gap:10px; padding:11px 14px; margin:0; border:0;
  border-radius:var(--r-sm); background:transparent;
  font:600 14px/1.3 var(--font-body); color:var(--c-ink-2); text-decoration:none;
  text-transform:capitalize; letter-spacing:0; text-align:left;
  transition:background .22s var(--ease),color .22s var(--ease),padding .22s var(--ease);
}
.new-blog-page-type .articles-filter-container .ps-blog-category li a::before{
  content:""; flex:none; width:6px; height:6px; border-radius:50%;
  background:var(--c-line); transition:background .22s var(--ease);
}
.new-blog-page-type .articles-filter-container .ps-blog-category li a:hover{
  background:var(--c-cream); color:var(--c-primary-dark); padding-left:18px;
}
.new-blog-page-type .articles-filter-container .ps-blog-category li a:hover::before{ background:var(--c-primary); }
.new-blog-page-type .articles-filter-container .ps-blog-category li.active a,
.new-blog-page-type .articles-filter-container .ps-blog-category li.active a.button{
  background:var(--c-charcoal) !important; color:var(--c-cream) !important; border:0;
}
.new-blog-page-type .articles-filter-container .ps-blog-category li.active a::before{ background:var(--c-accent) !important; }
.new-blog-page-type .articles-filter-container .ps-blog-category li.active a:hover{
  background:var(--c-charcoal) !important; color:var(--c-cream) !important; padding-left:14px !important;
}

/* mobile categories block spacing */
.new-blog-page-type .articles-filter-container.hide-for-large{ margin-bottom:28px; }

/* --- pagination --- */
.new-blog-page-type .ps-pagination-bar{ margin-top:clamp(34px,4vw,48px); text-align:center; }
.new-blog-page-type .ps-pagination-bar span{
  display:inline-block; margin:0 4px 6px; border-radius:var(--r-sm);
  background:var(--c-paper); border:1px solid var(--c-line); font:600 14px/1 var(--font-body);
  transition:background .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease);
}
.new-blog-page-type .ps-pagination-bar span a{ display:block; padding:11px 15px; color:var(--c-ink-2); text-decoration:none; }
.new-blog-page-type .ps-pagination-bar span.current{ padding:11px 15px; background:var(--c-charcoal); border-color:var(--c-charcoal); color:var(--c-cream); }
.new-blog-page-type .ps-pagination-bar span.next,
.new-blog-page-type .ps-pagination-bar span.prev{ border-color:var(--c-primary); }
.new-blog-page-type .ps-pagination-bar span.next a,
.new-blog-page-type .ps-pagination-bar span.prev a{ color:var(--c-primary-dark); }
.new-blog-page-type .ps-pagination-bar span:hover{ border-color:var(--c-primary); }
.new-blog-page-type .ps-pagination-bar span:hover a{ color:var(--c-primary-dark); }

/* --- featured (only if platform enables it) --- */
.new-blog-page-type .featured-articles{
  background:var(--c-paper); border:1px solid var(--c-line); border-radius:var(--r-md);
  padding:clamp(28px,4vw,48px); box-shadow:var(--shadow-1); margin-bottom:var(--space-section);
}
.new-blog-page-type .featured-articles > h5{
  display:inline-block; margin:0 0 18px; padding:6px 14px; border-radius:var(--r-pill);
  background:var(--c-cream); color:var(--c-primary-dark);
  font:700 11px/1 var(--font-head); letter-spacing:.14em; text-transform:uppercase;
}

/* --- responsive --- */
@media all and (max-width:1023px){
  .new-blog-page-type .blog-sidebar{ margin-top:30px; }
  .new-blog-page-type .blog-sidebar .articles-filter-container{ position:static; }
}
@media all and (max-width:640px){
  .new-blog-page-type .blog-article{ padding:24px 22px; }
  .new-blog-page-type .articles-filter-container{ padding:24px 22px; }
}

/* ===================== BLOG ARTICLE / DETAIL PAGE (.new-blog-template) ===================== */

/* page rhythm */
.new-blog-template.article-page-type.light-bg{ background:var(--c-cream); }

/* --- article card --- */
.new-blog-template .blog-widget{
  background:var(--c-paper); border:1px solid var(--c-line); border-radius:var(--r-md);
  overflow:hidden; box-shadow:var(--shadow-1); transition:none;
}
.new-blog-template .ps-article-img{ margin:0; }
.new-blog-template .ps-article-img img{ display:block; width:100%; height:auto; margin:0; }
.new-blog-template .inner-blog-widget{ padding:clamp(28px,4vw,48px); }

/* --- title --- */
.new-blog-template .blog-widget .widget-title,
.new-blog-template h1.article-title{
  position:relative; font-family:var(--font-head); font-weight:700;
  font-size:clamp(28px,3.4vw,40px); line-height:1.18; letter-spacing:-.015em;
  color:var(--c-ink); text-transform:none; text-wrap:balance;
  margin:0 0 20px; padding:0 0 18px;
}
.new-blog-template .blog-widget .widget-title::before{ display:none; }
.new-blog-template .blog-widget .widget-title::after{
  content:""; position:absolute; left:0; bottom:0; transform:none;
  width:54px; height:3px; background:var(--gold-grad); border-radius:2px;
}

/* --- meta (author + date) --- */
.new-blog-template .blog-author{ margin:0 0 18px; }
.new-blog-template .lab-ul{ display:flex; flex-wrap:wrap; align-items:center; gap:10px 22px; margin:0; padding:0; list-style:none; }
.new-blog-template .lab-ul li{ display:inline-flex; align-items:center; gap:8px; margin:0; font:600 14px/1 var(--font-body); color:var(--c-ink-2); }
.new-blog-template .lab-ul li svg{ width:17px; height:17px; fill:var(--c-primary); margin:0; }
.new-blog-template .lab-ul .author_name,
.new-blog-template .lab-ul .pubdate{ color:var(--c-ink); font-weight:600; }

/* --- categories (pills) --- scoped under .blog-widget to beat template specificity */
.new-blog-template .blog-widget .widget-category{
  display:flex; flex-wrap:wrap; align-items:center; gap:8px;
  margin:0 0 28px; padding:0 0 26px; border-bottom:1px solid var(--c-line);
}
.new-blog-template .blog-widget .widget-category svg{ width:17px; height:17px; fill:var(--c-primary); margin-right:4px; }
.new-blog-template .blog-widget .widget-category .categories_text{ font:700 11px/1 var(--font-head); letter-spacing:.12em; text-transform:uppercase; color:var(--c-ink-2); margin-right:2px; }
.new-blog-template .blog-widget .widget-category > span:not(.categories_text):not(:has(a)){ display:none; } /* hide comma separators */
.new-blog-template .blog-widget .widget-category > span:has(a){ display:inline-flex; line-height:1; }
.new-blog-template .blog-widget .widget-category > span a,
.new-blog-template .blog-widget .widget-category span a{
  display:inline-flex; align-items:center; padding:5px 12px; border-radius:var(--r-pill);
  background:var(--c-cream); border:1px solid var(--c-line);
  font:600 12px/1 var(--font-body); color:var(--c-primary-dark); text-decoration:none; text-transform:capitalize;
  transition:background .22s var(--ease),color .22s var(--ease),border-color .22s var(--ease);
}
.new-blog-template .blog-widget .widget-category > span a:hover,
.new-blog-template .blog-widget .widget-category span:hover a{ background:var(--c-primary); color:#fff; border-color:var(--c-primary); }

/* --- rich-text body --- */
.new-blog-template .article-body.rte{ font-family:var(--font-body); color:var(--c-ink-2); }
.new-blog-template .article-body.rte p{ margin:0 0 22px; font-size:17px; line-height:1.85; color:var(--c-ink-2); }
.new-blog-template .article-body.rte > p:first-child{ font-size:19px; line-height:1.78; color:var(--c-ink); }
.new-blog-template .article-body.rte h2{
  position:relative; font-family:var(--font-head); font-weight:700; color:var(--c-ink);
  font-size:clamp(24px,2.6vw,30px); line-height:1.25; letter-spacing:-.01em; margin:42px 0 16px;
}
.new-blog-template .article-body.rte h2::before{
  content:""; display:block; width:46px; height:3px; background:var(--gold-grad); border-radius:2px; margin-bottom:18px;
}
.new-blog-template .article-body.rte h3{
  font-family:var(--font-head); font-weight:600; color:var(--c-ink);
  font-size:clamp(19px,2vw,22px); line-height:1.32; margin:30px 0 12px;
}
.new-blog-template .article-body.rte ul,
.new-blog-template .article-body.rte ol{ list-style:none !important; margin:0 0 24px; padding:0; }
.new-blog-template .article-body.rte ul li{
  position:relative; padding:0 0 0 30px; margin:0 0 13px; font-size:17px; line-height:1.7; color:var(--c-ink-2);
}
.new-blog-template .article-body.rte ul li::before{
  font-family:'Font Awesome 5 Pro'; font-weight:900; content:"\f00c" !important;
  position:absolute; left:0; top:3px; color:var(--c-primary) !important; font-size:14px;
  background:none;
}
.new-blog-template .article-body.rte ol{ counter-reset:kwb-ol; padding-left:0; }
.new-blog-template .article-body.rte ol li{
  position:relative; counter-increment:kwb-ol; padding:0 0 0 36px; margin:0 0 13px; font-size:17px; line-height:1.7; color:var(--c-ink-2);
}
.new-blog-template .article-body.rte ol li::before{
  content:counter(kwb-ol); position:absolute; left:0; top:1px;
  width:24px; height:24px; border-radius:50%; background:var(--c-cream); border:1px solid var(--c-line);
  color:var(--c-primary-dark); font:700 12px/24px var(--font-head); text-align:center;
}
.new-blog-template .article-body.rte strong{ color:var(--c-ink); font-weight:700; }
.new-blog-template .article-body.rte a{
  color:var(--c-primary-dark); font-weight:600; text-decoration:none;
  border-bottom:1px solid rgba(180,136,55,.5);
  transition:opacity .2s var(--ease),border-color .2s var(--ease);
}
.new-blog-template .article-body.rte a:hover{ opacity:.8; border-bottom-color:var(--c-primary); }
.new-blog-template .article-body.rte img{ max-width:100%; height:auto; border-radius:var(--r-sm); margin:6px 0 22px; }
.new-blog-template .article-body.rte blockquote{
  margin:28px 0; padding:18px 26px; border-left:3px solid var(--c-primary);
  background:rgba(180,136,55,.06); border-radius:0 var(--r-sm) var(--r-sm) 0;
  font:italic 400 19px/1.6 var(--font-body); color:var(--c-ink);
}
/* trailing mailto line → gold contact callout */
.new-blog-template .article-body.rte > p:last-child:has(a[href^="mailto:"]){
  margin-top:34px; padding:24px 28px; background:rgba(180,136,55,.07);
  border-left:3px solid var(--c-primary); border-radius:0 var(--r-sm) var(--r-sm) 0;
  font-size:18px; line-height:1.6; color:var(--c-ink);
}
.new-blog-template .article-body.rte > p:last-child:has(a[href^="mailto:"]) a{ border-bottom:0; }

/* --- divider --- */
.new-blog-template .blog-inner-text hr{
  display:block; border:0; border-top:1px solid var(--c-line); margin:36px 0 26px;
}

/* --- back to blog button --- */
.new-blog-template .back-to-blog{ margin:0; }
.new-blog-template .back-to-blog a.button{
  display:inline-flex; align-items:center; gap:10px;
  background:var(--c-primary) !important; color:#fff !important; border:2px solid var(--c-primary) !important;
  padding:14px 30px; border-radius:var(--btn-radius);
  font:600 14px/1 var(--font-body); letter-spacing:.06em; text-transform:uppercase;
  text-decoration:none; cursor:pointer; white-space:nowrap;
  transition:background .22s var(--ease),border-color .22s var(--ease),transform .18s var(--ease),box-shadow .22s var(--ease);
}
.new-blog-template .back-to-blog a.button::after{
  font-family:'Font Awesome 5 Pro'; font-weight:900; content:"\f061"; font-size:13px; transition:transform .25s var(--ease);
}
.new-blog-template .back-to-blog a.button:hover{
  background:var(--c-primary-dark) !important; border-color:var(--c-primary-dark) !important; color:#fff;
  transform:translateY(-2px); box-shadow:0 10px 24px rgba(20,18,15,.22);
}
.new-blog-template .back-to-blog a.button:hover::after{ transform:translateX(4px); }

/* --- sidebar widgets --- */
.new-blog-template .blog-sidebar-widget{
  background:var(--c-paper); border:1px solid var(--c-line); border-radius:var(--r-md);
  padding:28px 26px; box-shadow:var(--shadow-1); margin-bottom:24px;
}
.new-blog-template .blog-sidebar-widget:last-child{ margin-bottom:0; }
.new-blog-template .blog-sidebar-widget .blog-sidebar-h2{
  position:relative; margin:0 0 20px; padding:0 0 14px;
  font:700 18px/1.2 var(--font-head); color:var(--c-ink); text-transform:none; letter-spacing:-.01em; font-size:18px;
}
.new-blog-template .blog-sidebar-widget .blog-sidebar-h2::before{ display:none; }
.new-blog-template .blog-sidebar-widget .blog-sidebar-h2::after{
  content:""; position:absolute; left:0; bottom:0; transform:none; width:42px; height:3px; background:var(--gold-grad); border-radius:2px;
}

/* tags → pills */
.new-blog-template .ps-blog-tags{ display:flex; flex-wrap:wrap; gap:8px; list-style:none; margin:0; padding:0; }
.new-blog-template .ps-blog-tags li{ margin:0; }
.new-blog-template .ps-blog-tags li a{
  display:inline-flex; align-items:center; position:static; padding:7px 14px; border-radius:var(--r-pill);
  background:var(--c-cream); border:1px solid var(--c-line);
  font:600 13px/1 var(--font-body); color:var(--c-primary-dark) !important; text-decoration:none; text-transform:capitalize;
  transition:background .22s var(--ease),color .22s var(--ease),border-color .22s var(--ease);
}
.new-blog-template .ps-blog-tags li a::before{ display:none; }
.new-blog-template .ps-blog-tags li a:hover{ background:var(--c-primary) !important; color:#fff !important; border-color:var(--c-primary) !important; }

/* recent posts → caret list */
.new-blog-template .ps-blog-recent-posts{ list-style:none; margin:0; padding:0; }
.new-blog-template .ps-blog-recent-posts li{ margin:0 0 12px; }
.new-blog-template .ps-blog-recent-posts li:last-child{ margin-bottom:0; }
.new-blog-template .ps-blog-recent-posts li a{
  display:block; position:relative; padding:0 0 0 24px;
  font:600 15px/1.5 var(--font-body); color:var(--c-ink); text-decoration:none;
  transition:color .2s var(--ease);
}
.new-blog-template .ps-blog-recent-posts li a::before{
  font-family:'Font Awesome 5 Pro'; font-weight:900; content:"\f0da";
  position:absolute; left:0; top:3px; color:var(--c-primary); font-size:13px;
  width:auto; height:auto; background:none; clip-path:none;
}
.new-blog-template .ps-blog-recent-posts li a:hover{ color:var(--c-primary-dark); }

/* --- responsive --- */
@media all and (max-width:1023px){
  .new-blog-template .blog-sidebar{ margin-top:30px; }
}
@media all and (max-width:640px){
  .new-blog-template .inner-blog-widget{ padding:24px 20px; }
  .new-blog-template .blog-sidebar-widget{ padding:24px 20px; }
  .new-blog-template .article-body.rte > p:first-child{ font-size:18px; }
}

/* global arrow-icon color override (forces white on all .fa-arrow-right) */
.fa-arrow-right:before{ content:"\f061"; color:#fff !important; }


/* ===================== CONTACT PAGE ===================== */

/* --- hero banner --- */
.is-wrapper > .kwb-contact-hero{ position:relative; }
.kwb-contact-hero .full img{ width:100%; height:clamp(320px,48vh,500px); object-fit:cover; display:block; }
.kwb-contact-hero .full .kwb-hero-img-d{ display:none; }
.kwb-contact-hero .full .kwb-hero-img-m{ display:block; }
@media all and (min-width:1024px){
  .kwb-contact-hero .full .kwb-hero-img-d{ display:block; }
  .kwb-contact-hero .full .kwb-hero-img-m{ display:none; }
}
.kwb-contact-hero .bn-overlay{
  position:absolute; inset:0; z-index:1; pointer-events:none;
  background:linear-gradient(180deg,rgba(14,12,9,.30) 0%,rgba(14,12,9,.55) 60%,rgba(14,12,9,.82) 100%);
}
.kwb-contact-hero .bn-content{ max-width:760px; padding:46px 16px; }
.kwb-contact-hero .banner-main-heading{ margin:0; }
.kwb-contact-hero .section-description{ color:var(--c-cream-soft); margin:14px 0 0; max-width:600px; }

/* --- body (info + form) --- */
.is-wrapper > .kwb-contact-sec,
.is-wrapper .kwb-contact-sec{ background:var(--c-cream); }
.kwb-contact-sec .kwb-contact-info-cell{ align-self:center; }

/* contact detail list */
.kwb-contact-list{ list-style:none; margin:0; padding:0; }
.kwb-contact-list .kwb-contact-item{
  display:flex; align-items:flex-start; gap:16px; margin:0; padding:18px 0;
  border-bottom:1px solid var(--c-line);
}
.kwb-contact-list .kwb-contact-item:first-child{ padding-top:0; }
.kwb-contact-list .kwb-contact-item:last-child{ padding-bottom:0; border-bottom:0; }
.kwb-contact-ic{
  flex:none; width:48px; height:48px; border-radius:var(--r-sm);
  display:inline-flex; align-items:center; justify-content:center;
  background:var(--gold-grad); box-shadow:var(--shadow-1);
}
.kwb-contact-ic i{ color:#fff; font-size:18px; }
.kwb-contact-meta{ display:flex; flex-direction:column; gap:5px; padding-top:2px; min-width:0; }
.kwb-contact-label{ font:700 11px/1 var(--font-head); letter-spacing:.14em; text-transform:uppercase; color:var(--c-primary-dark); }
.kwb-contact-value{ font:500 17px/1.5 var(--font-body); color:var(--c-ink); text-decoration:none; word-break:break-word; }
a.kwb-contact-value{ transition:color .2s var(--ease); }
a.kwb-contact-value:hover{ color:var(--c-primary-dark); }

/* form panel (Webware widget renders inside) */
.kwb-contact-form{
  background:var(--c-paper); border:1px solid var(--c-line); border-radius:var(--r-md);
  box-shadow:var(--shadow-2); padding:clamp(26px,3.5vw,44px); height:100%;
}
.kwb-contact-form form{ margin:0; }
.kwb-contact-form label{ display:block; font:600 13px/1.4 var(--font-body); color:var(--c-ink); margin:0 0 6px; }
.kwb-contact-form input[type=text],
.kwb-contact-form input[type=email],
.kwb-contact-form input[type=tel],
.kwb-contact-form input[type=password],
.kwb-contact-form input[type=number],
.kwb-contact-form input[type=url],
.kwb-contact-form select,
.kwb-contact-form textarea{
  width:100%; box-sizing:border-box; margin:0 0 16px;
  background:var(--c-cream); border:1px solid var(--c-line); border-radius:var(--r-sm);
  padding:12px 14px; min-height:48px; font:400 15px/1.4 var(--font-body); color:var(--c-ink);
  box-shadow:none; transition:border-color .2s var(--ease),box-shadow .2s var(--ease);
}
.kwb-contact-form textarea{ min-height:140px; resize:vertical; }
.kwb-contact-form input:focus,
.kwb-contact-form select:focus,
.kwb-contact-form textarea:focus{
  outline:none; border-color:var(--c-primary); box-shadow:0 0 0 3px rgba(180,136,55,.18);
}
.kwb-contact-form input[type=submit],
.kwb-contact-form button[type=submit],
.kwb-contact-form .button{
  display:inline-flex; align-items:center; justify-content:center; gap:10px; width:auto; cursor:pointer;
  background:var(--c-primary) !important; color:#fff !important; border:2px solid var(--c-primary) !important;
  padding:14px 34px; border-radius:var(--btn-radius); margin:4px 0 0;
  font:600 14px/1 var(--font-body); letter-spacing:.06em; text-transform:uppercase;
  transition:background .22s var(--ease),border-color .22s var(--ease),transform .18s var(--ease),box-shadow .22s var(--ease);
}
.kwb-contact-form input[type=submit]:hover,
.kwb-contact-form button[type=submit]:hover,
.kwb-contact-form .button:hover{
  background:var(--c-primary-dark) !important; border-color:var(--c-primary-dark) !important;
  transform:translateY(-2px); box-shadow:0 10px 24px rgba(20,18,15,.22);
}

/* --- embedded map --- */
.is-wrapper > .kwb-contact-map-sec,
.is-wrapper .kwb-contact-map-sec{ background:var(--c-cream); }
.kwb-contact-map{
  position:relative; width:100%; height:clamp(320px,46vh,460px);
  border:1px solid var(--c-line); border-radius:var(--r-md); overflow:hidden; box-shadow:var(--shadow-1);
}
.kwb-contact-map iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; display:block; filter:grayscale(.12); }

/* responsive */
@media all and (max-width:1023px){
  .kwb-contact-sec .kwb-contact-info-cell{ margin-bottom:30px; }
  .kwb-contact-hero .section-description{ max-width:none; }
}
@media all and (max-width:640px){
  .kwb-contact-form{ padding:24px 20px; }
  .kwb-contact-hero .bn-content{ padding:30px 16px; }
}

/* ===================== LOGIN / REGISTER PAGE (.ps-login-page) ===================== */
.ps-login-page{ background:var(--c-cream); }

/* card */
.ps-login-page .ps-login-form-wrap{
  width:100%; max-width:520px; margin:0 auto; text-align:left;
  background:var(--c-paper); border:1px solid var(--c-line); border-radius:var(--r-md);
  box-shadow:var(--shadow-2); padding:clamp(28px,4vw,46px);
}

/* heading */
.ps-login-page .ps-login-form-wrap h4{
  position:relative; font-family:var(--font-head); font-weight:700; color:var(--c-ink);
  font-size:clamp(24px,3vw,30px); line-height:1.2; margin:0 0 24px; padding:0 0 16px;
}
.ps-login-page .ps-login-form-wrap h4::after{
  content:""; position:absolute; left:0; bottom:0; width:48px; height:3px; background:var(--gold-grad); border-radius:2px;
}

/* labels */
.ps-login-page .new-website-login-form form.settings label{
  display:block; font:600 13px/1.4 var(--font-body); color:var(--c-ink); margin:0 0 7px; text-transform:none;
}
.ps-login-page form.settings label .error{ color:var(--c-primary-dark); }

/* inputs */
.ps-login-page .new-website-login-form form.settings input[type=text],
.ps-login-page .new-website-login-form form.settings input[type=email],
.ps-login-page .new-website-login-form form.settings input[type=password]{
  width:100%; box-sizing:border-box; height:50px; margin:0;
  background:var(--c-cream); border:1px solid var(--c-line); border-radius:var(--r-sm);
  padding:12px 14px; font:400 15px/1.4 var(--font-body); color:var(--c-ink); box-shadow:none;
  transition:border-color .2s var(--ease),box-shadow .2s var(--ease);
}
.ps-login-page .new-website-login-form form.settings input:focus{
  outline:none; border-color:var(--c-primary); box-shadow:0 0 0 3px rgba(180,136,55,.18);
}

/* password field + show/hide toggle */
.ps-login-page .password-container{ position:relative; }
.ps-login-page .password-container .passwordField{ padding-right:46px !important; }
.ps-login-page .toggle-password{
  position:absolute; right:14px !important; top:50%; transform:translateY(-50%);
  color:var(--c-ink-2); cursor:pointer; font-size:15px; transition:color .2s var(--ease);
}
.ps-login-page .toggle-password:hover{ color:var(--c-primary-dark); }

/* helper text ("Password is case sensitive") */
.ps-login-page form.settings p{ font:400 13px/1.5 var(--font-body); color:var(--c-ink-2); margin:8px 0 0; }

/* primary button — Login */
.ps-login-page .new-website-login-form form.settings input[type=submit],
.ps-login-page .new-website-login-form form.settings .button,
.ps-login-page .ps-login-button{
  display:inline-flex; align-items:center; justify-content:center; gap:10px; width:100% !important; cursor:pointer;
  background:var(--c-primary) !important; color:#fff !important; border:2px solid var(--c-primary) !important;
  height:auto !important; padding:15px 28px !important; border-radius:var(--btn-radius) !important;
  font:600 14px/1 var(--font-body); letter-spacing:.06em; text-transform:uppercase;
  transition:background .22s var(--ease),border-color .22s var(--ease),transform .18s var(--ease),box-shadow .22s var(--ease);
}
.ps-login-page .new-website-login-form form.settings input[type=submit]:hover,
.ps-login-page .new-website-login-form form.settings .button:hover,
.ps-login-page .ps-login-button:hover{
  background:var(--c-primary-dark) !important; border-color:var(--c-primary-dark) !important; color:#fff !important;
  transform:translateY(-2px); box-shadow:0 10px 24px rgba(20,18,15,.22);
}

/* forgot-password line */
.ps-login-page .ps-login-form-wrap > p{ font:400 14px/1.6 var(--font-body); color:var(--c-ink-2); margin:18px 0 0; }
.ps-login-page .ps-login-form-wrap > p a{
  color:var(--c-primary-dark); font-weight:600; text-decoration:none; border-bottom:1px solid rgba(180,136,55,.5);
  transition:border-color .2s var(--ease),opacity .2s var(--ease);
}
.ps-login-page .ps-login-form-wrap > p a:hover{ opacity:.8; border-bottom-color:var(--c-primary); }

/* separator */
.ps-login-page .new-website-login-form .ps-separator{
  width:100%; height:1px; background:var(--c-line); border:0; margin:24px 0 20px;
}

/* sign-up block + secondary (outline) Register button */
.ps-login-page .signup-container{ margin:0; }
.ps-login-page .signup-container p{ font:400 14px/1.5 var(--font-body); color:var(--c-ink-2); margin:0 0 12px; }
.ps-login-page .signup-container .button,
.ps-login-page .ps-register-button{
  display:inline-flex; align-items:center; justify-content:center; gap:10px; width:100% !important; cursor:pointer;
  background:transparent !important; color:var(--c-primary-dark) !important; border:2px solid var(--c-primary) !important;
  height:auto !important; padding:15px 28px !important; border-radius:var(--btn-radius) !important;
  font:600 14px/1 var(--font-body); letter-spacing:.06em; text-transform:uppercase;
  transition:background .22s var(--ease),color .22s var(--ease),transform .18s var(--ease),box-shadow .22s var(--ease);
}
.ps-login-page .signup-container .button:hover,
.ps-login-page .ps-register-button:hover{
  background:var(--c-primary) !important; color:#fff !important; border-color:var(--c-primary) !important;
  transform:translateY(-2px); box-shadow:0 10px 24px rgba(20,18,15,.22);
}

/* responsive */
@media all and (max-width:640px){
  .ps-login-page .ps-login-form-wrap{ padding:26px 20px; }
}

/* ===================== NEWSLETTER SIGNUP (.newsletter-form-page-type) ===================== */
.is-wrapper .newsletter-form-page-type,
.newsletter-form-page-type{ background:var(--c-cream); padding:var(--space-section) 0; }

/* card — scope through .ww-form-container to beat platform form styles */
.newsletter-form-page-type .ww-form-container form{
  background:var(--c-paper) !important; border:1px solid var(--c-line); border-radius:var(--r-md);
  box-shadow:var(--shadow-2); padding:clamp(28px,4vw,46px) !important; max-width:560px; margin:0 auto;
}

/* intro copy (Webware <document> block) */
.newsletter-form-page-type .ww-form-container document{ display:block; }
.newsletter-form-page-type .ww-form-container document p{
  font:400 16px/1.6 var(--font-body); color:var(--c-ink-2); margin:0 0 22px;
}

/* fieldset + legend heading */
.newsletter-form-page-type .ww-form-container fieldset.fieldset{ border:0 !important; margin:0 !important; padding:0 !important; }
.newsletter-form-page-type .ww-form-container fieldset legend{
  position:relative; display:block; width:100%; float:none;
  font-family:var(--font-head); font-weight:700; color:var(--c-ink);
  font-size:clamp(22px,2.6vw,28px); line-height:1.2; margin:0 0 22px; padding:0 0 14px;
}
.newsletter-form-page-type .ww-form-container fieldset legend::after{
  content:""; position:absolute; left:0; bottom:0; width:46px; height:3px; background:var(--gold-grad); border-radius:2px;
}

/* field wraps — override platform ".ww-form-container form fieldset>div" */
.newsletter-form-page-type .ww-form-container form fieldset > div{
  width:100% !important; margin:0 0 18px !important; padding:0 !important; position:relative;
}

/* labels */
.newsletter-form-page-type .ww-form-container .first_name_wrap label,
.newsletter-form-page-type .ww-form-container .last_name_wrap label,
.newsletter-form-page-type .ww-form-container .email_wrap label{
  display:block; font:600 13px/1.4 var(--font-body); color:var(--c-ink); margin:0 0 7px; text-transform:none;
}
.newsletter-form-page-type .ww-form-container .required{ color:var(--c-primary-dark); margin-left:2px; }

/* inputs — !important + scope beats platform/theme form sheet */
.newsletter-form-page-type .ww-form-container input[type=text],
.newsletter-form-page-type .ww-form-container input[type=email]{
  width:100% !important; box-sizing:border-box; height:50px !important; min-height:50px !important; margin:0 !important;
  background:var(--c-cream) !important; border:1px solid var(--c-line) !important; border-radius:var(--r-sm) !important;
  padding:12px 14px !important; font:400 15px/1.4 var(--font-body) !important; color:var(--c-ink) !important; box-shadow:none !important;
  transition:border-color .2s var(--ease),box-shadow .2s var(--ease);
}
.newsletter-form-page-type .ww-form-container input[type=text]:focus,
.newsletter-form-page-type .ww-form-container input[type=email]:focus{
  outline:none; border-color:var(--c-primary) !important; box-shadow:0 0 0 3px rgba(180,136,55,.18) !important;
}

/* error text — keep in flow (override platform position:absolute; bottom:-15px) */
.newsletter-form-page-type .ww-form-container .error{
  color:#cc4b37; font:400 12px/1.4 var(--font-body);
  position:static !important; left:auto !important; bottom:auto !important; margin:0;
}
.newsletter-form-page-type .ww-form-container .error:not(:empty){ display:block; margin-top:5px; }

/* widen platform form-container (global forces width:310px) */
.newsletter-form-page-type .ww-form-container .form-container{
  width:100% !important; max-width:100% !important; margin:0 !important; padding:0 !important;
}

/* opt-in checkbox */
.newsletter-form-page-type .ww-form-container .checkbox_wrap{ margin:6px 0 2px; }
.newsletter-form-page-type .ww-form-container .checkbox_wrap > p:empty{ display:none; }
.newsletter-form-page-type .ww-form-container .checkbox_wrap .float-left{ float:none !important; }
.newsletter-form-page-type .ww-form-container .checkbox_wrap label{
  display:flex; align-items:flex-start; gap:10px; margin:0; cursor:pointer;
  font:400 14px/1.5 var(--font-body); color:var(--c-ink-2);
}
.newsletter-form-page-type .ww-form-container .checkbox_wrap input[type=checkbox]{
  width:18px !important; height:18px !important; min-height:0 !important; margin:1px 0 0 !important;
  flex:0 0 auto; accent-color:var(--c-primary); cursor:pointer; box-shadow:none !important;
}

/* recaptcha spacing */
.newsletter-form-page-type .ww-form-container .captcha_wrap{ margin:18px 0 0; }

/* submit — primary gold, full width (theme .button sheet loads late → !important) */
.newsletter-form-page-type .ww-form-container .submit_wrap{ margin-top:8px; }
.newsletter-form-page-type .ww-form-container .submit_wrap > label{ display:none; }
.newsletter-form-page-type .ww-form-container input[type=submit],
.newsletter-form-page-type .ww-form-container .submit_wrap .button{
  display:inline-flex !important; align-items:center; justify-content:center; gap:10px; width:100% !important; cursor:pointer;
  background:var(--c-primary) !important; color:#fff !important; border:2px solid var(--c-primary) !important;
  height:auto !important; min-height:0 !important; padding:15px 28px !important; border-radius:var(--btn-radius) !important;
  font:600 14px/1 var(--font-body) !important; letter-spacing:.06em; text-transform:uppercase;
  transition:background .22s var(--ease),border-color .22s var(--ease),transform .18s var(--ease),box-shadow .22s var(--ease);
}
.newsletter-form-page-type .ww-form-container input[type=submit]:hover,
.newsletter-form-page-type .ww-form-container .submit_wrap .button:hover{
  background:var(--c-primary-dark) !important; border-color:var(--c-primary-dark) !important; color:#fff !important;
  transform:translateY(-2px); box-shadow:0 10px 24px rgba(20,18,15,.22);
}

/* responsive */
@media all and (max-width:640px){
  .newsletter-form-page-type .ww-form-container form{ padding:26px 20px !important; }
}

/* ===================== LEAD MAGNET FORM (#lead-magnet-form) ===================== */
/* card — override platform "#lead-magnet-form form{width:50%}" */
#lead-magnet-form .ww-form-container form{
  width:100% !important; max-width:640px; margin:0 auto !important;
  background:var(--c-paper); border:1px solid var(--c-line); border-radius:var(--r-md);
  box-shadow:var(--shadow-2); padding:clamp(28px,4vw,46px);
}

/* heading + description — re-assert site styling (form context changes the font) */
#lead-magnet-form .ww-form-container .section-main-heading{
  font-family:var(--font-head) !important; font-size:var(--fs-h2) !important; font-weight:700 !important;
  color:var(--c-ink) !important; line-height:1.16; letter-spacing:-.015em; text-wrap:balance; margin:0 0 14px !important;
}
#lead-magnet-form .ww-form-container .section-description{
  font-family:var(--font-body) !important; font-size:18px !important; font-weight:400 !important;
  line-height:1.75; color:var(--c-ink-2) !important; margin:0 0 26px !important;
}

/* field wraps */
#lead-magnet-form .ww-form-container .first_name_wrap,
#lead-magnet-form .ww-form-container .email_wrap{ margin-bottom:18px; position:relative; }

/* labels */
#lead-magnet-form .ww-form-container label{
  display:block; font:600 13px/1.4 var(--font-body); color:var(--c-ink); margin:0 0 7px; text-transform:none;
}
#lead-magnet-form .ww-form-container .required{ color:var(--c-primary-dark); margin-left:2px; }

/* inputs — !important beats platform #lead-magnet-form input sizing */
#lead-magnet-form .ww-form-container input[type=text],
#lead-magnet-form .ww-form-container input[type=email]{
  width:100% !important; box-sizing:border-box; height:50px !important; min-height:50px !important; margin:0 !important;
  background:var(--c-cream) !important; border:1px solid var(--c-line) !important; border-radius:var(--r-sm) !important;
  padding:12px 14px !important; font:400 15px/1.4 var(--font-body) !important; color:var(--c-ink) !important; box-shadow:none !important;
  transition:border-color .2s var(--ease),box-shadow .2s var(--ease);
}
#lead-magnet-form .ww-form-container input[type=text]:focus,
#lead-magnet-form .ww-form-container input[type=email]:focus{
  outline:none; border-color:var(--c-primary) !important; box-shadow:0 0 0 3px rgba(180,136,55,.18) !important;
}

/* error text — keep in flow (override absolute bottom:-15px) */
#lead-magnet-form .ww-form-container .error{
  color:#cc4b37; font:400 12px/1.4 var(--font-body);
  position:static !important; left:auto !important; bottom:auto !important; margin:0 !important;
}
#lead-magnet-form .ww-form-container .error:not(:empty){ display:block; margin-top:5px; }

/* recaptcha spacing */
#lead-magnet-form .ww-form-container .captcha_wrap{ margin:18px 0 0; }

/* submit — primary gold, full width (theme .button sheet loads late → !important) */
#lead-magnet-form .ww-form-container .submit_wrap{ margin-top:8px; }
#lead-magnet-form .ww-form-container .submit_wrap > label{ display:none; }
#lead-magnet-form .ww-form-container input[type=submit],
#lead-magnet-form .ww-form-container .submit_wrap .button{
  display:inline-flex !important; align-items:center; justify-content:center; gap:10px; width:100% !important; cursor:pointer;
  background:var(--c-primary) !important; color:#fff !important; border:2px solid var(--c-primary) !important;
  height:auto !important; min-height:0 !important; padding:15px 28px !important; border-radius:var(--btn-radius) !important;
  font:600 14px/1 var(--font-body) !important; letter-spacing:.06em; text-transform:uppercase;
  transition:background .22s var(--ease),border-color .22s var(--ease),transform .18s var(--ease),box-shadow .22s var(--ease);
}
#lead-magnet-form .ww-form-container input[type=submit]:hover,
#lead-magnet-form .ww-form-container .submit_wrap .button:hover{
  background:var(--c-primary-dark) !important; border-color:var(--c-primary-dark) !important; color:#fff !important;
  transform:translateY(-2px); box-shadow:0 10px 24px rgba(20,18,15,.22);
}

/* responsive */
@media all and (max-width:640px){
  #lead-magnet-form .ww-form-container form{ padding:26px 20px; }
}

/* submit sized to its label (not full width) */
#lead-magnet-form .ww-form-container input[type=submit],
#lead-magnet-form .ww-form-container .submit_wrap .button{ width:auto !important; max-width:max-content; }

/* ============================ HEADER (#header / .new-header-6) ============================ */
#header.new-header,
#header.new-header-6{
  background:var(--c-tint); border-bottom:1px solid var(--c-line);
  position:relative; z-index:50; box-shadow:0 1px 0 rgba(20,18,15,.04);
}

/* logo */
#header .logo-container a{ display:inline-block; }
#header .logo-container img{ max-height:130px; width:auto; display:block; transition:opacity .2s var(--ease); }
#header .logo-container a:hover img{ opacity:.85; }

/* ---------- top contact row (phone + Get started) ---------- */
#header .contact-section{ margin:0; display:flex; align-items:center; justify-content:flex-end; gap:6px; list-style:none; }
#header .contact-section > li{ margin:0; }

/* phone CTA */
#header .head-contact-links{
  display:inline-flex; align-items:center; gap:10px; padding:8px 10px; text-decoration:none;
  font:700 15px/1 var(--font-body); color:var(--c-ink); letter-spacing:.01em;
  transition:color .2s var(--ease);
}
#header .head-contact-links .icon-part{
  width:34px; height:34px; border-radius:var(--r-pill); flex:0 0 auto; padding:0 !important;
  display:inline-flex; align-items:center; justify-content:center;
  background:rgba(180,136,55,.12); color:var(--c-primary-dark);
  transition:background .25s var(--ease),color .25s var(--ease),transform .25s var(--ease);
}
#header .head-contact-links .icon-part i{ font-size:14px; }
#header .head-contact-links:hover{ color:var(--c-primary-dark); }
#header .head-contact-links:hover .icon-part{ background:var(--c-primary); color:#fff; transform:translateY(-1px); }

/* Get started button (theme .button loads late → !important on colours) */
#header .contact-section .button,
#header .mobile-contact-button-section .button{
  display:inline-flex !important; align-items:center; justify-content:center; width:auto !important; cursor:pointer; text-decoration:none;
  background:var(--c-primary) !important; color:#fff !important; border:2px solid var(--c-primary) !important;
  padding:11px 26px !important; border-radius:var(--btn-radius) !important; min-height:0 !important;
  font:600 13px/1 var(--font-body) !important; letter-spacing:.06em; text-transform:uppercase;
  transition:background .22s var(--ease),border-color .22s var(--ease),transform .18s var(--ease),box-shadow .22s var(--ease);
}
#header .contact-section .button:hover,
#header .mobile-contact-button-section .button:hover, input#Submit:hover, input.button:hover{
  background:var(--c-primary-dark) !important; border-color:var(--c-primary-dark) !important; color:#fff !important;
  transform:translateY(-2px); box-shadow:0 10px 22px rgba(20,18,15,.22);
}
.head-contact-links:hover i {
    color:#FFF !important;
}

/* ---------- main nav ---------- */
#header .menu-container nav{ margin-top:2px; }
#header ul.dropdown.menu.level-1{ align-items:center; }
#header ul.dropdown.menu.level-1 > li{ margin:0; }
#header ul.dropdown.menu.level-1 > li > a{
  position:relative; display:block; padding:10px 14px; text-decoration:none;
  font:600 14px/1 var(--font-body); color:var(--c-ink); letter-spacing:.01em;
  transition:color .2s var(--ease);
}
/* gold underline via span border — theme draws border-bottom on span; #header id beats its (0,5,4) */
#header ul.dropdown.menu.level-1 > li > a:not(.button) span{
  border-bottom:2px solid transparent; padding-bottom:3px;
  transition:border-color .24s var(--ease), color .2s var(--ease);
}
#header ul.dropdown.menu.level-1 > li > a:hover{ color:var(--c-primary-dark); }
#header ul.dropdown.menu.level-1 > li.active > a{ color:var(--c-primary-dark); }
#header ul.dropdown.menu.level-1 > li:hover > a:not(.button) span,
#header ul.dropdown.menu.level-1 > li.active > a:not(.button) span{
  border-bottom-color:var(--c-primary);
}

/* caret on submenu parents (replaces Foundation's border-triangle on same ::after) */
#header ul.dropdown.menu.level-1 > li.is-dropdown-submenu-parent > a{ padding-right:28px; }
#header ul.dropdown.menu.level-1 > li.is-dropdown-submenu-parent > a::after{
  content:"\f078"; font-family:"Font Awesome 5 Pro"; font-weight:900; font-size:10px;
  position:absolute; right:12px; top:50%; transform:translateY(-50%);
  border:0 !important; width:auto !important; height:auto !important; margin:0 !important;
  color:currentColor; transition:transform .22s var(--ease);
}
#header ul.dropdown.menu.level-1 > li.is-dropdown-submenu-parent:hover > a::after{ transform:translateY(-50%) rotate(-180deg); }

/* ---------- dropdown panel (dark charcoal, premium) ---------- */
#header .is-dropdown-submenu{
  background:var(--c-charcoal) !important; border:1px solid rgba(255,255,255,.06) !important;
  border-top:3px solid var(--c-primary) !important; border-radius:0 0 var(--r-md) var(--r-md) !important;
  box-shadow:0 24px 50px rgba(0,0,0,.35) !important; padding:8px !important; min-width:256px;
}
#header .is-dropdown-submenu .is-submenu-item{ margin:0 !important; background:transparent !important; border:0 !important; }
#header .is-dropdown-submenu .is-submenu-item > a{
  display:block !important; padding:11px 16px !important; border-radius:var(--r-sm) !important;
  text-decoration:none !important; white-space:normal;
  font:500 14px/1.35 var(--font-body) !important; color:var(--c-cream) !important; background:transparent !important;
  transition:background .18s var(--ease),color .18s var(--ease),padding-left .18s var(--ease);
}
#header .is-dropdown-submenu .is-submenu-item > a span{ color:inherit !important; border:0 !important; }
#header .is-dropdown-submenu .is-submenu-item > a:hover,
#header .is-dropdown-submenu .is-submenu-item > a:focus{
  background:var(--c-primary) !important; color:#fff !important; padding-left:20px !important;
}
#header .is-dropdown-submenu .is-submenu-item > a:hover span,
#header .is-dropdown-submenu .is-submenu-item > a:focus span{ color:#fff !important; }
#header .is-dropdown-submenu .is-submenu-item.active > a{ background:rgba(255,255,255,.05) !important; color:var(--c-accent) !important; }
#header .is-dropdown-submenu .is-submenu-item.active > a span{ color:var(--c-accent) !important; }

/* ---------- mobile (hamburger + stacked CTAs) ---------- */
#header .sidenav-container a{ color:var(--c-ink); cursor:pointer; transition:color .2s var(--ease); }
#header .sidenav-container a:hover{ color:var(--c-primary-dark); }
#header .sidenav-container .icon{ color:inherit; }

#header .hide-for-large .mobile-contact-button-section{ margin:0; text-align:center; }
@media screen and (max-width:1023.5px){
  #header .hide-for-large .mobile-contact-button-section{ margin:0 !important; text-align:center !important; }
}
#header .hide-for-large .head-contact-links{ justify-content:center; }
#header .hide-for-large .mobile-contact-button-section .button{ width:100% !important; max-width:max-content; }

/* responsive — slightly tighter logo on small */
@media all and (max-width:1023px){
  #header .logo-container img{ max-height:90px; }
}

#header .mobile-contact-button-section .icon-part i{ padding-right:0; }

@media screen and (max-width:1023.5px){
  .kwb-hero .bn-content{ padding:15px; }
  .main-banner-sec .bn-overlay {
    background: none;
}
}
/* ============================================================
   MOBILE OFF-CANVAS DRAWER  (#sidenav)
   premium charcoal + gold — matches header dark dropdown
   Foundation handles open/close (transform/JS); we style appearance only.
   All scoped to #sidenav id so .menu / utility defaults are beaten.
   ============================================================ */
#sidenav.off-canvas.sidenav{
  background:var(--c-charcoal);
  padding:0;
  border-left:3px solid var(--c-primary);
  box-shadow:-24px 0 60px rgba(0,0,0,.45);
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
}
#sidenav::-webkit-scrollbar{ width:6px; }
#sidenav::-webkit-scrollbar-thumb{ background:rgba(180,136,55,.5); border-radius:4px; }
#sidenav::-webkit-scrollbar-track{ background:transparent; }

/* list reset */
#sidenav .menu.accordion-menu{ margin:0; padding:0; list-style:none; background:transparent; }
#sidenav .menu.accordion-menu li{ margin:0; }

/* ---- top-level links ---- */
#sidenav .accordion-menu > li > a{
  position:relative; display:block;
  padding:15px 22px;
  font:600 15px/1.2 var(--font-head); letter-spacing:.01em;
  color:var(--c-cream); background:transparent;
  border-bottom:1px solid rgba(255,255,255,.07);
  transition:color .25s var(--ease), background .25s var(--ease), padding-left .25s var(--ease);
}
#sidenav .accordion-menu > li > a span{ color:inherit; }
#sidenav .accordion-menu > li > a:hover{
  color:var(--c-accent); background:rgba(255,255,255,.04); padding-left:28px;
}

/* active top-level page — gold text + gold edge bar */
#sidenav .accordion-menu > li.active > a{ color:var(--c-primary); }
#sidenav .accordion-menu > li.active > a::before{
  content:""; position:absolute; left:0; top:50%; transform:translateY(-50%);
  width:3px; height:22px; background:var(--gold-grad); border-radius:0 3px 3px 0;
}

/* ---- submenu parent caret ---- */
#sidenav .is-accordion-submenu-parent > a{ padding-right:48px; }
#sidenav .is-accordion-submenu-parent > a::after{
  content:"\f078"; font-family:"Font Awesome 5 Pro"; font-weight:900;
  position:absolute; right:22px; top:50%; transform:translateY(-50%);
  font-size:12px; color:var(--c-primary);
  transition:transform .3s var(--ease);
}
#sidenav li.is-accordion-submenu-parent[aria-expanded="true"] > a::after{
  transform:translateY(-50%) rotate(180deg);
}

/* ---- submenu panel ---- */
#sidenav .is-accordion-submenu{
  background:rgba(0,0,0,.28); margin:0; padding:4px 0; list-style:none;
  border-bottom:1px solid rgba(255,255,255,.07);
}
#sidenav .is-accordion-submenu li{ margin:0; }
#sidenav .is-accordion-submenu > li > a{
  position:relative; display:block;
  padding:11px 22px 11px 36px;
  font:500 13.5px/1.35 var(--font-body); letter-spacing:.01em;
  color:var(--c-cream-soft);
  transition:color .22s var(--ease), background .22s var(--ease), padding-left .22s var(--ease);
}
#sidenav .is-accordion-submenu > li > a span{ color:inherit; padding-left:0 !important; }
#sidenav .is-accordion-submenu > li > a::before{
  content:""; position:absolute; left:22px; top:50%; transform:translateY(-50%);
  width:5px; height:5px; border-radius:50%; background:rgba(228,201,136,.5);
  transition:background .22s var(--ease), transform .22s var(--ease);
}
#sidenav .is-accordion-submenu > li > a:hover{
  color:#fff; background:rgba(180,136,55,.16); padding-left:40px;
}
#sidenav .is-accordion-submenu > li > a:hover::before{ background:var(--c-primary); }

/* active submenu item */
#sidenav .is-accordion-submenu > li.active > a{ color:var(--c-accent); }
#sidenav .is-accordion-submenu > li.active > a::before{
  background:var(--c-primary); transform:translateY(-50%) scale(1.35);
}

/* --- FIX: theme forces submenu panel white; force charcoal + readable text --- */
#sidenav .accordion-menu .is-accordion-submenu,
#sidenav ul.submenu.is-accordion-submenu{
  background:rgba(0,0,0,.30) !important;
}
#sidenav .accordion-menu .is-accordion-submenu > li{
  background:transparent !important;
  border:0 !important;
  border-bottom:1px solid rgba(255,255,255,.06) !important;
}
#sidenav .accordion-menu .is-accordion-submenu > li:last-child{ border-bottom:0 !important; }
#sidenav .accordion-menu .is-accordion-submenu > li > a{
  background:transparent !important;
  color:var(--c-cream-soft) !important;
}
#sidenav .accordion-menu .is-accordion-submenu > li > a span{ color:var(--c-cream-soft) !important; }
#sidenav .accordion-menu .is-accordion-submenu > li > a:hover{
  background:rgba(180,136,55,.16) !important;
}
#sidenav .accordion-menu .is-accordion-submenu > li > a:hover,
#sidenav .accordion-menu .is-accordion-submenu > li > a:hover span{ color:#fff !important; }
#sidenav .accordion-menu .is-accordion-submenu > li.active > a,
#sidenav .accordion-menu .is-accordion-submenu > li.active > a span{ color:var(--c-accent) !important; }

/* --- FIX: double arrow on mobile submenu parents (theme ::before arrow + our ::after chevron) --- */
/* kill theme arrow (::before) on submenu parents + any injected toggle/icon */
#sidenav .accordion-menu > li.is-accordion-submenu-parent > a::before{ content:none !important; border:0 !important; background:none !important; }
#sidenav .accordion-menu > li.is-accordion-submenu-parent > a > i,
#sidenav .accordion-menu > li.is-accordion-submenu-parent > a > .fa,
#sidenav .accordion-menu > li.is-accordion-submenu-parent > a > svg,
#sidenav .submenu-toggle{ display:none !important; }
/* re-assert gold edge-bar for active item (it also lives on ::before) */
#sidenav .accordion-menu > li.active.is-accordion-submenu-parent > a::before,
#sidenav .accordion-menu > li.active > a::before{
  content:"" !important; position:absolute; left:0; top:50%; transform:translateY(-50%);
  width:3px; height:22px; background:var(--gold-grad); border-radius:0 3px 3px 0;
}
/* keep our single chevron clean (no stray border-triangle) */
#sidenav .accordion-menu > li.is-accordion-submenu-parent > a::after{
  border:0 !important; background:none !important;
  content:"\f078" !important; font-family:"Font Awesome 5 Pro" !important; font-weight:900 !important;
}

#sidenav .accordion-menu > li > a{ outline:none; }
/* ============================================================
   FOOTER  (#footer) — premium light (cream) + gold
   scoped to #footer so Foundation .menu / .button / .footer-color
   theme styles are beaten. Locked wrappers untouched.
   ============================================================ */
#footer{
  position:relative;
  background:var(--c-tint);
  color:var(--c-ink-2);
  font-family:var(--font-body);
}
#footer::before{                      /* gold hairline — separates footer from section above */
  content:""; position:absolute; left:0; top:0; width:100%; height:3px;
  background:var(--gold-grad);
}
#footer .footer-color{ background:transparent !important; }

/* ---- top nav menu ---- */
#footer .footer-menu-container{ padding:14px 16px 6px; }
#footer .new-footer-1 ul.menu{ background:transparent !important; margin:0; }
#footer .new-footer-1 ul.menu > li{ margin:0; }
#footer .new-footer-1 ul.menu > li > a{
  position:relative; background:transparent;
  font:600 14px/1 var(--font-head); letter-spacing:.02em;
  color:var(--c-ink); padding:12px 18px;
  transition:color .25s var(--ease);
}
#footer .new-footer-1 ul.menu > li > a span{ color:inherit; }
#footer .new-footer-1 ul.menu > li > a::after{
  content:""; position:absolute; left:18px; right:18px; bottom:6px; height:2px;
  background:var(--c-primary); transform:scaleX(0); transform-origin:left;
  transition:transform .28s var(--ease);
}
#footer .new-footer-1 ul.menu > li > a:hover{ color:var(--c-primary); }
#footer .new-footer-1 ul.menu > li > a:hover::after{ transform:scaleX(1); }
#footer .new-footer-1 ul.menu > li.active > a{ color:var(--c-primary); }
#footer .new-footer-1 ul.menu > li.active > a::after{ transform:scaleX(1); }

/* ---- dividers ---- */
#footer hr{ border:0 !important; border-top:1px solid var(--c-line) !important; margin:0; height:0; background:none; }

/* ---- middle 3-column band ---- */
#footer .footer-color{ padding:0 0 15px; }
#footer .footer-color h3,
#footer .footer-color h3.normal-text{
  position:relative;
  font:700 18px/1.3 var(--font-head); letter-spacing:.01em;
  color:var(--c-ink); margin:0 0 18px; padding-bottom:12px;
}
#footer .footer-color h3::after{
  content:""; position:absolute; left:0; bottom:0; width:42px; height:2px; background:var(--gold-grad);
}
#footer .footer-color p{ color:var(--c-ink-2); font-size:15px; line-height:1.7; margin:0 0 12px; }
#footer .logo-container-footer ul.no-bullet{ margin:0; }

/* center logo column */
#footer .footer-color .logo-container{ display:flex; align-items:center; justify-content:center; height:100%; }
/*#footer .footer-color .logo-container img{ max-height:120px; width:auto; }*/

/* contact icon rows */
#footer .icon-div{ gap:10px; align-items:flex-start; }
#footer .icon-div .icon{ color:var(--c-primary); font-size:16px; margin-top:1px; min-width:18px; text-align:center; }
#footer .icon-div a{ color:var(--c-ink-2); transition:color .2s var(--ease); }
#footer .icon-div a:hover{ color:var(--c-primary); }

/* mailing-list button (carries Foundation .button -> !important on color props) */
#footer .footer-color .button{
  display:inline-flex !important; align-items:center; justify-content:center;
  margin-top:12px !important; padding:11px 26px !important;
  background:var(--c-primary) !important; color:#fff !important;
  border:2px solid var(--c-primary) !important; border-radius:var(--btn-radius) !important;
  font:600 14px/1 var(--font-head) !important; letter-spacing:.02em; text-transform:none; width:auto !important;
  transition:background .25s var(--ease), transform .25s var(--ease), box-shadow .25s var(--ease);
}
#footer .footer-color .button:hover{
  background:var(--c-primary-dark) !important; border-color:var(--c-primary-dark) !important;
  color:#fff !important; transform:translateY(-2px); box-shadow:0 10px 24px rgba(180,136,55,.30);
}

/* ---- copyright bar ---- */
#footer .copyright{ font-size:13px; line-height:1.7; color:var(--c-ink-2); letter-spacing:.01em; }
#footer .copyright a{ color:var(--c-primary); transition:color .2s var(--ease); }
#footer .copyright a:hover{ color:var(--c-primary-dark); }

/* mobile: center the heading underlines */
@media all and (max-width:1023.5px){
  #footer .footer-color h3{ padding-bottom:14px; }
  #footer .footer-color h3::after{ left:50%; transform:translateX(-50%); }
  #footer .footer-color .logo-container img{ max-height:96px; }
  
  .main-banner-sec .bn-overlay {
        background: none !important;
    }
}

/* --- FIX: theme gives active footer nav link a white bg pill --- */
#footer .new-footer-1 ul.menu > li.active > a,
#footer .footer-menu-container .menu .active > a{
  background:transparent !important; color:var(--c-primary) !important;
}

/* --- ENHANCE: contact info as premium charcoal card (balances white form) --- */
.kwb-contact-sec .kwb-contact-info-cell{ align-self:stretch; }
.kwb-contact-sec .kwb-contact-list{
  position:relative; overflow:hidden;
  background:var(--c-charcoal);
  border-radius:var(--r-md);
  box-shadow:var(--shadow-2);
  padding:clamp(28px,3.5vw,44px);
  height:100%;
  display:flex; flex-direction:column; justify-content:center;
}
.kwb-contact-sec .kwb-contact-list::before{
  content:""; position:absolute; left:0; top:0; width:100%; height:4px; background:var(--gold-grad);
}
.kwb-contact-sec .kwb-contact-list .kwb-contact-item{
  border-bottom:1px solid rgba(255,255,255,.10);
  transition:transform .25s var(--ease);
}
.kwb-contact-sec .kwb-contact-list .kwb-contact-item:last-child{ border-bottom:0; }
.kwb-contact-sec .kwb-contact-label{ color:var(--c-accent); }
.kwb-contact-sec .kwb-contact-value{ color:var(--c-cream); }
.kwb-contact-sec a.kwb-contact-value:hover{ color:#fff; }
.kwb-contact-sec .kwb-contact-ic{ transition:transform .25s var(--ease), box-shadow .25s var(--ease); }
.kwb-contact-sec .kwb-contact-item:hover .kwb-contact-ic{
  transform:translateY(-2px) scale(1.05); box-shadow:0 10px 22px rgba(180,136,55,.35);
}

/* --- ENHANCE: premium hero polish (directional overlay + gold accent + legibility) --- */
.main-banner-sec .bn-overlay{
  background:
    linear-gradient(105deg, rgba(14,12,9,.86) 0%, rgba(14,12,9,.60) 40%, rgba(14,12,9,.22) 72%, rgba(14,12,9,.10) 100%),
    linear-gradient(180deg, rgba(14,12,9,0) 55%, rgba(14,12,9,.55) 100%) !important;
}
/* gold accent bar above heading (decorative, no text) */
.kwb-hero .bn-content::before{
  content:""; display:block; width:64px; height:4px; border-radius:2px;
  background:var(--gold-grad); margin:0 0 26px;
  box-shadow:0 3px 14px rgba(180,136,55,.45);
}
.kwb-hero .banner-main-heading{
  font-family:var(--font-head);
  line-height:1.06; letter-spacing:-.02em;
  text-shadow:0 2px 26px rgba(0,0,0,.38);
}
.kwb-hero .section-description{
  margin-top:18px; line-height:1.7;
  text-shadow:0 1px 12px rgba(0,0,0,.32);
}
@media all and (max-width:640px){
  .kwb-hero .bn-content::before{ width:52px; height:3px; margin-bottom:18px; }
}

@media all and (max-width:640px){
  .main-banner-sec .full img{ height:clamp(380px,62vh,520px); }
}

/* --- home hero (has CTA actions / credential strip) stays full-bleed; inner heroes use capped band --- */
.main-banner-sec:has(.kwb-hero-actions) .full img,
.main-banner-sec:has(.kwb-hero-cred) .full img{ height:100% !important; }
@media all and (max-width:640px){
  .main-banner-sec:has(.kwb-hero-actions) .full img,
  .main-banner-sec:has(.kwb-hero-cred) .full img{ height:100% !important; }
}

@media screen and (max-width:1023.5px){
  .main-banner-sec .bn-overlay {
    background: none !important;
}
}