.cm-font-tool{--cm-ink:#24202b;--cm-muted:#6e6877;--cm-purple:#6842a0;--cm-orange:#c65c3b;--cm-line:#e9e4ed;--cm-soft:#f7f4fa;color:var(--cm-ink);font-family:inherit;font-size:16px;line-height:1.65;max-width:1160px;margin:0 auto;padding:10px 18px 60px;isolation:isolate}.cm-font-tool *{box-sizing:border-box}.cm-font-tool button,.cm-font-tool input,.cm-font-tool textarea{font:inherit}.cm-font-tool .cm-hero{text-align:center;padding:12px 12px 24px}.cm-font-tool .cm-eyebrow,.cm-font-tool .cm-section-kicker{font-size:11px;letter-spacing:.16em;font-weight:800;color:var(--cm-purple);text-transform:uppercase}.cm-font-tool .cm-eyebrow{display:inline-flex;align-items:center;gap:9px;padding:7px 13px;border:1px solid #e6dcef;border-radius:30px;background:#fbf9fd}.cm-font-tool .cm-eyebrow-dot{width:7px;height:7px;background:#c65c3b;border-radius:50%}.cm-font-tool h1{font-size:clamp(30px,4.3vw,48px);line-height:1.13;letter-spacing:-.035em;margin:12px auto 10px;max-width:900px;font-weight:800;color:#28202f}.cm-font-tool h1 span{display:block;color:var(--cm-purple)}.cm-font-tool .cm-lead{max-width:790px;margin:0 auto;color:#625b69;font-size:17px;line-height:1.75}.cm-font-tool .cm-hero-samples{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:11px 12px;margin:22px auto 0;max-width:900px;color:#2d1b3d;font-size:20px}
.cm-font-tool .cm-hero-samples span{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:8px 17px;border:1.5px solid rgba(45,27,61,.14);border-radius:999px;background:#fff;box-shadow:0 2px 0 rgba(45,27,61,.06),0 7px 18px -9px rgba(104,66,160,.28);transition:transform .22s ease,box-shadow .22s ease;white-space:nowrap}
.cm-font-tool .cm-hero-samples span:hover{transform:translateY(-3px) rotate(-1deg);box-shadow:0 4px 0 rgba(45,27,61,.05),0 11px 22px -9px rgba(104,66,160,.32)}
.cm-font-tool .cm-hero-samples .cm-sample-1{background:#ffe8e0;border-color:rgba(198,92,59,.28)}
.cm-font-tool .cm-hero-samples .cm-sample-2{background:#fff1c9;border-color:rgba(202,157,49,.3);transform:rotate(1.5deg)}
.cm-font-tool .cm-hero-samples .cm-sample-3{background:#d9f0e8;border-color:rgba(76,150,125,.28)}
.cm-font-tool .cm-hero-samples .cm-sample-4{background:#fff;border-color:#e7dced;transform:rotate(-1.5deg)}
.cm-font-tool .cm-hero-samples .cm-sample-5{background:#f0e7ff;border-color:rgba(107,63,160,.24)}
.cm-font-tool .cm-hero-samples .cm-sample-6{background:#ffe3ee;border-color:rgba(201,103,144,.28);transform:rotate(1deg)}
.cm-font-tool .cm-hero-samples .cm-sample-7{background:#e8efff;border-color:rgba(95,121,180,.25);transform:rotate(-1deg)}.cm-font-tool .cm-generator{background:#fff;border:1px solid #e9e3ee;border-radius:20px;padding:clamp(16px,3vw,30px);box-shadow:0 14px 50px rgba(45,27,61,.07)}.cm-font-tool .cm-input-card{border:1.5px solid #ddd3e8;border-radius:16px;padding:17px 19px;background:linear-gradient(135deg,#fff 0%,#fcfaff 100%);box-shadow:0 5px 18px rgba(64,43,86,.04)}.cm-font-tool .cm-input-top,.cm-font-tool .cm-input-bottom,.cm-font-tool .cm-toolbar,.cm-font-tool .cm-toolbar-title,.cm-font-tool .cm-results-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.cm-font-tool .cm-input-top label{font-weight:750;font-size:14px}.cm-font-tool .cm-private{font-size:12px;color:#55816b}.cm-font-tool .cm-private span{font-size:8px;margin-right:5px}.cm-font-tool textarea{display:block;width:100%;min-height:85px;resize:vertical;border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;padding:13px 0!important;color:#2d2535!important;font-size:22px!important;line-height:1.45!important}.cm-font-tool textarea::placeholder{color:#aaa2b2}.cm-font-tool .cm-input-bottom{border-top:1px solid #eee9f2;padding-top:10px}.cm-font-tool .cm-clear{border:0;background:transparent;color:#786b84;font-size:12px;font-weight:700;padding:4px 0;cursor:pointer}.cm-font-tool .cm-count{font-size:12px;color:#81788a;font-variant-numeric:tabular-nums}.cm-font-tool .cm-toolbar{margin:27px 0 13px;flex-wrap:wrap}.cm-font-tool .cm-toolbar-title{justify-content:flex-start;gap:10px}.cm-font-tool .cm-toolbar-title>span:first-child{font-weight:800;font-size:19px}.cm-font-tool .cm-total{font-size:11px;color:#786b84;background:#f5f0f9;border-radius:20px;padding:4px 9px}.cm-font-tool .cm-search-wrap{position:relative;display:block;min-width:min(100%,230px)}.cm-font-tool .cm-search-wrap input{width:100%;border:1px solid #e5deeb!important;border-radius:30px!important;padding:9px 37px 9px 15px!important;background:#fff!important;outline:none!important;box-shadow:none!important;font-size:13px!important}.cm-font-tool .cm-search-wrap input:focus{border-color:#9878bd!important;box-shadow:0 0 0 3px rgba(104,66,160,.1)!important}.cm-font-tool .cm-search-wrap>span:last-child{position:absolute;right:14px;top:4px;font-size:22px;color:#7b6b8b}.cm-font-tool .cm-filters{display:flex;gap:8px;overflow-x:auto;padding:4px 1px 13px;scrollbar-width:thin;scrollbar-color:#d8cce5 transparent}.cm-font-tool .cm-filters button{flex:0 0 auto;border:1px solid #e7e0ec;background:#fff;border-radius:30px;padding:8px 13px;font-size:12px;font-weight:700;color:#5e5668;cursor:pointer;transition:.18s}.cm-font-tool .cm-filters button:hover{border-color:#a88dc5;color:#573583}.cm-font-tool .cm-filters button.is-active{background:#30213f;border-color:#30213f;color:#fff}.cm-font-tool .cm-results-head{border-bottom:1px solid #eee9f2;padding:8px 1px 12px;margin-bottom:14px}.cm-font-tool .cm-results-label{font-size:13px;font-weight:750}.cm-font-tool .cm-results-count{font-size:12px;color:#81788a}.cm-font-tool .cm-style-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.cm-font-tool .cm-style-card{border:1px solid #ebe6ef;border-radius:13px;padding:13px 14px;min-width:0;background:#fff;transition:border-color .18s,box-shadow .18s}.cm-font-tool .cm-style-card:hover{border-color:#cdbbe0;box-shadow:0 6px 20px rgba(57,35,80,.07)}.cm-font-tool .cm-style-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.cm-font-tool .cm-style-name{font-size:12px;font-weight:750;color:#61576d}.cm-font-tool .cm-card-actions{display:flex;align-items:center;gap:6px;flex:0 0 auto}.cm-font-tool .cm-info,.cm-font-tool .cm-fav{width:28px;height:28px;border:1px solid #e8e2ed;border-radius:50%;background:#fff;color:#786b84;display:inline-flex;align-items:center;justify-content:center;padding:0;cursor:pointer;font-size:13px}.cm-font-tool .cm-fav.is-saved{color:#b87922;border-color:#e7c98f;background:#fffaf0}.cm-font-tool .cm-copy{border:0;border-radius:30px;background:#6842a0;color:#fff;padding:6px 13px;font-size:11px;font-weight:750;cursor:pointer;min-width:58px;transition:.18s}.cm-font-tool .cm-copy:hover{background:#4c2b7e}.cm-font-tool .cm-output{font-size:18px;line-height:1.5;overflow-wrap:anywhere;word-break:break-word;color:#28222e;min-height:28px}.cm-font-tool .cm-info-panel{margin-top:10px;padding:10px 12px;border-radius:10px;background:#f8f5fb;border:1px solid #e9e0f0;color:#6a6074;font-size:12px;line-height:1.55}.cm-font-tool .cm-loading,.cm-font-tool .cm-empty{padding:25px;text-align:center;color:#776d80}.cm-font-tool .cm-empty{display:flex;flex-direction:column;gap:5px}.cm-font-tool .cm-empty[hidden]{display:none}.cm-font-tool .cm-content-section{padding:58px 8px 0}.cm-font-tool .cm-content-section h2{font-size:clamp(24px,3vw,32px);line-height:1.2;letter-spacing:-.025em;margin:10px 0 14px;color:#292230}.cm-font-tool .cm-content-section>p{max-width:900px;color:#625b69;line-height:1.85;margin:0 0 20px}.cm-font-tool .cm-category-grid,.cm-font-tool .cm-benefit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:22px}.cm-font-tool .cm-category-grid article,.cm-font-tool .cm-benefit-grid article{border:1px solid #ebe5ef;border-radius:14px;padding:19px;background:#fff}.cm-font-tool .cm-category-grid article>span{font-size:27px;color:#6842a0}.cm-font-tool .cm-category-grid h3,.cm-font-tool .cm-explainer h3,.cm-font-tool .cm-steps h3{font-size:16px;margin:8px 0 5px;color:#30263a}.cm-font-tool .cm-category-grid p,.cm-font-tool .cm-benefit-grid p,.cm-font-tool .cm-steps p{font-size:13px;line-height:1.75;color:#6b6372;margin:0}.cm-font-tool .cm-benefit-grid article b{font-size:14px}.cm-font-tool .cm-steps{list-style:none;padding:0;margin:25px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.cm-font-tool .cm-steps li{display:flex;gap:13px;border-top:2px solid #e7dced;padding:17px 10px 10px 0}.cm-font-tool .cm-steps li>span{font-size:23px;font-weight:800;color:#9b7bb9}.cm-font-tool .cm-explainer h3{margin-top:24px}.cm-font-tool .cm-explainer p{color:#625b69;line-height:1.85;margin:0 0 14px}.cm-font-tool .cm-faq{max-width:900px;margin:0 auto;padding-top:72px}.cm-font-tool .cm-faq>.cm-section-kicker{text-align:center;letter-spacing:.14em;font-size:11px;font-weight:800;color:#8b70a8}.cm-font-tool .cm-faq h2{text-align:center;font-size:clamp(29px,4vw,42px);line-height:1.12;letter-spacing:-.035em;margin:10px 0 30px;color:#292230}.cm-font-tool .cm-faq details{background:#fff;border:1px solid #e9e3ed;border-radius:16px;padding:19px 22px;margin:0 0 12px;box-shadow:0 5px 18px rgba(45,27,61,.035);transition:border-color .2s,box-shadow .2s}.cm-font-tool .cm-faq details:hover{border-color:#cbb9dc;box-shadow:0 8px 24px rgba(45,27,61,.065)}.cm-font-tool .cm-faq summary{font-weight:750;font-size:15.5px;line-height:1.5;cursor:pointer;color:#30263a;list-style:none;position:relative;padding-right:38px}.cm-font-tool .cm-faq summary::-webkit-details-marker{display:none}.cm-font-tool .cm-faq summary:after{content:'+';position:absolute;right:0;top:50%;transform:translateY(-50%);width:27px;height:27px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#f4eff9;color:#6842a0;font-size:21px;font-weight:500;line-height:1;transition:transform .2s,background .2s}.cm-font-tool .cm-faq details[open]{border-color:#d6c8e3}.cm-font-tool .cm-faq details[open] summary:after{content:'−';background:#6842a0;color:#fff}.cm-font-tool .cm-faq details p{color:#6a6270;font-size:14px;line-height:1.75;margin:14px 0 0;padding-top:13px;border-top:1px solid #f0ebf4}.cm-font-tool .cm-faq details[open] summary{color:#6842a0}.cm-font-tool .cm-disclaimer{margin:42px 8px 0;padding:15px 18px;border-left:3px solid #c65c3b;background:#faf7fb;color:#665d6d;font-size:13px;line-height:1.7}.cm-font-tool .cm-toast{position:fixed;z-index:99999;left:50%;bottom:24px;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#2d2336;color:#fff;border-radius:30px;padding:10px 17px;font-size:13px;box-shadow:0 8px 30px rgba(0,0,0,.2);transition:.2s}.cm-font-tool .cm-toast.is-visible{opacity:1;transform:translate(-50%,0)}@media(max-width:760px){.cm-font-tool{padding:0 10px 40px}.cm-font-tool .cm-hero{padding:8px 4px 18px}.cm-font-tool .cm-lead{font-size:15px}.cm-font-tool .cm-hero-samples{font-size:17px;gap:8px 9px;margin-top:18px}.cm-font-tool .cm-hero-samples span{min-height:40px;padding:7px 13px}.cm-font-tool .cm-generator{padding:13px;border-radius:15px}.cm-font-tool .cm-style-grid{grid-template-columns:1fr}.cm-font-tool .cm-category-grid,.cm-font-tool .cm-benefit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cm-font-tool .cm-steps{grid-template-columns:1fr;gap:4px}.cm-font-tool .cm-toolbar{align-items:flex-start}.cm-font-tool .cm-search-wrap{width:100%}.cm-font-tool .cm-content-section{padding-top:42px}}@media(max-width:430px){.cm-font-tool .cm-category-grid,.cm-font-tool .cm-benefit-grid{grid-template-columns:1fr}.cm-font-tool .cm-style-card{padding:12px}.cm-font-tool .cm-output{font-size:16px}.cm-font-tool .cm-input-card{padding:13px}.cm-font-tool textarea{font-size:19px!important}}

/* Hide only the WordPress/BuddyBoss page title on pages containing this generator. */
body.cm-font-generator-page .entry-title,
body.cm-font-generator-page .page-title,
body.cm-font-generator-page .bb-page-title { display: none !important; }

/* Pull the generator hero closer to the BuddyBoss site header on its own page. */
body.cm-font-generator-page .entry-header { display:none !important; margin:0 !important; padding:0 !important; }
body.cm-font-generator-page .entry-content { margin-top:0 !important; padding-top:0 !important; }
body.cm-font-generator-page .cm-font-tool { margin-top:-48px !important; padding-top:0 !important; }
body.cm-font-generator-page .cm-font-tool .cm-hero { padding-top:0 !important; }
@media (max-width:760px) { body.cm-font-generator-page .cm-font-tool { margin-top:-32px !important; } }


/* Reference-inspired Fraunces hero typography: elegant editorial serif with a gradient italic accent. */
.cm-font-tool .cm-hero h1{font-family:"Fraunces",Georgia,serif;font-size:clamp(36px,6.8vw,76px);font-weight:900;line-height:.98;letter-spacing:-.035em;color:#2d1b3d;margin:16px auto 22px;max-width:1050px}
.cm-font-tool .cm-hero h1 span{font-family:"Fraunces",Georgia,serif;font-style:italic;font-weight:400;display:inline-block;color:#6b3fa0;background:linear-gradient(120deg,#ff6f51 0%,#6b3fa0 60%,#4cb89a 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;position:relative;padding-bottom:10px}
.cm-font-tool .cm-hero h1 span:after{content:"";position:absolute;left:2%;right:2%;bottom:0;height:8px;background:linear-gradient(90deg,#ff6f51,#6b3fa0,#4cb89a);border-radius:100%;transform:rotate(-1deg);opacity:.72}
@media(max-width:760px){.cm-font-tool .cm-hero h1{font-size:clamp(34px,8.5vw,54px);line-height:1.02;margin:13px auto 18px}.cm-font-tool .cm-hero h1 span{padding-bottom:8px}.cm-font-tool .cm-hero h1 span:after{height:5px}}

/* Reference-inspired category chips with emoji markers and soft editorial colors. */
.cm-font-tool .cm-filters{gap:8px;padding:8px 1px 15px;scrollbar-width:thin}
.cm-font-tool .cm-filters button{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:8px 15px;border:1.5px solid rgba(45,27,61,.14);border-radius:999px;background:#fff;color:#5b4a6e;font-size:13px;font-weight:650;white-space:nowrap;transition:background .18s,border-color .18s,color .18s,transform .18s,box-shadow .18s}
.cm-font-tool .cm-filters button:hover{border-color:#ff6f51;color:#2d1b3d;background:#fff7f1;transform:translateY(-1px)}
.cm-font-tool .cm-filters button.is-active{background:#2d1b3d;border-color:#2d1b3d;color:#fff;box-shadow:0 4px 0 rgba(45,27,61,.10)}
.cm-font-tool .cm-filter-emoji{font-size:15px;line-height:1;display:inline-flex;align-items:center;justify-content:center;min-width:15px}
@media(max-width:760px){.cm-font-tool .cm-filters{gap:7px;padding-bottom:13px}.cm-font-tool .cm-filters button{min-height:36px;padding:7px 12px;font-size:12px}}

/* Expanded, reference-inspired category cards: 12 clear paths into the generator. */
.cm-font-tool .cm-style-guide{padding-top:54px}
.cm-font-tool .cm-style-guide>h2{font-size:clamp(27px,3.4vw,38px);letter-spacing:-.035em;margin:9px 0 12px}
.cm-font-tool .cm-style-guide>p{max-width:850px;margin-bottom:24px}
.cm-font-tool .cm-category-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;margin-top:26px}
.cm-font-tool .cm-category-grid .cm-category-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;min-height:220px;padding:22px 21px 19px;border:1px solid #e9e2ef;border-radius:18px;background:linear-gradient(145deg,#fff 0%,#fcf9ff 100%);box-shadow:0 5px 18px rgba(45,27,61,.035);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.cm-font-tool .cm-category-grid .cm-category-card:hover{transform:translateY(-4px);border-color:#cbb8df;box-shadow:0 13px 28px rgba(69,43,94,.10)}
.cm-font-tool .cm-category-grid .cm-category-card>span{display:flex;align-items:center;justify-content:center;width:47px;height:47px;border-radius:15px;background:#f1eafa;color:#6842a0;font-size:25px;line-height:1}
.cm-font-tool .cm-category-grid .cm-category-card:nth-child(3n+2)>span{background:#fff0e9}
.cm-font-tool .cm-category-grid .cm-category-card:nth-child(3n)>span{background:#eaf6f1}
.cm-font-tool .cm-category-grid .cm-category-card h3{font-size:17px;line-height:1.35;margin:15px 0 7px;color:#30263a}
.cm-font-tool .cm-category-grid .cm-category-card p{font-size:13px;line-height:1.7;color:#6b6372;margin:0 0 17px}
.cm-font-tool .cm-category-grid .cm-category-card a{display:inline-flex;align-items:center;gap:7px;margin-top:auto;color:#6842a0;font-size:12px;font-weight:800;text-decoration:none}
.cm-font-tool .cm-category-grid .cm-category-card a:hover{color:#c65c3b;text-decoration:underline;text-underline-offset:3px}
.cm-font-tool .cm-category-grid .cm-category-card a span{font-size:16px;transition:transform .18s ease}
.cm-font-tool .cm-category-grid .cm-category-card a:hover span{transform:translateX(3px)}
@media(max-width:900px){.cm-font-tool .cm-category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.cm-font-tool .cm-category-grid .cm-category-card{min-height:205px;padding:19px}}
@media(max-width:560px){.cm-font-tool .cm-style-guide{padding-top:42px}.cm-font-tool .cm-category-grid{grid-template-columns:1fr;gap:11px}.cm-font-tool .cm-category-grid .cm-category-card{min-height:0;padding:17px 18px}.cm-font-tool .cm-category-grid .cm-category-card>span{width:42px;height:42px;border-radius:13px;font-size:23px}.cm-font-tool .cm-category-grid .cm-category-card h3{font-size:16px;margin-top:12px}.cm-font-tool .cm-category-grid .cm-category-card p{margin-bottom:12px}}

/* Elegant, emoji-led micro-descriptions for category cards. */
.cm-font-tool .cm-category-grid .cm-category-card p{display:flex;flex-direction:column;align-items:flex-start;gap:5px}
.cm-font-tool .cm-category-grid .cm-category-card .cm-card-vibe{display:inline-block;margin:0 0 1px;font-family:Georgia,"Times New Roman",serif;font-size:16px;font-style:italic;font-weight:800;line-height:1.35;letter-spacing:.005em;color:#6842a0;background:linear-gradient(100deg,#6842a0 0%,#b45c91 55%,#d16d48 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.cm-font-tool .cm-category-grid .cm-category-card .cm-card-desc{display:block;font-family:inherit;font-size:12.5px;line-height:1.65;font-weight:400;color:#716879}
@media(max-width:560px){.cm-font-tool .cm-category-grid .cm-category-card .cm-card-vibe{font-size:15px}.cm-font-tool .cm-category-grid .cm-category-card .cm-card-desc{font-size:12.5px}}

/* Version 1.0.8: clearer, more expressive feature cards */
.cm-font-tool .cm-benefits>h2{margin-bottom:10px}
.cm-font-tool .cm-benefits-intro{max-width:760px;margin-bottom:22px!important}
.cm-font-tool .cm-benefit-grid{gap:16px}
.cm-font-tool .cm-benefit-grid article{position:relative;min-height:190px;padding:22px 20px;border:1px solid #e9e1ef;border-radius:17px;background:linear-gradient(145deg,#fff 0%,#fcf9ff 100%);box-shadow:0 5px 18px rgba(55,35,75,.035);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.cm-font-tool .cm-benefit-grid article:hover{transform:translateY(-3px);border-color:#d5c4e4;box-shadow:0 10px 25px rgba(55,35,75,.075)}
.cm-font-tool .cm-benefit-icon{display:inline-flex;width:42px;height:42px;align-items:center;justify-content:center;margin-bottom:13px;border-radius:13px;background:#f2ebf8;font-size:22px}
.cm-font-tool .cm-benefit-grid article h3{margin:0 0 8px;color:#30263a;font-size:16px;line-height:1.35;font-weight:800}
.cm-font-tool .cm-benefit-grid article p{font-size:13px;line-height:1.75;color:#6b6372;margin:0}
@media(max-width:560px){.cm-font-tool .cm-benefit-grid{grid-template-columns:1fr;gap:11px}.cm-font-tool .cm-benefit-grid article{min-height:0;padding:18px}}

/* Version 1.0.9: four-step how-to cards */
.cm-font-tool .cm-how{padding-top:58px}
.cm-font-tool .cm-how-intro{max-width:760px;margin-bottom:22px!important}
.cm-font-tool .cm-steps{list-style:none;padding:0;margin:26px 0 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.cm-font-tool .cm-steps li{display:flex;flex-direction:column;gap:14px;min-width:0;min-height:245px;padding:20px 19px 21px;border:1px solid #e8e0ef;border-radius:17px;background:linear-gradient(150deg,#fff 0%,#fcf9ff 100%);box-shadow:0 5px 18px rgba(55,35,75,.045);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.cm-font-tool .cm-steps li:hover{transform:translateY(-3px);border-color:#d5c3e5;box-shadow:0 11px 25px rgba(55,35,75,.085)}
.cm-font-tool .cm-step-number{display:inline-flex;align-items:center;justify-content:center;width:48px;height:39px;border-radius:11px;background:#f0e8f7;color:#71449b;font-size:19px;font-weight:850;letter-spacing:.04em}
.cm-font-tool .cm-step-content{display:flex;flex-direction:column;align-items:flex-start}
.cm-font-tool .cm-step-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;margin:0 0 12px;border-radius:12px;background:#f7f1fb;font-size:21px}
.cm-font-tool .cm-steps h3{margin:0 0 9px;color:#30263a;font-size:17px;line-height:1.35;font-weight:800;letter-spacing:-.01em}
.cm-font-tool .cm-steps p{margin:0;color:#696171;font-size:14px;line-height:1.7}
@media(max-width:900px){.cm-font-tool .cm-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.cm-font-tool .cm-steps{grid-template-columns:1fr;gap:12px}.cm-font-tool .cm-steps li{min-height:0;padding:19px}.cm-font-tool .cm-steps p{font-size:14px;line-height:1.7}}

/* v1.1.0 — editorial Unicode guide refinement */
.cm-font-tool .cm-explainer{max-width:100%;margin-top:18px;padding:clamp(28px,5vw,58px) clamp(16px,4vw,44px) 34px;background:linear-gradient(180deg,#faf7fc 0%,#fff 100%);border:1px solid #eee7f3;border-radius:22px;}
.cm-font-tool .cm-explainer-heading{text-align:center;max-width:850px;margin:0 auto 34px;}
.cm-font-tool .cm-explainer .cm-section-kicker{display:inline-block;color:#76539a;font-size:11px;font-weight:850;letter-spacing:.19em;text-transform:uppercase;margin-bottom:13px;}
.cm-font-tool .cm-explainer-heading h2{font-size:clamp(30px,4.4vw,44px);line-height:1.12;letter-spacing:-.04em;margin:0 auto 16px;max-width:760px;color:#282130;}
.cm-font-tool .cm-explainer .cm-explainer-deck{max-width:680px;margin:0 auto;color:#716779;font-size:16px;line-height:1.8;}
.cm-font-tool .cm-explainer h3{font-size:19px;line-height:1.35;letter-spacing:-.015em;margin:30px auto 9px;max-width:790px;color:#34283f;}
.cm-font-tool .cm-explainer p:not(.cm-explainer-deck){max-width:790px;margin:0 auto 18px;color:#5f5867;font-size:16px;line-height:1.95;letter-spacing:.002em;}
.cm-font-tool .cm-explainer h3+p{margin-bottom:22px;}
.cm-font-tool .cm-steps{grid-template-columns:repeat(4,minmax(0,1fr));}
@media(max-width:760px){.cm-font-tool .cm-steps{grid-template-columns:repeat(2,minmax(0,1fr));}.cm-font-tool .cm-explainer{padding:30px 18px 22px;border-radius:17px}.cm-font-tool .cm-explainer-heading{margin-bottom:25px}.cm-font-tool .cm-explainer .cm-explainer-deck{font-size:15px}.cm-font-tool .cm-explainer p:not(.cm-explainer-deck){font-size:15px;line-height:1.85}}
@media(max-width:480px){.cm-font-tool .cm-steps{grid-template-columns:1fr}.cm-font-tool .cm-explainer-heading h2{font-size:30px}.cm-font-tool .cm-explainer h3{font-size:18px;margin-top:25px}}

/* v1.1.1 — readable-style tips and a complete editorial ending */
.cm-font-tool .cm-explainer .cm-reading-tips{max-width:790px;margin:8px auto 30px;padding:0;list-style:none;display:grid;gap:12px;}
.cm-font-tool .cm-explainer .cm-reading-tips li{position:relative;padding:13px 16px 13px 42px;border:1px solid #eee7f3;border-radius:12px;background:rgba(255,255,255,.82);color:#5f5867;font-size:15px;line-height:1.8;}
.cm-font-tool .cm-explainer .cm-reading-tips li:before{content:'✓';position:absolute;left:15px;top:14px;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:#f0e8f7;color:#76539a;font-size:12px;font-weight:800;}
.cm-font-tool .cm-explainer .cm-reading-tips strong{color:#34283f;font-weight:750;}
.cm-font-tool .cm-explainer .cm-reading-quick-tip{max-width:790px;margin:10px auto 0!important;padding:15px 18px;border-left:3px solid #9872b5;background:#f7f2fa;border-radius:0 10px 10px 0;color:#51445f!important;}
@media(max-width:600px){.cm-font-tool .cm-explainer .cm-reading-tips{gap:9px}.cm-font-tool .cm-explainer .cm-reading-tips li{padding:12px 12px 12px 38px;font-size:14px;line-height:1.75}.cm-font-tool .cm-explainer .cm-reading-tips li:before{left:12px;top:13px}}

@media(max-width:760px){.cm-font-tool .cm-faq{padding-top:50px}.cm-font-tool .cm-faq h2{margin-bottom:22px}.cm-font-tool .cm-faq details{padding:16px 17px;border-radius:14px}.cm-font-tool .cm-faq summary{font-size:14.5px;padding-right:34px}.cm-font-tool .cm-faq details p{font-size:13.5px}}

/* Carry Magazine FAQ refinement v1.1.3 */
.cm-font-tool .cm-faq{max-width:925px;padding-top:76px}
.cm-font-tool .cm-faq h2{font-size:clamp(32px,4.3vw,46px);margin:12px 0 32px;color:#30203b}
.cm-font-tool .cm-faq details{background:linear-gradient(145deg,#fff 0%,#fffaf8 100%);border:1.25px solid #f0d9d3;border-radius:17px;padding:20px 24px;margin-bottom:13px;box-shadow:0 4px 16px rgba(52,31,58,.035)}
.cm-font-tool .cm-faq details:hover{border-color:#e9a99b;box-shadow:0 8px 24px rgba(72,43,59,.07)}
.cm-font-tool .cm-faq details[open]{border-color:#e99583;background:linear-gradient(145deg,#fff 0%,#fff7f4 100%);box-shadow:0 8px 25px rgba(72,43,59,.06)}
.cm-font-tool .cm-faq summary{font-size:16px;font-weight:760;color:#30243a;padding:1px 43px 1px 0}
.cm-font-tool .cm-faq summary:after{width:29px;height:29px;background:#fff1ed;border:1px solid #f3d1c8;color:#d65f49;font-size:21px}
.cm-font-tool .cm-faq details[open] summary:after{background:#d96752;border-color:#d96752;color:#fff}
.cm-font-tool .cm-faq details[open] summary{color:#432c49}
.cm-font-tool .cm-faq details p{font-size:15px;line-height:1.8;color:#625a68;margin-top:15px;padding-top:15px;border-top:1px dashed #eadbd7}
.cm-font-tool .cm-faq summary:focus-visible{outline:3px solid rgba(104,66,160,.3);outline-offset:5px;border-radius:4px}
@media(max-width:760px){.cm-font-tool .cm-faq{padding-top:52px}.cm-font-tool .cm-faq h2{font-size:clamp(28px,7vw,36px);margin-bottom:23px}.cm-font-tool .cm-faq details{padding:16px 17px;border-radius:14px}.cm-font-tool .cm-faq summary{font-size:14.5px;padding-right:38px}.cm-font-tool .cm-faq details p{font-size:13.5px;line-height:1.75}}


/* 1.1.4 — Open generator layout: keep the controls, remove the enclosing card. */
.cm-font-tool .cm-generator {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* FAQ styling follows Carry Magazine's editorial palette: ink, lavender and purple. */
.cm-font-tool .cm-faq {
  max-width: 980px;
  padding-top: 68px;
}
.cm-font-tool .cm-faq .cm-faq-intro {
  max-width: 760px;
  margin: -12px auto 24px;
  text-align: center;
  color: #625b69;
  line-height: 1.8;
}
.cm-font-tool .cm-faq details {
  background: #fbf9fd;
  border: 1px solid #e7dced;
  border-radius: 13px;
  box-shadow: 0 3px 12px rgba(45, 27, 61, .025);
  padding: 18px 21px;
  margin-bottom: 10px;
}
.cm-font-tool .cm-faq details:hover {
  background: #fff;
  border-color: #cdbbe0;
  box-shadow: 0 7px 20px rgba(45, 27, 61, .055);
}
.cm-font-tool .cm-faq details[open] {
  background: #f7f2fb;
  border-color: #cdbbe0;
}
.cm-font-tool .cm-faq summary {
  color: #30263a;
  font-size: 15px;
  font-weight: 750;
}
.cm-font-tool .cm-faq summary:after {
  background: #eee6f5;
  color: #6842a0;
}
.cm-font-tool .cm-faq details[open] summary {
  color: #6842a0;
}
.cm-font-tool .cm-faq details[open] summary:after {
  background: #6842a0;
  color: #fff;
}
.cm-font-tool .cm-faq details p {
  color: #625b69;
  border-top-color: #e9e0f0;
  line-height: 1.8;
}
@media (max-width: 760px) {
  .cm-font-tool .cm-faq { padding-top: 48px; }
  .cm-font-tool .cm-faq details { padding: 16px; }
}


/* Purpose-led style collections added in v1.1.6 */
.cm-font-tool .cm-specialized{padding-top:66px}
.cm-font-tool .cm-specialized>.cm-section-kicker{text-align:center}
.cm-font-tool .cm-specialized h2{text-align:center;font-size:clamp(30px,4.2vw,44px);font-weight:900;line-height:1.12;letter-spacing:-.04em;margin:10px 0 16px;color:#7b35c9;background:linear-gradient(100deg,#7136c5 0%,#d04491 52%,#f08a42 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-wrap:balance}
.cm-font-tool .cm-specialized>.cm-specialized-intro{max-width:850px;text-align:center;margin:0 auto 24px;color:#625b69;line-height:1.85}
.cm-font-tool .cm-specialized-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:26px}
.cm-font-tool .cm-specialized-grid .cm-category-card{min-height:220px}
@media(max-width:760px){.cm-font-tool .cm-specialized{padding-top:48px}.cm-font-tool .cm-specialized-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.cm-font-tool .cm-specialized-grid .cm-category-card{min-height:0;padding:17px 15px}.cm-font-tool .cm-specialized h2{font-size:clamp(27px,7vw,34px)}}
@media(max-width:480px){.cm-font-tool .cm-specialized-grid{grid-template-columns:1fr}}


/* v1.1.7: accent only the requested FAQ words and remove the explainer card frame. */
.cm-font-tool .cm-faq h2 .cm-faq-title-accent{
  display:inline-block;
  color:#7b35c9;
  background:linear-gradient(100deg,#7136c5 0%,#d04491 58%,#f08a42 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
}
.cm-font-tool .cm-explainer{
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  padding:clamp(22px,3vw,36px) 8px 0;
  margin-top:18px;
}
@media(max-width:760px){
  .cm-font-tool .cm-explainer{padding:20px 8px 0;border-radius:0}
}
