:root{
  --folio-paper:#F9EFE4;
  --folio-raised:#F3E4D6;
  --folio-card:#FFFFFF;
  --folio-ink:#2F2F30;
  --folio-muted:#6A635C;
  --folio-line:#E8D9CC;
  --folio-action:#176AED;
  --folio-action-dark:#1258C9;
  --folio-action-ink:#FFFFFF;
  --folio-action-soft:#DCE8FB;
  --folio-forest:#2F2F30;
  --folio-peach:#FDEEE6;
  --folio-radius:20px;
  --folio-radius-btn:999px;
  --folio-shadow:0 12px 32px rgba(47,47,48,.08);
  --folio-content-width:1120px;
  --folio-sans:'Plus Jakarta Sans',system-ui,sans-serif;
  --folio-serif:'Fraunces',Georgia,serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
#method,#stories,#pricing,#faq,#top{scroll-margin-top:104px}
body{
  font-family:var(--folio-sans);
  background:var(--folio-paper);
  color:var(--folio-ink);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
h1,h2,h3{
  font-family:var(--folio-serif);
  font-weight:600;
  line-height:1.12;
  letter-spacing:-.03em;
}
img{display:block;max-width:100%}
a{color:inherit}
a:focus-visible,summary:focus-visible{
  outline:3px solid var(--folio-action);
  outline-offset:4px;
}
.folio-rise{opacity:1;transform:none}
html.folio-anim .folio-rise{
  opacity:0;transform:translateY(12px);
  transition:opacity .45s ease,transform .45s ease;
}
html.folio-anim .folio-rise.folio-on{opacity:1;transform:none}

.folio-mast{
  position:sticky;top:0;z-index:50;
  background:rgba(249,239,228,.9);
  backdrop-filter:saturate(1.1) blur(12px);
}
.folio-mastinner{
  max-width:var(--folio-content-width);
  margin:0 auto;
  padding:16px 32px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.folio-mark{display:flex;align-items:center;text-decoration:none;flex:0 0 auto}
.folio-mark img{height:88px;width:auto;max-width:520px;object-fit:contain}
.folio-nav{display:flex;align-items:center;gap:8px}
.folio-nav a{
  padding:8px 12px;
  color:var(--folio-muted);text-decoration:none;font-size:14px;font-weight:500;
  border-radius:var(--folio-radius-btn);
}
.folio-nav a:hover{color:var(--folio-ink);background:rgba(255,255,255,.7)}
.folio-utils{display:flex;align-items:center;gap:18px;flex:0 0 auto}
.folio-mail{
  font-size:13px;font-weight:500;text-decoration:none;color:var(--folio-muted);
}
.folio-mail:hover{color:var(--folio-ink)}
.folio-cta{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  background:var(--folio-action);border:1px solid var(--folio-action);border-radius:var(--folio-radius-btn);
  color:var(--folio-action-ink);text-decoration:none;
  padding:14px 24px;font-size:15px;font-weight:600;
  transition:background .18s ease,border-color .18s ease,color .18s ease;
}
.folio-cta:hover{background:var(--folio-action-dark);border-color:var(--folio-action-dark)}
.folio-cta--sm{padding:10px 18px;font-size:13px}
.folio-cta--quiet{
  background:var(--folio-card);border-color:rgba(47,47,48,.14);color:var(--folio-ink);
}
.folio-cta--quiet:hover{background:var(--folio-ink);border-color:var(--folio-ink);color:var(--folio-action-ink)}

.folio-kicker{
  font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  color:var(--folio-action);margin-bottom:16px;
}
.folio-open{
  max-width:var(--folio-content-width);
  margin:0 auto;
  padding:56px 32px 72px;
  text-align:center;
}
.folio-openinner{max-width:760px;margin:0 auto}
.folio-open h1{font-size:clamp(40px,5.4vw,64px);margin-bottom:22px}
.folio-em{
  font-style:normal;
  box-shadow:inset 0 -.12em 0 var(--folio-action);
}
.folio-lede{
  color:var(--folio-muted);font-size:18px;max-width:40rem;margin:0 auto;
}
.folio-acts{
  display:flex;justify-content:center;flex-wrap:wrap;gap:12px;
  margin-top:28px;
}

.folio-heroart{
  position:relative;
  width:min(100%,920px);
  margin:40px auto 0;
}
.folio-heroimg{
  width:100%;height:auto;max-height:460px;object-fit:cover;
  border-radius:28px;
  box-shadow:var(--folio-shadow);
}
.folio-band{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  grid-template-areas:"glyph quote" "glyph cap";
  gap:6px 16px;
  align-items:center;
  width:min(calc(100% - 32px),520px);
  margin:0;
  padding:18px 22px;
  text-align:left;
  background:var(--folio-card);
  border-radius:var(--folio-radius);
  box-shadow:var(--folio-shadow);
  position:absolute;
  left:50%;
  bottom:-28px;
  transform:translateX(-50%);
}
.folio-glyph{grid-area:glyph;width:56px;height:56px;object-fit:cover;border-radius:12px}
.folio-band blockquote{grid-area:quote}
.folio-band blockquote p{
  font-family:var(--folio-serif);
  font-size:clamp(18px,2vw,22px);line-height:1.35;font-weight:500;
}
.folio-band figcaption{
  grid-area:cap;
  color:var(--folio-muted);font-size:11px;font-weight:600;
  letter-spacing:.12em;text-transform:uppercase;
}

.folio-audience{
  margin:56px 0 18px;color:var(--folio-muted);font-size:14px;
}
.folio-meta{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;text-align:left;
}
.folio-meta > div{
  padding:22px 22px;
  background:var(--folio-card);
  border-radius:var(--folio-radius);
  box-shadow:var(--folio-shadow);
}
.folio-meta dt{
  font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  color:var(--folio-action);margin-bottom:8px;
}
.folio-meta dd{font-size:13px;color:var(--folio-muted);line-height:1.45}

.folio-catalog,.folio-stories,.folio-faq{
  max-width:var(--folio-content-width);
  margin:0 auto;
  padding:88px 32px 16px;
}
.folio-hasbg{
  position:relative;
  margin:40px 0 8px;
  padding:88px 0 48px;
  background:var(--folio-paper) center/cover no-repeat;
  background-image:url('../images/method-bg.jpg');
}
.folio-hasbg::before{
  content:"";
  position:absolute;inset:0;
  background:rgba(249,239,228,.78);
}
.folio-wrap{
  position:relative;z-index:1;
  max-width:var(--folio-content-width);
  margin:0 auto;
  padding:0 32px;
}
.folio-methodshot{
  display:block;width:min(100%,720px);height:auto;max-height:320px;object-fit:cover;
  margin:0 auto 36px;
  border-radius:var(--folio-radius);
  box-shadow:var(--folio-shadow);
}
.folio-sec{max-width:40rem;margin:0 auto 48px;text-align:center}
.folio-sec h2,.folio-pact h2,.folio-close h2{font-size:clamp(32px,4vw,48px)}
.folio-sub{margin-top:14px;color:var(--folio-muted);font-size:17px}

.folio-list{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  align-items:stretch;
}
.folio-offer{
  display:flex;flex-direction:column;
  padding:32px 28px 28px;
  background:var(--folio-card);
  border-radius:var(--folio-radius);
  box-shadow:var(--folio-shadow);
  text-align:left;
}
.folio-offer--flag{
  box-shadow:0 16px 40px rgba(23,106,229,.14);
  outline:2px solid var(--folio-action);
}
.folio-offer--vip{
  background:var(--folio-ink);
  color:var(--folio-action-ink);
}
.folio-offer--vip .folio-tier,
.folio-offer--vip .folio-once,
.folio-offer--vip .folio-cur,
.folio-offer--vip .folio-feats li{color:rgba(255,255,255,.78)}
.folio-offer--vip .folio-pname,
.folio-offer--vip .folio-val{color:var(--folio-action-ink)}
.folio-offer--vip .folio-feats li{border-bottom-color:rgba(255,255,255,.12)}
.folio-offer--vip .folio-buy--ink{
  background:var(--folio-card);border-color:var(--folio-card);color:var(--folio-ink);
}
.folio-offer--vip .folio-buy--ink:hover{
  background:var(--folio-action);border-color:var(--folio-action);color:var(--folio-action-ink);
}
.folio-tier{
  color:var(--folio-muted);font-size:11px;font-weight:600;
  letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px;
}
.folio-pname{font-size:24px;margin-bottom:16px}
.folio-tag{
  display:inline-flex;align-items:center;gap:6px;
  margin-bottom:10px;padding:6px 10px;
  background:var(--folio-action-soft);color:var(--folio-action);
  font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  border-radius:999px;
}
.folio-tag--ink{background:var(--folio-action);color:var(--folio-action-ink)}
.folio-ico{display:inline-block;width:1em;height:1em;vertical-align:-.12em;object-fit:contain}
.folio-feats{list-style:none;display:flex;flex-direction:column;gap:0}
.folio-feats li{
  position:relative;padding:8px 0 8px 16px;font-size:13px;line-height:1.45;color:var(--folio-ink);
  border-bottom:1px solid var(--folio-line);
}
.folio-feats li:last-child{border-bottom:0}
.folio-feats li::before{content:"–";position:absolute;left:0;color:var(--folio-action)}
.folio-offerpay{
  display:flex;flex-direction:column;align-items:flex-start;
  margin-top:auto;padding-top:22px;
}
.folio-cost{display:flex;align-items:baseline;gap:4px}
.folio-cur{color:var(--folio-muted);font-size:16px}
.folio-val{
  font-family:var(--folio-serif);
  font-size:48px;line-height:1;font-weight:600;letter-spacing:-.03em;
}
.folio-once{margin:4px 0 16px;color:var(--folio-muted);font-size:12px}
.folio-buy{
  display:inline-flex;justify-content:center;align-items:center;
  min-height:48px;padding:12px 18px;width:100%;
  border:1px solid var(--folio-ink);border-radius:var(--folio-radius-btn);
  color:var(--folio-ink);background:transparent;text-decoration:none;font-size:13px;font-weight:600;
  transition:background .18s ease,color .18s ease,border-color .18s ease;
}
.folio-buy:hover{background:var(--folio-ink);color:var(--folio-action-ink)}
.folio-buy--fill{background:var(--folio-action);border-color:var(--folio-action);color:var(--folio-action-ink)}
.folio-buy--fill:hover{background:var(--folio-action-dark);border-color:var(--folio-action-dark)}
.folio-buy--ink{background:var(--folio-ink);border-color:var(--folio-ink);color:var(--folio-action-ink)}
.folio-buy--ink:hover{background:var(--folio-action-dark);border-color:var(--folio-action-dark)}
.folio-safe{
  display:flex;flex-wrap:wrap;justify-content:center;gap:8px 22px;margin:28px 0 0;
  color:var(--folio-muted);font-size:12px;
}

.folio-pact{
  display:grid;grid-template-columns:auto minmax(0,1fr);gap:28px;align-items:center;
  margin-top:28px;padding:36px 40px;text-align:left;
  background:var(--folio-card);
  border-radius:var(--folio-radius);
  box-shadow:var(--folio-shadow);
}
.folio-pactnum{
  font-family:var(--folio-serif);
  font-size:72px;line-height:.8;font-weight:600;color:var(--folio-action);
  letter-spacing:-.04em;
}
.folio-pact p{max-width:44rem;color:var(--folio-muted);font-size:15px;margin-top:10px}

.folio-chapters{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;
}
.folio-chapter{
  display:flex;flex-direction:column;gap:16px;
  padding:32px 28px;
  background:var(--folio-card);
  border-radius:var(--folio-radius);
  box-shadow:var(--folio-shadow);
  text-align:left;
}
.folio-idx{
  display:block;margin-bottom:8px;color:var(--folio-action);
  font-size:12px;font-weight:600;letter-spacing:.12em;
}
.folio-chapter h3{font-size:24px}
.folio-chapterbody p{color:var(--folio-muted);font-size:15px;margin-bottom:12px}
.folio-chapterbody p:first-child{color:var(--folio-ink)}
.folio-note{
  margin:28px auto 0;max-width:40rem;padding:18px 24px;text-align:center;
  background:var(--folio-peach);
  border-radius:var(--folio-radius);
  font-size:15px;font-weight:500;
}

.folio-quotes{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;
}
.folio-quote{
  padding:32px 28px;text-align:left;
  background:var(--folio-card);
  border-radius:var(--folio-radius);
  box-shadow:var(--folio-shadow);
}
.folio-quote--lead{background:var(--folio-peach)}
.folio-quote--lead blockquote{
  font-family:var(--folio-serif);
  font-size:clamp(18px,1.8vw,22px);line-height:1.4;font-weight:500;
}
.folio-quote blockquote{font-size:16px;line-height:1.65}
.folio-stars{display:block;margin-bottom:12px;color:var(--folio-action);letter-spacing:2px;font-size:12px}
.folio-who{margin-top:18px;font-size:13px}
.folio-who strong{display:inline;margin-right:8px}
.folio-who span{color:var(--folio-muted)}

.folio-qgroups{
  display:flex;flex-direction:column;gap:14px;
  max-width:720px;margin:0 auto;
}
.folio-qgroup{
  padding:28px 32px 16px;text-align:left;
  background:var(--folio-card);
  border-radius:var(--folio-radius);
  box-shadow:var(--folio-shadow);
}
.folio-qgroup h3{font-size:20px;margin-bottom:8px}
.folio-qlist{margin-top:4px}
details{border-bottom:1px solid var(--folio-line)}
details:last-child{border-bottom:0}
summary{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:16px 0;cursor:pointer;list-style:none;font-size:15px;font-weight:600;
}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";color:var(--folio-action);font-size:20px;font-weight:500;transition:transform .18s ease}
details[open] summary::after{transform:rotate(45deg)}
.folio-ans{max-width:36rem;padding:0 0 16px;color:var(--folio-muted);font-size:14px}

.folio-close{
  max-width:var(--folio-content-width);
  margin:0 auto;
  padding:72px 32px 96px;
  text-align:center;
}
.folio-closerow{
  display:flex;flex-direction:column;align-items:center;gap:22px;
  padding:56px 40px;
  background:var(--folio-card);
  border-radius:var(--folio-radius);
  box-shadow:var(--folio-shadow);
}
.folio-close p{margin-top:12px;color:var(--folio-muted);font-size:17px;max-width:34rem}
.folio-closeacts{display:flex;flex-direction:column;gap:10px;align-items:center}
.folio-close small{color:var(--folio-muted);font-size:12px}

.folio-foot{
  background:var(--folio-card);
  color:var(--folio-muted);font-size:12px;
  padding:56px 32px 40px;
  border-radius:40px 40px 0 0;
}
.folio-footinner{max-width:var(--folio-content-width);margin:0 auto}
.folio-ftop{
  display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;
  padding-bottom:22px;margin-bottom:20px;border-bottom:1px solid var(--folio-line);
}
.folio-foot .folio-mark img{height:104px;max-width:600px;filter:none}
.folio-flinks{display:flex;gap:22px;flex-wrap:wrap}
.folio-flinks a{text-decoration:none;color:var(--folio-ink)}
.folio-flinks a:hover{color:var(--folio-action)}
.folio-flinks--legal{margin:0 0 20px;gap:18px}
.folio-flinks--legal a{color:var(--folio-muted);font-size:13px}
.folio-legal{max-width:840px;line-height:1.7}
.folio-copy{margin-top:16px;opacity:.7}

.folio-mastinner--pay{justify-content:flex-start}
.folio-pay .folio-open{padding-bottom:96px}
.folio-pay--load .folio-open{
  min-height:calc(100svh - 140px);
  display:flex;flex-direction:column;justify-content:center;
}
.folio-paystage{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  grid-template-areas:"glyph quote" "glyph cap";
  gap:6px 16px;
  align-items:center;
  width:min(calc(100% - 8px),520px);
  margin:40px auto 0;
  padding:18px 22px;
  text-align:left;
  background:var(--folio-card);
  border-radius:var(--folio-radius);
  box-shadow:var(--folio-shadow);
}
.folio-paystage .folio-glyph{grid-area:glyph}
.folio-paystage blockquote{grid-area:quote}
.folio-paystage blockquote p{
  font-family:var(--folio-serif);
  font-size:clamp(18px,2vw,22px);line-height:1.35;font-weight:500;
}
.folio-paystage figcaption{
  grid-area:cap;
  color:var(--folio-muted);font-size:11px;font-weight:600;
  letter-spacing:.12em;text-transform:uppercase;
}
.folio-pay--ok .folio-paystage figcaption{color:#1F8A5A}
.folio-pay--no .folio-paystage figcaption{color:#C4453C}
.folio-pay--load .folio-paystage figcaption{color:var(--folio-action)}
.folio-paywait{
  display:flex;align-items:center;justify-content:center;
  background:var(--folio-action-soft);
}
.folio-payspin{
  width:22px;height:22px;border:2px solid rgba(23,106,229,.22);
  border-top-color:var(--folio-action);border-radius:50%;
  animation:folio-pay-spin .8s linear infinite;
}
.folio-payfacts{margin-top:40px;text-align:left}
.folio-payfacts a{color:var(--folio-action);text-decoration:none}
.folio-payfacts a:hover{text-decoration:underline}
.folio-payfacts--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.folio-payfallback{margin-top:16px;color:var(--folio-muted);font-size:14px}
.folio-payfallback a{color:var(--folio-action)}
@keyframes folio-pay-spin{to{transform:rotate(360deg)}}

.folio-legalpage{
  max-width:720px;
  margin:0 auto;
  padding:48px 32px 96px;
}
.folio-legalpage h1{font-size:clamp(32px,4vw,44px);margin-bottom:10px}
.folio-legalpage .folio-kicker{margin-bottom:10px}
.folio-legalpage .folio-lede{margin:0 0 28px;max-width:none}
.folio-legalpage h2{font-size:22px;margin:28px 0 10px}
.folio-legalpage p,.folio-legalpage li{color:var(--folio-muted);font-size:15px}
.folio-legalpage p{margin-bottom:12px}
.folio-legalpage ul{margin:0 0 16px 1.2em}
.folio-legalpage a{color:var(--folio-action);text-decoration:none}
.folio-legalpage a:hover{text-decoration:underline}

@media(max-width:1080px){
  .folio-list,.folio-chapters,.folio-quotes{grid-template-columns:repeat(2,minmax(0,1fr))}
  .folio-meta,.folio-payfacts--3{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:960px){
  #method,#stories,#pricing,#faq,#top{scroll-margin-top:120px}
  .folio-mastinner{
    padding:12px 20px 0;
    flex-wrap:wrap;
    row-gap:0;
  }
  .folio-nav{
    order:3;width:calc(100% + 40px);margin:0 -20px;
    padding:8px 12px 10px;
    overflow-x:auto;scrollbar-width:none;
  }
  .folio-nav::-webkit-scrollbar{display:none}
  .folio-nav a{flex:0 0 auto;white-space:nowrap}
  .folio-open,.folio-catalog,.folio-stories,.folio-faq,.folio-close,.folio-legalpage{
    padding-left:20px;padding-right:20px;
  }
  .folio-wrap{padding:0 20px}
  .folio-band{
    position:relative;left:auto;bottom:auto;transform:none;
    width:100%;margin:16px auto 0;
  }
  .folio-heroart{margin-bottom:0}
  .folio-audience{margin-top:28px}
  .folio-open{padding-top:40px}
  .folio-band{
    grid-template-columns:1fr;
    grid-template-areas:"glyph" "quote" "cap";
    justify-items:center;text-align:center;
  }
  .folio-acts{flex-direction:column;align-items:stretch}
  .folio-acts .folio-cta{width:100%}
  .folio-pact,.folio-closerow{padding:28px 22px}
  .folio-pact{grid-template-columns:1fr;text-align:center;justify-items:center}
  .folio-qgroup{padding:24px 22px 12px}
  .folio-offer{padding:28px 22px}
  .folio-chapter,.folio-quote{padding:26px 22px}
  .folio-foot{padding:44px 20px 32px;border-radius:28px 28px 0 0}
  .folio-paystage{
    grid-template-columns:1fr;
    grid-template-areas:"glyph" "quote" "cap";
    justify-items:center;text-align:center;
    width:100%;
  }
  .folio-pay--load .folio-open{min-height:0;justify-content:flex-start}
}

@media(max-width:720px){
  .folio-list,.folio-chapters,.folio-quotes,.folio-meta,.folio-payfacts--3{grid-template-columns:1fr}
  .folio-mark img{height:64px;max-width:320px}
  .folio-foot .folio-mark img{height:76px;max-width:400px}
  .folio-open h1{font-size:clamp(32px,10vw,42px)}
  .folio-utils .folio-mail{display:none}
  .folio-pname{font-size:22px}
  .folio-val{font-size:40px}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .folio-cta,.folio-nav a,summary::after,.folio-buy{transition:none}
  .folio-payspin{animation:none}
  html.folio-anim .folio-rise{opacity:1;transform:none;transition:none}
}
