@import url("/landing-20261010/shared/landing-navigation.css?v=28b0ac82fc3a");

/* Shared landing-page proof: generated Gumroad reviews, then distinct testimonials.
   Source content and empty states are controlled by sync_reviews.py. */
.hero-reviews{width:100%;min-width:0}
.hero-reviews:not(:has(.gr-rating,.gr-reviews)){display:none}
.gr-rating{display:flex;justify-content:center;align-items:center;gap:8px 10px;flex-wrap:wrap;font:400 12px/1.3 Arial,sans-serif;color:var(--ink);text-align:center}
.gr-stars{font-size:21px;letter-spacing:1px;line-height:1;color:var(--ink)}
.gr-score{font-weight:700;font-size:18px}.gr-count{color:#55575a}
.gr-reviews{margin:18px auto 0;width:100%;max-width:560px}
.gr-carousel{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}
.gr-carousel::-webkit-scrollbar{display:none}
.gr-carousel:focus-visible{outline:2px solid var(--ink);outline-offset:5px}
.gr-quote{flex:0 0 100%;scroll-snap-align:center;min-width:0;box-sizing:border-box;margin:0;display:flex;flex-direction:column;justify-content:center;gap:14px;padding:0 2px;text-align:center}
.gr-quote blockquote{margin:0;font:700 20px/1.35 Arial,sans-serif;color:var(--ink);text-wrap:balance;overflow-wrap:anywhere}
.gr-who{margin:0;font:400 12px/1.4 Arial,sans-serif;color:#55575a}.gr-who b{color:var(--ink);font-weight:700}
.gr-controls{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:12px}
.gr-nav{display:grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid var(--line);background:transparent;color:var(--ink);font:400 25px/1 Arial,sans-serif;cursor:pointer}
.gr-nav:hover{background:var(--ink);color:var(--field)}
.gr-dots{display:flex;gap:0}
.gr-dot{width:28px;height:32px;padding:0;border:0;background:transparent;display:grid;place-items:center;cursor:pointer}
.gr-dot::after{content:'';width:6px;height:6px;border-radius:50%;background:#b9bab9}
.gr-dot[aria-current=true]::after{background:var(--ink)}
.gr-nav:focus-visible,.gr-dot:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.social-proof:not(:has(.testimonial:not([hidden]) .tm)){display:none}
.social-proof{padding-block:32px 28px;border-top:1px solid var(--line)}
.social-proof .testimonial{display:grid;grid-template-columns:1fr 1fr;gap:28px 48px;margin:0}
.social-proof .tm{margin:0;min-width:0;width:100%;text-align:center;display:flex;flex-direction:column}
.social-proof .tm-say{display:flex;flex-direction:column;flex:1}
.social-proof .tm:first-child{grid-column:1/-1;max-width:820px;justify-self:center;padding-bottom:24px;border-bottom:1px solid var(--line)}
.social-proof .tm blockquote{max-width:46ch;font:400 20px/1.45 Arial,sans-serif;margin:0 auto 14px;color:var(--ink);text-wrap:balance}
.social-proof .tm:first-child blockquote:first-child{max-width:52ch;font-size:24px;line-height:1.4}
.social-proof .tm-emphasis{font-weight:700}
.social-proof .tm-who{max-width:100%;margin:auto auto 0;font:400 12px/1.5 Arial,sans-serif;color:#55575a;text-align:center;text-wrap:balance}
.social-proof .tm-who a{font-weight:700;color:var(--ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.video-poster-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;z-index:1}
.video-poster-fallback[hidden]{display:none}
@media(max-width:700px){
 .hero-reviews:has(.gr-rating,.gr-reviews){display:contents}
 .hero-reviews .gr-rating{order:1;width:min(100%,430px);margin:16px auto 2px}
 .hero-reviews .gr-reviews{order:3;width:min(100%,430px);margin:24px auto 0}
 .hero-intro{order:4}
 .social-proof{padding-block:26px 28px}
 .social-proof .testimonial{grid-template-columns:1fr;gap:24px}
 .social-proof .tm:first-child{padding-bottom:24px}
 .social-proof .tm:not(:first-child)+.tm{border-top:1px solid var(--line);padding-top:24px}
 .social-proof .tm{max-width:430px;justify-self:center}
 .social-proof .tm:first-child{max-width:430px}
 .social-proof .tm blockquote{font-size:18px;line-height:1.45}
 .social-proof .tm:first-child blockquote:first-child{font-size:21px;line-height:1.4}
 .social-proof .tm-who{max-width:42ch}
 .gr-quote blockquote{font-size:19px}
}

@media(max-width:700px){.social-proof:has(.tm)+.section-purchase{display:flex}}

/* Empty proof must preserve the original hero-to-CTA clearance. */
.hero:has(+.social-proof:not(:has(.tm))){padding-bottom:24px}

/* Tony approved this F12 type hierarchy across local landing testimonials.
   Scope and specificity deliberately beat product first-card type overrides;
   preserve each card's established media, measure and surrounding spacing. */
.social-proof.wrap .testimonial .tm .tm-say blockquote{
 font:400 21px/1.45 Arial,sans-serif;
 font-synthesis:none;
 letter-spacing:normal;
 text-align:center;
}
.social-proof.wrap .testimonial .tm .tm-say blockquote :is(strong,b){
 font-family:Arial,sans-serif;
 font-size:inherit;
 font-weight:700;
 font-style:normal;
 line-height:inherit;
 color:inherit;
}
.social-proof.wrap .testimonial .tm .tm-who{
 font:400 12px/1.5 Arial,sans-serif;
 font-synthesis:none;
}
.social-proof.wrap .testimonial .tm .tm-who :is(a,.tm-author){font-weight:700}
@media(max-width:700px){
 .social-proof.wrap .testimonial .tm .tm-say blockquote{font-size:19px}
}
