/* ============================================================
   PARM'S WELLNESS SPA — snippet CSS (self-contained, pixel-matched)
   Brand tokens + global design-system classes + page sections.
   Paste into site.css (tokens block stays at very top).
   ============================================================ */

/* ---- BRAND TOKENS — change colors/fonts here = whole site updates ---- */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;1,400&family=EB+Garamond:ital@0;1&family=Jost:wght@400;500&family=Pinyon+Script&display=swap');
:root{
  --c-primary:#1d3a26; --c-primary-dark:#142a1c; --c-accent:#c9a24b; --c-accent-2:#ddbd76;
  --c-script:#ecd79a; --c-primary-2:#2f5d3a; --c-attrib:#8a7a4e; --c-accent-2-40:rgba(221,189,118,.40);
  --font-head:'Cormorant Garamond',Georgia,serif;
  --font-body:'EB Garamond',Georgia,serif;
  --font-util:'Jost',sans-serif;
  --font-script:'Pinyon Script',cursive;
  --c-ink:#243029; --c-ink-2:#3a4a3d; --c-quote:#2f5d3a;
  --c-paper:#fbf8f1; --c-tint:#f6f1e7; --c-line:#e4ddcd; --c-light:#f0ead9;
  --c-white:#fff; --c-white-55:rgba(255,255,255,.55); --c-white-12:rgba(255,255,255,.12);
  --c-error:#c0392b; --c-error-2:#e6a597;
  --c-light-88:rgba(240,234,217,.88); --c-light-86:rgba(240,234,217,.86);
  --c-accent2-40:rgba(221,189,118,.40);
  --c-accent2-22:rgba(221,189,118,.22);
  --c-accent2-12:rgba(221,189,118,.12);
  --c-hi:rgba(255,255,255,.55);
  --btn-bg:var(--c-accent); --btn-text:var(--c-primary); --btn-bg-hover:var(--c-accent-2);
  --gap:30px;
  --r-sm:2px; --r-md:3px; --r-pill:500px;
  --shadow-1:0 2px 14px rgba(20,42,28,.08); --shadow-2:0 18px 44px rgba(20,42,28,.14);
  --shadow-tile:0 30px 70px rgba(31,61,38,.22); --shadow-card:0 16px 40px rgba(31,61,38,.07);
  --shadow-btn:0 14px 34px rgba(201,162,75,.32);
  --shadow-btn-hover:0 18px 40px rgba(201,162,75,.42);
  --shadow-hero-text:0 2px 30px rgba(20,42,28,.6);
  --fs-h1:clamp(34px,4.8vw,66px);
  --fs-h2:clamp(30px,3.4vw,50px);
  --fs-h3:clamp(20px,2.4vw,28px);
  --fs-body:clamp(16px,1.35vw,20px);
  --ease:.35s ease;
}

.is-wrapper h1,.is-wrapper h2,.is-wrapper h3,.is-wrapper h4,.is-wrapper h5,.is-wrapper h6{
  font-family:var(--font-head); text-wrap:balance;
}
.is-wrapper p,.is-wrapper li{ font-family:var(--font-body); }

/* ---- GLOBAL TYPE SCALE (base values = original spec) ---- */
.is-wrapper .banner-main-heading{ font-family:var(--font-head); font-weight:400; font-size:var(--fs-h1); line-height:1.05; color:var(--c-white); margin:0; max-width:15ch; text-wrap:balance; text-shadow:var(--shadow-hero-text); }
.is-wrapper .section-main-heading{ color:var(--c-ink); font-family:var(--font-head); font-weight:400; font-size:var(--fs-h2); line-height:1.08; margin:14px 0 0; text-wrap:balance; }
.is-wrapper .section-sub-heading{ color:var(--c-ink); font-family:var(--font-head); font-weight:400; font-size:var(--fs-h3); line-height:1.2; margin:.4em 0 0; }
.is-wrapper .content-heading{ color:var(--c-ink); font-family:var(--font-head); font-weight:600; font-size:clamp(20px,2vw,26px); line-height:1.25; margin:0 0 10px; }
.is-wrapper .content-sub-heading{ color:var(--c-ink); font-family:var(--font-util); font-weight:500; font-size:16px; letter-spacing:.04em; margin:0; }
.is-wrapper .small-heading{ color:var(--c-ink); font-family:var(--font-util); font-weight:500; font-size:13px; letter-spacing:.28em; text-transform:uppercase; margin:0; }

.is-wrapper .section-description{ color:var(--c-ink-2); font-family:var(--font-body); font-weight:400; font-size:clamp(17px,1.5vw,22px); line-height:1.6; color:#FFF; margin:26px 0 0; max-width:60ch; }
.is-wrapper .content-text{ font-family:var(--font-body); font-size:var(--fs-body); line-height:1.78; color:var(--c-ink-2); margin:0; }
.is-wrapper .small-text{ font-family:var(--font-util); font-size:12px; letter-spacing:.3em; text-transform:uppercase; color:var(--c-accent); }
.is-wrapper .highlight-text{ font-family:var(--font-head); font-style:italic; font-size:clamp(19px,1.7vw,25px); line-height:1.45; color:var(--c-quote); }
.is-wrapper .caption-text{ font-family:var(--font-util); font-size:13px; letter-spacing:.42em; text-transform:uppercase; color:var(--c-accent); }

/* ---- GLOBAL BUTTON SYSTEM — single shared hover for ALL button types ---- */
.is-wrapper .web-primary-btn,
.is-wrapper .web-secondary-btn,
.is-wrapper .web-text-btn,
.is-wrapper a.web-primary-btn,
.is-wrapper a.web-secondary-btn,
.is-wrapper a.web-text-btn,
.is-wrapper button.web-primary-btn,
.is-wrapper input[type="submit"].web-primary-btn,
.is-wrapper input[type="button"].web-primary-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  font-family:var(--font-util); font-size:14px; font-weight:500; letter-spacing:.16em; text-transform:uppercase;
  padding:17px 32px; border-radius:var(--r-sm); border:1px solid transparent;
  cursor:pointer; text-decoration:none; white-space:normal; text-align:center; line-height:1.3;
  transition:background var(--ease),color var(--ease),border-color var(--ease),transform var(--ease),box-shadow var(--ease);
}
.is-wrapper .web-primary-btn{ background:var(--btn-bg); color:var(--btn-text); border-color:var(--btn-bg); box-shadow:var(--shadow-btn); }
.is-wrapper .web-secondary-btn{ background:transparent; color:var(--c-primary); border-color:var(--c-primary); }
.is-wrapper .web-text-btn{ background:transparent; color:var(--c-accent); padding:10px 4px; box-shadow:none; }

/* one identical hover behaviour for every button type */
.is-wrapper .web-primary-btn:hover,.is-wrapper .web-primary-btn:focus,
.is-wrapper .web-secondary-btn:hover,.is-wrapper .web-secondary-btn:focus,
.is-wrapper .web-text-btn:hover,.is-wrapper .web-text-btn:focus,
.is-wrapper a.web-primary-btn:hover,.is-wrapper a.web-secondary-btn:hover,.is-wrapper a.web-text-btn:hover,
.is-wrapper button.web-primary-btn:hover,
.is-wrapper input[type="submit"].web-primary-btn:hover,
.is-wrapper input[type="button"].web-primary-btn:hover{
  background:var(--btn-bg-hover); color:var(--c-primary); border-color:var(--btn-bg-hover);
  transform:translateY(-2px); box-shadow:var(--shadow-btn-hover);
}
.is-wrapper .web-secondary-btn--onhero{ color:var(--c-white); border-color:var(--c-white-55); }
.is-wrapper .web-secondary-btn--onhero:hover{ background:var(--c-white-12); color:var(--c-white); border-color:var(--c-white); transform:translateY(-2px); box-shadow:none; }

/* ---- GLOBAL CTA LINK ---- */
.is-wrapper .web-cta-link{
  display:inline-flex; align-items:center; gap:12px;
  font-family:var(--font-util); font-size:13px; letter-spacing:.2em; text-transform:uppercase;
  color:var(--c-accent); text-decoration:none; padding-bottom:6px;
  border-bottom:1px solid var(--c-accent2-40);
  transition:gap var(--ease),color var(--ease),border-color var(--ease);
}
.is-wrapper .web-cta-link:hover{ gap:20px; color:var(--c-accent-2); border-color:var(--c-accent-2); }
.is-wrapper .web-cta-link--light{ color:var(--c-accent-2); border-color:var(--c-accent2-40); }
.is-wrapper .web-cta-link--light:hover{ color:var(--c-script); border-color:var(--c-script); }

/* ---- SHARED DECOR ---- */
.pws-script{ font-family:var(--font-script); font-weight:400; color:var(--c-script); line-height:1; }
.pws-script--accent{ display:block; font-size:40px; color:var(--c-accent-2); }
.pws-rule{ display:block; width:54px; height:2px; background:var(--c-accent); margin:22px 0; }
.pws-eyebrow{ display:flex; align-items:center; gap:16px; margin-bottom:22px; }
.pws-eyebrow-rule{ width:46px; height:1px; background:var(--c-accent-2); }
.pws-eyebrow--light .caption-text{ color:var(--c-accent-2); }
.pws-btn-row{ display:flex; flex-wrap:wrap; gap:16px; margin-top:38px; }

/* ---- SECTION BACKGROUNDS (custom co-class, wrapper-scoped) ---- */
.is-wrapper > .pws-tint-sec,.is-wrapper .pws-tint-sec{ background:var(--c-tint); }
.is-wrapper > .pws-dark-sec,.is-wrapper .pws-dark-sec{ background:var(--c-primary); }
.is-wrapper > .pws-consult-sec,.is-wrapper .pws-consult-sec{
  background:radial-gradient(ellipse at center,rgba(29,58,38,.55),rgba(20,42,28,.95)),var(--c-primary);
}

/* ---- HERO ---- */
.is-wrapper .main-banner-sec{ position:relative; }
.pws-hero-img{ width:100%; height:clamp(620px,92vh,900px); object-fit:cover; object-position:center 28%; display:block; }
.pws-hero-overlay{ position:absolute; inset:0; z-index:1;
  background:linear-gradient(180deg,rgba(20,42,28,.10) 0%,rgba(20,42,28,0) 30%,rgba(20,42,28,.42) 58%,rgba(20,42,28,.82) 80%,rgba(20,42,28,.96) 100%); }
.is-wrapper .main-banner-sec .pos-ab-ban{ z-index:2; }
.bn-content{ padding:0 7vw clamp(48px,8vh,96px); }
.pws-hero-lead{ color:rgba(255,255,255,.92); max-width:60ch; }

/* ---- BLOG TEASER (dark) ---- */
.is-wrapper .pws-dark-sec .section-main-heading{ color:var(--c-light); font-weight:300; font-size:clamp(34px,4vw,56px); line-height:1.08; margin:14px 0 0; }
.is-wrapper .pws-dark-sec .section-description{ font-size:clamp(17px,1.4vw,21px); line-height:1.75; color:var(--c-light-88); }
.is-wrapper .pws-blog-body .section-description{ margin-top:0; }
.pws-blog-body .web-cta-link{ margin-top:30px; }

/* decorative rings (dark blog section) */
.pws-ring{ position:absolute; border-radius:50%; border:1px solid rgba(201,162,75,.18); pointer-events:none; }
.pws-ring--lg{ width:320px; height:320px; top:-80px; right:-60px; }
.pws-ring--sm{ width:200px; height:200px; bottom:-120px; right:120px; border-color:rgba(201,162,75,.12); }

/* ---- FEATURES ---- */
.is-wrapper .pws-feature{ margin-bottom:clamp(80px,11vh,140px); }
.is-wrapper .pws-feature:last-child{ margin-bottom:0; }
.is-wrapper .pws-tint-sec .section-main-heading{ color:var(--c-primary); }
.pws-feature-text{ padding-right:clamp(0px,2vw,30px); }
.pws-feature-index{ display:block; }
.pws-feature-text .content-text{ margin-top:0; }
/* testimonial quote card (white box + gold left border + attribution) */
.is-wrapper .pws-quote-card{ margin:30px 0 0; padding:22px 26px; background:var(--c-white); border-left:3px solid var(--c-accent); border-radius:var(--r-sm); box-shadow:var(--shadow-card); }
.is-wrapper .pws-quote-card .highlight-text{ margin:0; }
.is-wrapper .pws-quote-author{ font-family:var(--font-util); font-size:12px; letter-spacing:.22em; text-transform:uppercase; color:var(--c-attrib); margin-top:14px; }

/* image tile: photo + scrim + gold inset frame + centered icon & script label */
.pws-feature-media-cell{ padding-left:10px; padding-right:10px; }
.pws-tile{ position:relative; aspect-ratio:4/5; border-radius:var(--r-md); overflow:hidden; box-shadow:var(--shadow-tile); background:linear-gradient(150deg,var(--c-primary-2),var(--c-primary)); }
.pws-tile-img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.pws-tile-scrim{ position:absolute; inset:0; z-index:1; background:rgba(20,42,28,.14); }
.pws-tile-frame{ position:absolute; inset:16px; z-index:2; border:1px solid var(--c-accent2-40); border-radius:var(--r-sm); pointer-events:none; }
.pws-tile-inner{ position:absolute; inset:0; z-index:3; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; color:var(--c-script); }
.pws-tile-ico{ stroke:var(--c-accent-2); fill:none; display:block; margin:0 auto; }
.pws-tile-label{ font-size:30px; margin-top:12px; text-shadow:0 2px 18px rgba(20,42,28,.55); }
.pws-tile-sub{ font-family:var(--font-util); font-size:10px; letter-spacing:.32em; text-transform:uppercase; color:var(--c-accent-2); opacity:.6; margin-top:8px; }

