@font-face{font-family:"DM Sans";src:url("fonts/dm-sans-latin.woff2") format("woff2");font-style:normal;font-weight:400 700;font-display:swap}
@font-face{font-family:"Source Serif 4";src:url("fonts/source-serif-latin.woff2") format("woff2");font-style:normal;font-weight:400 700;font-display:swap}
:root{--ink:#182847;--navy:#1c2a4a;--red:#db3a32;--red-dark:#bc2c29;--paper:#f7f7f4;--cream:#f3eee5;--line:#e3e3de;--muted:#68707a;--white:#fff;--serif:"Source Serif 4",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}
img,svg{display:block;max-width:100%}img{height:auto}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #e15e52;outline-offset:3px}::selection{color:#fff;background:var(--red)}
.shell{width:min(100% - 64px,1220px);margin-inline:auto}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:8px;left:8px;z-index:100;transform:translateY(-150%);padding:10px 16px;background:#fff;color:var(--ink);box-shadow:0 2px 12px #0003}.skip-link:focus{transform:translateY(0)}
.icon{width:19px;height:19px;flex:0 0 auto}.icon-arrow{transition:transform .2s ease}.text-link:hover .icon-arrow,.heading-link:hover .icon-arrow,.button:hover .icon-arrow,.nav-end:hover .icon-arrow{transform:translateX(4px)}
.utility{background:#f0f0ec;border-bottom:1px solid #e8e8e3;color:#6a7079}.utility-inner{height:32px;display:flex;align-items:center;justify-content:space-between}.utility-message{font-size:9px;font-weight:700;letter-spacing:.115em;display:flex;align-items:center;gap:8px}.utility-dot{width:6px;height:6px;background:var(--red);border-radius:50%}.utility-links{display:flex;align-items:center;gap:15px;font-size:11px;font-weight:500}.utility-links a:hover{color:var(--red)}.utility-links>span{height:12px;border-left:1px solid #c7c8c5}
.site-header{background:#fff}.header-inner{height:91px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:inline-flex;align-items:center;gap:11px;flex-shrink:0}.brand-mark{width:44px;height:44px;display:grid;place-items:center;background:var(--red);color:#fff;border-radius:2px}.brand-mark svg{width:40px;height:40px}.brand-copy{display:flex;flex-direction:column;align-items:flex-start}.brand-name{font-family:var(--serif);font-weight:500;font-size:28px;line-height:1;letter-spacing:-1.4px;white-space:nowrap}.brand-name strong{color:var(--red);font-weight:700}.brand-period{color:var(--ink)}.brand-tagline{font-size:8px;line-height:1;letter-spacing:.12em;font-weight:700;color:#858b8e;margin-top:7px;white-space:nowrap}.header-actions{display:flex;align-items:center;gap:18px}.header-search{width:255px;height:42px;border:1px solid #dfdfda;background:#fbfbf9;display:flex;align-items:center}.header-search:focus-within{border-color:#8e98a6}.header-search input{width:100%;min-width:0;border:0;outline:0!important;padding:0 0 0 13px;background:transparent;color:var(--ink);font-size:12px}.header-search input::placeholder{color:#8a9095}.header-search button{height:40px;width:42px;display:grid;place-items:center;border:0;background:transparent;color:var(--ink)}.header-search button:hover{color:var(--red)}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:44px;padding:0 19px;border:1px solid transparent;font-size:11px;font-weight:700;letter-spacing:.015em;transition:background .2s,color .2s,border-color .2s}.button--navy{background:var(--navy);color:#fff}.button--navy:hover{background:var(--red)}.header-cta{min-width:127px}.header-cta .icon{width:16px}
.primary-nav{background:var(--navy);color:white}.nav-inner{min-height:49px;display:flex;justify-content:space-between;align-items:stretch}.nav-links{display:flex;align-items:stretch;gap:0}.nav-link{position:relative;display:flex;align-items:center;padding:0 16px;font-size:11px;font-weight:600;white-space:nowrap;color:#f5f6f9;transition:background .18s}.nav-link:first-of-type{padding-left:0;padding-right:22px}.nav-link:hover{background:#ffffff0c}.nav-link.is-active:after{position:absolute;content:"";bottom:0;left:15px;right:15px;height:3px;background:var(--red)}.nav-link.is-active:first-of-type:after{left:0;right:20px}.nav-end{display:flex;align-items:center;justify-content:flex-end;gap:6px;padding-left:16px;font-size:9px;letter-spacing:.08em;color:#c4ccdc;white-space:nowrap}.nav-end b{color:#fff;font-weight:700}.nav-end .icon{width:15px;color:#f4776b}.menu-toggle,.header-search--mobile,.nav-mobile-extra{display:none}
.section-kicker,.eyebrow{font-family:var(--sans);font-size:9px;font-weight:700;line-height:1.2;letter-spacing:.115em;text-transform:uppercase;color:var(--red)}.section-kicker{display:inline-flex;align-items:center;gap:9px}.section-kicker>span{width:19px;height:2px;background:var(--red)}.accent-dot{color:var(--red)}
.home-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding-top:34px;padding-bottom:26px}.home-intro h1,.page-intro h1{font-family:var(--serif);font-size:40px;line-height:1.1;letter-spacing:-1.15px;margin:9px 0 7px;font-weight:700}.home-intro p,.page-intro p{margin:0;color:#707984;font-size:13px}.intro-aside{display:flex;align-items:center;gap:10px;padding-bottom:3px;font-size:9px;line-height:1.5;letter-spacing:.09em;color:#9b9c98}.intro-aside b{color:#5f6876}.intro-sparkle{font-size:28px;line-height:1;color:#d7c7af}
.lead-grid{display:grid;grid-template-columns:minmax(0,1.82fr) minmax(300px,1fr);gap:32px;align-items:start}.lead-main{min-width:0}.feature-card{display:grid;grid-template-columns:1.13fr 1fr;min-height:292px;background:white;border:1px solid var(--line)}.feature-image{position:relative;overflow:hidden;display:block;min-height:292px;background:#ded9cd}.feature-image img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:53% 50%;transition:transform .5s ease}.feature-image:hover img,.story-image:hover img,.latest-image:hover img{transform:scale(1.035)}.image-stamp{position:absolute;bottom:14px;left:14px;display:flex;align-items:center;gap:4px;background:white;color:var(--ink);padding:8px 10px;font-size:10px;font-weight:700;line-height:1;letter-spacing:.06em}.image-stamp span{color:var(--red);font-size:8px}.feature-copy{display:flex;flex-direction:column;padding:25px 26px 16px;min-width:0}.feature-overline{font-size:9px;color:var(--red);font-weight:700;letter-spacing:.1em;display:flex;align-items:center;gap:7px}.overline-dot{width:6px;height:6px;background:var(--red);border-radius:50%}.feature-copy h2{font-family:var(--serif);font-size:29px;line-height:1.12;letter-spacing:-.6px;margin:14px 0 10px;font-weight:700}.feature-copy h2 a:hover,.story-copy h3 a:hover,.latest-story h3 a:hover{color:var(--red)}.feature-copy p{font-size:12.5px;line-height:1.55;color:#67717c;margin:0 0 14px}.feature-link{display:inline-flex;align-items:center;gap:9px;align-self:flex-start;color:var(--red);font-size:11px;font-weight:700;margin-top:auto}.arrow-circle{width:26px;height:26px;border:1px solid #edc1bd;border-radius:50%;display:grid;place-items:center;transition:background .2s,color .2s}.arrow-circle .icon{width:15px;height:15px}.feature-link:hover .arrow-circle{background:var(--red);color:#fff}.feature-bottom{display:flex;justify-content:space-between;gap:8px;border-top:1px solid #ecece9;margin-top:17px;padding-top:11px;color:#92989c;font-size:8px;font-weight:700;letter-spacing:.1em}
.starter-kit{margin-top:18px;border:1px solid #e8e1d9;background:#fff}.starter-bar{background:var(--red);color:white;min-height:44px;padding:0 18px;display:flex;align-items:center;justify-content:space-between}.starter-bar h2{font-family:var(--serif);font-size:19px;line-height:1;margin:0;font-weight:700}.starter-bar h2 span{color:#f9b6a8}.starter-bar>span{font-size:8px;letter-spacing:.13em;font-weight:700;color:#ffe5df}.starter-bar>span b{font-size:13px;padding-left:5px}.starter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:17px 0}.starter-grid>a{position:relative;display:flex;flex-direction:column;min-width:0;padding:0 18px 2px}.starter-grid>a:not(:last-child){border-right:1px solid #ededea}.starter-number{font-family:var(--serif);font-size:17px;font-weight:700;color:var(--red);line-height:1;display:flex;align-items:center;gap:8px}.starter-number i{font-family:var(--sans);font-style:normal;color:#9c9e9b;font-size:8px;font-weight:700;letter-spacing:.08em}.starter-grid strong{font-family:var(--serif);font-size:15px;margin:9px 0 3px;line-height:1.2}.starter-grid small{font-size:10.5px;line-height:1.4;color:#7b8288;max-width:155px}.starter-arrow{position:absolute;right:17px;bottom:0;font-size:15px;color:var(--red);opacity:0;transition:opacity .2s,transform .2s}.starter-grid a:hover strong{color:var(--red)}.starter-grid a:hover .starter-arrow{opacity:1;transform:translateX(3px)}
.lead-side{min-width:0}.side-heading{height:35px;display:flex;align-items:flex-start;justify-content:space-between;border-bottom:2px solid var(--ink)}.side-heading h2{font-family:var(--serif);font-size:20px;line-height:1;margin:0;letter-spacing:-.25px}.side-heading h2 span{color:var(--red)}.side-heading>a{display:inline-flex;align-items:center;gap:3px;font-size:9px;font-weight:700;letter-spacing:.08em;color:var(--red)}.side-heading>a .icon{width:15px}.latest-story{display:grid;grid-template-columns:116px minmax(0,1fr);gap:15px;padding:13px 0;border-bottom:1px solid #e4e5e1;min-height:112px}.latest-image{display:block;overflow:hidden;height:83px;background:#e5e1d8}.latest-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.latest-story .eyebrow{font-size:8px;letter-spacing:.095em}.latest-story h3{font-family:var(--serif);font-size:16px;line-height:1.18;letter-spacing:-.15px;margin:5px 0 6px}.latest-link{font-size:10px;font-weight:700;color:#7a8288}.latest-link span{color:var(--red);font-size:13px;padding-left:3px}.latest-link:hover{color:var(--red)}.sidebar-note{margin-top:15px;padding:15px 18px;display:flex;gap:13px;background:#eee9df;border-left:3px solid #d9c8ae}.sidebar-note-star{font-size:24px;line-height:1;color:var(--red)}.sidebar-note .eyebrow{font-size:8px}.sidebar-note p{font-family:var(--serif);font-size:16px;line-height:1.2;margin:6px 0}.sidebar-note p strong{font-weight:700}.sidebar-note a{font-size:10px;color:#66717a;font-weight:700}.sidebar-note a span{color:var(--red)}
.topics-section,.stories-section{padding-top:70px;padding-bottom:70px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:23px}.section-heading h2{font-family:var(--serif);font-size:29px;line-height:1.15;letter-spacing:-.5px;margin:8px 0 4px}.section-heading p{font-size:12px;color:#778089;margin:0}.heading-link{display:inline-flex;align-items:center;gap:8px;padding-bottom:4px;font-size:9px;font-weight:700;letter-spacing:.09em;color:var(--red);white-space:nowrap}.heading-link .icon{width:16px}
.topics-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));background:#fff;border:1px solid var(--line)}.topic-card{display:flex;flex-direction:column;align-items:flex-start;min-height:150px;padding:19px 18px 14px;position:relative}.topic-card:not(:last-child){border-right:1px solid var(--line)}.topic-card:hover{background:#fcfaf7}.topic-card:hover b{color:var(--red)}.topic-icon{width:37px;height:37px;display:grid;place-items:center;margin-bottom:15px;background:#f4e6df;color:var(--red)}.topic-icon svg{width:22px;height:22px}.topic-icon--web{background:#e5e9ee;color:#455e7c}.topic-icon--mail{background:#f1ebdb;color:#aa8141}.topic-icon--review{background:#e9ece4;color:#6d8066}.topic-icon--strategy{background:#eee8ec;color:#997087}.topic-card b{display:block;font-size:12px;line-height:1.25}.topic-card small{display:block;font-size:10px;color:#899097;margin-top:4px}.topic-card>.icon-arrow{position:absolute;right:14px;bottom:14px;width:15px;color:#bdc0bd}.topic-card:hover>.icon-arrow{color:var(--red);transform:translateX(3px)}
.tools-section{background:#f0f1ee;padding:66px 0 73px;border-top:1px solid #eeefec;border-bottom:1px solid #eeefec}.tools-note{display:flex;align-items:flex-start;gap:8px;margin:0 0 16px;color:#727b81;font-size:10.5px;line-height:1.5}.tools-note a{color:var(--ink);text-decoration:underline;text-underline-offset:2px}.note-icon{width:15px;height:15px;flex-shrink:0;border:1px solid #a8adaf;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:10px;font-weight:700;line-height:1}.tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.tool-card{background:#fff;border:1px solid #e2e4e0;padding:22px;display:flex;flex-direction:column;min-width:0}.tool-card-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:22px}.tool-symbol{display:grid;place-items:center;width:42px;height:42px;background:#e6eaf0;color:#203255;font-family:var(--serif);font-weight:700;font-size:24px;line-height:1}.tool-symbol--coral{background:#f5e5dd;color:#c45643}.tool-symbol--blue{background:#e5edf0;color:#456b7e}.tool-number{font-size:8px;letter-spacing:.09em;font-weight:700;color:#a4a9a7}.tool-number span{color:#d3d4d0;margin:0 3px}.tool-category{color:var(--red);font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.tool-card h3{font-family:var(--serif);font-size:23px;letter-spacing:-.35px;line-height:1.2;margin:5px 0 7px}.tool-summary{font-size:12px;color:#5e6974;margin:0 0 13px}.tool-consider{font-size:11px;line-height:1.55;color:#8a9195;margin:0 0 19px}.tool-consider b{color:#5d6873}.tool-links{border-top:1px solid #eceeea;padding-top:14px;margin-top:auto;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.text-link{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;color:var(--red)}.text-link:hover{color:var(--red-dark)}.text-link .icon{width:15px;height:15px}.tool-guide-link{color:#7b8389;font-size:10px;font-weight:700;white-space:nowrap;margin-top:2px}.tool-guide-link span{color:var(--red)}.tool-guide-link:hover{color:var(--red)}.affiliate-tag,.ordinary-tag{display:block;margin-top:3px;color:#8b9293;font-size:8px;letter-spacing:.02em}.affiliate-tag{color:#a22e28;font-weight:700}
.stories-section{padding-bottom:67px}.story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.story-card{min-width:0;background:#fff;border:1px solid var(--line);display:flex;flex-direction:column}.story-image{display:block;overflow:hidden;aspect-ratio:1.9/1;background:#e3e1d9}.story-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.story-copy{padding:20px 20px 18px;display:flex;flex-direction:column;flex:1}.story-copy h3{font-family:var(--serif);font-size:20px;line-height:1.18;letter-spacing:-.3px;margin:8px 0}.story-copy p{font-size:11.5px;line-height:1.55;color:#778089;margin:0 0 17px}.story-link{margin-top:auto}
.closing-wrap{padding-bottom:76px}.closing-card{background:var(--navy);color:white;display:flex;justify-content:space-between;position:relative;overflow:hidden;min-height:248px}.closing-copy{padding:38px 46px;position:relative;z-index:2;max-width:620px}.closing-kicker{font-size:9px;color:#ee8e7c;font-weight:700;letter-spacing:.13em}.closing-copy h2{font-family:var(--serif);font-size:30px;line-height:1.13;letter-spacing:-.5px;margin:11px 0 9px}.closing-copy p{color:#c5cdda;font-size:12px;margin:0 0 19px}.button--cream{background:#fff;color:var(--ink)}.button--cream:hover{background:#f4b3a2}.button--cream .icon{width:16px}.closing-art{position:absolute;right:80px;top:-42px;bottom:-40px;width:280px;display:flex;align-items:center;justify-content:center}.closing-art-circle{width:235px;height:235px;display:grid;place-items:center;border:1px solid #8792a466;border-radius:50%;position:relative}.closing-art-circle:before,.closing-art-circle:after{content:"";position:absolute;border:1px solid #8792a433;border-radius:50%}.closing-art-circle:before{inset:15px}.closing-art-circle:after{inset:-25px}.closing-art-circle>span{font-family:var(--serif);font-size:116px;line-height:1;font-weight:700;color:#ffffff18}.closing-art-circle i{position:absolute;top:37px;right:28px;color:#e28772;font-size:28px;font-style:normal}.closing-art-caption{position:absolute;right:-40px;bottom:75px;font-size:8px;letter-spacing:.1em;line-height:1.6;font-weight:700;color:#b1bac8}
.footer{background:#14203a;color:#e4e8ed}.footer-main{display:grid;grid-template-columns:2.2fr .8fr .9fr 1.15fr;gap:30px;padding-top:42px;padding-bottom:39px}.brand--light .brand-name{color:#fff}.brand--light .brand-name strong{color:#ef8173}.brand--light .brand-period{color:#fff}.brand--light .brand-tagline{color:#a3abba}.brand--light .brand-mark{width:40px;height:40px}.brand--light .brand-mark svg{width:37px;height:37px}.footer-brand>p{font-size:11px;color:#a1abba;margin:14px 0 0;max-width:270px}.footer-column{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.footer-column h2{font-size:9px;letter-spacing:.1em;color:#a2acba;margin:3px 0 7px}.footer-column a{font-size:11px;color:#d3d9e1}.footer-column a:hover{color:#f29282}.footer-signoff{border-left:1px solid #ffffff24;padding-left:24px;display:flex;gap:11px;align-items:flex-start}.footer-star{font-size:25px;line-height:1;color:#ee8877}.footer-signoff p{font-family:var(--serif);font-size:15px;line-height:1.25;margin:0;color:#d9dfe7}.footer-bottom{border-top:1px solid #ffffff20;padding-top:16px;padding-bottom:18px;display:flex;justify-content:space-between;gap:20px;font-size:9px;color:#99a4b3}.footer-bottom>span:last-child{font-size:8px;font-weight:700;letter-spacing:.1em}.footer-heart{color:#ea8273;margin-left:4px}
/* Interior pages */
.page-intro{background:#f0f0eb;border-bottom:1px solid #e6e7e1;padding:23px 0 39px}.breadcrumbs{display:flex;align-items:center;gap:10px;font-size:9px;letter-spacing:.08em;font-weight:700;color:#929997;margin-bottom:29px}.breadcrumbs a:hover{color:var(--red)}.breadcrumbs span{color:#c3c7c3}.page-intro h1{font-size:43px;max-width:850px;margin-top:10px}.page-intro p{font-size:13px;max-width:700px}.page-intro--compact{padding-bottom:34px}.library-section,.directory-section{padding-top:43px;padding-bottom:80px}.library-toolbar,.directory-head{display:flex;align-items:end;justify-content:space-between;gap:20px}.library-toolbar h2,.directory-head h2{font-family:var(--serif);font-size:25px;letter-spacing:-.4px;line-height:1.15;margin:0 0 5px}.library-toolbar p,.directory-head p{font-size:12px;color:#7a8388;margin:0}.library-search{height:44px;width:260px;display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #dfe1dc;padding:0 12px}.library-search>.icon{color:#71808a;width:17px}.library-search input{border:0;outline:0!important;min-width:0;flex:1;background:transparent;font-size:12px;color:var(--ink)}.library-search input::placeholder{color:#9da3a3}.clear-search{border:0;padding:0;background:transparent;font-size:20px;color:#a0a7a7;display:none}.library-search.has-value .clear-search{display:block}.filter-list{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0 20px}.filter-chip{border:1px solid #dcdfda;background:#fff;color:#64707a;padding:8px 12px;font-size:10px;font-weight:700;transition:background .18s,color .18s,border-color .18s}.filter-chip:hover{border-color:var(--red);color:var(--red)}.filter-chip.is-selected{background:var(--navy);border-color:var(--navy);color:white}.results-line{border-top:1px solid #e0e3de;padding:14px 0;display:flex;justify-content:space-between;align-items:center;color:#858d90;font-size:10px}.reset-filters{background:none;border:0;color:var(--red);font-size:10px;font-weight:700}.library-grid .story-card[hidden]{display:none}.empty-state{text-align:center;padding:56px 20px;background:#fff;border:1px solid var(--line)}.empty-state[hidden]{display:none}.empty-state>span{color:var(--red);font-size:25px}.empty-state h2{font:700 25px/1.1 var(--serif);margin:8px 0}.empty-state p{font-size:12px;color:var(--muted);margin:0 0 20px}.directory-head{margin-bottom:24px}.directory-count{font-size:10px;color:#9ba1a0;font-weight:700;letter-spacing:.08em}.directory-section .tool-card{min-height:275px}.compare-box{display:grid;grid-template-columns:1fr 1fr;gap:50px;margin-top:36px;padding:34px 38px;background:#f0eee8;border:1px solid #e6e3db}.compare-box h2{font:700 26px/1.15 var(--serif);letter-spacing:-.4px;margin:9px 0}.compare-box p{color:#7b8284;font-size:12px;margin:0 0 14px}.compare-box ol{list-style:none;padding:0;margin:0}.compare-box li{display:flex;gap:14px;padding:10px 0;border-bottom:1px solid #dddcd5;font-size:11px;color:#747d80}.compare-box li:last-child{border:0}.compare-box li>b{font:700 17px/1 var(--serif);color:var(--red)}.compare-box li strong{color:var(--ink)}
.article-crumb{margin:25px 0 29px}.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:72px;align-items:start}.article-main{max-width:785px}.article-header h1{font-family:var(--serif);font-size:clamp(38px,4.3vw,54px);line-height:1.05;letter-spacing:-1.4px;margin:13px 0 13px}.article-deck{font-size:15px;color:#727d84;margin:0 0 20px;max-width:690px}.article-byline{display:flex;align-items:center;gap:10px;font-size:9px;font-weight:600;letter-spacing:.08em;color:#849092;margin-bottom:25px}.article-byline b{color:#4b5b69}.byline-mark{display:grid;place-items:center;background:var(--red);color:white;font:700 14px var(--serif);width:25px;height:25px;letter-spacing:0}.byline-separator{color:#c6cac5}.article-hero{width:100%;aspect-ratio:2.15/1;object-fit:cover}.article-body{max-width:690px;padding:25px 0 0;color:#414d58;font-size:15px;line-height:1.8}.article-body>p:first-child{font-family:var(--serif);font-size:20px;line-height:1.55;color:#344358}.article-body h2{font-family:var(--serif);font-size:26px;line-height:1.2;color:var(--ink);letter-spacing:-.35px;margin:32px 0 10px;scroll-margin-top:20px}.article-body p{margin:0 0 17px}.article-body ul{padding-left:20px;margin:10px 0 21px}.article-body li{padding-left:5px;margin:6px 0}.article-body li::marker{color:var(--red)}.article-callout{border-left:3px solid var(--red);background:#f0eee7;padding:18px 20px;display:flex;gap:13px;margin:25px 0;color:var(--ink)}.article-callout>span{font-size:21px;color:var(--red);line-height:1.1}.article-callout p{font-family:var(--serif);font-size:17px;line-height:1.45;margin:0;font-weight:600}.article-end{border-top:1px solid var(--line);margin-top:30px;padding-top:18px;color:var(--red);display:flex;align-items:center;gap:8px;font-size:18px}.article-end span{font:700 9px var(--sans);letter-spacing:.1em;color:#989f9e}.article-sidebar{position:sticky;top:20px}.toc-card{background:#fff;border:1px solid var(--line);padding:22px}.toc-card h2{font:700 22px/1.15 var(--serif);margin:8px 0 12px}.toc-card h2 span{color:var(--red)}.toc-card a{display:flex;justify-content:space-between;gap:10px;border-top:1px solid #edeee9;padding:11px 0;font-size:11px;color:#60707a;line-height:1.35}.toc-card a:hover{color:var(--red)}.toc-card a span{color:var(--red)}.article-side-note{background:var(--navy);color:#fff;padding:23px;margin-top:16px}.article-side-note>span{font-size:22px;line-height:1;color:#ea8775}.article-side-note h2{font:700 21px/1.16 var(--serif);margin:10px 0}.article-side-note p{font-size:11px;color:#bfc7d4;margin:0 0 14px}.article-side-note a{display:inline-flex;align-items:center;gap:7px;color:#f5aa9b;font-size:10px;font-weight:700}.article-side-note .icon{width:15px}.article-disclosure{color:#8b9498;font-size:10px;line-height:1.5;margin:14px 0}.article-disclosure a{text-decoration:underline}.related-section{padding-top:65px;padding-bottom:75px}.simple-layout{display:grid;grid-template-columns:minmax(0,720px) minmax(220px,1fr);gap:85px;padding-top:52px;padding-bottom:80px}.simple-layout--narrow{padding-top:45px}.simple-copy{color:#4f5e67;font-size:14px;line-height:1.8}.simple-copy p{margin:0 0 19px}.simple-copy .simple-lead{font-family:var(--serif);color:var(--ink);font-size:22px;line-height:1.45}.simple-copy h2{font:700 25px/1.2 var(--serif);color:var(--ink);letter-spacing:-.3px;margin:32px 0 10px}.simple-copy ul{padding-left:21px}.simple-copy li{padding-left:4px;margin:7px 0}.simple-copy li::marker{color:var(--red)}.simple-copy a:not(.button){color:var(--red);text-decoration:underline;text-underline-offset:3px}.simple-copy .button{margin-top:12px}.about-quote{align-self:start;background:#eee9df;border-top:3px solid var(--red);padding:30px}.about-quote>span{color:var(--red);font-size:28px}.about-quote blockquote{font:700 27px/1.2 var(--serif);letter-spacing:-.5px;margin:15px 0}.about-quote p{font-size:9px;font-weight:700;letter-spacing:.1em;color:#8e999c}.about-quote--small blockquote{font-size:23px}
@media(max-width:1160px){.shell{width:min(100% - 48px,1220px)}.nav-link{padding-inline:11px;font-size:10.5px}.nav-link:first-of-type{padding-right:15px}.nav-end{font-size:8px}.lead-grid{gap:24px;grid-template-columns:minmax(0,1.7fr) minmax(275px,1fr)}.feature-copy{padding:22px 21px 15px}.feature-copy h2{font-size:26px}.latest-story{grid-template-columns:106px minmax(0,1fr);gap:12px}.latest-story h3{font-size:15px}.topic-card{padding-inline:14px}.topic-card b{font-size:11px}.article-layout{gap:48px}}
@media(max-width:920px){.utility-inner{height:30px}.header-inner{height:77px}.brand-name{font-size:26px}.brand-mark{width:41px;height:41px}.header-search{width:210px}.primary-nav{position:relative}.nav-inner{min-height:46px;align-items:center}.menu-toggle{display:inline-flex;align-items:center;gap:10px;border:0;background:transparent;color:white;font-size:11px;font-weight:700;padding:11px 0}.menu-icon{width:17px;display:flex;flex-direction:column;gap:3px}.menu-icon i{height:1.5px;background:white;width:100%}.nav-links{display:none;position:absolute;z-index:10;top:100%;left:0;right:0;background:var(--navy);padding:0 24px 18px;box-shadow:0 10px 16px #0f1c3033}.nav-links.is-open{display:flex;flex-direction:column;align-items:stretch}.nav-link,.nav-link:first-of-type{padding:11px 2px;border-top:1px solid #ffffff17;font-size:12px}.nav-link.is-active:after,.nav-link.is-active:first-of-type:after{display:none}.nav-link.is-active{color:#ffb1a5}.nav-mobile-extra{display:block;border-top:1px solid #ffffff17;padding:11px 2px;font-size:12px}.nav-end{padding:0;font-size:9px}.nav-end .icon{width:16px}.lead-grid{grid-template-columns:1fr;gap:28px}.feature-card{grid-template-columns:1.15fr 1fr}.feature-copy h2{font-size:30px}.lead-side{display:grid;grid-template-columns:minmax(0,2fr) minmax(180px,1fr);gap:0 22px}.side-heading{grid-column:1 / -1}.latest-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.latest-story{display:flex;flex-direction:column;gap:8px;border:0;min-height:0}.latest-image{width:100%;height:auto;aspect-ratio:1.7/1}.latest-story h3{font-size:15px}.sidebar-note{margin:13px 0 0;align-self:start;min-height:calc(100% - 13px)}.topics-section{padding-top:55px}.topics-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.topic-card:nth-child(3){border-right:0}.topic-card:nth-child(n+4){border-top:1px solid var(--line)}.article-layout{grid-template-columns:minmax(0,1fr) 230px;gap:28px}.article-header h1{font-size:42px}.simple-layout{gap:35px}}
@media(max-width:640px){.shell{width:calc(100% - 32px)}.utility-message{font-size:8px;letter-spacing:.07em}.utility-links{font-size:10px;gap:9px}.utility-links a:first-child,.utility-links>span{display:none}.header-inner{height:69px;gap:12px}.brand{gap:8px}.brand-mark{width:37px;height:37px}.brand-mark svg{width:35px}.brand-name{font-size:22px;letter-spacing:-1.1px}.brand-tagline{font-size:6.5px;letter-spacing:.08em;margin-top:5px}.header-actions .header-search{display:none}.header-cta{min-width:auto;min-height:37px;padding:0 11px;font-size:10px;gap:6px}.header-cta .icon{width:14px}.nav-links{padding-inline:16px}.nav-links .header-search--mobile{display:flex;width:100%;margin:2px 0 12px;background:#fff}.nav-links .header-search--mobile input{color:var(--ink)}.nav-links .header-search--mobile button{color:var(--ink)}.home-intro{padding-top:27px;padding-bottom:21px}.home-intro h1{font-size:32px;letter-spacing:-.8px}.home-intro p{font-size:12px}.intro-aside{display:none}.feature-card{display:flex;flex-direction:column}.feature-image{min-height:0;aspect-ratio:1.75/1}.feature-copy{padding:21px 20px 16px}.feature-copy h2{font-size:28px;margin-top:11px}.feature-copy p{font-size:13px}.feature-link{margin-top:8px}.feature-bottom{margin-top:16px}.starter-grid{grid-template-columns:1fr;padding:0 16px}.starter-grid>a{padding:13px 2px;min-height:78px}.starter-grid>a:not(:last-child){border-right:0;border-bottom:1px solid #ededea}.starter-grid small{max-width:none}.starter-grid strong{margin:5px 0 2px}.starter-arrow{opacity:1;bottom:20px;right:3px}.lead-side{display:block}.latest-list{display:block}.latest-story{display:grid;grid-template-columns:115px 1fr;gap:14px;padding:13px 0;border-bottom:1px solid #e4e5e1}.latest-image{height:80px}.latest-story h3{font-size:16px}.sidebar-note{min-height:0;margin-top:15px}.topics-section,.stories-section{padding-top:50px;padding-bottom:50px}.section-heading h2{font-size:26px}.section-heading{align-items:flex-start;flex-direction:column;gap:12px}.section-heading p{font-size:11px}.heading-link{padding:0}.topics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.topic-card{min-height:137px;padding:15px}.topic-card:nth-child(3){border-right:1px solid var(--line);border-top:1px solid var(--line)}.topic-card:nth-child(even){border-right:0}.topic-card:nth-child(n+3){border-top:1px solid var(--line)}.topic-card small{font-size:9.5px}.tools-section{padding:49px 0 54px}.tool-grid{grid-template-columns:1fr;gap:12px}.tool-card{padding:20px}.tool-card-top{margin-bottom:17px}.tool-card h3{font-size:22px}.story-grid{grid-template-columns:1fr;gap:15px}.story-image{aspect-ratio:1.85/1}.story-copy{padding:17px}.story-copy h3{font-size:20px}.closing-wrap{padding-bottom:50px}.closing-card{min-height:0}.closing-copy{padding:30px 24px 34px;max-width:none}.closing-copy h2{font-size:27px;max-width:330px}.closing-copy p{max-width:300px}.closing-art{opacity:.25;right:-90px;top:-80px}.footer-main{grid-template-columns:1fr 1fr;gap:28px 20px;padding:34px 0}.footer-brand{grid-column:1 / -1}.footer-signoff{display:none}.footer-bottom{font-size:8px;flex-direction:column;gap:7px}.page-intro{padding:20px 0 31px}.breadcrumbs{margin-bottom:25px;font-size:8px}.page-intro h1{font-size:34px}.page-intro p{font-size:12px}.library-section,.directory-section{padding-top:32px;padding-bottom:55px}.library-toolbar{align-items:stretch;flex-direction:column;gap:15px}.library-search{width:100%}.filter-list{gap:7px;margin-top:18px}.filter-chip{padding:7px 9px;font-size:9px}.library-grid{grid-template-columns:1fr}.directory-section .tool-card{min-height:0}.directory-count{display:none}.compare-box{grid-template-columns:1fr;gap:18px;padding:25px 22px}.compare-box h2{font-size:23px}.article-crumb{margin:20px 0 25px}.article-layout{display:flex;flex-direction:column;gap:30px}.article-header h1{font-size:38px;letter-spacing:-.9px}.article-deck{font-size:14px}.article-byline{font-size:8px;gap:8px}.article-hero{aspect-ratio:1.6/1}.article-body{font-size:14px;padding-top:20px}.article-body>p:first-child{font-size:18px}.article-body h2{font-size:24px}.article-sidebar{position:static;width:100%;display:grid;grid-template-columns:1fr;gap:0}.article-side-note{margin-top:12px}.related-section{padding-top:50px;padding-bottom:55px}.simple-layout{grid-template-columns:1fr;gap:30px;padding:35px 0 55px}.simple-copy .simple-lead{font-size:20px}.simple-copy h2{font-size:23px}.about-quote{padding:24px}.about-quote blockquote{font-size:24px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
/* Product overview pages. These are research examples, not invented hands-on reviews. */
.research-note{display:flex;align-items:flex-start;gap:10px;background:#f0eee7;border:1px solid #e5e2d9;padding:14px 15px;margin:2px 0 25px}.research-note .note-icon{margin-top:3px;color:#7a807f}.research-note p{font:400 11px/1.55 var(--sans);color:#6f787b;margin:0}.research-note strong{color:var(--ink)}.source-reference{color:var(--red);font-weight:600;text-decoration:underline;text-underline-offset:3px}.product-disclosure{font:400 10px/1.5 var(--sans);color:#858f91;margin:10px 0 0!important;max-width:460px}.product-disclosure a{color:var(--ink);text-decoration:underline}.product-visit{margin-top:3px}.product-summary .tool-symbol{margin-bottom:16px}.product-summary .eyebrow{display:block}.product-summary h2{margin-bottom:8px}.product-summary p{font-size:11px;line-height:1.5;color:#737e84;margin:0 0 16px}.product-summary .button{width:100%;justify-content:space-between}.product-summary small{display:block;font-size:9px;line-height:1.5;color:#899193;margin-top:9px}
@media(min-width:641px) and (max-width:700px){.header-actions{gap:10px}.header-inner{gap:12px}.header-actions .header-search{width:155px}}
.product-summary a.button{color:#fff;padding:0 16px;border:1px solid transparent}.product-summary a.button:hover{color:#fff;background:var(--red)}
/* Keep the quiet editorial palette readable, including the smallest labels. */
:root{--red:#c4312b;--red-dark:#a82723}
.utility{color:#5c6772}.brand-tagline{color:#667178}.brand--light .brand-tagline{color:#a3abba}
.home-intro p,.page-intro p,.section-heading p,.library-toolbar p,.directory-head p,.story-copy p,.starter-grid small,.topic-card small,.tool-consider,.ordinary-tag,.tool-guide-link,.latest-link,.article-deck,.article-byline,.product-disclosure,.product-summary p,.product-summary small,.article-disclosure,.article-end span,.results-line,.breadcrumbs,.tool-number,.starter-number i,.feature-bottom,.intro-aside,.tools-note,.research-note p{color:#5b6671}
.sidebar-note a{color:#52616a}.starter-bar>span{color:#fff}.tool-number span{color:#778089}
.directory-count,.compare-box p,.compare-box li,.about-quote p{color:#5b6671}
@media(max-width:350px){.header-inner .brand-name{font-size:20px}.header-inner .brand-mark{width:34px;height:34px}.header-inner .brand-mark svg{width:32px}.header-cta{white-space:nowrap;font-size:9px;padding-inline:8px;gap:4px}}
.affiliate-tag{font-size:10px;line-height:1.4}.product-disclosure,.product-summary small{font-size:10px;line-height:1.5}
/* Four live product listings and research-first review articles. */
@media(min-width:1101px){.tool-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:641px) and (max-width:1100px){.tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.review-affiliate-notice{font:400 11px/1.5 var(--sans);color:#4f5d65;background:#f0eee7;border-left:3px solid var(--red);padding:10px 13px;margin:-2px 0 20px}.review-affiliate-notice strong{color:var(--ink)}.review-affiliate-notice a{color:#a82723;text-decoration:underline;text-underline-offset:2px}
.review-verdict-top{background:#f0eee7;border-top:3px solid var(--red);padding:18px 20px;margin:22px 0 28px}.review-verdict-top p{font:600 17px/1.5 var(--serif);color:var(--ink);margin:8px 0 0}.review-steps{padding-left:21px}.review-steps li{padding-left:6px;margin-bottom:9px}.review-steps li::marker{color:var(--red);font-weight:700}
.review-pros-cons{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0 30px}.review-pros-cons>div{background:#fff;border:1px solid #dfe1dc;padding:19px}.review-pros-cons h3{font:700 19px/1.2 var(--serif);color:var(--ink);margin:0 0 5px}.review-pros-cons p{font:600 10px/1.4 var(--sans);color:#5b6671;margin:0 0 9px}.review-pros-cons ul{font:400 12px/1.6 var(--sans);padding-left:17px;margin:0;color:#46535c}.review-pros-cons li{padding-left:2px;margin:7px 0}.review-pros{border-top:3px solid #69826b!important}.review-cons{border-top:3px solid #c4312b!important}
.review-cta{background:#fff;border:1px solid var(--line);padding:21px 22px 24px;margin:28px 0}.article-body .review-cta h2{font-size:23px;margin:0 0 7px}.review-cta>p{font-size:13px;line-height:1.55}.review-cta .product-disclosure{font-size:11px;margin:10px 0 13px!important;color:#4f5d65}.review-cta .product-visit{margin-top:0}
.review-faq-list{border-top:1px solid #dfe2dc}.review-faq{border-bottom:1px solid #dfe2dc}.review-faq summary{display:flex;justify-content:space-between;gap:20px;align-items:center;cursor:pointer;list-style:none;font:700 15px/1.4 var(--serif);color:var(--ink);padding:15px 0}.review-faq summary::-webkit-details-marker{display:none}.review-faq summary span{color:var(--red);font:400 20px/1 var(--sans)}.review-faq[open] summary span{transform:rotate(45deg)}.review-faq p{font:400 13px/1.65 var(--sans);color:#4f5d65;padding:0 20px 14px 0;margin:0}
.review-sources{margin-top:30px;border-top:1px solid var(--line);color:#56646d;font-size:12px}.article-body .review-sources h2{font-size:21px;margin:21px 0 8px}.review-sources p{margin:0 0 8px}.review-sources ul{padding-left:18px}.review-sources a{color:#a82723;text-decoration:underline;text-underline-offset:3px}.product-summary .sidebar-disclosure{display:block;margin:0 0 12px;color:#4f5d65}.product-summary .sidebar-research-label{font-size:10px;line-height:1.4;margin:12px 0 0;color:#5b6671}.review-toc{margin-top:16px}.review-toc>.eyebrow{display:block;margin-bottom:8px}
@media(max-width:640px){.review-pros-cons{grid-template-columns:1fr}.review-verdict-top p{font-size:16px}.article-header h1{overflow-wrap:anywhere}}
/* Make commercial disclosures and keyboard access easy to notice. */
.tools-note{font-size:11px}.affiliate-tag{font-size:11px}.review-affiliate-notice,.review-cta .product-disclosure{font-size:12px}.product-summary .sidebar-disclosure{font-size:11px}summary:focus-visible{outline:3px solid #e15e52;outline-offset:3px}
/* Product-specific imagery: the original seller artwork is kept intact and contained, never cropped. */
.product-visual--pin2profit-ai{background:radial-gradient(ellipse at 50% 43%,#3b2866 0%,#18152f 58%,#0e1223 100%)}
.product-visual--trafficwave-generator-3{background:radial-gradient(ellipse at 50% 43%,#223f7f 0%,#101e40 58%,#0b142a 100%)}
.product-visual--launchmate-ai{background:radial-gradient(ellipse at 50% 43%,#76352c 0%,#3d1b1e 58%,#201321 100%)}
.product-visual--bookbloom-ai{background:radial-gradient(ellipse at 50% 43%,#396c50 0%,#193d2e 58%,#0e211c 100%)}
.feature-image.product-visual img{object-fit:contain;object-position:center;padding:14px 12px 31px;filter:drop-shadow(0 8px 12px #0008)}
.latest-image.product-visual img,.story-image.product-visual img{object-fit:contain;object-position:center;padding:7px;filter:drop-shadow(0 4px 7px #0007)}
.tool-product-image{position:relative;display:block;overflow:hidden;aspect-ratio:1.24/1;margin:0 0 19px}
.tool-product-image img{width:100%;height:100%;object-fit:contain;object-position:center;padding:12px 10px;filter:drop-shadow(0 8px 10px #0007);transition:transform .4s ease}
.tool-product-image:hover img{transform:scale(1.035)}
.tool-image-label,.product-hero-label{position:absolute;top:10px;left:10px;z-index:1;color:#fff;background:#0d1828c9;padding:5px 7px;font-size:8px;line-height:1;font-weight:700;letter-spacing:.08em}
.product-figure{margin:0}.product-hero-visual{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;height:clamp(285px,34vw,430px)}
.product-hero-visual img{width:auto;height:auto;max-width:90%;max-height:90%;object-fit:contain;filter:drop-shadow(0 13px 18px #0008)}
.product-hero-label{top:15px;left:15px;padding:7px 9px;font-size:9px}
.product-figure figcaption{font-size:10.5px;line-height:1.5;color:#5b6671;margin-top:8px}.product-figure figcaption a{text-decoration:underline;text-underline-offset:2px;color:#a82723}
.product-summary-visual{display:flex;align-items:center;justify-content:center;width:88px;height:88px;margin:0 0 16px;overflow:hidden}
.product-summary-visual img{width:100%;height:100%;padding:5px;object-fit:contain;filter:drop-shadow(0 3px 5px #0007)}
@media(max-width:640px){.tool-product-image{aspect-ratio:1.45/1}.product-hero-visual{height:280px}.product-figure figcaption{font-size:10.5px}.feature-image.product-visual img{padding:12px 12px 28px}}
