/**
Theme Name: Souldemy Astra Child
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.8
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: souldemy-astra-child
Template: astra
*/

/* ===================================================================
   SOULDEMY × ASTRA  —  brand overrides
   Paste into:  Appearance → Customize → Additional CSS
   =================================================================== */

:root{
  --sd-bone:#F8F3E8;      --sd-parchment:#EDE1CC;   --sd-parch-50:#FCFAF4;
  --sd-limestone:#D9CDB9; --sd-border-soft:#E3DAC8; --sd-border-strong:#C3B79F;
  --sd-indigo:#17243A;    --sd-indigo-700:#1E314B;
  --sd-gold:#C99A38;      --sd-gold-sun:#E2BD62;    --sd-gold-bronze:#936A26;
  --sd-oxide:#9A4D3F;     --sd-sage:#5E7A52;        --sd-blue:#507A91;
  --sd-ink:#18202B;       --sd-body:#2C3340;        --sd-muted:#6A6655;
  --sd-on-dark:#F8F3E8;   --sd-on-dark-muted:#A9B4C4;
}

/* ---- Typography: apply the brand families (belt & braces with §02) ---- */
body, button, input, select, textarea,
.main-header-menu .menu-link, .ast-builder-menu-1 .menu-link{
  font-family:"Instrument Sans",sans-serif;
}
h1,h2,h3,h4,.entry-title,.entry-title a,
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-family:"DM Serif Display",Georgia,serif; font-weight:400;
}
blockquote,.wp-block-quote{ font-family:"Instrument Serif",Georgia,serif; font-style:italic; }

/* ---- Ground & rendering ---- */
body{ -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }
::selection{ background:var(--sd-gold-sun); color:var(--sd-ink); }

/* ---- Links: gilded underline, generous offset ---- */
a{ text-underline-offset:3px; text-decoration-thickness:1px; }
.entry-content a:hover, .site-content a:hover{ text-decoration:underline; }

/* ---- Focus: a soft gold ring, never a harsh blue outline ---- */
a:focus-visible, button:focus-visible, .ast-button:focus-visible,
input:focus-visible, select:focus-visible, textarea:focus-visible{
  outline:none; box-shadow:0 0 0 3px rgba(201,154,56,.55);
}

/* ---- Header: a gilded hairline under the bar ---- */
.ast-primary-header-bar, .main-header-bar{ border-bottom:0 !important; }
/* .site-header{ box-shadow:0 1px 0 rgba(201,154,56,.45); } */
/* ---- Primary nav: every link rests the same (active not highlighted) ---- */
.main-header-menu .menu-link, .ast-builder-menu-1 .menu-link,
.main-header-menu .current-menu-item > .menu-link,
.ast-builder-menu-1 .current-menu-item > .menu-link{
  color:var(--sd-body) !important; letter-spacing:.04em; font-weight:600;
}
/* underline + bronze on hover / focus only */
.main-header-menu .menu-link:hover, .main-header-menu .menu-item:hover > .menu-link,
.ast-builder-menu-1 .menu-link:hover, .ast-builder-menu-1 .menu-item:hover > .menu-link{
  color:var(--sd-gold-bronze) !important;
  text-decoration:underline !important; text-underline-offset:6px;
}

/* ---- Buttons: brand colour + radius, applied cooperatively so the
   builder keeps its own layout. Hover only changes colour; the
   builder's scale / slide motion is quieted ---- */
.wp-block-button__link, .wp-element-button, .ast-button, .ast-custom-button,
.button, button.button, input[type=submit], input[type=button],
.uagb-buttons-repeater .uagb-button__link, .elementor-button,
.woocommerce a.button, .woocommerce button.button, .woocommerce .button.alt{
  color:var(--sd-on-dark) !important; background:var(--sd-indigo) !important;
  border:1px solid transparent !important; border-radius:6px !important;
  padding:14px 24px !important;
  font:600 15px/1.2 "Instrument Sans",sans-serif !important; letter-spacing:.01em;
  text-transform:none !important; text-decoration:none !important;
  box-shadow:0 1px 2px rgba(35,28,16,.06) !important;
  transition:background .24s ease, color .24s ease, border-color .24s ease, box-shadow .24s ease !important;
}
.wp-block-button__link:hover, .wp-element-button:hover, .ast-button:hover,
.button:hover, .uagb-buttons-repeater .uagb-button__link:hover,
.elementor-button:hover, .woocommerce a.button:hover{
  background:var(--sd-indigo-700) !important; border-color:var(--sd-gold) !important;
  box-shadow:0 8px 24px -8px rgba(35,28,16,.18) !important;
  transform:none !important; animation:none !important;
}

/* Strip the builder's WRAPPER paint — no box-in-a-box. Spectra/Elementor
   wrap the link in extra divs with their own bg / border / padding ---- */
.uagb-buttons-repeater, .wp-block-uagb-buttons-child, .uagb-button__wrapper,
.elementor-button-wrapper, .wp-block-button{
  background:transparent !important; border:0 !important;
  box-shadow:none !important; padding:0 !important;
}

/* Gold CTA — sd-gold works on the button OR its wrapper (no two-tone) */
a.sd-gold, button.sd-gold,
.sd-gold.wp-block-button__link, .sd-gold.uagb-button__link, .sd-gold.elementor-button,
.sd-gold .wp-block-button__link, .sd-gold .uagb-button__link, .sd-gold .elementor-button{
  background:var(--sd-gold-sun) !important; color:var(--sd-ink) !important;
  font-weight:700 !important; border-color:transparent !important;
}
a.sd-gold:hover, .sd-gold .wp-block-button__link:hover,
.sd-gold .uagb-button__link:hover, .sd-gold .elementor-button:hover{
  background:var(--sd-gold) !important;
}

/* Outline secondary — core "Outline" style, or add  sd-outline */
a.sd-outline, .is-style-outline .wp-block-button__link, .ast-outline-button,
.sd-outline.wp-block-button__link, .sd-outline.uagb-button__link, .sd-outline.elementor-button,
.sd-outline .wp-block-button__link, .sd-outline .uagb-button__link, .sd-outline .elementor-button{
  background:transparent !important; color:var(--sd-ink) !important;
  border:1px solid var(--sd-border-strong) !important; box-shadow:none !important;
}
a.sd-outline:hover, .is-style-outline .wp-block-button__link:hover,
.sd-outline .wp-block-button__link:hover, .sd-outline .uagb-button__link:hover{
  background:var(--sd-parchment) !important; border-color:var(--sd-gold) !important;
}

/* Large hero size — add  sd-lg */
a.sd-lg, .sd-lg.wp-block-button__link, .sd-lg.elementor-button,
.sd-lg .wp-block-button__link, .sd-lg .uagb-button__link, .sd-lg .elementor-button{
  padding:18px 30px !important; font-size:16px !important;
}

/* ---- Forms & inputs ---- */
input[type=text],input[type=email],input[type=url],input[type=password],
input[type=search],input[type=tel],input[type=number],textarea,select,
.woocommerce form .form-row input.input-text, .select2-container .select2-selection{
  background:var(--sd-parch-50) !important;
  border:1px solid var(--sd-limestone) !important;
  border-radius:6px !important; color:var(--sd-body) !important;
  padding:11px 14px !important; box-shadow:inset 0 1px 2px rgba(35,28,16,.06);
}
input:focus,textarea:focus,select:focus{ border-color:var(--sd-gold) !important; }
label{ font-weight:600; color:var(--sd-ink); }

/* ---- WooCommerce: product cards ---- */
.woocommerce ul.products li.product{
  background:#fff; border:1px solid var(--sd-border-soft); border-radius:16px;
  padding:14px 14px 18px; box-shadow:0 2px 6px rgba(35,28,16,.07);
  transition:transform .24s, box-shadow .24s, border-color .24s;
}
.woocommerce ul.products li.product:hover{
  transform:translateY(-2px); border-color:var(--sd-border-strong);
  box-shadow:0 12px 28px -10px rgba(35,28,16,.16);
}
.woocommerce ul.products li.product img{ border-radius:10px; margin-bottom:14px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-family:"DM Serif Display",Georgia,serif; font-weight:400;
  color:var(--sd-ink); font-size:21px; line-height:1.2;
}
.woocommerce .price{ color:var(--sd-ink); font-weight:600; }
.woocommerce .price del{ color:var(--sd-muted); font-weight:400; opacity:1; }
.woocommerce .price ins{ color:var(--sd-oxide); text-decoration:none; }

/* ---- Sale badge: an oxide pill, not a red circle ---- */
.woocommerce span.onsale{
  background:var(--sd-oxide); color:var(--sd-bone);
  border-radius:999px; min-height:0; min-width:0; line-height:1;
  padding:6px 13px; font-family:"Instrument Sans",sans-serif;
  font-weight:600; font-size:11px; letter-spacing:.09em; text-transform:uppercase;
}