/* visual order:
   - mobile/tablet (<1024px): IMAGE FIRST for every feature (tile stacks above text)
   - desktop (>=1024px): normal feature = text left / tile right;
     reversed feature (--rev, e.g. Personalized Wellness Plans) = tile left / text right */
.is-wrapper .pws-feature{ display:flex; flex-wrap:wrap; }
.is-wrapper .pws-feature-media-cell{ order:1; }
.is-wrapper .pws-feature-text{ order:2; }
@media all and (min-width:1024px){
  .is-wrapper .pws-feature .pws-feature-text{ order:1; }
  .is-wrapper .pws-feature .pws-feature-media-cell{ order:2; }
  .is-wrapper .pws-feature--rev .pws-feature-media-cell{ order:1; }
  .is-wrapper .pws-feature--rev .pws-feature-text{ order:2; }
}

/* ---- CONSULTATION (dark, centered) ---- */
.pws-consult-inner{ max-width:780px; margin:0 auto; text-align:center; }
.is-wrapper .pws-consult-sec .section-main-heading{ color:var(--c-light); font-weight:300; font-size:clamp(32px,4.4vw,60px); line-height:1.1; margin:16px 0 0; }
.is-wrapper .pws-consult-sec .section-description{ font-size:clamp(16px,1.4vw,21px); line-height:1.72; color:var(--c-light-86); margin:26px auto 0; max-width:60ch; }
.is-wrapper .pws-consult-sec .pws-script--accent{ font-size:42px; text-align:center; }
.pws-consult-inner .pws-btn-row{ justify-content:center; margin-top:44px; }
/* consult CTA: outlined ghost button flanked by two short gold hairlines (matches reference) */
.pws-consult-cta{ display:flex; align-items:center; justify-content:center; gap:18px; margin-top:44px; flex-wrap:wrap; }
.pws-hairline{ display:block; width:60px; height:1px; background:var(--c-accent-2-40); }
.is-wrapper .web-secondary-btn--consult{ background:transparent; color:var(--c-white); border-color:var(--c-accent-2); padding:18px 38px; }
.is-wrapper a.web-secondary-btn--consult:hover{ background:var(--c-accent); color:var(--c-primary); border-color:var(--c-accent); transform:translateY(-2px); box-shadow:none; }
@media all and (max-width:520px){ .pws-hairline{ display:none; } .pws-consult-cta .web-secondary-btn--consult{ width:100%; } }

/* ---- RESPONSIVE ---- */
@media all and (max-width:1023px){
  .is-wrapper .pws-feature-media-cell{ margin-bottom:26px; }
  .pws-tile{ max-width:520px; margin:0 auto; }
  .bn-content{ padding-left:24px; padding-right:24px; }
}
@media all and (max-width:640px){
  .pws-hero-img{ height:78vh; }
  .pws-btn-row .web-primary-btn,.pws-btn-row .web-secondary-btn{ width:100%; }
  .pws-ring{ display:none; }
}

/* ============================================================
   ABOUT PAGE — components (same tokens / design system)
   ============================================================ */

/* paper section background (wrapper-scoped to beat theme transparent) */
.is-wrapper > .pws-paper-sec,.is-wrapper .pws-paper-sec{ background:var(--c-paper); }

/* ABOUT — editorial split */
.pws-about-body .content-text + .content-text{ margin-top:22px; }
.pws-about-figure{ margin-top:30px; }
@media all and (max-width:1023px){ .pws-about-figure{ max-width:480px; margin-left:auto; margin-right:auto; margin-bottom:6px; } }
@media all and (min-width:1024px){
  .pws-about-body{ padding-left:clamp(0px,3vw,46px); }
}

/* MISSION — centered statement band (dark) */
.pws-statement-wrap{ max-width:920px; margin:0 auto; text-align:center; }
.pws-statement-ico{ stroke:var(--c-accent-2); fill:none; display:block; margin:0 auto 6px; }
.is-wrapper .pws-statement{ font-family:var(--font-head); font-weight:300; font-style:italic; font-size:clamp(26px,3.2vw,44px); line-height:1.3; color:var(--c-light); margin:18px 0 0; }

/* FOUNDER — framed portrait + story */
.pws-founder-media{ padding-left:10px; padding-right:10px; }
.pws-figure{ position:relative; aspect-ratio:4/5; border-radius:var(--r-md); overflow:hidden; box-shadow:var(--shadow-tile); background:linear-gradient(150deg,var(--c-primary-2),var(--c-primary)); }
.pws-figure img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.pws-figure-frame{ position:absolute; inset:16px; z-index:2; border:1px solid var(--c-accent2-40); border-radius:var(--r-sm); pointer-events:none; }
.pws-founder-text .content-text + .content-text{ margin-top:22px; }
@media all and (min-width:1024px){ .pws-founder-text{ padding-left:clamp(0px,3vw,48px); } }
@media all and (max-width:1023px){ .pws-figure{ max-width:460px; margin:0 auto; } .pws-founder-media{ margin-bottom:30px; } }

/* PERSONALIZED + TESTIMONIALS */
.pws-testi-intro{ max-width:760px; margin:0 auto; text-align:center; }
.pws-testi-intro .section-description{ margin-left:auto; margin-right:auto; }
.pws-testi-grid{ margin-top:clamp(44px,6vh,72px); }
.pws-testi-cell{ display:flex; }

/* high-end testimonial card: framed, equal-height, attribution pinned to bottom */
.is-wrapper .pws-testi-card{
  margin:0; height:100%;
  display:flex; flex-direction:column;
  background:var(--c-white);
  border:1px solid var(--c-line); border-left:3px solid var(--c-accent);
  border-radius:var(--r-md);
  padding:clamp(32px,3vw,42px) clamp(28px,2.6vw,36px);
  box-shadow:var(--shadow-card);
  transition:transform var(--ease),box-shadow var(--ease);
}
.is-wrapper .pws-testi-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow-2); }
/* soft gold decorative quotation mark */
.pws-testi-card::before{
  content:"\201C";
  font-family:var(--font-head); font-weight:500;
  font-size:64px; line-height:.7; color:var(--c-accent-2); opacity:.5;
  display:block; margin-bottom:12px;
}
.is-wrapper .pws-testi-card .highlight-text{ margin:0; }
/* pin attribution to the bottom so all cards align on the same baseline */
.is-wrapper .pws-testi-card .pws-quote-author{
  margin-top:auto; padding-top:20px; border-top:1px solid var(--c-line);
}
.pws-quote-role{ display:block; font-family:var(--font-util); font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--c-accent); margin-top:6px; }
@media all and (max-width:1023px){ .pws-testi-cell{ margin-bottom:10px; } }

/* ============================================================
   SERVICES PAGE
   ============================================================ */
.pws-svc-head{ max-width:760px; margin:0 auto; text-align:center; }
.pws-rule--center{ margin-left:auto; margin-right:auto; }

.pws-svc-grid{
  display:flex; flex-wrap:wrap; justify-content:center;
  gap:var(--gap);
  margin-top:clamp(40px,6vh,66px);
}
.pws-svc-card{
  position:relative;
  flex:1 1 calc(33.333% - (2 * var(--gap) / 3));
  max-width:calc(33.333% - (2 * var(--gap) / 3));
  display:flex; flex-direction:column;
  background:var(--c-white);
  border:1px solid var(--c-line);
  border-radius:var(--r-md);
  overflow:hidden;
  box-shadow:var(--shadow-card);
  transition:transform var(--ease), box-shadow var(--ease);
}
.pws-svc-card:hover{ transform:translateY(-5px); box-shadow:var(--shadow-2); }

.pws-svc-media{
  position:relative;
  aspect-ratio:3 / 2;
  overflow:hidden;
  background:linear-gradient(150deg, var(--c-primary-2), var(--c-primary));
}
.pws-svc-img{
  position:absolute; inset:0;
  width:100%; height:100%; object-fit:cover;
  transition:transform .6s ease;
}
.pws-svc-card:hover .pws-svc-img{ transform:scale(1.05); }
.pws-svc-frame{
  position:absolute; inset:14px;
  border:1px solid var(--c-accent2-40);
  border-radius:var(--r-sm);
  pointer-events:none; z-index:2;
}

.pws-svc-body{
  display:flex; flex-direction:column; flex:1 1 auto;
  padding:clamp(26px,2.4vw,34px);
}
.pws-svc-title{ margin:0; }
.pws-svc-desc{ margin:12px 0 0; }
.pws-svc-link{ margin-top:auto; padding-top:22px; }
/* full card clickable via the service link (stretched-link pattern) */
.pws-svc-link::after{ content:""; position:absolute; inset:0; z-index:3; }

@media all and (max-width:1023px){
  .pws-svc-card{
    flex:1 1 calc(50% - (var(--gap) / 2));
    max-width:calc(50% - (var(--gap) / 2));
  }
}
@media all and (max-width:640px){
  .pws-svc-card{ flex:1 1 100%; max-width:100%; }
}

/* ============================================================
   REIKI HEALING (service detail) PAGE
   ============================================================ */
/* intro split */
.pws-intro-figure{ }
@media all and (max-width:1023px){ .pws-intro-media{ margin-bottom:8px; } .pws-intro-figure{ max-width:520px; margin-left:auto; margin-right:auto; } }
@media (min-width:1024px){ .pws-intro-text{ padding-left:clamp(0px,2.6vw,46px); } }

/* benefits — image cards on dark band (white card + floating gold icon badge) */
.pws-benefit-head{ max-width:760px; margin:0 auto clamp(34px,4vh,52px); text-align:center; }
.pws-benefit-card{
  display:flex; flex-direction:column; height:100%; text-align:center;
  background:var(--c-white); border:1px solid var(--c-line);
  border-radius:var(--r-md); overflow:hidden; box-shadow:var(--shadow-card);
  transition:transform var(--ease), box-shadow var(--ease);
}
.pws-benefit-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow-2); }
.pws-benefit-media{
  position:relative; aspect-ratio:4 / 3; overflow:hidden;
  background:linear-gradient(150deg, var(--c-primary-2), var(--c-primary));
}
.pws-benefit-img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
.pws-benefit-card:hover .pws-benefit-img{ transform:scale(1.06); }
.pws-benefit-frame{ position:absolute; inset:12px; border:1px solid var(--c-accent2-40); border-radius:var(--r-sm); pointer-events:none; z-index:2; }
.pws-benefit-body{
  display:flex; flex-direction:column; align-items:center; flex:1 1 auto;
  padding:0 clamp(20px,1.8vw,28px) clamp(26px,2.4vw,34px);
}
.pws-benefit-ico{
  display:inline-flex; align-items:center; justify-content:center;
  width:60px; height:60px; border-radius:var(--r-pill);
  background:var(--c-white); border:1px solid var(--c-accent2-40);
  color:var(--c-accent); font-size:24px;
  position:relative; z-index:3; margin-top:-30px; margin-bottom:18px;
  box-shadow:var(--shadow-1);
}
.pws-benefit-ico i{ line-height:1; }
.pws-benefit-card .pws-benefit-title{ margin:0 0 10px; }
.pws-benefit-card .pws-benefit-desc{ margin:0; font-size:15px; line-height:1.6; }

/* prose + checklist sections — 3 zig-zag image/text blocks share ONE style */
@media (min-width:1024px){ .pws-prose-pad{ padding-left:clamp(0px,2.6vw,46px); } }

.pws-list-card{
  position:relative;
  background:var(--c-white); border:1px solid var(--c-line);
  border-top:3px solid var(--c-accent);
  border-radius:var(--r-md); box-shadow:var(--shadow-card);
  padding:clamp(28px,3vw,46px);
}

/* full-width list sits BELOW the image+text row; checklist in 2 balanced columns */
.pws-list-cell{ margin-top:clamp(26px,3.2vh,46px); }

