:root{
  --smm-blue:#24516A; --smm-orange:#E97B32; --smm-yellow:#E6B53C; --smm-ink:#1A1A1B;
  --smm-surface:#f8f9fa; --smm-surface-low:#f3f4f5;
  --smm-on:#191c1d; --smm-on-var:#564338; --smm-muted:#8A7A6D;
  --smm-outline:rgba(221,193,179,.2); --smm-outline-mid:rgba(221,193,179,.5);
  --smm-ease:cubic-bezier(.4,0,.2,1);
}

.smm,.smm *,.smm *::before,.smm *::after{box-sizing:border-box}
.smm{background:var(--smm-surface);color:var(--smm-on);font-family:'Source Sans 3',system-ui,sans-serif;line-height:1.5;overflow-x:hidden;-webkit-font-smoothing:antialiased}
/* :where() keeps these resets at 0 specificity so single-class rules (.smm-h1, .smm-mb24 …) win */
:where(.smm) :where(h1,h2,h3,p,figure,blockquote,ol){margin:0}
:where(.smm) :where(ol){padding:0;list-style:none}
:where(.smm) :where(img){display:block;max-width:100%}
:where(.smm) :where(a){text-decoration:none}
:where(.smm) :where(button){font-family:inherit}
.smm :focus-visible{outline:2px solid var(--smm-orange);outline-offset:2px}

/* layout */
.smm-sec{padding:80px 0}
.smm-sec--low{background:var(--smm-surface-low)}
.smm-sec--blue{background:var(--smm-blue)}
.smm-wrap{max-width:1140px;margin:0 auto;padding:0 20px}
.smm-2col{display:grid;grid-template-columns:1fr 1fr;gap:96px;align-items:center}
.smm-2col--top{align-items:start}
.smm-2col--video{grid-template-columns:1.05fr .95fr}
.smm-2col--goal{grid-template-columns:1.2fr .8fr;gap:64px;align-items:start}
.smm-2col--band{grid-template-columns:.9fr 1.1fr;gap:64px}
.smm-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.smm-2x2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.smm-head{max-width:720px;margin-bottom:56px}
.smm-stack{display:flex;flex-direction:column;gap:12px}