/* ---- Stars + tinted notices (no left bar) ---- */
.woocommerce .star-rating span::before, .woocommerce p.stars a::before{ color:var(--sd-gold); }
.woocommerce-message, .woocommerce-info, .woocommerce-error{
  border-top:0 !important; border-radius:10px; padding:14px 18px; color:var(--sd-ink);
}
.woocommerce-message{ background:#E8EDE3; }
.woocommerce-info{    background:#E6EDEF; }
.woocommerce-error{   background:#F1E3DE; }

/* ---- Footer: indigo ground, gilded top line, gold link hover ---- */
.site-footer{ position:relative; }
.site-footer::before{
  content:""; position:absolute; inset:0 0 auto 0; height:1px;
  background:linear-gradient(90deg,transparent,var(--sd-gold) 18%,var(--sd-gold) 82%,transparent);
  opacity:.5;
}
.site-footer .widget-title{
  font-family:"Instrument Sans",sans-serif; text-transform:uppercase;
  letter-spacing:.12em; font-size:13px; color:var(--sd-on-dark);
}
.site-footer a{ color:var(--sd-on-dark-muted); }
.site-footer a:hover{ color:var(--sd-gold-sun); }

/* ---- Blog: soft-cornered images, tracked meta ---- */
.blog .wp-post-image, .single .post-thumb .wp-post-image{ border-radius:16px; }
.ast-blog-meta-container, .entry-meta{
  font-size:13px; letter-spacing:.04em; text-transform:uppercase; color:var(--sd-muted);
}


/* =========================================================
   SOULDEMY HERO — hardened (core OR Spectra/UAGB blocks)
   Add to: Customize → Additional CSS (alongside
   souldemy-astra.css). No wrapper class needed; targets the
   block class directly + its inner text, with !important to
   beat Astra/Spectra. Buttons still use .sd-gold/.sd-outline/.sd-lg.
   ========================================================= */

/* Optional: constrain the column (Group → souldemy-hero) */
.souldemy-hero{ max-width:620px; }

/* Eyebrow + gilded hairline — class on a Paragraph/Heading */
.sd-eyebrow-line{
  display:flex !important; align-items:center; gap:14px;
  margin:0 0 26px !important;
}
.sd-eyebrow-line,
.sd-eyebrow-line .uagb-heading-text,
.sd-eyebrow-line .wp-block-heading,
.sd-eyebrow-line p{
  font-family:"Instrument Sans",sans-serif !important;
  font-size:12px !important; font-weight:600 !important;
  letter-spacing:.2em !important; text-transform:uppercase !important;
  color:#936A26 !important;            /* bronze ochre */
}
.sd-eyebrow-line::after{
  content:""; flex:1 1 auto; height:1px; opacity:.5;
  background:linear-gradient(90deg,#C99A38,transparent); /* gold */
}

/* Headline (Heading H1) — Shift+Enter for the 3 lines */
.sd-display,
.sd-display .uagb-heading-text,
.sd-display .wp-block-heading{
  font-family:"DM Serif Display",Georgia,serif !important;
  font-weight:400 !important; font-size:clamp(40px,6vw,76px) !important;
  line-height:1.04 !important; letter-spacing:-.015em !important;
  color:#18202B !important; margin:0 0 24px !important;
}

/* Lede (Paragraph) */
.sd-lede,
.sd-lede .uagb-heading-text,
.sd-lede p{
  font-size:19px !important; line-height:1.62 !important;
  color:#6A6655 !important; margin:0 0 16px !important;
}
.sd-lede{ max-width:600px; }

/* Italic gold line (Paragraph) — needs Instrument Serif loaded */
.sd-authority,
.sd-authority .uagb-heading-text,
.sd-authority .wp-block-heading,
.sd-authority p{
  font-family:"Instrument Serif",Georgia,serif !important;
  font-style:italic !important; font-size:18px !important;
  color:#936A26 !important; margin:0 0 30px !important;
}

/* =====================================================================
   SOULDEMY — card styles for Astra / Spectra patterns
   ---------------------------------------------------------------------
   ===================================================================== */

.souldemy{
  --sd-bone:#F8F3E8;      --sd-parchment:#EDE1CC;  --sd-limestone:#D9CDB9;
  --sd-indigo:#17243A;    --sd-indigo-700:#1E314B;
  --sd-gold:#C99A38;      --sd-sun-gold:#E2BD62;   --sd-bronze:#936A26;
  --sd-ink:#18202B;       --sd-body:#2C3340;       --sd-muted:#6A6655;  --sd-faint:#94907F;
  --sd-card:#FFFFFF;      --sd-sunken:#EDE1CC;
  --sd-border-soft:#E3DAC8; --sd-border:#D9CDB9;   --sd-border-strong:#C3B79F;
  --sd-border-on-dark:rgba(248,243,232,.16);        --sd-on-dark-muted:#A9B4C4;
  --sd-positive:#5E7A52;    --sd-oxide:#9A4D3F;

  --sd-font-display:"DM Serif Display",Georgia,serif;
  --sd-font-serif:"Instrument Serif","DM Serif Display",Georgia,serif;
  --sd-font-sans:"Instrument Sans","Helvetica Neue",Arial,sans-serif;

  --sd-shadow-sm:0 2px 6px rgba(35,28,16,.07);
  --sd-shadow-md:0 8px 24px -8px rgba(35,28,16,.14);
  --sd-shadow-lg:0 22px 60px -24px rgba(35,28,16,.30);
  --sd-glow-gold:0 0 0 1px rgba(201,154,56,.35), 0 10px 40px -12px rgba(201,154,56,.45);

  /* ---- Layout rhythm (single source of truth for alignment) --------
     --sd-max  = the content column width. Set this to your Astra
                 "Content Width" so section content lines up EXACTLY with
                 the header logo (Astra default is 1200px).
     --sd-gutter = side breathing room once the viewport gets narrow.
     --sd-py   = the shared top/bottom padding every section uses. */
  --sd-max:1200px;
  --sd-gutter:24px;
  --sd-py:clamp(56px,8vw,104px);

  font-family:var(--sd-font-sans);
  color:var(--sd-body);
}
.souldemy *{ box-sizing:border-box; }

/* Neutralise WordPress' flow-layout sibling margins so our own
   gaps + margins govern spacing (harmless if never added). */
.souldemy.is-layout-flow > * + *,
.souldemy .is-layout-flow > * + *,
.souldemy.is-layout-constrained > * + *,
.souldemy .is-layout-constrained > * + *{ margin-block-start:0; }

/* =====================================================================
   SHARED — surfaces, rules, layout, media, buttons, text, eyebrows
   ===================================================================== */

/* ---- Card shell ---------------------------------------------------- */
.souldemy .sd-card,
.souldemy.sd-card{
  background:var(--sd-card);
  border:1px solid var(--sd-border-soft);
  border-radius:16px;
  box-shadow:var(--sd-shadow-sm);
}

/* ---- Gilded hairline rule (the "Map" motif) ------------------------ */
.souldemy hr.sd-rule{
  border:0;
  height:1px;
  width:100%;
  max-width:none;
  margin:6px 0;
  background:linear-gradient(90deg,transparent,var(--sd-gold) 18%,var(--sd-gold) 82%,transparent);
  opacity:.55;
}
.souldemy hr.sd-rule.is-short{ max-width:46px; margin:0; height:2px; opacity:1; background:var(--sd-gold); border-radius:2px; }

/* ---- Two-column split (stacks on mobile) --------------------------- */
.souldemy .sd-split{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(32px,5vw,64px);
  align-items:center;
}
.souldemy .sd-split > *{ min-width:0; }
.souldemy .sd-split.is-copy-wide{ grid-template-columns:1.1fr .9fr; }
.souldemy .sd-split.is-media-wide{ grid-template-columns:.85fr 1.15fr; }
@media (max-width:900px){
  /* Stack EVERY split. The is-copy-wide / is-media-wide modifiers carry
     higher specificity than a bare .sd-split, so they MUST be named here
     — otherwise they keep their two-column ratio and merely shrink on a
     phone (this was the hero / meet / why / early / note / proof bug). */
  .souldemy .sd-split,
  .souldemy .sd-split.is-copy-wide,
  .souldemy .sd-split.is-media-wide{ grid-template-columns:1fr; }
  /* Image rides to the top of the stack; a non-image right column
     (e.g. the "why a membership" card) naturally falls to the bottom. */
  .souldemy .sd-split .sd-media{ order:-1; }
}

/* Stacked column of copy inside a split (eyebrow, heading, body …) */
.souldemy .sd-copy{
  display:flex; flex-direction:column;
  gap:0; align-items:stretch;
}
.souldemy .sd-copy > *{ margin:0; min-width:0; }

/* ---- Section: a centered column that matches the site header ---------
   The max-width column IS the alignment. With no side padding of its own,
   section content lines up flush with the header/logo. A gutter kicks in
   only below the column width so phones don't touch the screen edge.
   Set --sd-max to your Astra "Content Width". Need side padding on one
   specific band? Add it on that block in WordPress. */
.souldemy.sd-section{
  max-width:var(--sd-max); margin-inline:auto;
  padding-block:var(--sd-py); padding-inline:0;
}
@media (max-width:1240px){
  .souldemy.sd-section{ padding-inline:clamp(16px,4vw,28px); }
}

/* ---- Full-bleed background band (the parent you add for bg colour) --
   Forces the wrapping group to impose NO width limit and NO side
   padding, and neutralises WordPress' "constrained" content-width clamp,
   so the inner .sd-section alone decides alignment. Background + (if you
   must) extra top/bottom breathing room go here; horizontal never. */
.souldemy.sd-band,
.souldemy .sd-band{
  width:100%;
  max-width:none !important;
  margin-inline:0 !important;
  padding-inline:0 !important;
}
/* If the band group uses WordPress' "constrained" layout it clamps its
   children to the theme content-width via a 0-specificity :where() rule.
   Unset that VARIABLE — do NOT force max-width:none on the children, which
   would also strip .sd-section's own 1200px cap and let sections sprawl
   edge-to-edge. Flow layout adds no clamp, so nothing is needed there. */
.souldemy.sd-band.is-layout-constrained,
.souldemy .sd-band.is-layout-constrained{ --wp--style--global--content-size:none; }

/* ---- Image blocks the editor fills --------------------------------- */
.souldemy .sd-media{ margin:0; }
.souldemy .sd-media img{
  display:block; width:100%; height:auto;
  border-radius:16px;
}
.souldemy .sd-media.is-framed img{
  border-radius:20px;   /* border + drop-shadow removed per brand — clean images */
}
.souldemy .sd-media.is-portrait img{ aspect-ratio:5 / 6; object-fit:cover; }

/* ---- Narrow reading column ----------------------------------------- */
.souldemy .sd-narrow{ max-width:780px; }

/* ---- Buttons (native core buttons, brand colours) ------------------ */
.souldemy .sd-btn-row{
  display:flex; flex-wrap:wrap; gap:14px; align-items:center;
}
.souldemy .wp-block-button__link{
  display:inline-flex; align-items:center; justify-content:center;
  height:54px; padding:0 30px; border-radius:8px;
  font-family:var(--sd-font-sans); font-size:1rem; font-weight:600;
  text-decoration:none; border:1px solid transparent; line-height:1;
}
/* !important + a.wp-block-button__link raise specificity so these win over
   Astra's own button colours (which otherwise fill the background). */
.souldemy .sd-btn-indigo .wp-block-button__link,
.souldemy .sd-btn-indigo a.wp-block-button__link{
  background:var(--sd-indigo,#17243A) !important;
  color:var(--sd-bone,#F8F3E8) !important;
  border-color:var(--sd-indigo,#17243A) !important;
}
.souldemy .sd-btn-gold .wp-block-button__link,
.souldemy .sd-btn-gold a.wp-block-button__link{
  background:var(--sd-sun-gold,#E2BD62) !important;
  color:var(--sd-ink,#18202B) !important;
  border-color:var(--sd-sun-gold,#E2BD62) !important;
}
.souldemy .sd-btn-ghost .wp-block-button__link,
.souldemy .sd-btn-ghost a.wp-block-button__link{
  background:transparent !important;
  color:var(--sd-ink,#18202B) !important;
  border-color:var(--sd-border-strong,#C3B79F) !important;
}
.souldemy .sd-btn-ghost-light .wp-block-button__link,
.souldemy .sd-btn-ghost-light a.wp-block-button__link{
  background:transparent !important;
  color:var(--sd-bone,#F8F3E8) !important;
  border-color:rgba(248,243,232,.35) !important;
}

/* ---- Text helpers -------------------------------------------------- */
.souldemy .sd-title{
  font-family:var(--sd-font-display); font-weight:400;
  font-size:clamp(1.9rem,4vw,3rem); line-height:1.05;
  letter-spacing:-.015em; color:var(--sd-ink); margin:0;
}
.souldemy .sd-lead{
  font-size:clamp(1.05rem,1.5vw,1.2rem); line-height:1.62;
  color:var(--sd-muted); margin:0;
}
.souldemy .sd-body{
  font-size:1.06rem; line-height:1.62; color:var(--sd-body); margin:0;
}
.souldemy .sd-body strong{ color:var(--sd-ink); font-weight:600; }
.souldemy .sd-accent{
  font-family:var(--sd-font-serif); font-style:italic;
  font-size:clamp(1.35rem,2.3vw,1.85rem); line-height:1.26;
  color:var(--sd-gold); margin:0;
}
.souldemy .sd-note{ font-size:.9rem; color:var(--sd-muted); margin:0; letter-spacing:.01em; }

/* ---- Eyebrow (tracked small-caps label with gilded rules) ---------- */
.souldemy .sd-eyebrow-line{
  display:flex; align-items:center; gap:14px;
  width:100%;   /* span the full column so it centers correctly inside a
                   flex section-head (align-items:center would otherwise
                   shrink it to its text width and it stops looking centered) */
  font-family:var(--sd-font-sans); font-size:12px; font-weight:600;
  letter-spacing:.16em; text-transform:uppercase;
  color:var(--sd-bronze); margin:0;
}
.souldemy .sd-eyebrow-center{ justify-content:center; text-align:center; }
.souldemy .sd-eyebrow-center::before,
.souldemy .sd-eyebrow-center::after{ content:""; height:1px; flex:1 1 auto; max-width:120px; }
.souldemy .sd-eyebrow-center::before{ background:linear-gradient(90deg,transparent,var(--sd-gold)); }
.souldemy .sd-eyebrow-center::after{ background:linear-gradient(90deg,var(--sd-gold),transparent); }
.souldemy .sd-eyebrow-after::after{
  content:""; height:1px; flex:1 1 auto; max-width:110px;
  background:linear-gradient(90deg,var(--sd-gold),transparent);
}

/* ---- Section header (eyebrow + heading + intro) -------------------- */
.souldemy.sd-section-head,
.souldemy .sd-section-head{
  max-width:720px; margin:0 auto clamp(40px,5vw,56px);
  display:flex; flex-direction:column; align-items:center;
  gap:0; text-align:center;
}
.souldemy .sd-section-head.is-left{
  max-width:640px; margin:0 0 clamp(40px,5vw,56px);
  align-items:flex-start; text-align:left;
}
.souldemy .sd-head-title{
  font-family:var(--sd-font-display); font-weight:400;
  font-size:clamp(1.9rem,4vw,3rem); line-height:1.05;
  letter-spacing:-.015em; color:var(--sd-ink); margin:0;
}
.souldemy .sd-head-intro{
  font-size:clamp(1.05rem,1.5vw,1.2rem); line-height:1.6;
  color:var(--sd-muted); margin:0;
}

/* ---- Pull-quote (gold left rule, italic) --------------------------- */
.souldemy .sd-pullquote{
  border-left:2px solid var(--sd-gold);
  padding:4px 0 4px 26px; margin:0;
  font-family:var(--sd-font-serif); font-style:italic;
  font-size:clamp(1.35rem,2.4vw,1.7rem); line-height:1.3;
  color:var(--sd-ink);
}

/* =====================================================================
   SPACING RHYTHM  (review pass — fixes "eyebrow too far", stacked theme
   margins, and uneven section rhythm)
   Astra/Spectra inject margins on bare h1–h6 / p / figure in the content
   area; on our flex text columns those stack on top of the gap and push
   eyebrows away from headings. We now drive the rhythm with explicit
   !important margins so theme margins can never add to it, and the
   eyebrow hugs the heading it labels.
   ===================================================================== */
.souldemy .sd-section-head > *,
.souldemy .sd-copy > *,
.souldemy .sd-continuation > *{ margin:0 !important; }
.souldemy .sd-section-head > * + *{ margin-top:16px !important; }
.souldemy .sd-copy > * + *{ margin-top:22px !important; }
.souldemy .sd-continuation > * + *{ margin-top:22px !important; }

/* eyebrow → the heading right after it: keep them close */
.souldemy .sd-section-head > .sd-eyebrow-line + *,
.souldemy .sd-copy > .sd-eyebrow-line + *,
.souldemy .sd-continuation > .sd-eyebrow-line + *,
.souldemy .sd-dark > .sd-eyebrow-line + *,
.souldemy .sd-ps > .sd-eyebrow-line + *{ margin-top:12px !important; }

/* proof: the big stat and its caption stay tight */
.souldemy .sd-copy > .sd-stat + .sd-stat-label{ margin-top:8px !important; }

/* =====================================================================
   1 · SITE HEADER (brand + nav + join button)
   ===================================================================== */
.souldemy.sd-header,
.souldemy .sd-header{
  display:flex; align-items:center; justify-content:space-between;
  gap:20px 32px; flex-wrap:wrap;
  padding:15px clamp(20px,4vw,40px);
  background:var(--sd-bone);
  border-bottom:1px solid var(--sd-border-soft);
}
.souldemy .sd-brand{ display:flex; align-items:baseline; gap:12px; margin:0; }
.souldemy .sd-brand-name{ font-family:var(--sd-font-display); font-size:1.5rem; color:var(--sd-ink); letter-spacing:.01em; }
.souldemy .sd-brand-tag{
  font-family:var(--sd-font-sans); font-size:11px; font-weight:600;
  letter-spacing:.2em; text-transform:uppercase; color:var(--sd-muted);
}
.souldemy .sd-nav{ display:flex; align-items:center; gap:14px 26px; flex-wrap:wrap; margin:0; }
.souldemy .sd-nav p{ margin:0; }
.souldemy .sd-nav a{ color:var(--sd-body); font-size:.95rem; font-weight:500; text-decoration:none; }
.souldemy .sd-nav a:hover{ color:var(--sd-gold); }
.souldemy .sd-header .wp-block-button__link{ height:42px; padding:0 20px; font-size:.92rem; }

/* =====================================================================
   2 · HERO (copy + image, trust strip)
   ===================================================================== */
.souldemy .sd-hero-title{
  font-family:var(--sd-font-display); font-weight:400; color:var(--sd-ink);
  font-size:clamp(2.4rem,5vw,4rem); line-height:1.02;
  letter-spacing:-.02em; margin:0;
}
.souldemy .sd-hero .sd-lead{ color:var(--sd-muted); max-width:38ch; }
.souldemy .sd-hero .wp-block-button__link{ height:56px; }
.souldemy .sd-trust{
  display:flex; flex-wrap:wrap; gap:12px 20px; align-items:center;
  margin:clamp(36px,5vw,52px) 0 0; padding-top:26px;
  border-top:1px solid var(--sd-border-soft);
  color:var(--sd-muted); font-size:.86rem; letter-spacing:.04em;
}
.souldemy .sd-trust p{ margin:0; }
.souldemy .sd-trust-sep{ color:var(--sd-border-strong); }

/* =====================================================================
   3 · CONTINUATION BRIDGE (9-day graduate)
   ===================================================================== */
.souldemy .sd-continuation{ display:flex; flex-direction:column; gap:0; align-items:stretch; }
.souldemy .sd-continuation > *{ margin:0; max-width:820px; }
.souldemy .sd-continuation .sd-body{ font-size:clamp(1.05rem,1.5vw,1.2rem); }

/* =====================================================================
   4 · "MEET YOURSELF" SPLIT (image + heading + pull-quote)
   ===================================================================== */
.souldemy .sd-meet .sd-lead{ max-width:52ch; }

/* =====================================================================
   5 · KNOWING IS NOT SEEING — dark statement panel
   ===================================================================== */
.souldemy.sd-dark,
.souldemy .sd-dark{
  background:var(--sd-indigo); color:var(--sd-bone);
  padding-block:var(--sd-py);
  padding-inline:max(24px, (100% - var(--sd-max)) / 2);
}
.souldemy.sd-dark .sd-eyebrow-line,
.souldemy .sd-dark .sd-eyebrow-line{ color:var(--sd-sun-gold); }
.souldemy.sd-dark .sd-lead,
.souldemy .sd-dark .sd-lead{ color:var(--sd-on-dark-muted); }
.souldemy .sd-dark-title{
  font-family:var(--sd-font-display); font-weight:400;
  font-size:clamp(1.9rem,4vw,3rem); line-height:1.06;
  letter-spacing:-.015em; color:var(--sd-bone);
  margin:18px 0 0; max-width:24ch;
}
.souldemy .sd-dark-lead{
  font-size:clamp(1.05rem,1.5vw,1.2rem); line-height:1.62;
  color:var(--sd-on-dark-muted); margin:20px 0 0; max-width:60ch;
}
.souldemy .sd-statement{
  display:flex; gap:22px; align-items:baseline;
  padding:22px 0; margin:0;
  border-top:1px solid var(--sd-border-on-dark);
  font-family:var(--sd-font-serif); font-style:italic;
  font-size:clamp(1.3rem,2.5vw,1.75rem); line-height:1.28;
  color:var(--sd-bone);
}
.souldemy .sd-statement.is-last{ border-bottom:1px solid var(--sd-border-on-dark); }
.souldemy .sd-statement .sd-statement-num{
  font-family:var(--sd-font-sans); font-style:normal;
  font-size:.82rem; font-weight:600; letter-spacing:.14em;
  color:var(--sd-sun-gold); flex-shrink:0;
}
.souldemy .sd-dark-close{
  font-size:clamp(1.05rem,1.5vw,1.2rem); line-height:1.62;
  color:var(--sd-bone); margin:32px 0 0; max-width:70ch;
}

/* =====================================================================
   6 · WHY A MEMBERSHIP — contrast card
   ===================================================================== */
.souldemy.sd-contrast,
.souldemy .sd-contrast{
  padding:clamp(28px,3vw,40px);
  display:flex;
  flex-direction:column;
  gap:18px;
  max-width:560px;         /* remove this line for a full-width card */
}
.souldemy .sd-split .sd-contrast{ max-width:none; }
.souldemy .sd-strike{
  font-size:1.1rem; line-height:1.4;
  color:var(--sd-faint); margin:0;
  text-decoration:line-through;
  text-decoration-color:var(--sd-border-strong);
}
.souldemy .sd-contrast-final{
  font-family:var(--sd-font-display);
  font-size:clamp(1.5rem,2.4vw,1.9rem);
  line-height:1.12; color:var(--sd-ink); margin:0;
}

/* =====================================================================
   7 · THE 9-AREA MAP CARDS
   ===================================================================== */
.souldemy.sd-map-grid,
.souldemy .sd-map-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);   /* fixed 3 x 3 on desktop, wider cards */
  gap:24px;
}
@media (max-width:900px){
  .souldemy.sd-map-grid,
  .souldemy .sd-map-grid{ grid-template-columns:1fr 1fr; }
}
@media (max-width:620px){
  .souldemy.sd-map-grid,
  .souldemy .sd-map-grid{ grid-template-columns:1fr; }   /* stacked on phones */
}
.souldemy .sd-map-card{
  position:relative;
  padding:26px 24px;
  display:flex;
  flex-direction:column;
  gap:14px;
}
.souldemy .sd-motif{ margin:0; }
.souldemy .sd-motif img{
  width:42px; height:42px;
  object-fit:contain; display:block;
}
.souldemy .sd-map-card__num{        /* sits top-right, out of the flow */
  position:absolute; top:24px; right:24px;
  font-family:var(--sd-font-display);
  font-size:1.5rem; line-height:1;
  color:var(--sd-gold); opacity:.5;
  margin:0;
}
.souldemy .sd-map-card__title{
  font-family:var(--sd-font-display); font-weight:400;
  font-size:1.34rem; line-height:1.12;
  color:var(--sd-ink); margin:0;
}
.souldemy .sd-map-card__text{
  font-size:.98rem; line-height:1.55;
  color:var(--sd-muted); margin:0;
}

/* =====================================================================
   8 · WHAT IT GIVES YOU — numbered rows
   ===================================================================== */
.souldemy.sd-give-grid,
.souldemy .sd-give-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:8px 48px;
}
@media (max-width:620px){
  .souldemy .sd-give-grid{ grid-template-columns:1fr; }
}
.souldemy .sd-give-row{           /* [num] [title / text] via grid, no inner group */
  display:grid;
  grid-template-columns:auto 1fr;
  column-gap:20px;
  padding:26px 0;
  border-top:1px solid var(--sd-border);
  margin:0;
}

.souldemy .sd-give-num{
  grid-column:1; grid-row:1 / span 2;
  font-family:var(--sd-font-display); font-size:2rem; line-height:1;
  color:var(--sd-gold); opacity:.6; margin:0;
}
.souldemy .sd-give-title{
  grid-column:2; grid-row:1;
  font-family:var(--sd-font-display); font-weight:400;
  font-size:1.3rem; line-height:1.15; color:var(--sd-ink);
  margin:0 0 8px;
}
.souldemy .sd-give-text{
  grid-column:2; grid-row:2;
  font-size:1.02rem; line-height:1.58; color:var(--sd-muted); margin:0;
}

/* =====================================================================
   9 · HOW IT WORKS — timeline cards
   ===================================================================== */
.souldemy.sd-timeline-grid,
.souldemy .sd-timeline-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));
  gap:24px;
}
.souldemy .sd-timeline-card{
  background:var(--sd-card);
  border:1px solid var(--sd-border-soft);
  border-top:3px solid var(--sd-gold);
  border-radius:14px;
  padding:30px 28px;
  box-shadow:var(--sd-shadow-sm);
  margin:0;
}
.souldemy .sd-timeline-date{
  font-family:var(--sd-font-sans); font-size:.82rem; font-weight:700;
  letter-spacing:.12em; text-transform:uppercase;
  color:var(--sd-bronze); margin:0 0 12px;
}
.souldemy .sd-timeline-text{
  font-size:1.06rem; line-height:1.55; color:var(--sd-body); margin:0;
}
.souldemy .sd-timeline-close{
  text-align:center; margin:40px auto 0; max-width:620px;
  font-size:clamp(1.05rem,1.5vw,1.18rem); line-height:1.55;
  color:var(--sd-ink); font-weight:500;
}

/* =====================================================================
   10 · EVERYTHING INCLUDED — numbered list (two columns)
   ===================================================================== */
.souldemy.sd-included-grid,
.souldemy .sd-included-grid{
  display:grid;
  grid-template-columns:grid-template-columns:repeat(2,1fr);
  gap:2px 44px;
}
.souldemy .sd-included-row{
  display:grid; grid-template-columns:auto 1fr; column-gap:18px;
  padding:22px 0; border-top:1px solid var(--sd-border); margin:0;
}
.souldemy .sd-included-num{
  font-family:var(--sd-font-display); font-size:1.5rem;
  color:var(--sd-gold); opacity:.55; line-height:1.2; margin:0;
}
.souldemy .sd-included-text{
  font-size:1.04rem; line-height:1.55; color:var(--sd-body); margin:0;
}
.souldemy .sd-included-text strong{ color:var(--sd-ink); font-weight:600; }

/* =====================================================================
   11 · EARLY DOES NOT MEAN EMPTY — dark split w/ diamond points
   ===================================================================== */
.souldemy .sd-points{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));
  gap:12px; margin:8px 0 0; width:100%;
}
.souldemy .sd-point{
  display:flex; gap:12px; align-items:flex-start; margin:0;
  color:var(--sd-bone); font-size:1rem; line-height:1.5;
}
.souldemy .sd-point .sd-diamond{ color:var(--sd-sun-gold); flex-shrink:0; }
.souldemy .sd-dark-note{
  font-family:var(--sd-font-serif); font-style:italic;
  font-size:.98rem; line-height:1.5; color:var(--sd-on-dark-muted);
  margin:0; opacity:.85;
}

/* =====================================================================
   12 · THE PRICING CARDS
   ===================================================================== */
.souldemy.sd-price-grid,
.souldemy .sd-price-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));
  gap:24px; align-items:stretch;
  max-width:900px; margin-inline:auto;
}
.souldemy .sd-price-card{
  background:var(--sd-card);
  border:1px solid var(--sd-border-soft);
  border-radius:20px;
  padding:clamp(28px,3vw,36px);
  box-shadow:var(--sd-shadow-md);
  display:flex; flex-direction:column;
  position:relative;
}
.souldemy .sd-price-card.is-gold{ border-color:var(--sd-gold); }
.souldemy .sd-price-card.is-featured{ box-shadow:var(--sd-glow-gold); }
.souldemy .sd-badge{
  position:absolute; top:-12px; left:clamp(28px,3vw,36px);
  background:var(--sd-gold); color:#fff;
  font-family:var(--sd-font-sans); font-size:.7rem; font-weight:700;
  letter-spacing:.1em; text-transform:uppercase;
  padding:5px 12px; border-radius:999px; margin:0;
}
.souldemy .sd-price-label{
  font-family:var(--sd-font-sans); font-size:.8rem; font-weight:700;
  letter-spacing:.14em; text-transform:uppercase;
  color:var(--sd-bronze); margin:0 0 18px;
}
.souldemy .sd-price-amount{
  font-family:var(--sd-font-display); font-size:3rem; line-height:1;
  color:var(--sd-ink); margin:0 0 6px;
}
.souldemy .sd-price-amount .sd-price-unit{
  font-family:var(--sd-font-sans); font-size:1.1rem;
  color:var(--sd-muted);
}
.souldemy .sd-price-note{
  font-size:.98rem; color:var(--sd-bronze); font-weight:600;
  margin:0 0 20px;
}
.souldemy .sd-price-desc{
  font-size:1.02rem; line-height:1.55; color:var(--sd-muted);
  margin:0 0 28px; flex-grow:1;
}
.souldemy .sd-price-card .wp-block-button,
.souldemy .sd-price-card .wp-block-button__link{ width:100%; }
.souldemy .sd-price-foot{
  text-align:center; font-size:.86rem; color:var(--sd-faint);
  margin:14px 0 0;
}

/* =====================================================================
   13 · ONE WEBINAR OR THE WHOLE SCHOOL — comparison cards
   ===================================================================== */
.souldemy.sd-compare-grid,
.souldemy .sd-compare-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));
  gap:22px; align-items:stretch;
}
.souldemy .sd-compare-card{
  background:var(--sd-card); border:1px solid var(--sd-border-soft);
  border-radius:16px; padding:30px 28px;
  box-shadow:var(--sd-shadow-sm);
  display:flex; flex-direction:column; margin:0;
}
.souldemy .sd-compare-card.is-gold{ border-color:var(--sd-gold); box-shadow:var(--sd-shadow-md); }
.souldemy .sd-compare-label{
  font-family:var(--sd-font-sans); font-size:.8rem; font-weight:700;
  letter-spacing:.12em; text-transform:uppercase;
  color:var(--sd-muted); margin:0 0 10px;
}
.souldemy .sd-compare-card.is-gold .sd-compare-label{ color:var(--sd-bronze); }
.souldemy .sd-compare-price{
  font-family:var(--sd-font-display); font-size:2rem; color:var(--sd-ink);
  margin:0 0 20px; line-height:1;
}
.souldemy .sd-compare-price .sd-price-unit{
  font-family:var(--sd-font-sans); font-size:1.1rem; color:var(--sd-muted);
}
.souldemy .sd-compare-item{
  font-size:1rem; color:var(--sd-body); line-height:1.5; margin:0 0 9px;
}
.souldemy .sd-compare-card .wp-block-buttons{ margin-top:auto; }
.souldemy .sd-compare-card .wp-block-button__link{ height:52px; }