/* ============ couture full-width list card ============ */
.pws-list-card--full{
  background:
    radial-gradient(120% 130% at 0% 0%, var(--c-tint) 0%, transparent 38%),
    radial-gradient(120% 130% at 100% 100%, var(--c-tint) 0%, transparent 38%),
    linear-gradient(to bottom, var(--c-white), var(--c-paper));
  border:1px solid var(--c-accent2-22);
  border-top:3px solid var(--c-accent);
  border-radius:var(--r-md);
  box-shadow:var(--shadow-2), inset 0 1px 0 var(--c-hi);
  padding:clamp(40px,4.4vw,64px) clamp(30px,4.4vw,68px);
}
/* gold corner brackets (couture frame) */
.pws-list-card--full::before{
  content:""; position:absolute; inset:14px; pointer-events:none; z-index:1;
  background:
    linear-gradient(var(--c-accent),var(--c-accent)) left top/18px 1.5px no-repeat,
    linear-gradient(var(--c-accent),var(--c-accent)) left top/1.5px 18px no-repeat,
    linear-gradient(var(--c-accent),var(--c-accent)) right top/18px 1.5px no-repeat,
    linear-gradient(var(--c-accent),var(--c-accent)) right top/1.5px 18px no-repeat,
    linear-gradient(var(--c-accent),var(--c-accent)) left bottom/18px 1.5px no-repeat,
    linear-gradient(var(--c-accent),var(--c-accent)) left bottom/1.5px 18px no-repeat,
    linear-gradient(var(--c-accent),var(--c-accent)) right bottom/18px 1.5px no-repeat,
    linear-gradient(var(--c-accent),var(--c-accent)) right bottom/1.5px 18px no-repeat;
}
/* slender gold divider between the two columns */
@media (min-width:761px){
  .pws-list-card--full::after{
    content:""; position:absolute; left:50%; width:1px;
    top:clamp(46px,5vw,70px); bottom:clamp(46px,5vw,70px); transform:translateX(-50%);
    background:linear-gradient(to bottom, transparent, var(--c-accent2-22) 16%, var(--c-accent2-22) 84%, transparent);
    z-index:1;
  }
}
.pws-list-card--full .pws-checklist{
  position:relative; z-index:2;
  display:grid; grid-template-columns:1fr 1fr;
  gap:clamp(24px,2.8vw,36px) clamp(48px,5.6vw,90px); align-items:start;
}
/* top-centre gem set into the gold accent bar */
.pws-list-card--full .pws-checklist::before{
  content:""; position:absolute; left:50%; top:calc(-1 * clamp(40px,4.4vw,64px) + 1px);
  width:12px; height:12px; transform:translate(-50%,-50%) rotate(45deg); z-index:3;
  background:linear-gradient(150deg, var(--c-accent-2), var(--c-accent));
  box-shadow:0 0 0 5px var(--c-white), 0 2px 6px var(--c-accent2-40);
}
.pws-list-card--full .pws-checklist li{ position:relative; margin:0; gap:18px; transition:transform var(--ease); }
.pws-list-card--full .pws-checklist li::before{
  content:""; position:absolute; inset:-10px -16px; z-index:-1; border-radius:var(--r-md);
  background:linear-gradient(180deg, var(--c-accent2-12), transparent);
  opacity:0; transition:opacity var(--ease);
}
.pws-list-card--full .pws-checklist li:hover::before{ opacity:1; }
.pws-list-card--full .pws-checklist li span{ transition:color var(--ease); }
/* jewel-coin badge: minted gradient + inner highlight + crisp ring-with-gap */
.pws-list-card--full .pws-checklist li i{
  width:30px; height:30px; font-size:12px; margin-top:1px;
  background:linear-gradient(150deg, var(--c-accent-2), var(--c-accent) 72%);
  box-shadow:
    inset 0 1px 1px var(--c-hi),
    0 0 0 1px var(--c-white),
    0 0 0 2px var(--c-accent2-40),
    0 5px 12px var(--c-accent2-40);
  transition:transform var(--ease), box-shadow var(--ease);
}
.pws-list-card--full .pws-checklist li:hover{ transform:translateY(-2px); }
.pws-list-card--full .pws-checklist li:hover i{
  transform:scale(1.08);
  box-shadow:
    inset 0 1px 1px var(--c-hi),
    0 0 0 1px var(--c-white),
    0 0 0 3px var(--c-accent2-40),
    0 8px 18px var(--c-accent2-40);
}
.pws-list-card--full .pws-checklist li:hover span{ color:var(--c-ink); }
@media all and (max-width:760px){
  .pws-list-card--full{ padding:clamp(30px,7vw,44px) clamp(22px,6vw,32px); }
  .pws-list-card--full .pws-checklist{ grid-template-columns:1fr; gap:22px; }
}

/* balance the shorter text column against the full-height image */
@media (min-width:1024px){ .pws-prose{ display:flex; flex-direction:column; justify-content:center; } }

/* full-height side image — gold frame, soft vignette, hover zoom */
.pws-side-figure{ aspect-ratio:auto; height:100%; min-height:440px; box-shadow:var(--shadow-card); }
.pws-side-figure::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:42%; z-index:1;
  background:linear-gradient(to top, var(--c-primary-dark), transparent);
  opacity:.30; pointer-events:none;
}
.pws-side-figure img{ transition:transform .7s ease; }
.pws-side-figure:hover img{ transform:scale(1.05); }

/* < 1023.5px: stack with IMAGE FIRST in all three sections */
@media all and (max-width:1023.5px){
  .pws-side-media{ order:-1; margin-bottom:14px; }
  .pws-side-figure{ height:auto; min-height:0; aspect-ratio:4/3; max-width:560px; margin:0 auto; }
}

.pws-checklist{ list-style:none; margin:0; padding:0; }
.pws-checklist li{
  display:flex; gap:16px; align-items:flex-start;
  margin:0 0 18px;
  font-family:var(--font-body); font-size:var(--fs-body);
  line-height:1.6; color:var(--c-ink-2);
}
.pws-checklist li:last-child{ margin-bottom:0; }
.pws-checklist li i{
  display:inline-flex; align-items:center; justify-content:center;
  width:24px; height:24px; border-radius:var(--r-pill);
  background:var(--c-accent); color:var(--c-white);
  font-size:11px; margin-top:3px; flex:0 0 auto;
  box-shadow:0 1px 4px var(--c-accent2-40);
}

/* FAQ — native <details> accordion */
.pws-faq-head{ max-width:760px; margin:0 auto clamp(30px,3.5vh,46px); text-align:center; }
.pws-faq{ max-width:860px; margin:0 auto; }
.pws-faq-item{ border-bottom:1px solid var(--c-line); }
.pws-faq-item:first-child{ border-top:1px solid var(--c-line); }
.pws-faq-q{
  list-style:none; cursor:pointer;
  display:flex; justify-content:space-between; align-items:center; gap:26px;
  padding:24px 6px;
  font-family:var(--font-head); font-weight:600;
  font-size:clamp(19px,1.7vw,23px); line-height:1.3; color:var(--c-ink);
}
.pws-faq-q::-webkit-details-marker{ display:none; }
.pws-faq-q::after{
  content:"+"; flex:0 0 auto;
  font-family:var(--font-util); font-weight:400; font-size:28px; line-height:1;
  color:var(--c-accent); transition:transform var(--ease);
}
.pws-faq-item[open] .pws-faq-q::after{ content:"\2212"; }
.pws-faq-q:hover{ color:var(--c-primary); }
.pws-faq-item{ transition:background var(--ease); }
.pws-faq-item:hover{ background:var(--c-tint); }
.pws-faq-a{ padding:0 6px 26px; }
.pws-faq-a .content-text{ margin:0; }

@media (prefers-reduced-motion:reduce){
  .is-wrapper [class*="web-"]{ transition:none; }
}

/* ============================================================
   HERO heading — works even when the banner is injected OUTSIDE
   .is-wrapper (e.g. the blog banner template). Scoped to
   .main-banner-sec so it only ever touches a real hero, and it
   mirrors .is-wrapper .banner-main-heading exactly.
   ============================================================ */
.main-banner-sec .banner-main-heading{
  font-family:var(--font-head); font-weight:400; font-size:var(--fs-h1);
  line-height:1.05; color:var(--c-white); margin:0; max-width:15ch;
  text-wrap:balance; text-shadow:var(--shadow-hero-text);
}
.main-banner-sec .pos-ab-ban{ z-index:2; }

/* ============================================================
   BLOG LIST — brand theme (Parm's Wellness)
   The blog list renders OUTSIDE .is-wrapper, so every rule is
   scoped to .new-blog-page-type.blog-page-type (both classes sit
   on the <main>). That extra class reliably out-specifies the
   platform blog defaults without needing .is-wrapper. Tokens only.
   ============================================================ */
.new-blog-page-type.blog-page-type{ background:var(--c-paper); font-family:var(--font-body); color:var(--c-ink-2); }
.new-blog-page-type.blog-page-type .grid-container{ max-width:1200px; }
.new-blog-page-type.blog-page-type .main-blog-widget{ padding:64px 0; }
.new-blog-page-type.blog-page-type h2,
.new-blog-page-type.blog-page-type h3,
.new-blog-page-type.blog-page-type h5{ font-family:var(--font-head); color:var(--c-ink); }

/* ---- search ---- */
.new-blog-page-type.blog-page-type .blog-search-container{ margin:44px auto 0; }
.new-blog-page-type.blog-page-type .blog-search-container .position-relative{ position:relative; max-width:540px; margin:0 auto; }
.new-blog-page-type.blog-page-type .blog-search-container #search-input-blog{
  width:100%; height:58px; margin:0;
  font-family:var(--font-body); font-size:17px; color:var(--c-ink);
  background:var(--c-white); border:1px solid var(--c-line); border-radius:var(--r-pill);
  padding:8px 58px 8px 24px; box-shadow:var(--shadow-card);
  transition:border-color var(--ease), box-shadow var(--ease);
}
.new-blog-page-type.blog-page-type .blog-search-container #search-input-blog::placeholder{ color:var(--c-ink-2); opacity:.7; }
.new-blog-page-type.blog-page-type .blog-search-container #search-input-blog:focus{
  outline:none; border-color:var(--c-accent); box-shadow:0 0 0 3px var(--c-accent2-22);
}
.new-blog-page-type.blog-page-type .blog-search-button{
  position:absolute; top:50%; right:8px; left:auto; bottom:auto; transform:translateY(-50%);
  width:42px; height:42px; padding:0; display:flex; align-items:center; justify-content:center;
  background:var(--c-primary); border:none; border-radius:var(--r-pill); cursor:pointer;
  transition:background var(--ease);
}
.new-blog-page-type.blog-page-type .blog-search-button:hover{ background:var(--c-accent); box-shadow:none; }
.new-blog-page-type.blog-page-type .blog-search-button svg{ width:17px; height:17px; }
.new-blog-page-type.blog-page-type .blog-search-button svg path{ fill:var(--c-white); }

/* ---- category pills (mobile filter + sidebar) ---- */
.new-blog-page-type.blog-page-type .filter-h2{
  font-family:var(--font-head); font-weight:400; font-size:24px; line-height:1.2;
  color:var(--c-ink); margin:0 0 18px; padding-bottom:12px; position:relative;
}
.new-blog-page-type.blog-page-type .filter-h2::after{
  content:""; position:absolute; left:0; bottom:0; width:46px; height:3px; background:var(--c-accent);
}
.new-blog-page-type.blog-page-type .ps-blog-category{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:10px; max-height:none;text-transform: capitalize; overflow:visible; }
.new-blog-page-type.blog-page-type .ps-blog-category li{ margin:0; display:inline-flex; line-height:1; }
.new-blog-page-type.blog-page-type .ps-blog-category li a{
  display:inline-block; margin:0; font-family:var(--font-util); font-size:13px !important; font-weight:500; letter-spacing:.04em;
  color:var(--c-ink-2); background:var(--c-tint); border:1px solid var(--c-line); border-radius:var(--r-pill);
  padding:9px 16px; text-decoration:none; line-height:1.2;
  transition:background var(--ease), color var(--ease), border-color var(--ease), transform var(--ease);
}
.new-blog-page-type.blog-page-type .ps-blog-category li a:hover{
  background:var(--c-primary); color:var(--c-white); border-color:var(--c-primary); transform:translateY(-1px);
}
.new-blog-page-type.blog-page-type .ps-blog-category li.active a,
.new-blog-page-type.blog-page-type .ps-blog-category li.active a.all-blogs.button{
  background:var(--c-accent); color:var(--c-primary); border-color:var(--c-accent); font-weight:600;
}
.new-blog-page-type.blog-page-type .ps-blog-category li.active a:hover,
.new-blog-page-type.blog-page-type .ps-blog-category li.active a.all-blogs.button:hover{
  background:var(--c-primary); color:var(--c-white); border-color:var(--c-primary);
}
.new-blog-page-type.blog-page-type .articles-filter-container.hide-for-large{ margin-bottom:34px; }

/* ---- sidebar panel (large only) ---- */
@media (min-width:1024px){
  .new-blog-page-type.blog-page-type .blog-sidebar .articles-filter-container{
    background:var(--c-white); border:1px solid var(--c-line); border-top:3px solid var(--c-accent);
    border-radius:var(--r-md); box-shadow:var(--shadow-card); padding:28px 26px;
    position:sticky; top:100px;
  }
}

/* ---- article cards ---- */
.new-blog-page-type.blog-page-type .blog-ul{ list-style:none; margin:0; padding:0; }
.new-blog-page-type.blog-page-type .blog-li{ margin:0 0 36px; }
.new-blog-page-type.blog-page-type .blog-li .row{ margin:0; max-width:none; }
.new-blog-page-type.blog-page-type .blog-article.columns{ padding-left:0; padding-right:0; }
.new-blog-page-type.blog-page-type .blog-article{
  position:relative; background:var(--c-white); border:1px solid var(--c-line);
  border-top:3px solid var(--c-accent); border-radius:var(--r-md); box-shadow:var(--shadow-card);
  overflow:hidden; padding:0; transition:transform var(--ease), box-shadow var(--ease);
}
.new-blog-page-type.blog-page-type .blog-article:hover{ transform:translateY(-4px); box-shadow:var(--shadow-2); }
.new-blog-page-type.blog-page-type .blog-article > *:not(.ps-article-img){ padding-left:30px; padding-right:30px; }
.new-blog-page-type.blog-page-type .ps-article-img{ overflow:hidden; }
.new-blog-page-type.blog-page-type .ps-article-img img{
  width:100%; height:300px; object-fit:cover; display:block; margin:0; transition:transform .6s ease;
}
.new-blog-page-type.blog-page-type .blog-article:hover .ps-article-img img{ transform:scale(1.05); }