/* type */
.smm-eyebrow{display:block;font-weight:700;font-size:14px;line-height:20px;letter-spacing:.1em;text-transform:uppercase;color:var(--smm-orange);margin-bottom:12px}
.smm-eyebrow--gold{color:var(--smm-yellow)}
.smm-h1{font-family:Jost,system-ui,sans-serif;font-weight:800;color:#fff;font-size:clamp(36px,5.6vw,56px);line-height:1.05;letter-spacing:-.015em;max-width:16ch;margin:0 auto 24px;text-wrap:balance}
.smm-h2{font-family:Jost,system-ui,sans-serif;font-weight:700;color:var(--smm-blue);font-size:clamp(32px,4vw,48px);line-height:1.08;letter-spacing:-.01em;text-wrap:balance}
.smm-h2--light{color:#fff}
.smm-h3{font-family:Jost,system-ui,sans-serif;font-weight:700;font-size:24px;line-height:30px;color:var(--smm-blue)}
.smm-lede{font-size:20px;line-height:32px;color:var(--smm-on-var);text-wrap:pretty}
.smm-lede--onDark{color:rgba(255,255,255,.85)}
.smm-p{font-size:16px;line-height:26px;color:var(--smm-on-var);max-width:56ch;text-wrap:pretty}
.smm-p strong{color:var(--smm-on)}
.smm-small{font-size:14px;line-height:22px;color:var(--smm-muted)}
.smm-mb8{margin-bottom:8px}.smm-mb24{margin-bottom:24px}.smm-mb32{margin-bottom:32px}.smm-mb40{margin-bottom:40px}

/* buttons */
.smm-btn{display:inline-block;font-weight:700;font-size:16px;line-height:26px;padding:16px 40px;border-radius:9999px;transition:all .2s var(--smm-ease);cursor:pointer;text-align:center}
.smm-btn:active{transform:scale(.95)}
.smm-btn--primary{background:var(--smm-orange);color:#fff;box-shadow:0 20px 25px -5px rgba(233,123,50,.3),0 8px 10px -6px rgba(0,0,0,.1)}
.smm-btn--primary:hover{filter:brightness(1.1);transform:scale(1.05);color:#fff}
.smm-btn--ghost{border:2px solid rgba(255,255,255,.5);color:#fff}
.smm-btn--ghost:hover{background:rgba(255,255,255,.1);transform:scale(1.05);color:#fff}
.smm-btn--white{background:#fff;color:var(--smm-blue)}
.smm-btn--white:hover{background:var(--smm-yellow);transform:scale(1.05);color:var(--smm-blue)}
.smm-btn--block{display:block;padding:16px 32px}
.smm-cta-row{display:flex;flex-wrap:wrap;gap:16px;justify-content:center}

/* hero */
.smm-hero{position:relative;background:var(--smm-blue);overflow:hidden}
.smm-hero-inner{position:relative;z-index:10;max-width:1140px;margin:0 auto;padding:clamp(72px,10vw,120px) 20px clamp(56px,7vw,88px);text-align:center}
.smm-hero .smm-lede{max-width:672px;margin:0 auto 40px}
.smm-hero .smm-cta-row{margin-bottom:clamp(48px,6vw,72px)}
.smm-rhythm{display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:0 clamp(16px,3vw,40px);font-family:Jost,system-ui,sans-serif;font-weight:800;font-size:clamp(56px,10vw,128px);line-height:.95;letter-spacing:-.04em}
.smm-rhythm span:nth-child(1){color:#fff}
.smm-rhythm span:nth-child(2){color:var(--smm-yellow)}
.smm-rhythm span:nth-child(3){color:var(--smm-orange)}
.smm-orb{position:absolute;width:384px;height:384px;border-radius:9999px;filter:blur(64px)}
.smm-orb--a{top:-160px;left:-160px;background:rgba(233,123,50,.14)}
.smm-orb--b{bottom:-160px;right:-120px;background:rgba(230,181,60,.12)}

/* steps */
.smm-steps{display:flex;flex-direction:column;gap:32px}
.smm-step{display:grid;grid-template-columns:56px 1fr;gap:20px;align-items:start}
.smm-step-n{width:56px;height:56px;border-radius:9999px;display:flex;align-items:center;justify-content:center;font-family:Jost,system-ui,sans-serif;font-weight:800;font-size:18px;color:#fff}
.smm-step-n--blue{background:var(--smm-blue)}
.smm-step-n--gold{background:var(--smm-yellow);color:var(--smm-ink)}
.smm-step-n--orange{background:var(--smm-orange)}

/* cards */
.smm-card{background:#fff;border:1px solid var(--smm-outline);border-radius:12px;padding:32px;transition:border-color .2s var(--smm-ease),box-shadow .2s var(--smm-ease)}
.smm-card--hover:hover{border-color:rgba(36,81,106,.35);box-shadow:0 10px 15px -3px rgba(0,0,0,.08),0 4px 6px -4px rgba(0,0,0,.1)}
.smm-card--sm{padding:20px 24px}
.smm-card--col{display:flex;flex-direction:column;gap:24px}
.smm-tier-n{font-family:Jost,system-ui,sans-serif;font-weight:800;font-size:36px;line-height:40px;color:var(--smm-blue);margin-bottom:12px}
.smm-tier-n--orange{color:var(--smm-orange)}

/* calendar */
.smm-cal-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap}
.smm-cal-head .smm-eyebrow{margin-bottom:4px}
.smm-cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.smm-cal-dow{text-align:center;font-weight:700;font-size:12px;letter-spacing:.1em;color:var(--smm-muted);padding-bottom:4px}
.smm-day{aspect-ratio:1;border:1px solid var(--smm-outline-mid);background:#fff;color:var(--smm-on-var);border-radius:9999px;font-weight:700;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:all .2s var(--smm-ease)}
.smm-day:hover{transform:scale(1.08)}
.smm-day--gift{background:var(--smm-orange);border-color:var(--smm-orange);color:#fff}
.smm-day--report{background:var(--smm-yellow);border-color:var(--smm-yellow);color:var(--smm-ink)}
.smm-day[aria-pressed="true"]{background:var(--smm-blue);border-color:var(--smm-blue);color:#fff}
.smm-legend{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:14px;line-height:20px;color:var(--smm-on-var)}
.smm-legend span{display:inline-flex;align-items:center;gap:8px}
.smm-legend i{width:12px;height:12px;border-radius:9999px;display:inline-block}
.smm-legend--onDark{gap:8px 24px;color:rgba(255,255,255,.8)}
.smm-legend--onDark i{width:10px;height:10px}
.smm-rule-top{border-top:1px solid rgba(221,193,179,.3);padding-top:20px}
.smm-fast-line{font-size:16px;line-height:26px;color:var(--smm-on)}

/* band + pills */
.smm-band{background:var(--smm-surface-low);border-top:1px solid rgba(221,193,179,.3);border-bottom:1px solid rgba(221,193,179,.3);padding:48px 0}
.smm-pills{display:flex;flex-wrap:wrap;gap:12px}
.smm-pill{background:#fff;border:1px solid rgba(221,193,179,.4);border-radius:9999px;padding:10px 22px;font-weight:700;font-size:16px;color:var(--smm-blue)}
.smm-pill--solid{background:var(--smm-blue);border-color:var(--smm-blue);color:#fff}

/* video */
.smm-video{border-radius:12px;overflow:hidden;box-shadow:0 25px 50px -12px rgba(0,0,0,.25);background:#14212B}
.smm-video video{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:#14212B}

/* goal */
.smm-dots{display:grid;grid-template-columns:repeat(40,minmax(0,1fr));gap:3px}
.smm-dots span{aspect-ratio:1;border-radius:9999px;background:rgba(255,255,255,.18);transition:background-color .3s var(--smm-ease)}
.smm-dots span.is-sponsored{background:var(--smm-orange)}
.smm-dots span.is-yours{background:var(--smm-yellow)}
.smm-meter-n{display:flex;align-items:baseline;gap:10px;margin-bottom:12px}
.smm-meter-n b{font-family:Jost,system-ui,sans-serif;font-weight:800;font-size:40px;line-height:1;letter-spacing:-.03em;color:var(--smm-blue)}
.smm-meter-n span{font-weight:700;font-size:16px;color:var(--smm-on-var)}
.smm-bar{height:8px;background:#EFE9E1;border-radius:9999px;overflow:hidden;display:flex}
.smm-bar i{display:block;height:100%}
.smm-bar-a{background:var(--smm-orange)}
.smm-bar-b{background:var(--smm-yellow);transition:width .3s var(--smm-ease)}
.smm-step-ctl{display:flex;align-items:center;gap:16px}
.smm-step-btn{flex:none;width:48px;height:48px;border-radius:9999px;font-size:24px;font-weight:700;cursor:pointer;transition:all .2s var(--smm-ease);border:1px solid rgba(221,193,179,.6);background:#fff;color:var(--smm-blue)}
.smm-step-btn:hover{border-color:var(--smm-blue)}
.smm-step-btn:active{transform:scale(.95)}
.smm-step-btn--plus{border:none;background:var(--smm-orange);color:#fff}
.smm-step-btn--plus:hover{filter:brightness(1.1)}
.smm-count{flex:1;text-align:center;font-family:Jost,system-ui,sans-serif;font-weight:800;font-size:48px;line-height:1;letter-spacing:-.03em;color:var(--smm-on)}

/* scripture */
.smm-verse{display:flex;flex-direction:column;gap:16px}
.smm-verse p{font-family:Jost,system-ui,sans-serif;font-weight:500;font-style:italic;font-size:20px;line-height:1.5;color:var(--smm-blue);text-wrap:pretty}

/* founder */
.smm-founder{max-width:960px;margin:0 auto;padding:0 20px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:32px}
.smm-founder img{width:96px;height:96px;border-radius:9999px;object-fit:cover;object-position:center 20%;box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1)}
.smm-founder blockquote{font-family:Jost,system-ui,sans-serif;font-weight:500;font-size:clamp(22px,2.8vw,32px);line-height:1.4;letter-spacing:-.015em;color:var(--smm-on);text-wrap:pretty}
.smm-founder blockquote em{font-style:normal;color:var(--smm-orange);font-weight:700}
.smm-founder-n{font-family:Jost,system-ui,sans-serif;font-weight:700;font-size:20px;line-height:26px;color:var(--smm-blue)}
.smm-founder-r{font-weight:700;font-size:14px;line-height:20px;letter-spacing:.1em;text-transform:uppercase;color:var(--smm-on-var)}

/* closing cta */
.smm-cta{position:relative;overflow:hidden;background:var(--smm-blue);padding:80px 0}
.smm-cta .smm-orb--a{background:rgba(233,123,50,.1)}
.smm-cta .smm-orb--b{right:-160px;background:rgba(230,181,60,.1)}
.smm-cta-inner{position:relative;z-index:10;max-width:1140px;margin:0 auto;padding:0 20px;text-align:center}
.smm-cta-inner .smm-h2{color:#fff;font-weight:800;font-size:clamp(32px,4.4vw,48px);line-height:1.1;letter-spacing:-.015em;max-width:20ch;margin:0 auto 24px}
.smm-cta-inner .smm-lede{color:rgba(255,255,255,.75);max-width:672px;margin:0 auto 40px}

/* responsive */
@media (min-width:768px){
  .smm-sec{padding:120px 0}
  .smm-cta{padding:112px 0}
}
@media (max-width:1023px){
  .smm-2col,.smm-2col--video,.smm-2col--goal,.smm-2col--band{grid-template-columns:1fr;gap:48px}
  .smm-3{grid-template-columns:1fr}
}
@media (max-width:767px){
  .smm-2x2{grid-template-columns:1fr}
  .smm-rhythm{font-size:clamp(40px,14vw,72px)}
  .smm-dots{grid-template-columns:repeat(25,minmax(0,1fr))}
}
@media (prefers-reduced-motion:reduce){
  .smm *{transition:none !important}
}