/* =====================================================================
   14 · PROOF — stat + testimonials
   ===================================================================== */
.souldemy .sd-proof-head{ margin-bottom:clamp(44px,5vw,60px); }
.souldemy .sd-stat{
  font-family:var(--sd-font-display); font-size:clamp(4.5rem,11vw,7rem);
  color:var(--sd-gold); line-height:.85; margin:0;
}
.souldemy .sd-stat-label{
  font-size:1.2rem; color:var(--sd-ink); font-weight:600; margin:8px 0 0;
}
.souldemy .sd-proof-lead{
  font-family:var(--sd-font-serif); font-size:clamp(1.1rem,1.8vw,1.4rem);
  line-height:1.5; color:var(--sd-body); margin:0;
}
.souldemy .sd-quote-grid{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr)); gap:22px;
}
.souldemy .sd-quote{
  margin:0; background:var(--sd-sunken); border:1px solid var(--sd-border);
  border-radius:16px; padding:28px 26px;
  display:flex; flex-direction:column; gap:16px;
}
.souldemy .sd-quote-rule{ width:44px; height:2px; background:var(--sd-gold); border:0; border-radius:2px; margin:0; opacity:1; }
.souldemy .sd-quote-text{
  font-family:var(--sd-font-serif); font-style:italic;
  font-size:1.24rem; line-height:1.36; color:var(--sd-ink); margin:0;
}
.souldemy .sd-quote-cite{
  font-family:var(--sd-font-sans); font-size:.82rem; font-weight:600;
  letter-spacing:.08em; text-transform:uppercase; color:var(--sd-bronze);
  font-style:normal; margin:0;
}