/* meta — categories as pills. Webware renders each separator comma as
   its own <span> with no <a> (and sometimes a trailing one after the last
   pill). font-size:0 + color:transparent collapse stray comma text nodes,
   and we hide every non-anchor span so ONLY real category pills show. */
.new-blog-page-type.blog-page-type .article-category{
  display:flex; flex-wrap:wrap; align-items:center; gap:8px;
  margin:0 0 14px; padding-top:26px; font-size:0; color:transparent;
}
.new-blog-page-type.blog-page-type .article-category > span:has(> a){ display:inline-flex; }
.new-blog-page-type.blog-page-type .article-category a{
  display:inline-block; font-family:var(--font-util); font-size:11px; letter-spacing:.08em;
  text-transform:uppercase; line-height:1.2; color:var(--c-accent); background:var(--c-tint);
  border:1px solid var(--c-line); border-radius:var(--r-pill); padding:5px 12px; text-decoration:none;
  transition:background var(--ease), color var(--ease), border-color var(--ease);
}
.new-blog-page-type.blog-page-type .article-category a:hover{
  background:var(--c-primary); color:var(--c-white); border-color:var(--c-primary);
}

/* title */
.new-blog-page-type.blog-page-type .article-title{ margin:0 0 12px; }
.new-blog-page-type.blog-page-type .article-title a,
.new-blog-page-type.blog-page-type .article-title a.section-main-heading{
  display:inline-block; font-family:var(--font-head); font-weight:400; font-size:28px;
  line-height:1.25; color:var(--c-ink); text-decoration:none; transition:color var(--ease);
}
.new-blog-page-type.blog-page-type .article-title a:hover{ color:var(--c-accent); }

/* excerpt */
.new-blog-page-type.blog-page-type .article-body{ margin:0 0 20px; }
.new-blog-page-type.blog-page-type .article-body.rte,
.new-blog-page-type.blog-page-type .article-body.rte p{
  font-family:var(--font-body); font-size:17px; line-height:1.65; color:var(--c-ink-2); margin:0;
}

/* read more */
.new-blog-page-type.blog-page-type .pb-0{ margin:0; padding-bottom:30px; }
.new-blog-page-type.blog-page-type .blog-read-more{
  display:inline-flex; align-items:center; gap:8px; font-family:var(--font-util);
  font-size:13px; font-weight:600; letter-spacing:.12em; text-transform:uppercase;
  color:var(--c-primary); text-decoration:none; transition:color var(--ease);
}
.new-blog-page-type.blog-page-type .blog-read-more::after{ content:"\2192"; transition:transform var(--ease); }
.new-blog-page-type.blog-page-type .blog-read-more:hover{ color:var(--c-accent); }
.new-blog-page-type.blog-page-type .blog-read-more:hover::after{ transform:translateX(4px); }

/* pagination */
.new-blog-page-type.blog-page-type .ps-pagination-bar{ margin-top:28px; }
.new-blog-page-type.blog-page-type .ps-pagination-bar span{
  font-family:var(--font-util); background:var(--c-tint); border:1px solid var(--c-line);
  color:var(--c-ink-2); border-radius:var(--r-sm); margin-left:6px; transition:all var(--ease);
}
.new-blog-page-type.blog-page-type .ps-pagination-bar span:hover,
.new-blog-page-type.blog-page-type .ps-pagination-bar span.current,
.new-blog-page-type.blog-page-type .ps-pagination-bar span.next,
.new-blog-page-type.blog-page-type .ps-pagination-bar span.prev{
  background:var(--c-primary); border-color:var(--c-primary); color:var(--c-white);
}

/* featured (styled in case enabled) */
.new-blog-page-type.blog-page-type .featured-articles{
  background:var(--c-white); border:1px solid var(--c-line); border-top:3px solid var(--c-accent);
  border-radius:var(--r-md); box-shadow:var(--shadow-card); padding:32px;
}
.new-blog-page-type.blog-page-type .featured-articles h5{
  font-family:var(--font-util); font-size:13px; letter-spacing:.12em; text-transform:uppercase;
  color:var(--c-accent); margin:0 0 16px;
}

@media (max-width:640px){
  .new-blog-page-type.blog-page-type .main-blog-widget{ padding:40px 0; }
  .new-blog-page-type.blog-page-type .ps-article-img img{ height:220px; }
  .new-blog-page-type.blog-page-type .blog-article > *:not(.ps-article-img){ padding-left:20px; padding-right:20px; }
  .new-blog-page-type.blog-page-type .article-title a{ font-size:24px; }
}


/* ============================================================
   BLOG ARTICLE (SINGLE POST) — brand theme (Parm's Wellness)
   Scope: main.article-page-type.new-blog-page-type
   The `main` element prefix out-specifies the platform's
   class-only base (appended AFTER this block). Token-only, CSS-only.
   Pairs with the BLOG LIST theme above; listing page unaffected.
   ============================================================ */
main.article-page-type.new-blog-page-type{
  background:var(--c-paper); font-family:var(--font-body); color:var(--c-ink-2);
}
main.article-page-type.new-blog-page-type a:focus-visible{
  outline:2px solid var(--c-accent); outline-offset:3px; border-radius:var(--r-sm);
}

/* ---- HEADLINE (h1 also carries .banner-main-heading; force ink, kill hero look) ---- */
main.article-page-type.new-blog-page-type h1.article-title{
  font-family:var(--font-head); font-weight:400; color:var(--c-ink);
  font-size:50px; line-height:1.12; letter-spacing:.005em;
  text-wrap:unset; max-width:100%; margin:0; text-shadow:none;
}
main.article-page-type.new-blog-page-type h1.article-title::after{
  content:""; display:block; width:64px; height:2px; background:var(--c-accent);
  margin:22px 0 30px;
}

/* ---- HEADER ROW: featured image (large-8) + meta (large-4) ---- */
main.article-page-type.new-blog-page-type .blog-article-content > .grid-x{ margin-bottom:8px; }
main.article-page-type.new-blog-page-type .blog-article-content > .grid-x .ps-article-img{ margin:0; line-height:0; }
main.article-page-type.new-blog-page-type .blog-article-content > .grid-x .ps-article-img img{
  width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; display:block;
  border-radius:var(--r-md); border:1px solid var(--c-line); box-shadow:var(--shadow-2);
}

/* meta: author / date / categories */
main.article-page-type.new-blog-page-type .blog-author{ margin:0; }
main.article-page-type.new-blog-page-type .blog-author .lab-ul{
  list-style:none; margin:0; padding:0;
  display:flex; flex-wrap:wrap; align-items:center; gap:10px 14px;
  font-family:var(--font-util); font-size:13px; line-height:1.4; color:var(--c-ink-2);
}
main.article-page-type.new-blog-page-type .blog-author .lab-ul li{ margin:0; display:inline-flex; align-items:center; }
main.article-page-type.new-blog-page-type .blog-author .author_name{ color:var(--c-ink); font-weight:600; letter-spacing:.02em; }
main.article-page-type.new-blog-page-type .blog-author .pubdate.color-black{ color:var(--c-ink-2); }
main.article-page-type.new-blog-page-type .blog-author .lab-ul li + li::before{
  content:""; display:inline-block; width:5px; height:5px; border-radius:50%;
  background:var(--c-accent); margin-right:11px;
}
/* commas killed; "Categories:" stays as a tiny label; anchors -> pills */
main.article-page-type.new-blog-page-type .blog-author .lab-ul > span:not(:has(> a)){ display:none; }
main.article-page-type.new-blog-page-type .blog-author .lab-ul > span:has(> a){ display:inline-flex; }
main.article-page-type.new-blog-page-type .blog-author .lab-ul > span > a{
  display:inline-flex; font-size:11px; line-height:1.2; letter-spacing:.06em; text-transform:uppercase;
  color:var(--c-accent); background:var(--c-tint); border:1px solid var(--c-line);
  border-radius:var(--r-pill); padding:5px 12px; text-decoration:none;
  transition:background var(--ease),color var(--ease),border-color var(--ease);
}
main.article-page-type.new-blog-page-type .blog-author .lab-ul > span > a:hover{
  background:var(--c-primary); color:var(--c-white); border-color:var(--c-primary);
}

/* ---- BODY: premium long-form reading column ---- */
main.article-page-type.new-blog-page-type .article-body.rte{
  max-width:100%; margin:46px auto 0; padding:0;
  font-family:var(--font-body); color:var(--c-ink-2); font-size:18px; line-height:1.78;
}
main.article-page-type.new-blog-page-type .article-body.rte > p{ margin:0 0 1.35em; }
main.article-page-type.new-blog-page-type .article-body.rte > p:first-of-type{
  font-size:21px; line-height:1.62; color:var(--c-ink);
}
main.article-page-type.new-blog-page-type .article-body.rte h2{
  font-family:var(--font-head); font-weight:500; color:var(--c-ink);
  font-size:clamp(25px,3vw,33px); line-height:1.2; margin:1.9em 0 .5em;
}
main.article-page-type.new-blog-page-type .article-body.rte h2::before{
  content:""; display:block; width:46px; height:2px; background:var(--c-accent); margin-bottom:16px;
}
main.article-page-type.new-blog-page-type .article-body.rte h3{
  font-family:var(--font-head); font-weight:600; color:var(--c-ink);
  font-size:clamp(21px,2.4vw,25px); line-height:1.25; margin:1.6em 0 .4em;
}
main.article-page-type.new-blog-page-type .article-body.rte ul{ list-style:none; margin:0 0 1.5em; padding:0; }
main.article-page-type.new-blog-page-type .article-body.rte ul li{
  position:relative; padding-left:30px; margin:0 0 .7em; line-height:1.7;
}
main.article-page-type.new-blog-page-type .article-body.rte ul li::before{
  content:""; position:absolute; left:4px; top:.6em; width:8px; height:8px; border-radius:50%;
  background:var(--c-accent); box-shadow:0 0 0 4px var(--c-accent2-22);
}
main.article-page-type.new-blog-page-type .article-body.rte p strong,
main.article-page-type.new-blog-page-type .article-body.rte li strong{ color:var(--c-ink); font-weight:600; }
main.article-page-type.new-blog-page-type .article-body.rte a{
  color:var(--c-primary); text-decoration:underline; text-underline-offset:3px;
  text-decoration-thickness:1px; transition:color var(--ease);
}
main.article-page-type.new-blog-page-type .article-body.rte a:hover{ color:var(--c-accent); }

