@font-face{font-family:"ABC Favorit";src:url("https://assets.gumroad.com/fonts/ABCFavorit-Regular.woff2") format("woff2");font-display:swap}
:root{--ink:#121212;--paper:#fff;--pink:#ff90e8;--pink-dark:#f36ed7;--gray:#6d6d6d;--soft:#f4f4f0;--line:#121212;--max:1180px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"ABC Favorit",Inter,Arial,sans-serif;font-size:17px;line-height:1.45}
.top{background:var(--pink);color:#000;text-align:center;padding:10px 16px;font-size:13px;font-weight:600;border-bottom:1px solid #000}
main{overflow:hidden}
section{padding:72px max(20px,calc((100vw - var(--max))/2));border-bottom:1px solid var(--line)}
h1,h2,p,figure,blockquote{margin-top:0}
h1,h2{font-weight:400;letter-spacing:-.035em;line-height:1.02;text-wrap:balance}
h1{font-size:clamp(38px,5.3vw,74px);max-width:17ch;margin-bottom:28px}
h2{font-size:clamp(34px,4.4vw,60px);margin-bottom:26px}
p{max-width:68ch}
.label{font-size:12px;font-weight:600;letter-spacing:.12em;margin-bottom:20px}
.hero{min-height:calc(100svh - 39px);background:var(--ink);color:#fff;display:grid;align-items:center;gap:48px;padding-top:54px;padding-bottom:54px}
.hero-copy{position:relative;z-index:2}
.hero .label,.stars,.proofline span{color:var(--pink)}
.lede{font-size:clamp(18px,2vw,23px);max-width:58ch;color:#e9e9e9;margin-bottom:24px}
.proofline{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:15px;margin:16px 0}
.proofline span{letter-spacing:.08em}
.price{font-size:40px;line-height:1;font-weight:600;margin:26px 0 18px}
.price small,.sticky small{font-size:13px;font-weight:400;color:inherit}
.button,#pay,.sticky a{display:inline-flex;align-items:center;justify-content:center;min-height:54px;background:var(--pink);color:#000;border:1px solid #000;border-radius:4px;padding:15px 22px;font-family:inherit;font-weight:600;font-size:17px;text-decoration:none;cursor:pointer;box-shadow:4px 4px 0 #fff;transition:transform .18s ease-out,box-shadow .18s ease-out,background-color .18s ease-out}
.button:hover,#pay:hover,.sticky a:hover{background:var(--pink-dark);transform:translate(-2px,-2px);box-shadow:6px 6px 0 #fff}
.trust,.fine,.review-note{font-size:13px;color:#bbb;margin-top:15px}
.product-shot{position:relative;margin:0 auto;width:min(78vw,420px);transform:rotate(2deg)}
.cover{display:block;width:100%;height:auto;border:1px solid #000;box-shadow:14px 16px 0 var(--pink);animation:arrive .7s cubic-bezier(.16,1,.3,1) both}
.product-shot figcaption{background:var(--pink);color:#000;width:max-content;max-width:90%;padding:8px 11px;border:1px solid #000;position:absolute;right:-14px;bottom:18px;font-size:13px;font-weight:600;transform:rotate(-2deg)}
.origin{background:var(--pink);color:#000}
.origin h2{max-width:18ch}
.origin>p:last-child{font-size:clamp(19px,2.2vw,26px);max-width:62ch}
.origin .source-note{font-size:13px;line-height:1.45;max-width:68ch;margin-top:30px;padding-top:16px;border-top:1px solid #000}
.process{background:#fff}
.section-head{display:grid;gap:0}
.section-head>p:last-child{font-size:19px;color:#444}
.process ol{list-style:none;padding:0;margin:48px 0 0;counter-reset:ritual;border-top:1px solid #000}
.process li{counter-increment:ritual;display:grid;grid-template-columns:44px 1fr;padding:22px 0;border-bottom:1px solid #000;column-gap:12px}
.process li:before{content:counter(ritual);grid-row:1/3;font-size:30px;line-height:1;color:#9b257d}
.process li strong{font-size:21px;font-weight:600}
.process li span{color:#555;margin-top:4px}
.inside{background:var(--ink);color:#fff}
.inside h2{max-width:12ch}
.contents{border-top:1px solid #fff}
.contents p{padding:20px 0;margin:0;border-bottom:1px solid #777;color:#d8d8d8}
.contents strong{color:#fff;font-size:20px}
.reviews{background:var(--pink);color:#000}
.rating-block{display:flex;align-items:center;gap:22px;margin-bottom:44px}
.rating-number{font-size:76px;line-height:.85;letter-spacing:-.06em}
.stars{color:#000;letter-spacing:.08em}
.rating-block p{font-size:14px;margin:5px 0 0}
.reviews h2{max-width:16ch}
.review-list{border-top:1px solid #000}
.review-list figure{margin:0;padding:26px 0;border-bottom:1px solid #000;display:grid;gap:20px}
.review-list blockquote{font-size:clamp(21px,2.6vw,32px);line-height:1.15;letter-spacing:-.02em;max-width:34ch}
.review-list figcaption{font-weight:600}
.review-list figcaption span{display:block;font-size:12px;font-weight:400;margin-top:3px}
.review-note{color:#49203f;max-width:62ch}
.checkout{background:#fff;scroll-margin-top:24px}
.checkout>h2{margin-bottom:18px}
.selected{background:var(--soft);padding:14px;border:1px solid #000;border-radius:4px}
form{max-width:620px}
label{display:block;font-weight:600;margin:20px 0 8px}
input[type=email]{width:100%;min-height:52px;border:1px solid #000;border-radius:4px;padding:13px 14px;font:inherit;background:#fff;color:#000}
input::placeholder{color:#6b6b6b}
.bump{display:flex;gap:12px;border:2px solid #000;background:var(--pink);padding:16px;border-radius:4px;cursor:pointer}
.bump input{width:22px;height:22px;accent-color:#000;flex:0 0 auto}
.bump span{font-weight:400}
#pe{margin:18px 0}
#pe-load,#err{font-size:14px;color:#555;margin:16px 0}
#err{color:#a32020}
#pay{width:100%;box-shadow:4px 4px 0 #000}
#pay:hover{box-shadow:6px 6px 0 #000}
#pay:disabled{opacity:.55;cursor:wait;transform:none}
.fine{color:#5c5c5c}
.faq{background:var(--soft)}
.faq details{border-top:1px solid #000;padding:20px 0;max-width:800px}
.faq details:last-child{border-bottom:1px solid #000}
summary{font-weight:600;cursor:pointer}
.faq p{color:#494949;margin:12px 0 0}
footer{padding:48px 20px 110px;text-align:center;background:var(--ink);color:#bbb;font-size:13px}
footer a{color:#fff;margin:0 9px}
footer p{margin:16px auto 0}
.sticky{position:fixed;z-index:20;left:12px;right:12px;bottom:12px;display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:520px;margin:auto;background:#fff;border:1px solid #000;box-shadow:5px 6px 0 var(--pink);padding:9px 9px 9px 15px;border-radius:4px}
.sticky.off{display:none}
.sticky a{min-height:44px;padding:10px 14px;font-size:14px;box-shadow:none}
.sticky a:hover{transform:none;box-shadow:none}
.sticky strong{font-size:19px}
:focus-visible{outline:3px solid #fff;outline-offset:3px}
.checkout :focus-visible,.faq :focus-visible,.reviews :focus-visible{outline-color:#000}
@keyframes arrive{from{opacity:.01;transform:translateY(24px) rotate(-3deg)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.cover{animation:none}.button,#pay,.sticky a{transition:none}}
@media(max-width:759px){
  .hero{min-height:0;padding-top:28px;padding-bottom:110px;gap:28px;align-items:start}
  .hero h1{font-size:38px;line-height:1;margin-bottom:18px;max-width:none}
  .hero .label{font-size:12px;margin-bottom:14px}
  .hero .lede{font-size:16px;line-height:1.4;margin-bottom:14px;padding-right:4px}
  .proofline{font-size:13px;margin:12px 0}
  .price{font-size:34px;margin:16px 0 14px}
  .hero .button{min-height:48px;padding:12px 16px;font-size:15px}
  .product-shot{width:min(78vw,340px);margin:6px auto 0;transform:rotate(2deg)}
  .product-shot figcaption{display:none}
  .cover{box-shadow:9px 10px 0 var(--pink)}
}
@media(min-width:760px){
  section{padding-top:96px;padding-bottom:96px}
  .hero{grid-template-columns:minmax(0,1.3fr) minmax(320px,.8fr);gap:64px;padding-top:48px;padding-bottom:48px}
  .hero h1{font-size:clamp(46px,5vw,72px);max-width:13ch;margin-bottom:24px}
  .hero .lede{font-size:clamp(18px,1.6vw,22px)}
  .price{margin:20px 0 16px}
  .product-shot{width:min(100%,430px);justify-self:center}
  .process{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}
  .process ol{margin-top:0}
  .inside{display:grid;grid-template-columns:1fr 1fr;gap:90px}
  .review-list figure{grid-template-columns:1fr 180px}
  .review-list figcaption{padding-top:5px}
}
@media(min-width:1100px){.sticky{left:auto;right:24px;width:390px}}
/* v5 after-purchase pages (offer + thank-you). Pink, black and white only. */
.offer,.done{background:var(--ink);color:#fff;border-bottom:0;min-height:calc(100svh - 39px)}
.offer{display:grid;gap:36px;align-items:center;padding-top:36px;padding-bottom:48px}
.offer-shot{margin:0;width:min(62vw,300px)}
.offer-shot img{display:block;width:100%;height:auto;border:1px solid #000;box-shadow:10px 11px 0 var(--pink)}
.offer h1{max-width:14ch;font-size:clamp(36px,6vw,64px)}
.kicker{font-size:12px;font-weight:600;letter-spacing:.12em;color:var(--pink);margin-bottom:16px}
.offer-list{list-style:none;padding:0;margin:0 0 24px;max-width:52ch}
.offer-list li{padding:9px 0 9px 26px;border-bottom:1px solid #333;position:relative;font-size:17px}
.offer-list li:before{content:"+";position:absolute;left:0;color:var(--pink);font-weight:600}
.text-link{display:block;margin-top:18px;padding:12px 0;background:none;border:0;color:#e9e9e9;font:inherit;font-size:16px;text-decoration:underline;cursor:pointer}
#msg{min-height:1.4em;margin:12px 0 0;color:var(--pink);font-size:15px}
.offer .button:disabled{opacity:.5;cursor:default}
.done h1{max-width:16ch}
#files{margin:28px 0;max-width:720px}
.dl{display:grid;gap:8px;padding:18px 0;border-bottom:1px solid #333}
.dl .t{font-weight:600;font-size:18px}
.dl .m{color:#d6d6d6;font-size:15px}
.dl audio{width:100%;margin-top:4px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;width:max-content;max-width:100%;background:var(--pink);color:#000;border:1px solid #000;border-radius:4px;padding:11px 18px;font-family:inherit;font-weight:600;font-size:16px;text-decoration:none}
#sum{border-collapse:collapse;width:100%;max-width:720px;font-size:15px}
#sum td{padding:8px 0;border-bottom:1px solid #333}
#sum td:last-child{text-align:right}
#sum tr.t td{font-weight:600;border-bottom:0}
@media(min-width:760px){.offer{grid-template-columns:minmax(240px,340px) 1fr;gap:72px;padding-top:72px}.offer-shot{width:100%}}

.rstars{display:block;color:#000;letter-spacing:.12em;font-size:18px}
.review-list blockquote{margin:0}.rstars{margin-bottom:12px}
#pay span{margin-left:.35em}
.was{font-weight:400;font-size:.75em;color:var(--gray);text-decoration:line-through;text-decoration-thickness:2px;text-decoration-color:#c8102e;margin-right:4px}
.was-note{margin:-8px 0 16px;font-size:15px;color:#c9c9c9}
.hero .was{color:#b5b5b5}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.selected .was{font-size:.95em}