/* =====================================================================
   15 · A NOTE FROM EDVINAS — portrait + editorial
   ===================================================================== */
.souldemy .sd-note-lead{
  font-family:var(--sd-font-serif); font-size:clamp(1.3rem,2vw,1.6rem);
  line-height:1.4; color:var(--sd-ink); margin:0;
}
.souldemy .sd-sign{
  font-family:var(--sd-font-serif); font-style:italic;
  font-size:1.2rem; color:var(--sd-gold); margin:0;
}

/* =====================================================================
   16 · WHO IS THIS FOR — fit cards
   ===================================================================== */
.souldemy.sd-fit-grid,
.souldemy .sd-fit-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));
  gap:24px;
}
.souldemy .sd-fit-card{
  background:var(--sd-card); border:1px solid var(--sd-border-soft);
  border-radius:16px; padding:clamp(28px,3vw,36px);
  box-shadow:var(--sd-shadow-sm);
}
.souldemy .sd-fit-label{
  font-family:var(--sd-font-sans); font-size:.82rem; font-weight:700;
  letter-spacing:.12em; text-transform:uppercase; margin:0 0 22px;
}
.souldemy .sd-fit-label.is-yes{ color:var(--sd-positive); }
.souldemy .sd-fit-label.is-no{ color:var(--sd-oxide); }
.souldemy .sd-fit-item{
  display:flex; gap:12px; align-items:flex-start;
  font-size:1.02rem; line-height:1.5; color:var(--sd-body);
  margin:0 0 16px;
}
.souldemy .sd-fit-item:last-child{ margin-bottom:0; }
.souldemy .sd-fit-item .sd-fit-mark{ flex-shrink:0; color:var(--sd-gold); font-size:1.05rem; line-height:1.4; }
.souldemy .sd-fit-card.is-no .sd-fit-item{ color:var(--sd-muted); }
.souldemy .sd-fit-card.is-no .sd-fit-mark{ color:var(--sd-faint); }

/* =====================================================================
   17 · FINAL CTA — dark, centered
   ===================================================================== */
.souldemy.sd-cta,
.souldemy .sd-cta{
  background:var(--sd-indigo);
  padding-block:var(--sd-py);
  padding-inline:max(24px, (100% - var(--sd-max)) / 2);
  display:flex; flex-direction:column; align-items:center; text-align:center;
}
.souldemy .sd-cta > *{ max-width:760px; }
.souldemy .sd-cta-motif{ margin:0 0 8px; }
.souldemy .sd-cta-motif img{ width:60px; height:60px; object-fit:contain; }
.souldemy .sd-cta-title{
  font-family:var(--sd-font-display); font-weight:400; color:var(--sd-bone);
  font-size:clamp(2.1rem,4.6vw,3.3rem); line-height:1.04;
  letter-spacing:-.015em; margin:0 0 28px;
}
.souldemy .sd-cta-lead{
  font-size:clamp(1.08rem,1.6vw,1.24rem); line-height:1.6;
  color:var(--sd-on-dark-muted); margin:0 0 20px;
}
.souldemy .sd-cta-strong{
  font-size:1.2rem; line-height:1.5; color:var(--sd-bone);
  margin:0 0 36px; font-weight:500;
}
.souldemy .sd-cta .sd-btn-row{ justify-content:center; }
.souldemy .sd-cta .wp-block-button__link{ height:56px; }
.souldemy .sd-cta-foot{ margin:26px 0 0; font-size:.9rem; color:var(--sd-on-dark-muted); }

/* =====================================================================
   18 · P.S. — NOT READY YET (free 9-day journey)
   ===================================================================== */