/* ---- RECENT POSTS (full-width section below the article) ---- */
main.article-page-type.new-blog-page-type .blog-sidebar{
  margin-top:64px; padding-top:48px; border-top:1px solid var(--c-line);
}
main.article-page-type.new-blog-page-type .blog-sidebar-widget{ padding:0; }
main.article-page-type.new-blog-page-type .blog-sidebar-h2{
  font-family:var(--font-head); font-weight:500; color:var(--c-ink);
  font-size:clamp(26px,3vw,34px); line-height:1.15; margin:0 0 30px; padding:0; border:0;
}
main.article-page-type.new-blog-page-type .blog-sidebar-h2::after{
  content:""; display:block; width:56px; height:2px; background:var(--c-accent); margin-top:16px;
}
main.article-page-type.new-blog-page-type .ps-blog-recent-posts{
  list-style:none; margin:0; padding:0;
  display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:30px;
}
main.article-page-type.new-blog-page-type .ps-blog-recent-posts > li{ margin:0; display:flex; }
main.article-page-type.new-blog-page-type .ps-blog-recent-posts .row{ margin:0; width:100%; display:flex; }
main.article-page-type.new-blog-page-type .ps-blog-recent-posts .blog-article{
  display:flex; flex-direction:column; height:100%; width:100%; margin:0; padding:0; float:none;
  background:var(--c-white); border:1px solid var(--c-line); border-top:3px solid var(--c-accent);
  border-radius:var(--r-md); box-shadow:var(--shadow-card); overflow:hidden;
  transition:transform var(--ease), box-shadow var(--ease);
}
main.article-page-type.new-blog-page-type .ps-blog-recent-posts .blog-article:hover{
  transform:translateY(-4px); box-shadow:var(--shadow-2);
}
main.article-page-type.new-blog-page-type .ps-blog-recent-posts .ps-article-img{ margin:0; line-height:0; overflow:hidden; }
main.article-page-type.new-blog-page-type .ps-blog-recent-posts .ps-article-img img{
  width:100%; height:210px; object-fit:cover; display:block; margin:0; transition:transform .6s var(--ease);
}
main.article-page-type.new-blog-page-type .ps-blog-recent-posts .blog-article:hover .ps-article-img img{ transform:scale(1.05); }
/* inner padding for text children */
main.article-page-type.new-blog-page-type .ps-blog-recent-posts .blog-article > *:not(.ps-article-img){
  padding-left:24px; padding-right:24px;
}
main.article-page-type.new-blog-page-type .ps-blog-recent-posts .blog-article > .article-category{ padding-top:24px; }
/* category pills (label + commas collapsed via font-size:0; pills carry explicit size) */
main.article-page-type.new-blog-page-type .ps-blog-recent-posts .article-category{
  font-size:0; color:transparent; margin:0 0 4px;
}
main.article-page-type.new-blog-page-type .ps-blog-recent-posts .article-category > span:has(> a){ display:inline; }
main.article-page-type.new-blog-page-type .ps-blog-recent-posts .article-category > span > a{
  display:inline-flex; font-size:11px; line-height:1.2; letter-spacing:.06em; text-transform:uppercase;
  color:var(--c-accent); background:var(--c-tint); border:1px solid var(--c-line);
  border-radius:var(--r-pill); padding:5px 11px; margin:0 6px 6px 0; text-decoration:none;
  transition:background var(--ease),color var(--ease),border-color var(--ease);
}
main.article-page-type.new-blog-page-type .ps-blog-recent-posts .article-category > span > a:hover{
  background:var(--c-primary); color:var(--c-white); border-color:var(--c-primary);
}
main.article-page-type.new-blog-page-type .ps-blog-recent-posts .article-title{ margin:0 0 10px; line-height:1.25; }
main.article-page-type.new-blog-page-type .ps-blog-recent-posts .article-title a{
  font-family:var(--font-head); font-weight:500; font-size:21px; line-height:1.25;
  color:var(--c-ink); text-decoration:none; transition:color var(--ease);
}
main.article-page-type.new-blog-page-type .ps-blog-recent-posts .article-title a:hover{ color:var(--c-accent); }
main.article-page-type.new-blog-page-type .ps-blog-recent-posts .item-body.rte{ margin:0 0 16px; }
main.article-page-type.new-blog-page-type .ps-blog-recent-posts .item-body.rte p{
  font-family:var(--font-body); font-size:16px; line-height:1.6; color:var(--c-ink-2); margin:0;
}
main.article-page-type.new-blog-page-type .ps-blog-recent-posts .blog-read-more{
  display:inline-flex; align-items:center; gap:7px;
  font-family:var(--font-util); font-weight:600; font-size:12px; letter-spacing:.12em;
  text-transform:uppercase; color:var(--c-primary); text-decoration:none; transition:color var(--ease);
}
main.article-page-type.new-blog-page-type .ps-blog-recent-posts .blog-read-more::after{
  content:"\2192"; font-size:14px; transition:transform var(--ease);
}
main.article-page-type.new-blog-page-type .ps-blog-recent-posts .blog-read-more:hover{ color:var(--c-accent); }
main.article-page-type.new-blog-page-type .ps-blog-recent-posts .blog-read-more:hover::after{ transform:translateX(4px); }
main.article-page-type.new-blog-page-type .ps-blog-recent-posts .blog-article > p.pb-0{ margin-top:auto; padding-bottom:24px; }

/* ---- responsive ---- */
@media (max-width:1023px){
  main.article-page-type.new-blog-page-type .blog-author{ margin-top:24px; }
}
@media (max-width:640px){
  main.article-page-type.new-blog-page-type h1.article-title{ font-size:30px; }
  main.article-page-type.new-blog-page-type .article-body.rte{ margin-top:32px; font-size:17px; }
  main.article-page-type.new-blog-page-type .article-body.rte > p:first-of-type{ font-size:19px; }
  main.article-page-type.new-blog-page-type .ps-blog-recent-posts{ grid-template-columns:1fr; gap:22px; }
  main.article-page-type.new-blog-page-type .blog-sidebar{ margin-top:48px; padding-top:36px; }
}


/* ============================================================
   CONTACT PAGE — Parm's Wellness  (pws- prefix; scoped .is-wrapper)
   ============================================================ */
.is-wrapper .pws-contact-intro{ margin:0 0 34px; max-width:46ch; }
.is-wrapper .pws-contact-intro .section-description{ margin:0 0 16px; }
.is-wrapper .pws-contact-intro .content-text{ margin:0; }

.is-wrapper .pws-contact-list{ list-style:none; margin:0; padding:0; }
.is-wrapper .pws-contact-item{
  display:flex; align-items:flex-start; gap:20px;
  padding:24px 0; border-bottom:1px solid var(--c-line);
}
.is-wrapper .pws-contact-item:first-child{ border-top:1px solid var(--c-line); }
.is-wrapper .pws-contact-ic{
  flex:0 0 auto; width:56px; height:56px; border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center;
  background:var(--c-tint); border:1px solid var(--c-line); color:var(--c-accent); font-size:20px;
  transition:background var(--ease),color var(--ease),border-color var(--ease),transform var(--ease);
}
.is-wrapper .pws-contact-item:hover .pws-contact-ic{
  background:var(--c-primary); color:var(--c-white); border-color:var(--c-primary); transform:translateY(-2px);
}
.is-wrapper .pws-contact-body{ display:flex; flex-direction:column; gap:5px; padding-top:4px; min-width:0; }
.is-wrapper .pws-contact-label{
  font-family:var(--font-util); font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:var(--c-accent); margin:0;
}
.is-wrapper .pws-contact-val{
  font-family:var(--font-body); font-size:18px; line-height:1.45; color:var(--c-ink); margin:0; word-break:break-word;
}
.is-wrapper a.pws-contact-val{ text-decoration:none; transition:color var(--ease); }
.is-wrapper a.pws-contact-val:hover{ color:var(--c-primary); text-decoration:underline; text-underline-offset:3px; }

/* premium form card (platform secure form is injected inside) */
.is-wrapper .pws-form-card{
  background:var(--c-white); border:1px solid var(--c-line); border-top:3px solid var(--c-accent);
  border-radius:var(--r-md); box-shadow:var(--shadow-2); padding:44px;
}
.is-wrapper .pws-form-card label{
  font-family:var(--font-util); font-size:13px; letter-spacing:.04em; color:var(--c-ink); font-weight:500; display:block; margin:0 0 6px;
}
.is-wrapper .pws-form-card input[type="text"],
.is-wrapper .pws-form-card input[type="email"],
.is-wrapper .pws-form-card input[type="tel"],
.is-wrapper .pws-form-card input[type="number"],
.is-wrapper .pws-form-card input[type="password"],
.is-wrapper .pws-form-card select,
.is-wrapper .pws-form-card textarea{
  width:100%; font-family:var(--font-body); font-size:16px; color:var(--c-ink);
  background:var(--c-paper); border:1px solid var(--c-line); border-radius:var(--r-sm);
  padding:13px 16px; margin:0 0 18px; min-height:52px; box-shadow:none;
  transition:border-color var(--ease),box-shadow var(--ease);
}
.is-wrapper .pws-form-card textarea{ min-height:130px; resize:vertical; line-height:1.6; }
.is-wrapper .pws-form-card input:focus,
.is-wrapper .pws-form-card select:focus,
.is-wrapper .pws-form-card textarea:focus{
  outline:none; border-color:var(--c-accent); box-shadow:0 0 0 3px var(--c-accent2-22);
}
.is-wrapper .pws-form-card ::placeholder{ color:var(--c-ink-2); opacity:.7; }
/* submit -> identical to the global primary (gold) button */
.is-wrapper .pws-form-card input[type="submit"],
.is-wrapper .pws-form-card button[type="submit"],
.is-wrapper .pws-form-card .button{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  font-family:var(--font-util); font-size:14px; font-weight:500; letter-spacing:.16em; text-transform:uppercase;
  padding:17px 32px; border-radius:var(--r-sm); border:1px solid var(--btn-bg);
  cursor:pointer; white-space:normal; text-align:center; line-height:1.3; width:100%;
  background:var(--btn-bg); color:var(--btn-text); box-shadow:var(--shadow-btn);
  transition:background var(--ease),color var(--ease),border-color var(--ease),transform var(--ease),box-shadow var(--ease);
}
.is-wrapper .pws-form-card input[type="submit"]:hover,
.is-wrapper .pws-form-card button[type="submit"]:hover,
.is-wrapper .pws-form-card .button:hover{
  background:var(--btn-bg-hover); color:var(--c-primary); border-color:var(--btn-bg-hover);
  transform:translateY(-2px); box-shadow:var(--shadow-btn-hover);
}

/* responsive */
@media all and (max-width:1023px){
  .is-wrapper .pws-form-card{ margin-top:6px; }
  .is-wrapper .pws-contact-intro{ max-width:none; }
}
@media all and (max-width:640px){
  .is-wrapper .pws-form-card{ padding:26px; }
  .is-wrapper .pws-contact-val{ font-size:17px; }
}


/* ---- CONTACT MAP ---- */
.is-wrapper .pws-map-frame{
  position:relative; width:100%; height:460px;
  border:1px solid var(--c-line); border-top:3px solid var(--c-accent);
  border-radius:var(--r-md); box-shadow:var(--shadow-2); overflow:hidden; background:var(--c-tint);
}
.is-wrapper .pws-map-frame iframe{ display:block; width:100%; height:100%; border:0; }
@media all and (max-width:640px){ .is-wrapper .pws-map-frame{ height:320px; } }


/* ============================================================
   HEADER — new-header-6 (platform chrome) · premium reskin
   token-only · scoped to header.new-header-6 (NOT inside .is-wrapper)
   ============================================================ */
header.new-header-6{ background:var(--c-paper); border-bottom:1px solid var(--c-line); padding:0; }
header.new-header-6 .logo-container a{ display:inline-block; }
header.new-header-6 .logo-container img{ display:block; width:auto; max-width:190px; object-fit:contain; margin:0; }

/* level-1 nav links */
header.new-header-6 nav .dropdown.menu.level-1 > li > a{
  position:relative; font-family:var(--font-util); font-size:14px; font-weight:500;
  letter-spacing:.12em; text-transform:uppercase; color:var(--c-ink); text-decoration:none;
  padding:10px 16px; transition:color var(--ease);
}
header.new-header-6 nav .dropdown.menu.level-1 > li > a span{ color:inherit; }
header.new-header-6 nav .dropdown.menu.level-1 > li > a::before{
  content:""; position:absolute; left:16px; right:16px; bottom:4px; height:1px;
  background:var(--c-accent); transform:scaleX(0); transform-origin:left; transition:transform var(--ease);
}
header.new-header-6 nav .dropdown.menu.level-1 > li > a:hover{ color:var(--c-accent); }
header.new-header-6 nav .dropdown.menu.level-1 > li > a:hover::before{ transform:scaleX(1); }
header.new-header-6 nav .dropdown.menu.level-1 > li.active > a{ color:var(--c-accent); }
header.new-header-6 nav .dropdown.menu.level-1 > li.active > a::before{ transform:scaleX(1); }
.new-header ul.dropdown.menu > li.active > a:not(.button) span,
.new-header ul.dropdown.menu > li:hover > a:not(.button) span{ color:var(--c-accent); }

/* submenu-parent caret recolor */
header.new-header-6 .is-dropdown-submenu-parent > a::after{ border-color:var(--c-ink) transparent transparent transparent; }
header.new-header-6 .is-dropdown-submenu-parent:hover > a::after{ border-color:var(--c-accent) transparent transparent transparent; }

/* dropdown submenu card */
header.new-header-6 .is-dropdown-submenu{
  background:var(--c-paper); border:1px solid var(--c-line); border-top:2px solid var(--c-accent);
  border-radius:var(--r-md); box-shadow:var(--shadow-2); padding:8px 0; min-width:248px;
}
header.new-header-6 .is-dropdown-submenu .is-submenu-item > a{
  display:block; font-family:var(--font-util); font-size:13px; letter-spacing:.05em; text-transform:uppercase;
  color:var(--c-ink-2); text-decoration:none; padding:11px 22px;line-height: 1.4; transition:background var(--ease),color var(--ease);
}
header.new-header-6 .is-dropdown-submenu .is-submenu-item > a:hover{ background:var(--c-tint); color:var(--c-accent); }
header.new-header-6 .is-dropdown-submenu .is-submenu-item.active > a{ color:var(--c-accent); }

/* phone CTA */
header.new-header-6 .contact-section{ list-style:none; margin:0; }
header.new-header-6 .head-contact-links{ display:inline-flex; align-items:center; gap:12px; text-decoration:none; padding:6px 8px; }
header.new-header-6 .head-contact-links .icon-part{
  flex:0 0 auto; width:42px; height:42px; border-radius:50%; background:var(--c-tint); border:1px solid var(--c-line);
  display:inline-flex; align-items:center; justify-content:center; color:var(--c-accent); font-size:16px;
  transition:background var(--ease),color var(--ease),border-color var(--ease);
}
header.new-header-6 .head-contact-links:hover .icon-part{ background:var(--c-primary); color:var(--c-white); border-color:var(--c-primary); }
header.new-header-6 .menu a.head-contact-links .icon-part{ padding-right:0; color:var(--c-accent); font-size:20px; }
header.new-header-6 .head-contact-links .text-part{ line-height:1.18; text-align:left; }
header.new-header-6 .head-contact-links .heading{ font-family:var(--font-util); font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--c-accent); }
header.new-header-6 .head-contact-links .below-text,
header.new-header-6 .head-contact-links .siteDisplayNumber{ font-family:var(--font-body); font-size:17px; color:var(--c-ink); transition:color var(--ease); }
header.new-header-6 .head-contact-links:hover .siteDisplayNumber{ color:var(--c-primary); }

