/* THE MONEY SCRIPT (.org) — unique prefix: tmso */
:root{
  --tmso-emerald-950:#071f18; --tmso-emerald-900:#0e3b2e; --tmso-emerald-800:#154d3c; --tmso-emerald-700:#1c6049;
  --tmso-gold-300:#f3d98a; --tmso-gold-400:#e8c165; --tmso-gold-500:#d4a943; --tmso-gold-600:#b8892e;
  --tmso-ink-900:#1c2420; --tmso-ink-700:#48534c; --tmso-ink-500:#71807a; --tmso-ink-300:#aab6b0;
  --tmso-bg:#faf7f0; --tmso-bg-tint:#f2ecdc; --tmso-white:#ffffff;
  --tmso-radius-sm:10px; --tmso-radius-md:16px; --tmso-radius-lg:26px;
  --tmso-shadow-sm:0 2px 10px rgba(14,59,46,.08); --tmso-shadow-md:0 10px 30px rgba(14,59,46,.14); --tmso-shadow-lg:0 24px 60px rgba(14,59,46,.22);
  --tmso-font-head:'Fraunces',serif; --tmso-font-body:'Work Sans',sans-serif;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;font-family:var(--tmso-font-body);color:var(--tmso-ink-900);background:var(--tmso-bg);line-height:1.6;-webkit-font-smoothing:antialiased;}
h1,h2,h3,h4{font-family:var(--tmso-font-head);font-weight:600;line-height:1.18;margin:0 0 14px;color:var(--tmso-emerald-900);}
p{margin:0 0 14px;color:var(--tmso-ink-700);}
a{color:var(--tmso-emerald-800);}
img{max-width:100%;display:block;}
.tmso-wrap{max-width:1160px;margin:0 auto;padding:0 24px;}