.souldemy.sd-ps,
.souldemy .sd-ps{
  max-width:720px; margin:var(--sd-py) auto; text-align:center;
  background:var(--sd-sunken); border:1px solid var(--sd-border);
  border-radius:24px; padding:clamp(40px,5vw,56px) clamp(28px,4vw,44px);
  display:flex; flex-direction:column; align-items:center;
}
.souldemy .sd-ps .sd-eyebrow-line{ justify-content:center; }
.souldemy .sd-ps-title{
  font-family:var(--sd-font-display); font-size:clamp(1.5rem,3vw,2rem);
  color:var(--sd-ink); line-height:1.14; margin:22px 0;
}
.souldemy .sd-ps-body{
  font-size:clamp(1.05rem,1.5vw,1.15rem); line-height:1.6;
  color:var(--sd-body); margin:0 0 30px;
}
.souldemy .sd-ps-foot{ margin:24px 0 0; font-size:.96rem; color:var(--sd-muted); font-style:italic; }

/* =====================================================================
   19 · FOOTER — wordmark, lockup, tagline
   ===================================================================== */
.souldemy.sd-footer,
.souldemy .sd-footer{
  background:var(--sd-ink);
  padding:clamp(48px,6vw,64px) clamp(20px,4vw,40px);
  display:flex; flex-direction:column; align-items:center;
  gap:22px; text-align:center;
}
.souldemy .sd-footer-name{ font-family:var(--sd-font-display); font-size:1.6rem; color:var(--sd-bone); margin:0; }
.souldemy .sd-footer-lockup{
  font-family:var(--sd-font-sans); font-size:.78rem; font-weight:600;
  letter-spacing:.22em; text-transform:uppercase; color:var(--sd-sun-gold); margin:0;
}
.souldemy .sd-footer-tag{ font-size:.86rem; color:var(--sd-on-dark-muted); margin:0; }
.souldemy .sd-footer hr.sd-rule{ width:180px; }

/* =====================================================================
   PRICING NOTE · callout (tinted surface, gilded hairline)
   ===================================================================== */
.souldemy .sd-callout{
  background:rgba(201,154,56,.10);
  border:1px solid rgba(201,154,56,.35);
  border-radius:16px;
  max-width:900px;
  margin:clamp(32px,4.5vw,52px) auto 0;   /* space from the pricing cards above */
  /* per-side + !important so a block-level override or minifier can't zero one edge */
  padding-top:clamp(24px,3vw,32px) !important;
  padding-right:clamp(24px,3vw,32px) !important;
  padding-bottom:clamp(24px,3vw,32px) !important;
  padding-left:clamp(24px,3vw,32px) !important;
}
.souldemy .sd-callout-label{
  font-family:var(--sd-font-sans); font-size:.78rem; font-weight:700;
  letter-spacing:.14em; text-transform:uppercase; color:var(--sd-bronze); margin:0 0 8px;
}
.souldemy .sd-callout-text{
  font-size:1.02rem; line-height:1.58; color:var(--sd-body); margin:0;
}

/* =====================================================================
   UTILITY · centered eyebrow already covered under SHARED (eyebrow)
   ===================================================================== */


/* =====================================================================
   20 · MONTHLY RHYTHM — stepped gilded path ("why this monthly rhythm")
   A vertical path of medallion nodes joined by a gilded hairline; each
   node holds a brand line-glyph, then a numbered short line + supporting
   sentence. Reads as the map walked one month at a time.
   ===================================================================== */
.souldemy .sd-rhythm{
  position:relative;
  max-width:840px;
  margin-inline:auto;
}
.souldemy .sd-rhythm-step{
  position:relative; margin:0;
  display:grid;
  grid-template-columns:auto 1fr;
  column-gap:clamp(20px,3vw,32px);
  padding-bottom:clamp(28px,4vw,44px);
}
.souldemy .sd-rhythm-step:last-child{ padding-bottom:0; }
/* the gilded connector from this node down into the next (the "path") */
.souldemy .sd-rhythm-step:not(:last-child)::before{
  content:""; position:absolute; z-index:0;
  left:31px; top:32px; bottom:0; width:2px;
  background:var(--sd-gold); opacity:.45;
}
.souldemy .sd-rhythm-node{
  grid-column:1; grid-row:1 / span 2; align-self:start;
  position:relative; z-index:1; margin:0;
  width:64px; height:64px; border-radius:50%;
  background:var(--sd-card); border:1px solid var(--sd-gold);
  box-shadow:var(--sd-shadow-sm);
  display:flex; align-items:center; justify-content:center;
}
.souldemy .sd-rhythm-node .sd-rhythm-motif{ margin:0; line-height:0; }
.souldemy .sd-rhythm-node img{ width:32px; height:32px; object-fit:contain; display:block; }
.souldemy .sd-rhythm-head{
  grid-column:2; grid-row:1; margin:0;
  display:flex; align-items:baseline; gap:12px; flex-wrap:wrap;
}
.souldemy .sd-rhythm-head > *{ margin:0; }
.souldemy .sd-rhythm-num{
  font-family:var(--sd-font-sans); font-size:.78rem; font-weight:700;
  letter-spacing:.16em; color:var(--sd-bronze); margin:0;
}
.souldemy .sd-rhythm-title{
  font-family:var(--sd-font-display); font-weight:400;
  font-size:clamp(1.3rem,2.2vw,1.5rem); line-height:1.16;
  color:var(--sd-ink); margin:0;
}
.souldemy .sd-rhythm-text{
  grid-column:2; grid-row:2;
  font-size:1.05rem; line-height:1.6; color:var(--sd-muted);
  margin:8px 0 0; max-width:56ch;
}
@media (max-width:620px){
  .souldemy .sd-rhythm-step{ column-gap:16px; }
  .souldemy .sd-rhythm-node{ width:52px; height:52px; }
  .souldemy .sd-rhythm-node img{ width:26px; height:26px; }
  .souldemy .sd-rhythm-step:not(:last-child)::before{ left:25px; top:26px; }
}

/* #####################################################################
   #####################################################################
   WEBINAR SALES PAGE — APPENDED .sd-* MODULES
   New sections that the canonical file above does not cover, for the
   Self-Worth webinar page. Scoped to .souldemy like everything else.
   #####################################################################
   ##################################################################### */

/* ---- Extra tokens (additive) --------------------------------------- */
.souldemy{
  --sd-raised:#FCFAF4;
  --sd-gold-soft:#EFE4CB;
  --sd-ease:cubic-bezier(.22,.61,.36,1);
}

/* ---- Band background helpers --------------------------------------- */
.souldemy.sd-band.is-sunken,
.souldemy .sd-band.is-sunken{ background:var(--sd-sunken); }
.souldemy.sd-band.is-raised,
.souldemy .sd-band.is-raised{
  background:var(--sd-raised);
  border-top:1px solid var(--sd-border-soft);
  border-bottom:1px solid var(--sd-border-soft);
}

/* ---- Per-section reading measures (centered inside the 1200 column) - */
.souldemy .sd-measure-720{ max-width:720px; margin-inline:auto; }
.souldemy .sd-measure-860{ max-width:860px; margin-inline:auto; }
.souldemy .sd-measure-900{ max-width:900px; margin-inline:auto; }
.souldemy .sd-measure-920{ max-width:920px; margin-inline:auto; }
.souldemy .sd-measure-940{ max-width:940px; margin-inline:auto; }
.souldemy .sd-measure-960{ max-width:960px; margin-inline:auto; }
.souldemy .sd-measure-1000{ max-width:1000px; margin-inline:auto; }
.souldemy .sd-measure-1040{ max-width:1040px; margin-inline:auto; }
.souldemy .sd-center{ text-align:center; }
.souldemy .sd-reading{ max-width:640px; margin-inline:auto; }
.souldemy .sd-reading-620{ max-width:620px; margin-inline:auto; }
.souldemy .sd-reading-600{ max-width:600px; margin-inline:auto; }

/* ---- Small gap between a section's own stacked blocks -------------- */
.souldemy .sd-mt-14{ margin-top:14px !important; }
.souldemy .sd-mt-18{ margin-top:18px !important; }
.souldemy .sd-mt-22{ margin-top:22px !important; }
.souldemy .sd-mt-24{ margin-top:24px !important; }
.souldemy .sd-mt-28{ margin-top:28px !important; }
.souldemy .sd-mt-30{ margin-top:30px !important; }
.souldemy .sd-mt-34{ margin-top:34px !important; }
.souldemy .sd-mt-36{ margin-top:36px !important; }
.souldemy .sd-mt-38{ margin-top:38px !important; }
.souldemy .sd-mt-40{ margin-top:40px !important; }

/* ---- TOP BAR (full-bleed header: logo + date + button) ------------- */
.souldemy.sd-topbar,
.souldemy .sd-topbar{
  background:var(--sd-bone);
  border-bottom:1px solid var(--sd-border-soft);
  padding:15px 0;
}
.souldemy .sd-topbar-row{
  width:100%; max-width:var(--sd-max); margin-inline:auto;
  display:flex; align-items:center; justify-content:space-between;
  gap:14px 24px; flex-wrap:wrap; padding-inline:0;
}
@media (max-width:1240px){ .souldemy .sd-topbar-row{ padding-inline:clamp(16px,4vw,28px); } }
.souldemy .sd-topbar-logo{ margin:0; }
.souldemy .sd-topbar-logo img{ height:26px; width:auto; display:block; }
.souldemy .sd-topbar-right{ display:flex; align-items:center; gap:20px; flex-wrap:wrap; }
.souldemy .sd-topbar-meta{
  font-family:var(--sd-font-sans); font-size:11px; font-weight:600;
  letter-spacing:.14em; text-transform:uppercase; color:var(--sd-muted); margin:0;
}
.souldemy .sd-topbar .wp-block-button__link{ height:42px; padding:0 20px; font-size:.92rem; }

/* ---- HERO (centered single column) --------------------------------- */
.souldemy .sd-hero{ display:flex; flex-direction:column; align-items:center; text-align:center; }
.souldemy .sd-hero > *{ margin:0; }
.souldemy .sd-hero-portal{
  width:172px; border-radius:16px; overflow:hidden;
  border:1px solid var(--sd-border-strong); box-shadow:var(--sd-shadow-lg);
  margin:0 0 28px;
}
.souldemy .sd-hero-portal img{ display:block; width:100%; height:auto; }
.souldemy .sd-hero .sd-eyebrow-line{ margin:0 0 30px; }
.souldemy .sd-hero .sd-hero-title{ max-width:768px; margin:0 0 14px; }
.souldemy .sd-hero-sub{
  font-family:var(--sd-font-serif); font-style:italic;
  font-size:clamp(24px,3vw,32px); line-height:1.15;
  color:var(--sd-bronze); margin:0 0 28px;
}
.souldemy .sd-hero .sd-lead{ max-width:620px; margin:0 0 34px; }
.souldemy .sd-hero-narrative{
  max-width:600px; text-align:left;
  font-size:17px; line-height:1.7; color:var(--sd-body);
  display:flex; flex-direction:column; gap:14px;
}
.souldemy .sd-hero-narrative > *{ margin:0 !important; }
.souldemy .sd-hero-em{ font-family:var(--sd-font-serif); font-style:italic; font-size:21px; color:var(--sd-ink); }
.souldemy .sd-hero hr.sd-rule{ max-width:620px; margin:42px auto; }
.souldemy .sd-hero-facts{
  width:100%; max-width:620px;
  display:grid; grid-template-columns:1fr 1fr; gap:22px 40px;
  text-align:left; margin:0 0 36px;
}
.souldemy .sd-hero-facts > *{ margin:0 !important; }
.souldemy .sd-fact-k{
  font-family:var(--sd-font-sans); font-size:11px; font-weight:600;
  letter-spacing:.16em; text-transform:uppercase; color:var(--sd-bronze);
  margin:0 0 7px !important;
}
.souldemy .sd-fact-v{ font-size:16px; color:var(--sd-ink); margin:0 !important; }
.souldemy .sd-hero .sd-btn-row{ justify-content:center; margin:0 0 16px; }
.souldemy .sd-hero-fine{ font-size:14px; line-height:1.6; color:var(--sd-muted); max-width:520px; margin:0 0 40px; }
@media (max-width:600px){ .souldemy .sd-hero-facts{ grid-template-columns:1fr; } }