/* "Contact Us" button -> identical to global gold primary button */
header.new-header-6 .contact-section a.button,
header.new-header-6 .mobile-contact-button-section a.button{
  display:inline-flex; align-items:center; justify-content:center;
  font-family:var(--font-util); font-size:13px; font-weight:500; letter-spacing:.16em; text-transform:uppercase;
  line-height:1.2; white-space:nowrap; padding:14px 26px; border-radius:var(--r-sm); border:1px solid var(--btn-bg);
  background:var(--btn-bg); color:var(--btn-text); box-shadow:var(--shadow-btn); cursor:pointer; text-decoration:none;
  transition:background var(--ease),color var(--ease),border-color var(--ease),transform var(--ease),box-shadow var(--ease);
}
header.new-header-6 .contact-section a.button:hover,
header.new-header-6 .mobile-contact-button-section a.button:hover{
  background:var(--btn-bg-hover); color:var(--c-primary); border-color:var(--btn-bg-hover);
  transform:translateY(-2px); box-shadow:var(--shadow-btn-hover);
}

/* mobile hamburger + contact strip */
header.new-header-6 .openMenu{ background:transparent; border:0; cursor:pointer; padding:6px 4px; line-height:1; }
header.new-header-6 .openMenu i{ color:inherit; transition:color var(--ease); }
header.new-header-6 .openMenu:hover i{ color:#1D3A26; }
header.new-header-6 .sidenav-container{ color:var(--c-accent); height:42px; width:42px; text-align:center; border-radius:50px; padding-top:4px; }
.sidenav-container i.fa-bars.icon{ color:#1D3A26; }
header .icon, header i, header i.fa-bars.icon{ color:var(--c-accent); }
header.new-header-6 .hide-for-large .mobile-contact-button-section{
  display:flex; justify-content:center; align-items:center; padding:12px 16px; border-top:1px solid var(--c-line);
}
header.new-header-6 .hide-for-large .mobile-contact-button-section a.button{ width:100%; max-width:340px; }

@media all and (max-width:1023px){
  header.new-header-6{ padding:8px 0; }
}

/* ============================================================
   MOBILE SIDENAV — off-canvas (#sidenav) — desktop-nav branding
   ============================================================ */
#sidenav{
  background:var(--c-paper);
  padding:0;
  border-left:3px solid var(--c-accent);
  box-shadow:-18px 0 50px rgba(0,0,0,.18);
}
#sidenav .menu.accordion-menu{ margin:0; padding:0; list-style:none; background:transparent; }

/* top-level items */
#sidenav .accordion-menu > li{ border-bottom:1px solid var(--c-line); }
#sidenav .accordion-menu > li > a{
  display:block;
  padding:15px 26px;
  border-left:3px solid transparent;
  font-family:var(--font-util);
  font-size:14px;
  font-weight:500;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--c-ink);
  background:transparent;
  text-decoration:none;
  transition:color var(--ease),background var(--ease),border-color var(--ease);
}
#sidenav .accordion-menu > li > a span{ color:inherit; }
#sidenav .accordion-menu > li > a:hover{ color:var(--c-accent); background:var(--c-tint); border-left-color:var(--c-accent); }
#sidenav .accordion-menu > li > a:hover span{ color:var(--c-accent); }
#sidenav .accordion-menu > li.active > a{ color:var(--c-white); background:var(--c-primary); border-left-color:var(--c-accent); }
#sidenav .accordion-menu > li.active > a span{ color:var(--c-white); }

/* submenu (Foundation accordion nested) */
#sidenav .accordion-menu .is-accordion-submenu{ background:var(--c-tint); margin:0; padding:0; list-style:none; }
#sidenav .accordion-menu .is-accordion-submenu > li{ border-bottom:1px solid var(--c-line); }
#sidenav .accordion-menu .is-accordion-submenu > li:last-child{ border-bottom:0; }
#sidenav .accordion-menu .is-accordion-submenu > li > a{
  display:block;
  padding:12px 26px;
  border-left:3px solid transparent;
  font-family:var(--font-util);
  font-size:12.5px;
  font-weight:500;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--c-ink-2);
  background:transparent;
  text-decoration:none;
  transition:color var(--ease),background var(--ease),border-color var(--ease);
}
#sidenav .accordion-menu .is-accordion-submenu > li > a span{ color:inherit; display:inline-block; line-height:1.3; }
#sidenav .accordion-menu .is-accordion-submenu > li > a:hover{ color:var(--c-accent); background:var(--c-light); border-left-color:var(--c-accent); }
#sidenav .accordion-menu .is-accordion-submenu > li > a:hover span{ color:var(--c-accent); }
#sidenav .accordion-menu .is-accordion-submenu > li.active > a{ color:var(--c-white); background:var(--c-primary); border-left-color:var(--c-accent); }
#sidenav .accordion-menu .is-accordion-submenu > li.active > a span{ color:var(--c-white); }

/* submenu-parent caret (Foundation arrow) -> brand colors */
#sidenav .is-accordion-submenu-parent > a::after{ border-color:#d1ac5c transparent transparent !important; }
#sidenav .is-accordion-submenu-parent > a:hover::after{ border-color:var(--c-accent) transparent transparent !important; }
#sidenav .is-accordion-submenu-parent[aria-expanded="true"] > a{ color:var(--c-accent); }
#sidenav .is-accordion-submenu-parent[aria-expanded="true"] > a span{ color:var(--c-accent); }
#sidenav .is-accordion-submenu-parent[aria-expanded="true"] > a::after{ border-color:var(--c-accent) transparent transparent !important; }

/* ============================================================
   FOOTER — #footer — premium dark-green / gold
   ============================================================ */
footer#footer{
  background:var(--c-primary-dark);
  border-top:3px solid var(--c-accent);
  padding:0 0 20px;
  color:var(--c-light);
  font-family:var(--font-body);
}
footer#footer .custom-grid-container{ max-width:1200px; margin-left:auto; margin-right:auto; }
footer#footer hr{ border:0; border-top:1px solid rgba(201,162,75,.26); margin:0; }
footer#footer .spacer.height-20{ height:14px; }
footer#footer .column-container{ padding-right:7px; }

/* column headings */
footer#footer h4{
  font-family:var(--font-util);
  font-size:13px; font-weight:600; letter-spacing:.18em; text-transform:uppercase;
  color:var(--c-accent); margin:0 0 20px; padding-bottom:12px; position:relative;
}
footer#footer h4::after{ content:''; position:absolute; left:0; bottom:0; width:34px; height:2px; background:var(--c-accent); }

/* links column */
footer#footer ul.no-bullet{ list-style:none; margin:0; padding:0; }
footer#footer ul.no-bullet > li{ margin:0 0 9px; }
footer#footer ul.no-bullet li a{
  font-family:var(--font-body); font-size:15.5px; color:var(--c-light);
  text-decoration:none; transition:color var(--ease);
}
footer#footer ul.no-bullet li a:hover{ color:var(--c-accent); }
footer#footer ul.no-bullet li.active > a{ color:var(--c-accent); }
footer#footer ul.no-bullet li a span{ color:inherit; }

/* nested Services submenu -> static indented sublist (override Foundation dropdown) */
footer#footer ul.is-dropdown-submenu{
  position:static; display:none; list-style:none;
  margin:8px 0 10px 12px; padding:0 0 0 12px;
  border-left:1px solid rgba(201,162,75,.28); background:transparent;
}
footer#footer ul.is-dropdown-submenu li{ margin:0 0 7px; }
footer#footer ul.is-dropdown-submenu li a{ font-size:14px; color:var(--c-light); opacity:.82; }
footer#footer ul.is-dropdown-submenu li a:hover{ color:var(--c-accent); opacity:1; }

/* social icons (style for when icons are added) */
footer#footer ul.social-media-icons{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:12px; }
footer#footer ul.social-media-icons a{
  display:inline-flex; align-items:center; justify-content:center;
  width:40px; height:40px; border-radius:50%;
  border:1px solid rgba(201,162,75,.4);
  position:relative; overflow:hidden; padding:0;
}
footer#footer ul.social-media-icons a::before{
  content:''; position:absolute; left:0; bottom:0; width:100%; height:0;
  background:var(--c-accent); transition:height .45s ease; z-index:0;
}
footer#footer ul.social-media-icons a:hover{ border-color:var(--c-accent); }
footer#footer ul.social-media-icons a:hover::before{ height:100%; }
footer#footer ul.social-media-icons .step.social-icon{ position:relative; z-index:1; transition:fill var(--ease); }
footer#footer ul.social-media-icons a:hover .step.social-icon{ fill:var(--c-primary); }
.footer2 .step.social-icon, .new-footer-1 .step.social-icon, .new-footer-2 .step.social-icon, .new-footer-3 .step.social-icon, .new-footer-4 .step.social-icon{ height:25px; width:25px; fill:var(--c-accent); }

/* newsletter button -> global gold primary */
footer#footer .newsletter-section a.button{
  display:inline-flex; align-items:center; justify-content:center;
  font-family:var(--font-util); font-size:13px; font-weight:500; letter-spacing:.16em; text-transform:uppercase;
  padding:14px 14px; margin-top:4px; border-radius:var(--r-sm);
  background:var(--c-accent); color:var(--c-primary); border:1px solid var(--c-accent);
  text-decoration:none; box-shadow:var(--shadow-btn); transition:all var(--ease);
}
footer#footer .newsletter-section a.button:hover{ background:var(--c-accent-2); color:var(--c-primary); transform:translateY(-2px); box-shadow:var(--shadow-btn-hover); }

/* contact column */
footer#footer .contact-section a{ text-decoration:none; color:var(--c-light); transition:color var(--ease); }
footer#footer .contact-section .actual-address,
footer#footer .contact-section .footer-phone,
footer#footer .contact-section .footer-email{
  font-family:var(--font-body); font-size:15.5px; color:var(--c-light); line-height:1.55; margin:0;
}
footer#footer .contact-section .contact-number,
footer#footer .contact-section .contact-email{ margin-top:11px; }
footer#footer .contact-section a:hover .actual-address,
footer#footer .contact-section .footer-phone:hover,
footer#footer .contact-section .footer-email:hover{ color:var(--c-accent); }
footer#footer .contact-section .actual-address::before,
footer#footer .contact-section .footer-phone::before,
footer#footer .contact-section .footer-email::before{
  font-family:'Font Awesome 5 Pro'; font-weight:900; color:var(--c-accent); margin-right:10px; font-size:13px;
}
footer#footer .contact-section .actual-address::before{ content:'\f3c5'; }
footer#footer .contact-section .footer-phone::before{ content:'\f879'; }
footer#footer .contact-section .footer-email::before{ content:'\f0e0'; }

/* copyright */
footer#footer .copyright{
  font-family:var(--font-body); font-size:13.5px; color:var(--c-light); opacity:.7; margin:0; letter-spacing:.02em;
}
footer#footer .copyright a{ color:var(--c-accent); text-decoration:none; opacity:1; }
footer#footer .copyright a:hover{ color:var(--c-accent-2); text-decoration:underline; }

/* responsive */
@media all and (max-width:1023px){
  footer#footer{ padding:46px 18px 22px; }
  footer#footer h4::after{ left:50%; transform:translateX(-50%); }
  footer#footer ul.social-media-icons{ justify-content:center; }
  footer#footer ul.is-dropdown-submenu{ margin-left:auto; margin-right:auto; max-width:320px; text-align:left; }
  footer#footer .links-section, footer#footer .media-section, footer#footer .newsletter-section{
    border-bottom:1px solid rgba(201,162,75,.2); padding-bottom:22px; margin-bottom:22px;
  }
}

/* ============================================================
   PLATFORM FORMS — unified dark-green / gold card
   covers: contact (.ww-form-container-3) · newsletter (.ww-newsletter-registration)
           · blog lead-magnet (#lead-magnet-form) — one design language · reuses pws-form-rise
   ============================================================ */
.ww-form-container-3{ max-width:640px; margin:0 auto; }
.ww-newsletter-registration{ padding:50px 0; }

/* card shell + gold top accent + corner glow + entrance — ALL forms */
.ww-form-container-3 form,
.ww-newsletter-registration form,
#lead-magnet-form form{
  position:relative; overflow:hidden;
  background:linear-gradient(135deg,var(--c-primary) 0%,var(--c-primary-dark) 100%);
  border:0; border-radius:var(--r-md);
  padding:42px 38px 36px; box-shadow:var(--shadow-2);
  font-family:var(--font-body); color:var(--c-light); font-size:16px; line-height:1.6;
  animation:pws-form-rise .7s ease both;
}
#lead-magnet-form form{ width:100%; max-width:640px; margin:0 auto; text-align:center; }
.ww-form-container-3 form::before,
.ww-newsletter-registration form::before,
#lead-magnet-form form::before{
  content:''; position:absolute; top:0; left:0; right:0; height:4px; z-index:2;
  background:linear-gradient(90deg,var(--c-accent),var(--c-accent-2),var(--c-accent));
}
.ww-form-container-3 form::after,
.ww-newsletter-registration form::after,
#lead-magnet-form form::after{
  content:''; position:absolute; right:-70px; top:-70px; width:200px; height:200px; border-radius:50%;
  background:radial-gradient(circle,var(--c-accent2-22),transparent 70%); pointer-events:none;
}

