/* Text layout: one outer alignment, with readable text measures inside it. */
:root{--vivid-page-width:1200px;--vivid-reading-width:850px;--vivid-text-measure:76ch;--vivid-body-size:17px;--vivid-section-size:clamp(27px,2.2vw,34px)}
.wrap.file-details,.wrap.reading,.wrap.faq-page,.learn-reading{width:min(var(--vivid-page-width),88%);max-width:none;margin-inline:auto;text-align:left}
.wrap.file-details{padding-block:36px 40px}
.file-details h2,.td-decisions h2{font-size:var(--vivid-section-size);line-height:1.24;letter-spacing:-.035em;margin:0 0 20px}
.file-details p,.td-decisions p{font-size:var(--vivid-body-size);line-height:1.75;max-width:var(--vivid-text-measure);text-align:left}
.file-details p{margin:0 0 15px}.file-details p:last-child{margin-bottom:0}
.td-decisions{padding-bottom:36px;align-items:start}
.related.wrap{display:flex;flex-wrap:wrap;align-items:flex-start;gap:16px 32px;padding-block:28px 48px}
.related.wrap a{margin:0;max-width:100%;line-height:1.6;text-align:left}
.reading.wrap{padding-block:30px 64px}.reading.page-heading{padding-top:38px}
.reading.wrap>h1,.reading.wrap>h2,.reading.wrap>h3,.reading.wrap>p,.reading.wrap>ul,.reading.wrap>ol{max-width:var(--vivid-reading-width);margin-left:0;margin-right:0;text-align:left}
.reading.wrap>h2{font-size:clamp(25px,2vw,30px);line-height:1.25;margin-top:34px;margin-bottom:17px}
.reading.wrap>h2:first-child{margin-top:0}
.reading.wrap>p,.reading.wrap>li{font-size:var(--vivid-body-size);line-height:1.75;max-width:var(--vivid-text-measure)}
.learn-reading{margin-top:20px;margin-bottom:52px}
.learn-reading>*{max-width:var(--vivid-reading-width);margin-left:0;margin-right:0}
.learn-reading .learn-section{padding-top:30px;padding-bottom:10px}
.learn-section h2{font-size:var(--vivid-section-size);line-height:1.24}
.learn-section p,.learn-section li{font-size:var(--vivid-body-size);line-height:1.8}
.learn-section>p,.learn-section>ul,.learn-section>ol{max-width:var(--vivid-text-measure)}
.learn-next,.learn-sources,.learn-practice{margin-left:0;margin-right:0;text-align:left}
.learn-next h2{font-size:28px;line-height:1.25}
.stamp-compatibility{padding-top:34px;padding-bottom:40px}.stamp-compatibility>h2{font-size:var(--vivid-section-size);line-height:1.24}
.faq-page.wrap{padding-top:10px;padding-bottom:56px}.faq-page details{max-width:100%;padding-block:22px}.faq-page summary{font-size:22px;line-height:1.45;text-align:left}.faq-page details p{max-width:var(--vivid-text-measure);font-size:var(--vivid-body-size);line-height:1.75;margin:16px 0 0}
:is(.td-story,.td-workflow,.td-decisions,.file-details,.learn-reading,.reading,.faq-page) :is(h1,h2,h3,p,li,dt,dd){min-width:0}
:is(.td-story,.td-workflow,.td-decisions,.file-details,.learn-reading,.reading,.faq-page) :is(h1,h2,h3){word-break:normal;overflow-wrap:break-word}
@media(max-width:700px){:root{--vivid-body-size:16px;--vivid-section-size:27px}.wrap.file-details,.wrap.reading,.wrap.faq-page,.learn-reading{width:88%}.wrap.file-details{padding-block:28px 30px}.td-decisions{padding-bottom:28px}.related.wrap{gap:14px;padding-block:23px 34px}.related.wrap a{display:block;width:100%}.reading.wrap{padding-block:20px 44px}.reading.page-heading{padding-top:30px}.reading.wrap>h2{font-size:25px;margin-top:28px}.learn-reading{margin-top:10px;margin-bottom:36px}.learn-reading .learn-section{padding-top:25px}.learn-next h2{font-size:25px}.stamp-compatibility{padding-block:28px 32px}.faq-page summary{font-size:20px}.faq-page details{padding-block:19px}}

/* Directory groups and compact sign-up flow share the same rhythm. */
.tool-directory-page>.wrap.section{padding-block:38px}.tool-directory-page>.wrap.section:first-of-type{padding-top:18px}.tool-directory-page>.wrap.section:last-child{padding-bottom:52px}
.tool-intro .tool-promise{font-size:clamp(34px,3.2vw,49px)!important;line-height:1.14;letter-spacing:-.04em}
@media(max-width:700px){.tool-directory-page>.wrap.section{padding-block:27px}.tool-directory-page>.wrap.section:last-child{padding-bottom:34px}.signup-layout{grid-template-columns:1fr;gap:30px;padding-top:30px}.signup-layout .signup-ballet{display:none}.tool-intro .tool-promise{font-size:36px!important}}