/* ---- COUNTDOWN band ------------------------------------------------ */
.souldemy .sd-countdown{
  width:100%; max-width:620px; margin:0 auto;
  border:1px solid var(--sd-border-soft); border-radius:12px;
  background:var(--sd-raised); padding:20px 26px;
  display:flex; align-items:center; justify-content:center; gap:22px; flex-wrap:wrap;
}
.souldemy .sd-countdown-label{
  font-family:var(--sd-font-sans); font-size:11px; font-weight:600; line-height:1.4;
  letter-spacing:.16em; text-transform:uppercase; color:var(--sd-bronze); margin:0;
}
.souldemy .sd-countdown-grid{ display:flex; gap:20px; }
.souldemy .sd-cd{ text-align:center; min-width:40px; }
.souldemy .sd-cd-n{ font-family:var(--sd-font-display); font-size:30px; color:var(--sd-ink); line-height:1; display:block; }
.souldemy .sd-cd.is-sec .sd-cd-n{ color:var(--sd-bronze); }
.souldemy .sd-cd-u{
  font-family:var(--sd-font-sans); font-size:9px; font-weight:600;
  letter-spacing:.14em; text-transform:uppercase; color:var(--sd-faint);
  margin-top:6px; display:block;
}

/* ---- CHIPS / PILLS ------------------------------------------------- */
.souldemy .sd-chip-row{ display:flex; flex-wrap:wrap; gap:9px 10px; justify-content:center; }
.souldemy .sd-chip{
  padding:9px 16px; border-radius:999px;
  border:1px solid var(--sd-border); background:var(--sd-card);
  font-size:14.5px; color:var(--sd-body); margin:0;
}
.souldemy .sd-chip.is-muted{ color:var(--sd-muted); }
.souldemy .sd-chip.is-gold{ border-color:var(--sd-gold); color:var(--sd-bronze); font-weight:500; }
.souldemy .sd-chip.is-neg{ display:inline-flex; align-items:center; gap:8px; border-color:var(--sd-border-soft); color:var(--sd-muted); }
.souldemy .sd-chip.is-neg::before{
  content:""; width:11px; height:11px; flex:none; background:var(--sd-faint);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' d='M18 6 6 18M6 6l12 12'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' d='M18 6 6 18M6 6l12 12'/%3E%3C/svg%3E") center/contain no-repeat;
}

/* ---- BULLET CARDS (recognition grid + why-now rows) ---------------- */
.souldemy .sd-bullet-grid{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
@media (max-width:620px){ .souldemy .sd-bullet-grid{ grid-template-columns:1fr; } }
.souldemy .sd-bullet{
  display:flex; align-items:flex-start; gap:13px;
  padding:16px 20px; background:var(--sd-card);
  border:1px solid var(--sd-border-soft); border-radius:12px;
  font-size:15.5px; line-height:1.5; color:var(--sd-body); margin:0;
}
.souldemy .sd-bullet::before{ content:""; flex:none; width:6px; height:6px; margin-top:7px; border-radius:50%; background:var(--sd-gold); }
.souldemy .sd-bullet.is-plain{ padding:14px 18px; border-radius:11px; font-size:15px; }
.souldemy .sd-note-list{ display:flex; flex-direction:column; gap:10px; }

/* ---- MECHANISM formula panel --------------------------------------- */
.souldemy .sd-formula{
  text-align:center; padding:38px 32px;
  border:1px solid var(--sd-gold); border-radius:20px; background:var(--sd-gold-soft);
}
.souldemy .sd-formula-mark{ width:46px; margin:0 auto 14px; }
.souldemy .sd-formula-mark img{ width:46px; height:46px; object-fit:contain; opacity:.9; display:block; }
.souldemy .sd-formula-title{ font-family:var(--sd-font-display); font-size:30px; color:var(--sd-bronze); margin:0 0 20px; }

/* ---- INVERSION dark two-column ------------------------------------- */
.souldemy .sd-dark .sd-section-head .sd-head-title{ color:var(--sd-bone); }
.souldemy .sd-dark-grid{ display:grid; grid-template-columns:1fr 1fr; gap:36px; max-width:800px; margin:0 auto; }
@media (max-width:900px){ .souldemy .sd-dark-grid{ grid-template-columns:1fr; gap:28px; } }
.souldemy .sd-dark-grid > *{ min-width:0; }
.souldemy .sd-dark-col p{ font-size:16px; line-height:1.75; color:var(--sd-on-dark-muted); margin:0 0 12px; }
.souldemy .sd-dark-col p:last-child{ margin-bottom:0; }
.souldemy .sd-dark-em{ font-family:var(--sd-font-serif); font-style:italic; font-size:19px; color:var(--sd-bone); }

/* ---- WHAT THIS IS NOT — centered callout --------------------------- */
.souldemy .sd-callout.is-center{ text-align:center; }
.souldemy .sd-callout-title{ font-family:var(--sd-font-display); font-size:21px; color:var(--sd-bronze); margin:0 0 6px; }

/* ---- INSIDE THE WEBINAR — three movement cards --------------------- */
.souldemy .sd-movement-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; align-items:stretch; }
@media (max-width:900px){ .souldemy .sd-movement-grid{ grid-template-columns:1fr; } }
.souldemy .sd-movement-card{
  background:var(--sd-card); border:1px solid var(--sd-border-soft);
  border-radius:16px; box-shadow:var(--sd-shadow-sm);
  padding:clamp(28px,3vw,34px); display:flex; flex-direction:column; height:100%; margin:0;
}
.souldemy .sd-movement-card.is-gilded{ background:var(--sd-gold-soft); border-color:var(--sd-gold); }
.souldemy .sd-movement-top{ display:flex; align-items:center; gap:12px; margin:0 0 16px; }
.souldemy .sd-movement-num{ font-family:var(--sd-font-display); font-size:34px; color:var(--sd-gold); line-height:1; }
.souldemy .sd-movement-mark{ width:38px; margin:0; }
.souldemy .sd-movement-mark img{ width:28px; height:28px; object-fit:contain; display:block; position:relative; margin-top:-30px; }
.souldemy .sd-movement-step{
  font-family:var(--sd-font-sans); font-size:11px; font-weight:600; line-height:1.3;
  letter-spacing:.16em; text-transform:uppercase; color:var(--sd-bronze); margin:0 0 10px;
}
.souldemy .sd-movement-title{ font-family:var(--sd-font-display); font-size:21px; color:var(--sd-ink); line-height:1.15; margin:0 0 10px; }
.souldemy .sd-movement-body{ font-size:14.5px; line-height:1.65; color:var(--sd-muted); margin:0; }

/* ---- CHECKLISTS (leave-with grid, card lists) ---------------------- */
.souldemy .sd-check-grid{ display:grid; grid-template-columns:1fr 1fr; gap:14px 28px; }
@media (max-width:620px){ .souldemy .sd-check-grid{ grid-template-columns:1fr; } }
.souldemy .sd-check-list{ display:flex; flex-direction:column; gap:10px; }
.souldemy .sd-check-item{
  display:flex; align-items:flex-start; gap:13px;
  font-size:15.5px; line-height:1.55; color:var(--sd-body); margin:0;
}
.souldemy .sd-check-item::before{
  content:""; flex:none; width:24px; height:24px; margin-top:1px; border-radius:50%;
  background-color:var(--sd-gold-soft); border:1px solid var(--sd-gold);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23936A26' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:center; background-size:14px;
}
.souldemy .sd-check-item.is-flat{ font-size:14.5px; gap:11px; }
.souldemy .sd-check-item.is-flat::before{
  width:15px; height:15px; margin-top:3px; border:0; border-radius:0;
  background-color:var(--sd-bronze); background-image:none;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat;
}
.souldemy .sd-check-item.is-dot{ font-size:14.5px; gap:11px; }
.souldemy .sd-check-item.is-dot::before{
  width:5px; height:5px; margin-top:8px; border:0; border-radius:50%;
  background-color:var(--sd-limestone); background-image:none;
}

/* ---- PROOF — stat row + testimonials ------------------------------- */
.souldemy .sd-proof-stats{ display:flex; justify-content:center; align-items:center; gap:60px; flex-wrap:wrap; margin:0 0 36px; }
.souldemy .sd-proof-fig{ text-align:center; }
.souldemy .sd-proof-num{ font-family:var(--sd-font-display); font-size:76px; line-height:1; color:var(--sd-ink); }
.souldemy .sd-proof-num.is-gold{ color:var(--sd-bronze); }
.souldemy .sd-proof-k{
  font-family:var(--sd-font-sans); font-size:11px; font-weight:600; line-height:1.4;
  letter-spacing:.14em; text-transform:uppercase; color:var(--sd-muted); margin-top:8px;
}
.souldemy .sd-proof-div{ width:1px; height:70px; background:var(--sd-border); }
@media (max-width:900px){ .souldemy .sd-proof-stats{ gap:32px; } .souldemy .sd-proof-div{ display:none; } }
@media (max-width:600px){ .souldemy .sd-proof-num{ font-size:60px; } }
.souldemy .sd-testimonial-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
@media (max-width:900px){ .souldemy .sd-testimonial-grid{ grid-template-columns:1fr; } }
.souldemy .sd-testimonial{ border:1px dashed var(--sd-gold); border-radius:16px; padding:24px 22px; background:var(--sd-card); }
.souldemy .sd-testimonial-q{ font-family:var(--sd-font-serif); font-style:italic; font-size:17px; line-height:1.5; color:var(--sd-body); margin:0 0 16px; }
.souldemy .sd-testimonial-by{ font-family:var(--sd-font-sans); font-size:11px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--sd-bronze); margin:0; }
.souldemy .sd-testimonial-note{ font-family:var(--sd-font-sans); font-size:9px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--sd-faint); margin:9px 0 0; }

/* ---- MONTH panel + generic panel helpers --------------------------- */
.souldemy .sd-panel{ background:var(--sd-card); border:1px solid var(--sd-border-soft); border-radius:18px; padding:28px 30px; box-shadow:var(--sd-shadow-sm); }
.souldemy .sd-panel-label{ font-family:var(--sd-font-sans); font-size:11px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--sd-bronze); margin:0 0 16px; }
.souldemy .sd-panel-foot{ font-size:14.5px; line-height:1.6; color:var(--sd-muted); margin:18px 0 0; padding-top:16px; border-top:1px solid var(--sd-border-soft); }
.souldemy .sd-motif-lg{ width:56px; margin:0; }
.souldemy .sd-motif-lg img{ width:56px; height:56px; object-fit:contain; opacity:.9; display:block; }
.souldemy .sd-motif-md{ width:52px; margin:0; }
.souldemy .sd-motif-md img{ width:52px; height:52px; object-fit:contain; opacity:.9; display:block; }

/* ---- PRICING extras ------------------------------------------------ */
.souldemy .sd-price-name{ font-family:var(--sd-font-display); font-size:29px; line-height:1.1; color:var(--sd-ink); margin:0 0 8px; }
.souldemy .sd-price-card.is-gold .sd-price-amount{ color:var(--sd-bronze); }
.souldemy .sd-price-cost{ display:flex; align-items:baseline; gap:8px; margin:0 0 14px; white-space:nowrap; }
.souldemy .sd-price-cost .sd-price-amount{ margin:0; }
.souldemy .sd-divider{ height:1px; background:var(--sd-border-soft); border:0; margin:0 0 18px; }
.souldemy .sd-divider.is-gold{ background:var(--sd-gold); opacity:.5; }
.souldemy .sd-price-card .sd-check-list{ margin:0 0 24px; }
.souldemy .sd-price-fine{ font-size:12.5px; line-height:1.5; color:var(--sd-muted); margin:13px 0 0; text-align:center; }