/* fieldset reset + full-width wraps */
.ww-form-container-3 .fieldset{ border:0; margin:0; padding:0; position:relative; z-index:1; }
.ww-newsletter-registration .fieldset{ border:0; margin:18px 0 0; padding:0; position:relative; z-index:1; }
.ww-form-container-3 .fieldset > div,
.ww-newsletter-registration .fieldset > div{ width:100%; }
.ww-newsletter-registration div.form-container{ margin:0 auto; max-width:100%; width:100%; }

/* newsletter legend + lead-magnet heading/para (cream on dark) */
.ww-newsletter-registration legend{
  position:relative; z-index:1; font-family:var(--font-head); color:var(--c-light);
  font-size:23px; font-weight:600; margin:0 0 22px; padding:0 0 10px; width:auto;
}
.ww-newsletter-registration legend::after{
  content:''; position:absolute; left:0; bottom:0; width:34px; height:2px; background:var(--c-accent);
}
#lead-magnet-form form h2{
  position:relative; z-index:1; font-family:var(--font-head); color:var(--c-light);
  font-size:clamp(26px,3.4vw,34px); font-weight:600; line-height:1.22; margin:0 0 12px; text-wrap:balance;
}
#lead-magnet-form form > p{
  position:relative; z-index:1; font-family:var(--font-body); color:var(--c-light-88);
  font-size:16px; line-height:1.7; margin:0 auto 28px; max-width:100%;
}

/* field wraps */
.ww-form-container-3 .first_name_wrap,
.ww-form-container-3 .last_name_wrap,
.ww-form-container-3 .email_wrap,
.ww-form-container-3 .phone_wrap,
.ww-form-container-3 .field_33676_wrap,
.ww-newsletter-registration .first_name_wrap,
.ww-newsletter-registration .last_name_wrap,
.ww-newsletter-registration .email_wrap{ position:relative; z-index:1; margin:0 0 22px; width:100%; }
#lead-magnet-form .first_name_wrap,
#lead-magnet-form .email_wrap{ position:relative; z-index:1; text-align:left; margin:0 0 22px; }

/* labels (cream) */
.ww-form-container-3 label,
.ww-newsletter-registration .fieldset label,
#lead-magnet-form label{
  display:block; font-family:var(--font-util);
  font-size:12px; font-weight:500; letter-spacing:.14em; text-transform:uppercase;
  color:var(--c-light-88); margin:0 0 9px; transition:color .3s ease;
}
.ww-form-container-3 label .required,
.ww-newsletter-registration .fieldset label .required,
#lead-magnet-form label .required{ color:var(--c-accent); margin-left:3px; }
.ww-form-container-3 .fieldset > div:focus-within > label,
.ww-newsletter-registration .fieldset div:focus-within > label,
#lead-magnet-form .first_name_wrap:focus-within label,
#lead-magnet-form .email_wrap:focus-within label{ color:var(--c-accent); }

/* inputs + textarea (white on dark) */
.ww-form-container-3 .fieldset input.input,
.ww-form-container-3 .fieldset textarea.input,
.ww-newsletter-registration .fieldset input.input,
#lead-magnet-form .ww-form-container input.input{
  width:100%; background:var(--c-white); border:1px solid transparent; border-radius:var(--r-sm);
  padding:13px 16px; min-height:50px; height:auto; margin:0;
  font-family:var(--font-body); font-size:16px; color:var(--c-ink); box-shadow:none;
  transition:border-color .3s ease, box-shadow .3s ease;
}
.ww-form-container-3 .fieldset textarea.input{ min-height:120px; line-height:1.55; resize:vertical; }
.ww-form-container-3 .fieldset input.input:focus,
.ww-form-container-3 .fieldset textarea.input:focus,
.ww-newsletter-registration .fieldset input.input:focus,
#lead-magnet-form .ww-form-container input.input:focus{
  outline:0; border-color:var(--c-accent); box-shadow:0 0 0 3px var(--c-accent2-22);
}
.ww-form-container-3 input::placeholder,
.ww-form-container-3 textarea::placeholder,
.ww-newsletter-registration input::placeholder,
#lead-magnet-form input::placeholder{ color:var(--c-ink-2); opacity:.6; }

/* intl-tel phone (contact) */
.ww-form-container-3 .iti{ width:100%; }
.ww-form-container-3 .iti #mob_phone_phone_number_tel{
  width:100%; background:var(--c-white); border:1px solid transparent; border-radius:var(--r-sm); min-height:50px;
  font-family:var(--font-body); font-size:16px; color:var(--c-ink);
  transition:border-color .3s ease, box-shadow .3s ease;
}
.ww-form-container-3 .iti #mob_phone_phone_number_tel:focus{
  outline:0; border-color:var(--c-accent); box-shadow:0 0 0 3px var(--c-accent2-22);
}

/* newsletter opt-in checkbox (cream label) */
.ww-newsletter-registration .checkbox_wrap{ position:relative; z-index:1; margin:6px 0 20px; overflow:hidden; }
.ww-newsletter-registration .checkbox_wrap > p:empty{ display:none; margin:0; }
.ww-newsletter-registration .checkbox_wrap .float-left{ float:left; position:relative; z-index:1; }
.ww-newsletter-registration .checkbox_wrap label{
  display:inline-flex; align-items:center; gap:10px;
  font-family:var(--font-body); font-size:15px; color:var(--c-light-88);
  text-transform:none; letter-spacing:normal; cursor:pointer; margin:0;
}
.ww-newsletter-registration .checkbox_wrap input[type="checkbox"]{
  accent-color:var(--c-accent); width:18px; height:18px; margin:0; flex:0 0 auto; cursor:pointer;
}

/* errors + recaptcha (light error reads on dark) */
.ww-form-container-3 .error,
.ww-newsletter-registration .error,
#lead-magnet-form .ww-form-container .error{
  display:block; text-align:left; color:var(--c-error-2); font-family:var(--font-body); font-size:13px; margin-top:5px;
}
.ww-form-container-3 .captcha_wrap,
.ww-newsletter-registration .captcha_wrap,
#lead-magnet-form .captcha_wrap{ position:relative; z-index:1; margin:0; }
.ww-form-container-3 .recaptcha-block,
.ww-newsletter-registration .recaptcha-block,
#lead-magnet-form .recaptcha-block{ background:none; min-height:0; padding:0; margin:0; }

/* submit — gold gradient sweep (all forms) */
.ww-form-container-3 .submit_wrap,
.ww-newsletter-registration .submit_wrap,
#lead-magnet-form .submit_wrap{ position:relative; z-index:1; text-align:center; margin-top:8px; }
.ww-newsletter-registration .submit_wrap > label{ display:none; }
.ww-form-container-3 .submit_wrap input.button,
.ww-newsletter-registration .submit_wrap input.button,
#lead-magnet-form .submit_wrap input.button{
  display:inline-block; -webkit-appearance:none; appearance:none; cursor:pointer;
  font-family:var(--font-util); font-size:13px; font-weight:600; letter-spacing:.16em; text-transform:uppercase;
  color:var(--c-primary); border:0; border-radius:var(--r-sm); padding:16px 46px; min-width:210px; max-width:max-content; margin:0 !important;
  background:linear-gradient(120deg,var(--c-accent) 0%,var(--c-accent-2) 50%,var(--c-accent) 100%);
  background-size:220% 100%; background-position:0 0; box-shadow:var(--shadow-btn);
  transition:background-position .6s ease, transform .3s ease, box-shadow .3s ease, letter-spacing .3s ease;
}
.ww-form-container-3 .submit_wrap input.button:hover,
.ww-newsletter-registration .submit_wrap input.button:hover,
#lead-magnet-form .submit_wrap input.button:hover{
  background-position:100% 0; transform:translateY(-2px); box-shadow:var(--shadow-btn-hover); letter-spacing:.2em;
}
.ww-form-container-3 .submit_wrap input.button:active,
.ww-newsletter-registration .submit_wrap input.button:active,
#lead-magnet-form .submit_wrap input.button:active{ transform:translateY(0); }

/* entrance keyframe + stagger */
@keyframes pws-form-rise{ from{ opacity:0; transform:translateY(16px); } to{ opacity:1; transform:translateY(0); } }
.ww-form-container-3 .first_name_wrap{ animation:pws-form-rise .6s ease both; animation-delay:.05s; }
.ww-form-container-3 .last_name_wrap{ animation:pws-form-rise .6s ease both; animation-delay:.12s; }
.ww-form-container-3 .email_wrap{ animation:pws-form-rise .6s ease both; animation-delay:.19s; }
.ww-form-container-3 .phone_wrap{ animation:pws-form-rise .6s ease both; animation-delay:.26s; }
.ww-form-container-3 .field_33676_wrap{ animation:pws-form-rise .6s ease both; animation-delay:.33s; }
.ww-form-container-3 .submit_wrap{ animation:pws-form-rise .6s ease both; animation-delay:.4s; }
.ww-newsletter-registration legend{ animation:pws-form-rise .6s ease both; animation-delay:.05s; }
.ww-newsletter-registration .first_name_wrap{ animation:pws-form-rise .6s ease both; animation-delay:.12s; }
.ww-newsletter-registration .last_name_wrap{ animation:pws-form-rise .6s ease both; animation-delay:.19s; }
.ww-newsletter-registration .email_wrap{ animation:pws-form-rise .6s ease both; animation-delay:.26s; }
.ww-newsletter-registration .checkbox_wrap{ animation:pws-form-rise .6s ease both; animation-delay:.33s; }
.ww-newsletter-registration .submit_wrap{ animation:pws-form-rise .6s ease both; animation-delay:.4s; }
#lead-magnet-form form h2{ animation:pws-form-rise .6s ease both; animation-delay:.05s; }
#lead-magnet-form form > p{ animation:pws-form-rise .6s ease both; animation-delay:.12s; }
#lead-magnet-form .first_name_wrap{ animation:pws-form-rise .6s ease both; animation-delay:.19s; }
#lead-magnet-form .email_wrap{ animation:pws-form-rise .6s ease both; animation-delay:.26s; }
#lead-magnet-form .submit_wrap{ animation:pws-form-rise .6s ease both; animation-delay:.33s; }

@media all and (max-width:640px){
  .ww-newsletter-registration{ padding:30px 0; }
  .ww-form-container-3 form,
  .ww-newsletter-registration form,
  #lead-magnet-form form{ padding:30px 20px 26px; }
}
@media (prefers-reduced-motion:reduce){
  .ww-form-container-3 form, .ww-newsletter-registration form, #lead-magnet-form form,
  .ww-form-container-3 .first_name_wrap, .ww-form-container-3 .last_name_wrap, .ww-form-container-3 .email_wrap,
  .ww-form-container-3 .phone_wrap, .ww-form-container-3 .field_33676_wrap, .ww-form-container-3 .submit_wrap,
  .ww-newsletter-registration legend, .ww-newsletter-registration .first_name_wrap, .ww-newsletter-registration .last_name_wrap,
  .ww-newsletter-registration .email_wrap, .ww-newsletter-registration .checkbox_wrap, .ww-newsletter-registration .submit_wrap,
  #lead-magnet-form form h2, #lead-magnet-form form > p, #lead-magnet-form .first_name_wrap,
  #lead-magnet-form .email_wrap, #lead-magnet-form .submit_wrap{ animation:none; }
}


/* ============================================================
   POPUP CLOSE — Magnific Popup (.mfp-close) · branded gold circle
   ============================================================ */
.mfp-close,
a.mfp-close,
.mfp-close-btn-in .mfp-close{
  width:42px; height:42px; line-height:1;
  top:14px; right:14px; left:auto;
  display:flex; align-items:center; justify-content:center;
  padding:0; margin:0;
  font-family:var(--font-util); font-size:20px; font-weight:400;
  color:var(--c-primary); background:var(--c-accent);
  border:0; border-radius:var(--r-pill); box-shadow:var(--shadow-btn);
  opacity:1; text-decoration:none; cursor:pointer; overflow:hidden;
  transition:transform .35s ease, background .35s ease, color .35s ease, box-shadow .35s ease, opacity .35s ease;
}
.mfp-close:hover,
a.mfp-close:hover,
.mfp-close:focus,
a.mfp-close:focus,
.mfp-close-btn-in .mfp-close:hover{
  background:var(--c-primary); color:var(--c-light);
  transform:rotate(90deg); box-shadow:var(--shadow-btn-hover); opacity:1; text-decoration:none;
}
.mfp-close:active,
a.mfp-close:active{ transform:rotate(90deg) scale(.94); }


/* ============================================================
   LOGIN PAGE — Registered Users (.ps-login-page .new-website-login-form)
   unified dark-green / gold card · matches platform forms
   ============================================================ */
.ps-login-page{ font-family:var(--font-body); }

/* CARD — styled on inner wrap, never on the Foundation cell */
.ps-login-page .new-website-login-form .ps-login-form-wrap,
.ps-login-page .new-website-login-form .ps-forgot-password{
  position:relative; overflow:hidden; box-sizing:border-box; width:100%; max-width:460px; margin:0 auto; text-align:left;
  background:linear-gradient(135deg,var(--c-primary) 0%,var(--c-primary-dark) 100%);
  border-radius:var(--r-md); padding:46px 40px 40px; box-shadow:var(--shadow-2);
  color:var(--c-light); animation:pws-form-rise .7s var(--ease) both;
}
.ps-login-page .new-website-login-form .ps-login-form-wrap::before,
.ps-login-page .new-website-login-form .ps-forgot-password::before{
  content:''; position:absolute; top:0; left:0; right:0; height:4px; z-index:2;
  background:linear-gradient(90deg,var(--c-accent) 0%,var(--c-accent-2) 100%);
}
.ps-login-page .new-website-login-form .ps-login-form-wrap::after,
.ps-login-page .new-website-login-form .ps-forgot-password::after{
  content:''; position:absolute; top:-70px; right:-70px; width:200px; height:200px; border-radius:50%;
  background:radial-gradient(circle,var(--c-accent2-22) 0%,transparent 70%); pointer-events:none; z-index:0;
}