/* ---------- Buttons ---------- */
.tmso-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 26px;border-radius:8px;font-family:var(--tmso-font-body);font-weight:700;font-size:15px;text-decoration:none;border:none;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease;}
.tmso-btn--primary{background:linear-gradient(135deg,var(--tmso-gold-500),var(--tmso-gold-600));color:#2a1d05;box-shadow:var(--tmso-shadow-md);}
.tmso-btn--primary:hover{transform:translateY(-2px);box-shadow:var(--tmso-shadow-lg);}
.tmso-btn--dark{background:var(--tmso-emerald-900);color:#fff;}
.tmso-btn--sm{padding:9px 18px;font-size:13px;}
.tmso-btn--lg{padding:17px 32px;font-size:16.5px;}
.tmso-btn--block{width:100%;}

/* ---------- Header ---------- */
.tmso-header{position:sticky;top:0;z-index:50;background:rgba(250,247,240,.94);backdrop-filter:blur(10px);border-bottom:1px solid #e6dfc9;}
.tmso-header-row{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;gap:20px;}
.tmso-logo{display:flex;align-items:center;gap:8px;font-family:var(--tmso-font-head);font-weight:600;font-size:19px;color:var(--tmso-emerald-900);text-decoration:none;}
.tmso-logo strong{color:var(--tmso-gold-600);font-weight:700;}
.tmso-logo-mark{display:inline-flex;color:var(--tmso-gold-500);}
.tmso-nav{display:flex;align-items:center;gap:22px;}
.tmso-nav a{color:var(--tmso-ink-700);text-decoration:none;font-weight:600;font-size:14.5px;}
.tmso-nav a:hover{color:var(--tmso-emerald-800);}
.tmso-nav-cta{display:none;}
.tmso-navtoggle{display:none;background:none;border:none;color:var(--tmso-emerald-900);cursor:pointer;}
@media (max-width:960px){
  .tmso-nav{position:fixed;inset:64px 0 0 0;background:#fff;flex-direction:column;align-items:flex-start;padding:26px 24px;gap:18px;transform:translateY(-12px);opacity:0;pointer-events:none;transition:.2s ease;}
  .tmso-nav.is-open{transform:translateY(0);opacity:1;pointer-events:auto;}
  .tmso-navtoggle{display:block;}
  .tmso-header-cta{display:none;}
  .tmso-nav-cta{display:inline-flex;margin-top:10px;}
}
.tmso-header-cta{flex-shrink:0;}

/* ---------- Sticky CTA ---------- */
.tmso-stickycta{position:fixed;left:0;right:0;bottom:-100px;z-index:60;background:var(--tmso-emerald-950);color:#fff;transition:bottom .3s ease;}
.tmso-stickycta.is-visible{bottom:0;}
.tmso-stickycta-row{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;gap:16px;font-size:14px;}
.tmso-stickycta-actions{display:flex;align-items:center;gap:12px;}
.tmso-stickyclose{background:none;border:none;color:#fff;opacity:.7;cursor:pointer;}
@media (max-width:640px){.tmso-stickycta-row span{display:none;}}

/* ---------- Hero ---------- */
.tmso-hero{position:relative;background:radial-gradient(1000px 480px at 15% 0%,rgba(232,193,101,.14),transparent 60%),linear-gradient(180deg,var(--tmso-emerald-950),var(--tmso-emerald-900) 82%);color:#eef3ef;overflow:hidden;padding:56px 0 84px;}
.tmso-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;position:relative;z-index:2;}
.tmso-hero-grid > div{min-width:0;}
.tmso-hero h1{font-size:clamp(30px,4vw,47px);color:#fff;margin:14px 0 16px;}
.tmso-hero-desc{font-size:17px;color:#cfe0d6;max-width:540px;margin-bottom:22px;}
.tmso-eyebrow{display:inline-block;background:rgba(232,193,101,.14);color:var(--tmso-gold-300);border:1px solid rgba(232,193,101,.35);border-radius:99px;padding:6px 16px;font-family:var(--tmso-font-body);font-weight:700;font-size:12px;letter-spacing:.04em;text-transform:uppercase;}
.tmso-section--white .tmso-eyebrow,.tmso-section--tint .tmso-eyebrow{background:rgba(184,137,46,.1);color:var(--tmso-gold-600);border-color:rgba(184,137,46,.28);}
.tmso-check-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;margin:0 0 26px;}
.tmso-check-item{display:flex;align-items:flex-start;gap:9px;font-weight:600;font-size:14px;color:#e6efe9;}
.tmso-check-item svg{flex-shrink:0;margin-top:2px;color:var(--tmso-gold-400);}
.tmso-hero-ctas{display:flex;align-items:center;gap:18px;flex-wrap:wrap;}
.tmso-hero-price{font-family:var(--tmso-font-head);color:#dcecf7;}
.tmso-hero-price s{opacity:.6;margin-right:6px;}
.tmso-compliance-note{margin-top:20px;font-size:11.5px;color:#9db8ab;max-width:520px;}
.tmso-hero-media{position:relative;display:flex;justify-content:center;}
.tmso-hero-media img{max-width:420px;filter:drop-shadow(0 30px 60px rgba(0,0,0,.5));}
@media (max-width:960px){
  .tmso-hero-grid{grid-template-columns:1fr;}
  .tmso-hero-media{order:-1;}
  .tmso-check-grid{grid-template-columns:1fr;}
}

/* ---------- Hero abundance-flow visual (wealth/mindset niche) ---------- */
.tmso-hero-visual{position:absolute;inset:0;width:100%;height:100%;z-index:1;opacity:.55;pointer-events:none;}
.tmso-abund-particle{fill:var(--tmso-gold-400);opacity:0;animation:tmso-abund-rise 6s ease-in-out infinite;animation-delay:var(--d);}
.tmso-abund-glow{fill:url(#tmso-glow-grad);opacity:.5;animation:tmso-abund-glow-pulse 5s ease-in-out infinite;}
.tmso-abund-glow--sm{animation-delay:1.2s;}
.tmso-abund-arc{fill:none;stroke:var(--tmso-gold-300);stroke-width:1;opacity:0;stroke-dasharray:6 10;animation:tmso-abund-arc-fade 8s ease-in-out infinite;animation-delay:var(--d);}
@keyframes tmso-abund-rise{
  0%{transform:translateY(var(--y0)) scale(.6);opacity:0;}
  15%{opacity:.9;}
  75%{opacity:.5;}
  100%{transform:translateY(calc(var(--y0) * -1 + var(--drift) * -1)) scale(1.15);opacity:0;}
}
@keyframes tmso-abund-glow-pulse{
  0%{opacity:.25;transform:scale(.9);} 50%{opacity:.55;transform:scale(1.08);} 100%{opacity:.25;transform:scale(.9);}
}
@keyframes tmso-abund-arc-fade{
  0%{opacity:0;} 30%{opacity:.35;} 70%{opacity:.2;} 100%{opacity:0;}
}
@media (prefers-reduced-motion:reduce){
  .tmso-abund-particle,.tmso-abund-arc{animation:none;opacity:.2;}
  .tmso-abund-glow{animation:none;opacity:.35;}
}
@media (max-width:960px){.tmso-hero-visual{opacity:.4;}}

/* ---------- Sections ---------- */
.tmso-section{padding:74px 0;}
.tmso-section--white{background:var(--tmso-white);}
.tmso-section--tint{background:var(--tmso-bg-tint);}
.tmso-section--dark{background:linear-gradient(180deg,var(--tmso-emerald-950),var(--tmso-emerald-900));color:#eef3ef;}
.tmso-section--dark h2,.tmso-section--dark p{color:#eef3ef;}
.tmso-section--dark .tmso-eyebrow{background:rgba(232,193,101,.14);color:var(--tmso-gold-300);border-color:rgba(232,193,101,.35);}
.tmso-kicker{max-width:640px;margin:0 auto 42px;text-align:center;}
.tmso-kicker h2{font-size:clamp(24px,3vw,34px);}

/* ---------- Split ---------- */
.tmso-split{display:grid;grid-template-columns:.95fr 1.05fr;gap:52px;align-items:center;}
.tmso-split > div{min-width:0;}
.tmso-split-media img{border-radius:var(--tmso-radius-lg);box-shadow:var(--tmso-shadow-md);}
@media (max-width:900px){.tmso-split{grid-template-columns:1fr;}}

/* ---------- Component cards ---------- */
.tmso-comp-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;}
.tmso-comp-card{background:var(--tmso-white);border:1px solid #e6dfc9;border-radius:var(--tmso-radius-md);padding:20px;text-align:center;}
.tmso-comp-card img{margin:0 auto 14px;border-radius:8px;box-shadow:var(--tmso-shadow-sm);}
.tmso-comp-card h3{font-size:15px;}
.tmso-comp-card p{font-size:12.5px;margin:0;}
@media (max-width:960px){.tmso-comp-grid{grid-template-columns:repeat(3,1fr);}}
@media (max-width:640px){.tmso-comp-grid{grid-template-columns:1fr 1fr;}}

/* ---------- Why cards (3-col) ---------- */
.tmso-card-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:20px;}
.tmso-card-grid3 > div{min-width:0;}
.tmso-card-grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:20px;}
.tmso-card-grid4 > div{min-width:0;}
@media (max-width:900px){.tmso-card-grid4{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.tmso-card-grid4{grid-template-columns:1fr;}}
.tmso-whycard{background:var(--tmso-white);border:1px solid #e6dfc9;border-radius:var(--tmso-radius-md);padding:26px 22px;text-align:left;}
.tmso-icon{width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,var(--tmso-gold-400),var(--tmso-gold-600));color:#2a1d05;display:flex;align-items:center;justify-content:center;margin-bottom:14px;}
.tmso-whycard h3{font-size:17px;}
.tmso-whycard p{font-size:14px;margin:0;}
@media (max-width:900px){.tmso-card-grid3{grid-template-columns:1fr;}}

/* ---------- Growth chart (animated) ---------- */
.tmso-growth-chart{max-width:760px;margin:36px auto 0;background:var(--tmso-emerald-950);border-radius:var(--tmso-radius-lg);padding:32px 30px 22px;box-shadow:var(--tmso-shadow-md);}
.tmso-growth-title{color:#fff;font-family:var(--tmso-font-head);font-weight:600;font-size:18px;margin:0 0 6px;}
.tmso-growth-sub{color:#a9c2b3;font-size:13px;margin:0 0 18px;}
.tmso-growth-svg{width:100%;height:auto;display:block;}
.tmso-growth-area{fill:url(#tmso-growth-grad);}
.tmso-growth-line{fill:none;stroke:var(--tmso-gold-400);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1100;stroke-dashoffset:1100;transition:stroke-dashoffset 2.2s cubic-bezier(.16,.84,.44,1);}
.tmso-growth-line.is-visible{stroke-dashoffset:0;}
.tmso-growth-dot{fill:var(--tmso-gold-300);opacity:0;transform-box:fill-box;transform-origin:center;transition:opacity .5s ease var(--d);}
.tmso-growth-dot.is-visible{opacity:1;}
.tmso-growth-axis{fill:#83a091;font-size:11px;font-family:var(--tmso-font-body);}
.tmso-growth-footnote{text-align:center;font-size:12px;color:#83a091;margin:12px 0 0;}
@media (prefers-reduced-motion:reduce){.tmso-growth-line{transition:none;stroke-dashoffset:0;}.tmso-growth-dot{transition:none;opacity:1;}}

/* ---------- Reviews ---------- */
.tmso-review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.tmso-review-card{background:var(--tmso-white);border:1px solid #e6dfc9;border-radius:var(--tmso-radius-md);padding:24px;}
.tmso-review-top{display:flex;align-items:center;gap:12px;margin-bottom:12px;}
.tmso-review-top img{border-radius:50%;object-fit:cover;width:52px;height:52px;}
.tmso-review-name{font-weight:700;font-family:var(--tmso-font-head);font-size:14.5px;}
.tmso-review-stars{color:var(--tmso-gold-500);font-size:13px;}
.tmso-review-card h3{font-size:15.5px;}
.tmso-review-card p{font-size:13.5px;margin:0;}
.tmso-review-disclosure{text-align:center;font-size:12px;color:var(--tmso-ink-500);margin-top:18px;}
@media (max-width:900px){.tmso-review-grid{grid-template-columns:1fr;}}

/* ---------- Guarantee ---------- */
.tmso-guarantee-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:44px;align-items:center;}
.tmso-guarantee-grid > div{min-width:0;}
.tmso-guarantee-media{display:flex;justify-content:center;}
.tmso-guarantee-media img{border-radius:var(--tmso-radius-md);filter:drop-shadow(0 20px 40px rgba(0,0,0,.35));}
@media (max-width:900px){.tmso-guarantee-grid{grid-template-columns:1fr;}.tmso-guarantee-media{order:-1;}}

/* ---------- FAQ ---------- */
.tmso-faq-wrap{max-width:760px;margin:0 auto;}
.tmso-faq-item{border-bottom:1px solid #e6dfc9;padding:18px 0;}
.tmso-faq-item summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;font-family:var(--tmso-font-head);font-weight:600;font-size:15.5px;color:var(--tmso-emerald-900);}
.tmso-faq-item summary::-webkit-details-marker{display:none;}
.tmso-faq-item .tmso-plus{color:var(--tmso-gold-600);font-size:22px;transition:transform .2s ease;}
.tmso-faq-item[open] .tmso-plus{transform:rotate(45deg);}
.tmso-faq-item p{margin-top:12px;font-size:14.5px;}

/* ---------- CTA band ---------- */
.tmso-section--cta{background:linear-gradient(135deg,var(--tmso-emerald-900),var(--tmso-gold-600));}
.tmso-cta-band{text-align:center;color:#fff;}
.tmso-cta-band h2{color:#fff;}
.tmso-cta-band p{color:#f3ecd8;margin-bottom:24px;}
.tmso-cta-image{width:200px;height:auto;margin:0 auto 24px;display:block;}

/* ---------- Popup ---------- */
.tmso-popup{position:fixed;inset:0;background:rgba(7,31,24,.72);z-index:90;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;pointer-events:none;transition:.2s ease;}
.tmso-popup.is-visible{opacity:1;pointer-events:auto;}
.tmso-popup-inner{background:#fff;border-radius:var(--tmso-radius-lg);padding:34px 30px;max-width:420px;position:relative;text-align:center;}
.tmso-popup-close{position:absolute;top:14px;right:14px;background:none;border:none;color:var(--tmso-ink-500);cursor:pointer;}
.tmso-popup-inner h3{font-size:21px;}
.tmso-popup-inner p{font-size:14.5px;}

/* ---------- Footer ---------- */
.tmso-footer{background:var(--tmso-emerald-950);color:#c6d9cd;padding:56px 0 26px;}
.tmso-footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:32px;margin-bottom:36px;}
.tmso-footer h4{color:#fff;font-size:14px;text-transform:uppercase;letter-spacing:.04em;margin-bottom:14px;}
.tmso-footer a{display:block;color:#a3bfad;text-decoration:none;font-size:14px;margin-bottom:9px;}
.tmso-footer a:hover{color:var(--tmso-gold-300);}
.tmso-footer-desc{font-size:13px;color:#8fac9b;}
.tmso-logo--footer{margin-bottom:14px;color:#fff;}
.tmso-logo--footer strong{color:var(--tmso-gold-300);}
.tmso-footer-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;border-top:1px solid rgba(255,255,255,.1);padding-top:22px;font-size:12.5px;color:#71917f;}
@media (max-width:900px){.tmso-footer-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.tmso-footer-grid{grid-template-columns:1fr;}}

/* ---------- Breadcrumb ---------- */
.tmso-breadcrumb{font-size:13px;color:var(--tmso-ink-500);margin:24px auto 0;max-width:1160px;padding:0 24px;}
.tmso-breadcrumb a{color:var(--tmso-emerald-800);text-decoration:none;font-weight:600;}

/* ---------- Legal ---------- */
.tmso-legal{max-width:820px;margin:40px auto;padding:0 24px;}
.tmso-legal h1{font-size:30px;}
.tmso-legal h2{margin-top:30px;font-size:19px;}
.tmso-legal p,.tmso-legal li{color:var(--tmso-ink-700);font-size:15px;}
.tmso-legal ul{padding-left:20px;}
.tmso-legal .tmso-meta{color:var(--tmso-ink-500);font-size:13px;}

/* ---------- 404 ---------- */
.tmso-404{text-align:center;padding:110px 24px;}
.tmso-404 h1{font-size:clamp(64px,12vw,140px);color:var(--tmso-gold-500);margin-bottom:0;}

/* ---------- Blog ---------- */
.tmso-blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.tmso-blog-card{background:var(--tmso-white);border:1px solid #e6dfc9;border-radius:var(--tmso-radius-md);overflow:hidden;text-decoration:none;display:block;}
.tmso-blog-card img{aspect-ratio:16/10;object-fit:cover;}
.tmso-blog-card-body{padding:18px;}
.tmso-blog-tag{color:var(--tmso-gold-600);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;}
.tmso-blog-card h3{font-size:17px;margin:8px 0 6px;color:var(--tmso-emerald-900);}
.tmso-blog-card p{font-size:13.5px;margin:0;}
@media (max-width:900px){.tmso-blog-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.tmso-blog-grid{grid-template-columns:1fr;}}
.tmso-post{max-width:760px;margin:0 auto;padding:0 24px;}
.tmso-post h1{font-size:clamp(26px,4vw,38px);}
.tmso-post-meta{color:var(--tmso-ink-500);font-size:13.5px;margin-bottom:24px;}
.tmso-post img{border-radius:var(--tmso-radius-lg);margin:20px 0;}
.tmso-post p{font-size:16px;}
.tmso-post h2{margin-top:32px;font-size:22px;}

/* ---------- Animated ring (components page) ---------- */
.tmso-ring{display:block;margin:0 auto 14px;}
.tmso-ring-track{fill:none;stroke:#e6dfc9;}
.tmso-ring-progress{fill:none;stroke:url(#tmso-ring-grad);stroke-linecap:round;transition:stroke-dashoffset 1.4s cubic-bezier(.16,.84,.44,1);}
.tmso-ring-text{font-family:var(--tmso-font-head);font-weight:700;font-size:16px;fill:var(--tmso-emerald-900);}
@media (prefers-reduced-motion:reduce){.tmso-ring-progress{transition:none;}}

.tmso-center{text-align:center;}