/* ---- WHO IS THIS FOR — fit card title, CSS markers ----------------- */
.souldemy .sd-fit-card.is-gold{ background:var(--sd-gold-soft); border-color:var(--sd-gold); }
.souldemy .sd-fit-title{ font-family:var(--sd-font-display); font-size:23px; color:var(--sd-ink); line-height:1.15; margin:0 0 18px; }
.souldemy .sd-fit-title.is-muted{ color:var(--sd-muted); }
.souldemy .sd-fit-list{ display:flex; flex-direction:column; gap:12px; }
.souldemy .sd-fit-card.is-yes .sd-fit-item{ font-size:15px; }
.souldemy .sd-fit-card.is-yes .sd-fit-item::before{
  content:""; flex:none; width:15px; height:15px; margin-top:3px; background-color:var(--sd-bronze);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat;
}
.souldemy .sd-fit-card.is-no .sd-fit-item{ font-size:15px; color:var(--sd-muted); }
.souldemy .sd-fit-card.is-no .sd-fit-item::before{
  content:""; flex:none; width:13px; height:1.5px; margin-top:10px; background:var(--sd-faint);
}
.souldemy .sd-fit-note{ font-family:var(--sd-font-serif); font-style:italic; font-size:15.5px; line-height:1.6; color:var(--sd-faint); margin:20px 0 0; }

/* ---- LOGISTICS grid ------------------------------------------------ */
.souldemy .sd-logistics{ background:var(--sd-card); border:1px solid var(--sd-border-soft); border-radius:18px; box-shadow:var(--sd-shadow-sm); overflow:hidden; }
.souldemy .sd-logi-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--sd-border-soft); }
.souldemy .sd-logi-cell{ background:var(--sd-card); padding:20px 22px; margin:0; }
.souldemy .sd-logi-k{ font-family:var(--sd-font-sans); font-size:10px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--sd-bronze); margin:0 0 7px; }
.souldemy .sd-logi-v{ font-size:15.5px; color:var(--sd-ink); margin:0; }
.souldemy .sd-logi-note{ padding:20px 24px; border-top:1px solid var(--sd-border-soft); font-size:15px; line-height:1.65; color:var(--sd-body); margin:0; }
@media (max-width:900px){ .souldemy .sd-logi-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px){ .souldemy .sd-logi-grid{ grid-template-columns:1fr; } }

/* ---- FAQ (native wp:details accordions) ---------------------------- */
.souldemy .sd-faq{ border-top:1px solid var(--sd-border-soft); }
.souldemy .sd-faq-item{ border-bottom:1px solid var(--sd-border-soft); margin:0; }
.souldemy .sd-faq-item > summary{
  list-style:none; cursor:pointer;
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:20px 0; font-size:18px; color:var(--sd-ink); font-family:var(--sd-font-display);
}
.souldemy .sd-faq-item > summary::-webkit-details-marker{ display:none; }
.souldemy .sd-faq-item > summary::after{
  content:"+"; flex:none; font-size:22px; line-height:1; color:var(--sd-gold);
  font-family:var(--sd-font-sans); transition:transform .24s var(--sd-ease);
}
.souldemy .sd-faq-item[open] > summary::after{ transform:rotate(45deg); }
.souldemy .sd-faq-a{ font-size:16px; line-height:1.7; color:var(--sd-body); margin:0 0 20px; }
.souldemy .sd-faq-a em{ color:var(--sd-faint); font-style:italic; }

/* ---- FINAL CTA extra copy line ------------------------------------- */
.souldemy .sd-cta-note{ font-size:16px; line-height:1.7; color:var(--sd-on-dark-muted); margin:0 0 34px; max-width:560px; }

/* ---- Inline / small text helpers ----------------------------------- */
.souldemy .sd-accent.is-ink{ color:var(--sd-ink); }
.souldemy .sd-em-gold{ font-family:var(--sd-font-serif); font-style:italic; color:var(--sd-gold); }
.souldemy .sd-close-note{ max-width:680px; margin-inline:auto; text-align:center; font-size:1.06rem; line-height:1.62; color:var(--sd-muted); }

/* =====================================================================
   21 · WHERE IT HAPPENS — the lived places (18 potemės) + bridge
   ===================================================================== */
.souldemy.sd-places-grid,
.souldemy .sd-places-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:2px 56px;
}
@media (max-width:620px){
  .souldemy.sd-places-grid,
  .souldemy .sd-places-grid{ grid-template-columns:1fr; }
}
.souldemy .sd-place-row{
  display:flex; gap:16px; align-items:stretch;
  padding:20px 2px; border-top:1px solid var(--sd-border); margin:0;
}
/* square placeholder — height from align-self:stretch, width from aspect-ratio:1;
   img absolutely centered so it never widens the box */
.souldemy .sd-place-ico{
  flex:none; align-self:stretch; position:relative;
  aspect-ratio:1; overflow:hidden;
  border-radius:9px;
  background:var(--sd-parchment); border:1px solid var(--sd-gold);
  margin:0;
}
.souldemy .sd-place-ico img{
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  height:50%; width:auto; opacity:.72; margin:0; border-radius:0;
}
.souldemy .sd-place-body{ flex:1; min-width:0; }
.souldemy .sd-place-body > *{ margin:0 !important; }
.souldemy .sd-place-title{
  font-family:var(--sd-font-display); font-weight:400;
  font-size:1.28rem; line-height:1.12; color:var(--sd-ink);
}
.souldemy .sd-place-text{
  font-family:var(--sd-font-serif); font-style:italic;
  font-size:1.06rem; line-height:1.4; color:var(--sd-muted);
  margin-top:7px !important;
}
/* bridge close — centered, hands off to the map */
.souldemy .sd-places-bridge{
  max-width:720px; margin:clamp(44px,5vw,60px) auto 0;
  display:flex; flex-direction:column; align-items:center; text-align:center;
}
.souldemy .sd-places-bridge > *{ margin:0 !important; }
.souldemy .sd-places-bridge > * + *{ margin-top:22px !important; }
.souldemy .sd-bridge-text{
  font-size:clamp(1.02rem,1.5vw,1.12rem); line-height:1.62; color:var(--sd-muted);
}
.souldemy .sd-bridge-statement{
  font-family:var(--sd-font-display); font-weight:400;
  font-size:clamp(1.6rem,3vw,2rem); line-height:1.12; color:var(--sd-ink);
}

/* Souldemy — homepage additions (§22–§31).
   These are ALREADY included in souldemy-spectra.css.
   Kept separate only if you append to an existing copy instead of
   replacing it. Every selector is scoped under .souldemy. */

/* =====================================================================
   22 · HOMEPAGE HERO — motif trust strip (below the split)
   Three brand-motif points under the hero split. Reuses .sd-motif for the
   glyph; drop the map / mirror / compass motif PNG into each figure.
   ===================================================================== */
.souldemy .sd-hero-motifs{
  display:grid; grid-template-columns:repeat(3,1fr); gap:28px;
  margin-top:clamp(40px,5vw,54px); padding-top:30px;
  border-top:1px solid var(--sd-border-soft);
}
.souldemy .sd-hero-motif{ display:flex; gap:16px; align-items:flex-start; margin:0; }
.souldemy .sd-hero-motif .sd-motif{ flex:none; }
.souldemy .sd-hero-motif .sd-motif img{ width:38px; height:38px; margin-top: -8px;}
.souldemy .sd-hero-motif p{ margin:0; font-size:1rem; line-height:1.5; color:var(--sd-body); }
@media (max-width:620px){
  .souldemy .sd-hero-motifs{ grid-template-columns:1fr; gap:18px; }
}

/* =====================================================================
   23 · SUNKEN BAND — parchment full-bleed background helper
   Add on the band wrapper (parent of an .sd-section) for the alternating
   parchment sections (recognition, philosophy, coming, proof). The inner
   .sd-section still owns width + alignment; this only paints the band.
   ===================================================================== */
/* .souldemy.sd-band.is-sunken,
.souldemy .sd-band.is-sunken{
  background:var(--sd-sunken);
  border-top:1px solid var(--sd-border);
  border-bottom:1px solid var(--sd-border);
} */

/* =====================================================================
   24 · RECOGNITION + READING COLUMN — light statement list, centered read
   .sd-reco  = hairline-separated statement paragraphs on a light band.
   .sd-reading = a centered narrow reading column (the "gap" section):
   lead paragraphs, a short gilded rule, and a display closing line.
   ===================================================================== */
.souldemy .sd-reco{ display:flex; flex-direction:column; margin:clamp(28px,4vw,36px) 0 0; }
.souldemy .sd-reco-item{
  margin:0; padding:20px 0; border-top:1px solid var(--sd-border);
  font-size:clamp(1.06rem,1.5vw,1.22rem); line-height:1.55; color:var(--sd-body);
}
.souldemy .sd-reco-item.is-last{ border-bottom:1px solid var(--sd-border); }
.souldemy .sd-reco-close{
  font-family:var(--sd-font-serif); font-style:italic;
  font-size:clamp(1.3rem,2.2vw,1.65rem); line-height:1.34;
  color:var(--sd-ink); margin:clamp(28px,3.5vw,34px) 0 0;
}
.souldemy .sd-reading{
  max-width:640px; margin-inline:auto;
  display:flex; flex-direction:column; align-items:center; text-align:center;
}
.souldemy .sd-reading > *{ margin:0 !important; }
.souldemy .sd-reading > * + *{ margin-top:22px !important; }
.souldemy .sd-display{
  font-family:var(--sd-font-display); font-weight:400;
  font-size:clamp(1.5rem,2.8vw,2.1rem); line-height:1.16; color:var(--sd-ink); margin:0;
}

/* =====================================================================
   25 · PHILOSOPHY — four-recognition cards + three-movements panel
   ===================================================================== */
.souldemy.sd-reco-grid,
.souldemy .sd-reco-grid{ display:grid; grid-template-columns:1fr 1fr; gap:22px; }
@media (max-width:620px){
  .souldemy.sd-reco-grid,
  .souldemy .sd-reco-grid{ grid-template-columns:1fr; }
}
.souldemy .sd-reco-card{
  background:var(--sd-card); border:1px solid var(--sd-border-soft);
  border-radius:18px; padding:clamp(26px,2.6vw,34px); box-shadow:var(--sd-shadow-sm);
}
.souldemy .sd-reco-card__head{ display:flex; align-items:center; justify-content:space-between; margin:0 0 16px; }
.souldemy .sd-reco-card__head .sd-motif{ margin:0; }
.souldemy .sd-reco-card__head .sd-motif img{ width:44px; height:44px; }
.souldemy .sd-reco-card__num{ font-family:var(--sd-font-display); font-size:1.6rem; color:var(--sd-gold); opacity:.5; margin:0; }
.souldemy .sd-reco-card__title{
  font-family:var(--sd-font-display); font-weight:400; font-size:1.5rem;
  line-height:1.14; color:var(--sd-ink); margin:0 0 10px;
}
.souldemy .sd-reco-card__text{ font-size:1.04rem; line-height:1.6; color:var(--sd-muted); margin:0; }