/* heading */
.ps-login-page .new-website-login-form h4{
  position:relative; z-index:1; margin:0 0 26px;
  font-family:var(--font-head); color:var(--c-light); font-weight:600;
  font-size:clamp(28px,3.4vw,38px); line-height:1.15;
}
.ps-login-page .new-website-login-form h4::after{
  content:''; display:block; width:46px; height:2px; margin-top:14px; background:var(--c-accent);
}

/* form + field wraps */
.ps-login-page .new-website-login-form form.settings{ position:relative; z-index:1; margin:0; }
.ps-login-page .new-website-login-form form.settings > div{ margin:0 0 20px; position:relative; }

/* labels */
.ps-login-page .new-website-login-form form.settings label{
  display:block; margin:0 0 9px;
  font-family:var(--font-util); font-weight:600; text-transform:uppercase;
  font-size:12px; letter-spacing:.12em; color:var(--c-light-88);
}
.ps-login-page .new-website-login-form form.settings label .error{ color:var(--c-accent); margin-left:2px; }

/* inputs */
.ps-login-page .new-website-login-form form.settings input[type="email"],
.ps-login-page .new-website-login-form form.settings input[type="text"],
.ps-login-page .new-website-login-form form.settings input[type="password"],
.ps-login-page .new-website-login-form form.settings input.ps-text{
  width:100%; height:auto; min-height:50px; margin:0;
  background:var(--c-white); color:var(--c-ink);
  border:1px solid transparent; border-radius:var(--r-sm);
  padding:13px 16px; font-family:var(--font-body); font-size:16px; line-height:1.4;
  -webkit-appearance:none; appearance:none; box-shadow:none;
  transition:border-color var(--ease), box-shadow var(--ease);
}
.ps-login-page .new-website-login-form form.settings input::placeholder{ color:var(--c-ink-2); opacity:.6; }
.ps-login-page .new-website-login-form form.settings input[type="email"]:focus,
.ps-login-page .new-website-login-form form.settings input[type="text"]:focus,
.ps-login-page .new-website-login-form form.settings input[type="password"]:focus,
.ps-login-page .new-website-login-form form.settings input.ps-text:focus{
  outline:0; border-color:var(--c-accent); box-shadow:0 0 0 3px var(--c-accent2-22);
}

/* password show/hide eye over white field */
.ps-login-page .new-website-login-form .password-container{ position:relative; }
.ps-login-page .new-website-login-form .toggle-password{
  color:var(--c-ink-2); cursor:pointer; transition:color var(--ease);
}
.ps-login-page .new-website-login-form .toggle-password:hover{ color:var(--c-accent); }

/* helper / forgot paragraphs */
.ps-login-page .new-website-login-form form.settings > div p,
.ps-login-page .new-website-login-form .ps-login-form-wrap > p{
  font-family:var(--font-util); font-size:13px; color:var(--c-light-88); margin:9px 0 0;
}
.ps-login-page .new-website-login-form .ps-login-form-wrap > p{ position:relative; z-index:1; margin:18px 0 0; }
.ps-login-page .new-website-login-form .ps-login-form-wrap > p a{
  color:var(--c-accent); font-weight:600; text-decoration:none;
  border-bottom:1px solid var(--c-accent2-40); transition:color var(--ease), border-color var(--ease);
}
.ps-login-page .new-website-login-form .ps-login-form-wrap > p a:hover{ color:var(--c-accent-2); border-color:var(--c-accent-2); }

/* gold hairline divider */
.ps-login-page .new-website-login-form .ps-separator{
  position:relative; z-index:1; width:100%; border-top:1px solid var(--c-accent2-22); margin:28px 0 22px;
}

/* sign-up block */
.ps-login-page .new-website-login-form .signup-container{ position:relative; z-index:1; text-align:center; }
.ps-login-page .new-website-login-form .signup-container > p{
  font-family:var(--font-util); font-size:13px; letter-spacing:.04em; text-transform:uppercase;
  color:var(--c-light-88); margin:0 0 12px;
}

/* PRIMARY — Login (gold sweep, full width) */
.ps-login-page .new-website-login-form form.settings .button{
  display:block; width:100% !important; height:auto !important; min-height:54px;
  margin:6px 0 0 !important; padding:15px 28px !important;
  -webkit-appearance:none; appearance:none; cursor:pointer;
  font-family:var(--font-util); font-size:13px !important; font-weight:600; letter-spacing:.16em; text-transform:uppercase;
  color:var(--c-primary); border:0; border-radius:var(--r-sm) !important;
  background:linear-gradient(120deg,var(--c-accent) 0%,var(--c-accent-2) 50%,var(--c-accent) 100%);
  background-size:220% 100%; background-position:0 0; box-shadow:var(--shadow-btn);
  transition:background-position .6s ease, transform .3s ease, box-shadow .3s ease, letter-spacing .3s ease;
}
.ps-login-page .new-website-login-form form.settings .button:hover{
  background-position:100% 0; transform:translateY(-2px); box-shadow:var(--shadow-btn-hover); letter-spacing:.2em; outline:0;
}
.ps-login-page .new-website-login-form form.settings .button:active{ transform:translateY(0); }

/* SECONDARY — Register (gold outline → fill) */
.ps-login-page .new-website-login-form .signup-container .button{
  display:inline-block; width:100% !important; height:auto !important; min-height:52px;
  margin:0 !important; padding:14px 28px !important;
  font-family:var(--font-util); font-size:12px !important; font-weight:600; letter-spacing:.16em; text-transform:uppercase;
  color:var(--c-light); background:transparent; cursor:pointer;
  border:1px solid var(--c-accent2-40) !important; border-radius:var(--r-sm) !important;
  box-shadow:none; transition:background var(--ease), color var(--ease), border-color var(--ease), transform var(--ease);
}
.ps-login-page .new-website-login-form .signup-container .button:hover{
  background:var(--c-accent); color:var(--c-primary); border-color:var(--c-accent) !important; transform:translateY(-2px); outline:0;
}

@media all and (max-width:640px){
  .ps-login-page .new-website-login-form .ps-login-form-wrap,
  .ps-login-page .new-website-login-form .ps-forgot-password{ padding:32px 22px 28px; }
}

/* ---- Forgot Password extras (.ps-forgot-password) ---- */
.ps-login-page .new-website-login-form .forgot-password-title{ position:relative; z-index:1; }
.ps-login-page .new-website-login-form .ps-forgot-password form.settings > p{
  position:relative; z-index:1; margin:0 0 22px; line-height:1.6;
  font-family:var(--font-util); font-size:14px; color:var(--c-light-88);
}
.ps-login-page .new-website-login-form form.settings > div:empty{ margin:0; }
.ps-login-page .new-website-login-form form.settings > div:has(> .error:empty:only-child){ margin:0; }
.ps-login-page .new-website-login-form form.settings > div > .error:empty{ display:none; }
.ps-login-page .new-website-login-form form.settings > div > .error{
  font-family:var(--font-util); font-size:13px; color:var(--c-error-2);
}
.ps-login-page .new-website-login-form .ps-forgot-password form.settings .button{ margin-top:16px !important; }


/* ============================================================
   BACK-TO-TOP — .back-to-top-button · gold circle, float + halo anim
   ============================================================ */
.back-to-top-button,
a.back-to-top-button{
  right:28px; bottom:137px; z-index:990;
  display:flex; align-items:center; justify-content:center;
  width:52px; height:52px; border-radius:var(--r-pill);
  background:linear-gradient(135deg,var(--c-accent) 0%,var(--c-accent-2) 100%);
  color:var(--c-primary); text-decoration:none; cursor:pointer; overflow:visible;
  box-shadow:var(--shadow-btn);
  animation:pws-btt-in .45s var(--ease);
  transition:transform .35s var(--ease), background .35s var(--ease), color .35s var(--ease), box-shadow .35s var(--ease);
}
/* soft attention halo */
.back-to-top-button::before{
  content:''; position:absolute; inset:0; border-radius:inherit; z-index:-1;
  box-shadow:0 0 0 0 var(--c-accent2-40); animation:pws-btt-halo 2.6s ease-out infinite;
}
.back-to-top-button:hover,
a.back-to-top-button:hover,
.back-to-top-button:focus,
a.back-to-top-button:focus{
  background:linear-gradient(135deg,var(--c-primary) 0%,var(--c-primary-dark) 100%);
  color:var(--c-light); text-decoration:none;
  transform:translateY(-5px) scale(1.06); box-shadow:var(--shadow-btn-hover); outline:0;
}
.back-to-top-button:active{ transform:translateY(-1px) scale(.98); }
.back-to-top-button:focus-visible{ outline:2px solid var(--c-accent); outline-offset:3px; }

/* icon — kill FA border/float, fixed size, idle bob (rotate kept in keyframe) */
.back-to-top-button i{
  margin:0 !important; padding:0 !important; border:0 !important; float:none !important;
  line-height:1; color:inherit; font-size:18px;
  animation:pws-btt-bob 1.8s ease-in-out infinite;
}
.back-to-top-button:hover i{ animation-play-state:paused; }

@keyframes pws-btt-in{ from{ opacity:0; transform:translateY(14px) scale(.85); } to{ opacity:1; transform:translateY(0) scale(1); } }
@keyframes pws-btt-bob{ 0%,100%{ transform:translateY(0) rotate(270deg); } 50%{ transform:translateY(-3px) rotate(270deg); } }
@keyframes pws-btt-halo{ 0%{ box-shadow:0 0 0 0 var(--c-accent2-40); } 70%{ box-shadow:0 0 0 12px transparent; } 100%{ box-shadow:0 0 0 0 transparent; } }

@media (prefers-reduced-motion:reduce){
  .back-to-top-button, .back-to-top-button i, .back-to-top-button::before{ animation:none !important; }
}
@media all and (max-width:640px){
  .back-to-top-button, a.back-to-top-button{ right:16px; bottom:16px; width:46px; height:46px; }
  .back-to-top-button i{ font-size:16px; }
}

/* ============================================================
   WEBWARE BASE site.css (existing utilities — unchanged below)
   ============================================================ */

/* [BASE site.css continues unchanged below] */




/**** Gallery pg ***********/
/* Container styling keeping in line with the hub's minimalist layout */
.wellness-gallery-coming-soon {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 65vh;
  padding: 60px 20px;
  background: var(--c-tint); 
  text-align: center;
}

.gallery-cs-container {
  max-width: 680px;
  width: 100%;
  padding: 20px;
}

/* Accent text mapping to the branding's subheadings */
.gallery-cs-tagline {
  display: block;
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 16px;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: #7a7a7a; 
  margin-bottom: 12px;
}

/* Header font utilizing the brand's serif family */
.gallery-cs-title {
  font-family: var(--font-head);;
  font-weight: 400;
  font-size: var(--fs-h1);
  color: var(--c-ink); 
  margin: 0 0 20px 0;
      line-height: 1.05;
}

/* The signature thin divider line using the theme background token for harmony */
.gallery-cs-divider {
  width: 80px;
  height: 1px;
  background: var(--btn-bg);
  margin: 0 auto 24px auto;
}

/* Soft body content framework */
.gallery-cs-description {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 19px;
  line-height: 1.8;
  color: #4a4a4a; 
  margin-bottom: 35px;
}

/* Action block aligned with standard site conversions */
.gallery-cs-actions {
  display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap;
}

.gallery-cs-btn {
      display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-util);
    font-size: 13px;
    font-weight: 500;
    letter-spacing: .16em;
    text-transform: uppercase;
    line-height: 1.2;
    white-space: nowrap;
    padding: 14px 26px;
    border-radius: var(--r-sm);
    border: 1px solid var(--btn-bg);
    background: var(--btn-bg);
    color: var(--btn-text);
    box-shadow: var(--shadow-btn);
    cursor: pointer;
    text-decoration: none;
    transition: background var(--ease), color var(--ease), border-color var(--ease), transform var(--ease), box-shadow var(--ease);
}


/* Secondary Button - Transparent background with matching theme border */
.gallery-cs-btn.secondary {
  background-color: transparent;
  color: #333333;
  border: 1px solid #333333;
}

.gallery-cs-btn.secondary:hover {
  background: var(--btn-bg);
  color: #ffffff;
  border-color: transparent;
}

/* Responsive adjustments for mobile viewports */
@media (max-width: 480px) {
  .gallery-cs-title {
    font-size: 32px;
  }
  .gallery-cs-actions {
    flex-direction: column;
    gap: 12px;
  }
  .gallery-cs-btn {
    width: 100%;
    box-sizing: border-box;
  }
}
/**********/


@media (min-width: 375px) and (max-width: 1023.5px) {
    .pws-eyebrow--light .caption-text {
    color: #1d3a26;
}   
}