.souldemy .sd-movements{
  margin:clamp(44px,5vw,64px) 0 0; background:var(--sd-indigo);
  border-radius:22px; padding:clamp(36px,4vw,52px);
}
.souldemy .sd-movements-head{ max-width:640px; margin:0 auto clamp(28px,3vw,34px); text-align:center; }
.souldemy .sd-movements-head > *{ margin:0; }
.souldemy .sd-movements-title{
  font-family:var(--sd-font-display); font-weight:400; color:var(--sd-bone);
  font-size:clamp(1.5rem,2.8vw,2.1rem); line-height:1.08; margin:0;
}
.souldemy .sd-movements-lead{ font-size:clamp(1rem,1.4vw,1.12rem); line-height:1.56; color:var(--sd-on-dark-muted); margin:14px 0 0; }
.souldemy .sd-movements-row{ display:grid; grid-template-columns:1fr auto 1fr auto 1fr; gap:18px; align-items:center; }
.souldemy .sd-movement{ text-align:center; }
.souldemy .sd-movement > *{ margin:0; }
.souldemy .sd-movement__title{ font-family:var(--sd-font-display); font-size:clamp(1.3rem,1.9vw,1.6rem); color:var(--sd-sun-gold); margin:0 0 10px; }
.souldemy .sd-movement__text{ font-size:.98rem; line-height:1.55; color:var(--sd-on-dark-muted); margin:0; }
.souldemy .sd-movement-arrow{ font-family:var(--sd-font-serif); font-size:1.8rem; color:var(--sd-gold); margin:0; text-align:center; }
@media (max-width:620px){
  .souldemy .sd-movements-row{ grid-template-columns:1fr; gap:22px; }
  .souldemy .sd-movement-arrow{ transform:rotate(90deg); }
}

/* =====================================================================
   26 · THE NINE AREAS — editorial index (two-column ledger, no cards)
   ===================================================================== */
.souldemy.sd-index-grid,
.souldemy .sd-index-grid{
  display:grid; grid-template-columns:1fr 1fr; column-gap:56px;
  border-bottom:1px solid var(--sd-border);
}
@media (max-width:620px){
  .souldemy.sd-index-grid,
  .souldemy .sd-index-grid{ grid-template-columns:1fr; }
}
.souldemy .sd-index-item{
  display:flex; gap:20px; align-items:baseline;
  padding:22px 0; border-top:1px solid var(--sd-border); margin:0;
}
.souldemy .sd-index-num{
  font-family:var(--sd-font-display); font-size:1.5rem; color:var(--sd-gold);
  opacity:.55; min-width:1.4ch; margin:0; line-height:1.1;
}
.souldemy .sd-index-body{ min-width:0; }
.souldemy .sd-index-body > *{ margin:0 !important; }
.souldemy .sd-index-title{
  font-family:var(--sd-font-display); font-weight:400; font-size:1.28rem;
  line-height:1.14; color:var(--sd-ink);
}
.souldemy .sd-index-q{
  font-family:var(--sd-font-serif); font-style:italic; font-size:1.04rem;
  line-height:1.4; color:var(--sd-muted); margin-top:4px !important;
}
.souldemy .sd-index-close{
  max-width:680px; margin:clamp(36px,4vw,48px) auto 0; text-align:center;
  font-size:clamp(1.02rem,1.4vw,1.16rem); line-height:1.6; color:var(--sd-body);
}

/* =====================================================================
   27 · THE DISTINCTION — dark "what this is not" grid + closing
   Lives inside a full-width .sd-dark band (see §5). Centered head uses
   .sd-dark-head; the 2x2 grid is hairline-divided cells on indigo.
   ===================================================================== */
.souldemy .sd-dark-head{
  max-width:680px; margin:0 auto; text-align:center;
  display:flex; flex-direction:column; align-items:center;
}
.souldemy .sd-dark-head > *{ margin:0 !important; }
.souldemy .sd-dark-head > * + *{ margin-top:12px !important; }
.souldemy .sd-dark-head .sd-dark-title{ max-width:none; }
.souldemy .sd-not-grid{
  display:grid; grid-template-columns:1fr 1fr; gap:1px;
  background:var(--sd-border-on-dark); border:1px solid var(--sd-border-on-dark);
  border-radius:14px; overflow:hidden; margin:clamp(32px,4vw,40px) 0 0;
}
@media (max-width:620px){ .souldemy .sd-not-grid{ grid-template-columns:1fr; } }
.souldemy .sd-not-card{ background:var(--sd-indigo); padding:26px 28px; margin:0; }
.souldemy .sd-not-card > *{ margin:0 !important; }
.souldemy .sd-not-card__title{ font-family:var(--sd-font-display); font-size:1.3rem; color:var(--sd-sun-gold); margin:0 0 6px !important; }
.souldemy .sd-not-card__text{ font-size:1rem; line-height:1.5; color:var(--sd-on-dark-muted); margin:0; }
.souldemy .sd-not-close{ max-width:680px; margin:clamp(40px,5vw,56px) auto 0; text-align:center; }
.souldemy .sd-not-close > *{ margin:0 !important; }
.souldemy .sd-not-close__title{ font-family:var(--sd-font-display); font-weight:400; color:var(--sd-bone); font-size:clamp(1.6rem,3vw,2.3rem); line-height:1.12; }
.souldemy .sd-not-close__accent{ font-family:var(--sd-font-serif); font-style:italic; font-size:clamp(1.5rem,3vw,2.1rem); line-height:1.3; color:var(--sd-sun-gold); margin-top:22px !important; }
.souldemy .sd-not-close__lead{ font-size:clamp(1.05rem,1.5vw,1.2rem); line-height:1.62; color:var(--sd-on-dark-muted); margin-top:26px !important; }
.souldemy .sd-not-close__lead strong{ color:var(--sd-bone); font-weight:600; }

/* =====================================================================
   28 · THE DOORS — where to start (price-ascending row menu)
   A vertical menu of rows: [name+price] [description] [action]. The free
   row is tinted gold (.is-gold); membership is lifted (.is-featured) with
   a Recommended badge. Rows stack on mobile.
   ===================================================================== */
.souldemy .sd-doors{ display:flex; flex-direction:column; }
.souldemy .sd-door{
  display:grid; grid-template-columns:1.5fr 2fr auto; gap:24px; align-items:center;
  padding:24px; border-bottom:1px solid var(--sd-border); margin:0;
}
.souldemy .sd-door__head > *{ margin:0 !important; }
.souldemy .sd-door__name{ font-family:var(--sd-font-display); font-weight:400; font-size:1.3rem; line-height:1.12; color:var(--sd-ink); }
.souldemy .sd-door__price{ font-size:.95rem; color:var(--sd-muted); margin-top:6px !important; }
.souldemy .sd-door__price.is-free{ font-size:.82rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--sd-bronze); }
.souldemy .sd-door__desc{ font-size:1.02rem; line-height:1.5; color:var(--sd-muted); margin:0; }
.souldemy .sd-door.is-gold{ background:rgba(201,154,56,.10); border:1px solid rgba(201,154,56,.35); border-radius:14px; }
.souldemy .sd-door.is-featured{ background:var(--sd-card); border:1px solid var(--sd-gold); border-radius:14px; box-shadow:var(--sd-shadow-sm); margin:14px 0; }
.souldemy .sd-door.is-gold .sd-door__desc,
.souldemy .sd-door.is-featured .sd-door__desc{ color:var(--sd-body); }
.souldemy .sd-door__head .sd-badge{ position:static; display:inline-block; margin:0 0 8px !important; }
.souldemy .sd-door__action{ justify-self:end; }
.souldemy .sd-door__action > *{ margin:0; }
.souldemy .sd-door-link{ font-size:.95rem; font-weight:600; color:var(--sd-bronze); white-space:nowrap; text-decoration:none; }
.souldemy .sd-door-link:hover{ color:var(--sd-gold); }
.souldemy .sd-door .wp-block-button__link{ height:48px; white-space:nowrap; }
@media (max-width:720px){
  .souldemy .sd-door{ grid-template-columns:1fr; gap:12px; }
  .souldemy .sd-door__action{ justify-self:start; }
}

/* =====================================================================
   29 · WHAT'S COMING — agenda date list (hairline rows)
   ===================================================================== */
.souldemy .sd-agenda{ display:flex; flex-direction:column; border-bottom:1px solid var(--sd-border); }
.souldemy .sd-agenda-row{
  display:grid; grid-template-columns:auto 1fr; gap:28px; align-items:baseline;
  padding:22px 0; border-top:1px solid var(--sd-border); margin:0;
}
.souldemy .sd-agenda-date{
  font-family:var(--sd-font-sans); font-size:.82rem; font-weight:700;
  letter-spacing:.1em; text-transform:uppercase; color:var(--sd-bronze);
  min-width:110px; margin:0;
}
.souldemy .sd-agenda-body > *{ margin:0 !important; }
.souldemy .sd-agenda-title{ font-family:var(--sd-font-display); font-size:1.28rem; line-height:1.14; color:var(--sd-ink); }
.souldemy .sd-agenda-sub{ font-family:var(--sd-font-serif); font-style:italic; font-size:1.05rem; line-height:1.4; color:var(--sd-muted); margin-top:6px !important; }
@media (max-width:620px){
  .souldemy .sd-agenda-row{ grid-template-columns:1fr; gap:6px; }
  .souldemy .sd-agenda-date{ min-width:0; }
}

/* =====================================================================
   30 · WHO TEACHES THIS — centered teacher block (round portrait)
   ===================================================================== */
.souldemy .sd-teacher{
  max-width:640px; margin-inline:auto;
  display:flex; flex-direction:column; align-items:center; text-align:center;
}
.souldemy .sd-teacher > *{ margin:0; }
.souldemy .sd-teacher .sd-eyebrow-line{ justify-content:center; }
.souldemy .sd-teacher-portrait{
  width:200px; height:200px; border-radius:50%; overflow:hidden;
  border:1px solid var(--sd-gold); box-shadow:var(--sd-shadow-md); margin:20px 0 0;
}
.souldemy .sd-teacher-portrait img{ width:100%; height:100%; object-fit:cover; border-radius:0; }
.souldemy .sd-teacher-title{
  font-family:var(--sd-font-display); font-weight:400;
  font-size:clamp(1.85rem,3.6vw,2.7rem); line-height:1.06; color:var(--sd-ink); margin:24px 0 0;
}
.souldemy .sd-teacher-body{
  font-family:var(--sd-font-serif); font-style:italic;
  font-size:clamp(1.15rem,1.8vw,1.4rem); line-height:1.4; color:var(--sd-muted); margin:20px 0 0;
}

/* =====================================================================
   31 · CLOSE — light final CTA variant (gold glow on bone)
   Reuses §17 .sd-cta; .is-light repaints it as a warm light band with a
   radiant gold glow, plus a gold serif accent line above the button.
   ===================================================================== */
.souldemy.sd-cta.is-light,
.souldemy .sd-cta.is-light{
  background:radial-gradient(circle at 50% 42%, rgba(226,189,98,.20), transparent 60%), var(--sd-bone);
}
.souldemy.sd-cta.is-light .sd-cta-title,
.souldemy .sd-cta.is-light .sd-cta-title{ color:var(--sd-ink); }
.souldemy.sd-cta.is-light .sd-cta-lead,
.souldemy .sd-cta.is-light .sd-cta-lead{ color:var(--sd-muted); }
.souldemy.sd-cta.is-light .sd-cta-accent,
.souldemy .sd-cta.is-light .sd-cta-accent{ color:var(--sd-gold); }
.souldemy .sd-cta-accent{
  font-family:var(--sd-font-serif); font-style:italic;
  font-size:clamp(1.14rem,1.8vw,1.4rem); line-height:1.4; color:var(--sd-gold);
  margin:0 0 36px;
}
