@font-face{font-family:Inter;src:url('/assets/inter-latin.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
:root{color-scheme:light;--ink:#13151a;--muted:#626873;--soft:#f5f5f7;--line:#e5e6eb;--accent:#e83d21;--accent-hover:#ca2d14;--radius:8px;font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;background:#fff;color:var(--ink);font-synthesis:none;font-size:16px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:#fff;color:var(--ink);line-height:1.55;-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit;color:var(--ink)}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}h1,h2,h3,p,figure{margin:0}h1,h2,h3{color:#13151a;font-weight:730;line-height:1.12;letter-spacing:-.04em}p{color:var(--muted)}[hidden]{display:none!important}:focus-visible{outline:3px solid #2045c5;outline-offset:4px}::selection{background:#ffe0d9;color:var(--ink)}.wrap{width:min(1440px,100% - 56px);margin-inline:auto}.sr-only{position:absolute;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:12px;padding:12px 18px;background:#fff;color:var(--ink);border:1px solid var(--ink);z-index:100;transform:translateY(-160%)}.skip-link:focus{transform:none}.wordmark{font-size:1.6rem;font-weight:760;letter-spacing:-.075em;white-space:nowrap;line-height:1}.site-header{display:flex;align-items:center;gap:32px;min-height:92px}.site-header .wordmark{margin-right:auto}.main-nav{display:flex;align-items:center;gap:28px;font-size:.9rem;white-space:nowrap}.main-nav a{padding:10px 0}.main-nav a:hover,.text-link:hover,.breadcrumb a:hover{text-decoration:underline;text-underline-offset:5px}.site-search{display:flex;align-items:center;gap:10px;border:1px solid #d7d9e1;border-radius:100px;background:#fff;min-height:44px;width:clamp(260px,30vw,450px);padding:0 7px 0 15px}.search-icon{display:flex;color:var(--ink)}.search-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}.site-search input{border:0;background:transparent;outline:none;padding:10px 0;min-width:0;width:100%;font-size:.9rem;color:var(--ink)}.site-search input::placeholder{color:#69717e}.site-search:focus-within{outline:2px solid #333d56;outline-offset:2px}.search-submit{border:0;border-radius:100px;background:#f2f3f5;padding:7px 11px;font-size:.8rem;font-weight:600;min-height:32px}.search-submit:hover{background:#e7e9ed}.catalogue{padding:20px 0 0}.catalogue-heading{margin-bottom:20px}.catalogue h1{font-size:clamp(2rem,3.45vw,3.15rem);max-width:100%;letter-spacing:-.055em}.category-nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:22px}.category-nav a{font-size:.84rem;line-height:1.3;padding:9px 15px;border-radius:5px;background:#f5f5f6;min-height:38px;display:flex;align-items:center;color:#171a20;font-weight:550}.category-nav a[aria-current="page"]{background:var(--accent);color:#fff}.category-nav a:hover{background:#e9eaed}.category-nav a[aria-current="page"]:hover{background:var(--accent-hover)}.featured-tool{display:grid;grid-template-columns:minmax(0,1.95fr) minmax(290px,1fr);gap:28px;align-items:center;margin-bottom:27px}.featured-visual{min-width:0;display:block}.project-media{position:relative;overflow:hidden;background:#f3f4f6;border:1px solid #ecedf1;border-radius:var(--radius)}.project-media>img{width:100%;aspect-ratio:1.93;object-fit:cover;object-position:top}.project-media figcaption{position:absolute;bottom:7px;right:8px;max-width:calc(100% - 16px);background:rgba(255,255,255,.96);padding:3px 7px;border-radius:3px;color:#555e6d;font-size:.7rem;line-height:1.3}.eyebrow{font-size:.74rem;line-height:1.35;letter-spacing:.06em;color:#c7351c;text-transform:uppercase;font-weight:650;margin-bottom:8px}.featured-copy h2{font-size:clamp(1.65rem,2.7vw,2.8rem);letter-spacing:-.045em;margin-bottom:9px}.featured-summary{font-size:1.12rem;line-height:1.45;font-weight:560;margin-bottom:14px;color:#5c626d}.featured-description{font-size:.98rem;line-height:1.6;margin-bottom:23px;max-width:36rem}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:12px 28px;background:var(--accent);color:#fff;border:1px solid var(--accent);border-radius:5px;font-size:.9rem;font-weight:650;line-height:1.2;text-align:center;transition:background .15s}.button:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.button:disabled{opacity:.6;cursor:wait}.button-small{padding:11px 20px;font-size:.82rem;min-height:40px;white-space:nowrap}.tools-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 22px}.tool-card{min-width:0}.tool-image-link{display:block}.tool-card .project-media>img{aspect-ratio:2.4;object-position:left top}.tool-card-content{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:13px 0 0}.tool-card h2{font-size:clamp(1.5rem,2.2vw,2rem);margin-bottom:5px;letter-spacing:-.045em}.tool-card-content p:not(.eyebrow){font-size:.94rem;line-height:1.45}.tool-card .eyebrow{font-size:.67rem;margin-bottom:5px}.tool-card:nth-last-child(1):nth-child(odd){grid-column:1/-1;display:grid;grid-template-columns:240px 1fr;gap:22px;align-items:center;border-top:1px solid var(--line);padding-top:16px}.tool-card:nth-last-child(1):nth-child(odd) .project-media>img{aspect-ratio:2.5}.tool-card:nth-last-child(1):nth-child(odd) .tool-card-content{padding:0;max-width:700px}.tool-card:nth-last-child(1):nth-child(odd) h2{font-size:1.35rem}.category-grid .tool-card:nth-last-child(1):nth-child(odd){grid-column:auto;display:block;border:0;padding:0}.category-grid .tool-card:nth-last-child(1):nth-child(odd) .tool-card-content{padding-top:13px}.category-grid .tool-card:nth-last-child(1):nth-child(odd) h2{font-size:1.65rem}.search-status{font-size:.88rem;margin:0 0 17px;color:var(--muted)}.empty-state{padding:45px 20px;background:var(--soft);border-radius:var(--radius);text-align:center}.empty-state h2{font-size:1.5rem;margin-bottom:8px}.empty-state a{display:inline-block;margin-top:16px;text-decoration:underline;text-underline-offset:4px}.quiet-note{font-size:.85rem;padding:20px 0}.site-footer{display:flex;align-items:center;gap:22px;border-top:1px solid var(--line);margin-top:38px;padding-top:22px;padding-bottom:24px;font-size:.8rem}.site-footer .wordmark{font-size:1.3rem}.site-footer p{margin-right:auto}.site-footer nav{display:flex;gap:22px}.copyright{color:#777f8c}.breadcrumb{display:flex;align-items:center;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:.84rem;padding:17px 0 22px}.project-intro{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-bottom:27px}.project-title h1{font-size:clamp(2.3rem,4vw,3.5rem)}.project-summary{font-size:1.12rem;line-height:1.5;margin-top:12px;max-width:820px}.project-actions{display:flex;flex-direction:column;align-items:center;gap:12px;flex-shrink:0}.text-link{font-size:.87rem;text-decoration:underline;text-underline-offset:4px}.project-layout{display:grid;grid-template-columns:minmax(0,1fr) 245px;gap:38px}.project-main>.project-media>img{aspect-ratio:auto;max-height:570px;object-fit:contain;background:#f3f4f6}.project-description{padding:28px 0 0;max-width:800px}.project-description h2{font-size:1.6rem;margin-bottom:16px}.project-description p{margin-bottom:15px;font-size:1rem;line-height:1.75;color:#4d5664}.project-details{padding:20px;background:#f6f6f8;border-radius:var(--radius);align-self:start}.project-details h2{font-size:1.1rem;margin-bottom:18px}.project-details dl{margin:0}.project-details dl>div{margin-bottom:17px}.project-details dt{font-size:.74rem;color:#626b7a;margin-bottom:4px}.project-details dd{font-size:.88rem;color:#171c26;margin:0;overflow-wrap:anywhere}.project-tags{display:flex;flex-wrap:wrap;gap:5px;border-top:1px solid #e2e4e8;padding-top:15px;margin:19px 0}.project-tags .project-tag-name{min-width:0;overflow-wrap:anywhere}.related-tools{border-top:1px solid var(--line);margin-top:35px;padding-top:25px}.related-tools>h2{font-size:1.6rem;margin-bottom:20px}.related-tools .tools-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.related-tools .tool-card:nth-last-child(1):nth-child(odd){display:block;grid-column:auto;border:0;padding:0}.related-tools .tool-card-content{display:block;padding-top:12px}.related-tools .tool-card h2{font-size:1.3rem}.related-tools .tool-card .button{margin-top:12px}.text-page{padding-top:48px;max-width:880px;min-height:65vh}.text-page h1{font-size:clamp(2.2rem,4vw,3.4rem);max-width:850px;line-height:1.1;margin-bottom:25px}.prose{max-width:700px}.prose p{font-size:1.08rem;line-height:1.8;color:#485160;margin-bottom:20px}.prose a:not(.button){text-decoration:underline;text-underline-offset:4px;color:var(--ink)}.contact-page{padding-top:43px;max-width:1000px;min-height:65vh}.contact-heading h1{font-size:clamp(2.2rem,4vw,3.25rem);margin-bottom:13px}.contact-heading>p:last-child{font-size:1rem}.contact-form{max-width:760px;margin-top:29px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.field label{font-size:.9rem;font-weight:560;color:var(--ink)}.field input,.field textarea{width:100%;padding:11px 13px;min-height:46px;border:1px solid #d7dae1;border-radius:5px;background:#fff;color:var(--ink);font-size:1rem;line-height:1.5}.field textarea{resize:vertical;min-height:180px}.field input:focus,.field textarea:focus{border-color:#50596a;outline:2px solid #e3e8f3;outline-offset:1px}.form-bottom{display:flex;align-items:center;gap:22px}.form-bottom p{font-size:.78rem;max-width:300px}.form-notice{padding:12px 15px;border-radius:5px;background:#eaf4ec;color:#246239;font-size:.92rem;margin-bottom:20px}.form-notice.is-error{background:#fff0ec;color:#9f331d}.honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
/* The featured photograph is an illustration of the conversion, not a product screenshot. */
.image-illustration{padding:12px;background:#f3f4f6;display:grid;grid-template-columns:minmax(0,1fr) 142px;gap:12px}.image-illustration .sample-photo{position:relative;border-radius:4px;overflow:hidden;min-width:0}.image-illustration .sample-photo img{width:100%;height:100%;min-height:240px;max-height:340px;object-fit:cover;aspect-ratio:2.45}.sample-photo .image-label{position:absolute;top:12px;background:rgba(255,255,255,.95);border-radius:4px;padding:4px 8px;font-size:.69rem;color:#20242b}.image-label:first-of-type{left:12px}.image-label:nth-of-type(2){right:12px}.sample-divider{position:absolute;left:50%;top:0;bottom:0;border-left:2px solid #fff}.sample-divider:after{content:'';position:absolute;top:50%;left:-8px;width:14px;height:14px;border-radius:50%;background:#fff;border:2px solid #d6d9df}.illustration-side{background:#fff;border-radius:4px;padding:13px 12px;display:flex;flex-direction:column;gap:15px}.illustration-side strong{font-size:.74rem;line-height:1.3;color:var(--ink);font-weight:600}.mini-image{display:flex;align-items:center;gap:7px;font-size:.65rem;color:#515965;line-height:1.3}.mini-image img{width:35px;height:37px;object-fit:cover;border-radius:3px}.illustration-status{margin-top:auto;background:#f1f5f1;border-radius:4px;padding:9px;font-size:.68rem;line-height:1.4;color:#365b40}.image-illustration+figcaption{position:static;text-align:right;background:#f3f4f6;border-radius:0;padding:0 12px 7px;margin:0;max-width:none;font-size:.64rem}.project-main .image-illustration .sample-photo img{min-height:330px}
@media(min-width:1500px){.featured-tool{grid-template-columns:minmax(0,1.9fr) minmax(0,1fr)}.image-illustration{grid-template-columns:minmax(0,1fr) 180px}.image-illustration .sample-photo img{min-height:290px}.illustration-side{padding:17px}.illustration-side strong{font-size:.88rem}.mini-image{font-size:.78rem}.mini-image img{width:46px;height:48px}.illustration-status{font-size:.78rem}}
@media(max-width:1100px){.site-header{gap:23px;min-height:85px}.main-nav{gap:20px}.site-search{width:315px}.featured-tool{gap:22px;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr)}.featured-copy h2{font-size:2.05rem}.featured-summary{font-size:1rem}.featured-description{font-size:.9rem;margin-bottom:17px}.tool-card-content{gap:14px}.tool-card-content p:not(.eyebrow){font-size:.88rem}.image-illustration{grid-template-columns:minmax(0,1fr) 105px;gap:8px;padding:9px}.illustration-side{padding:10px 8px;gap:14px}.mini-image{flex-wrap:wrap;gap:5px}.image-illustration .sample-photo img{min-height:230px}.project-layout{gap:24px;grid-template-columns:minmax(0,1fr) 220px}}
@media(max-width:800px){.wrap{width:calc(100% - 36px)}.site-header{flex-wrap:wrap;gap:15px 20px;padding-top:20px;padding-bottom:7px}.site-header .wordmark{font-size:1.5rem}.main-nav{gap:22px}.site-search{width:100%;max-width:none;order:3;min-height:44px}.site-search input{font-size:1rem}.catalogue{padding-top:24px}.catalogue-heading{margin-bottom:17px}.catalogue h1{font-size:2.15rem;max-width:600px}.category-nav{gap:6px;margin-bottom:20px}.category-nav a{font-size:.8rem;padding:9px 12px}.featured-tool{grid-template-columns:1fr;gap:18px;margin-bottom:26px}.featured-copy h2{font-size:2rem}.featured-description{max-width:600px;font-size:.97rem;margin-bottom:17px}.featured-summary{font-size:1.06rem}.image-illustration{grid-template-columns:minmax(0,1fr) 155px;padding:12px;gap:12px}.image-illustration .sample-photo img{min-height:250px;aspect-ratio:1.9}.mini-image{flex-wrap:nowrap;font-size:.75rem}.mini-image img{width:39px;height:42px}.illustration-side{padding:15px;gap:17px}.illustration-side strong{font-size:.82rem}.illustration-status{font-size:.73rem}.tools-grid{gap:25px 20px}.tool-card-content{display:block}.tool-card-content .button{margin-top:13px}.tool-card:nth-last-child(1):nth-child(odd){grid-template-columns:180px 1fr;gap:16px}.tool-card:nth-last-child(1):nth-child(odd) .button{margin-top:10px}.site-footer{gap:15px;flex-wrap:wrap}.site-footer p{width:calc(100% - 160px);margin:0}.site-footer nav{margin-right:auto}.project-intro{align-items:flex-start}.project-title h1{font-size:2.5rem}.project-summary{font-size:1rem}.project-layout{grid-template-columns:minmax(0,1fr) 200px;gap:22px}.project-details{padding:17px}.project-details h2{font-size:1rem}.project-description p{font-size:.95rem}.related-tools .tools-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.text-page,.contact-page{padding-top:35px}.prose p{font-size:1rem}}
@media(max-width:560px){.wrap{width:calc(100% - 32px)}.main-nav{font-size:.83rem;gap:17px}.catalogue h1{font-size:2rem;max-width:370px;line-height:1.14}.category-nav a{min-height:39px;padding:9px 11px;font-size:.76rem}.featured-copy h2{font-size:1.95rem}.featured-summary{font-size:1rem}.featured-description{font-size:.92rem}.tools-grid{grid-template-columns:1fr;gap:27px}.tool-card-content{display:flex;align-items:flex-start;gap:12px}.tool-card-content .button{margin-top:6px;padding:10px 14px;min-height:40px;font-size:.76rem}.tool-card h2{font-size:1.55rem}.tool-card:nth-last-child(1):nth-child(odd){display:block;padding-top:0;border:0}.tool-card:nth-last-child(1):nth-child(odd) .tool-card-content{padding-top:13px;max-width:none}.tool-card:nth-last-child(1):nth-child(odd) h2{font-size:1.55rem}.tool-card .eyebrow{font-size:.65rem}.project-media>img,.tool-card .project-media>img{aspect-ratio:1.9}.image-illustration{padding:9px;grid-template-columns:minmax(0,1fr) 86px;gap:8px}.image-illustration .sample-photo img{min-height:215px;aspect-ratio:1}.illustration-side{padding:10px 7px;gap:13px}.illustration-side strong{font-size:.66rem}.mini-image{font-size:.6rem;flex-wrap:wrap;gap:5px}.mini-image img{width:31px;height:32px}.illustration-status{font-size:.59rem;padding:6px}.sample-photo .image-label{top:8px;padding:3px 5px;font-size:.6rem}.image-label:first-of-type{left:7px}.image-label:nth-of-type(2){right:7px}.image-illustration+figcaption{font-size:.6rem}.site-footer{margin-top:31px;padding-top:22px;font-size:.76rem}.site-footer .wordmark{font-size:1.22rem}.site-footer p{font-size:.72rem;width:auto}.site-footer nav{width:calc(100% - 65px);gap:24px}.copyright{margin-left:auto}.project-intro{display:block;margin-bottom:21px}.project-actions{flex-direction:row;justify-content:flex-start;margin-top:20px;gap:20px}.project-title h1{font-size:2.25rem}.project-layout{display:flex;flex-direction:column;gap:24px}.project-details{width:100%;display:block}.project-details dl{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.project-tags{margin:5px 0 15px}.project-main .image-illustration .sample-photo img{min-height:230px}.related-tools .tools-grid{grid-template-columns:1fr}.related-tools .tool-card-content{display:flex}.related-tools .tool-card h2{font-size:1.4rem}.related-tools .tool-card .button{margin-top:0}.text-page h1{font-size:2.25rem}.contact-heading h1{font-size:2.4rem}.form-row{grid-template-columns:1fr;gap:0}.form-bottom{align-items:flex-start;flex-direction:column;gap:13px}.form-bottom p{font-size:.78rem}.contact-form{margin-top:24px}.field{margin-bottom:19px}.breadcrumb{font-size:.78rem;padding-top:23px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Keep illustration labels legible; simplify the artwork on small screens. */
.illustration-side strong,.mini-image,.illustration-status,.sample-photo .image-label{font-size:12px}.image-illustration+figcaption,.project-media figcaption{font-size:12px}.is-filtered .tool-card:nth-last-child(1):nth-child(odd){display:block;grid-column:auto;border:0;padding-top:0}.is-filtered .tool-card:nth-last-child(1):nth-child(odd) .tool-card-content{padding-top:13px}.is-filtered .tool-card:nth-last-child(1):nth-child(odd) h2{font-size:1.7rem}
@media(max-width:560px){.image-illustration{display:block}.illustration-side{display:none}.image-illustration .sample-photo img{min-height:205px;max-height:245px;aspect-ratio:1.55}.sample-photo .image-label{font-size:12px}.tool-card .eyebrow{font-size:12px}.project-main .image-illustration .sample-photo img{min-height:230px;max-height:330px}.is-filtered .tool-card:nth-last-child(1):nth-child(odd) h2{font-size:1.55rem}}

.media-placeholder{aspect-ratio:1.93;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:28px;gap:9px;background:#f1f2f5;color:#141821}.media-placeholder span{font-size:.78rem;color:#596372}.media-placeholder strong{font-size:clamp(1.5rem,3vw,2.75rem);line-height:1.1;letter-spacing:-.04em}.tool-card .media-placeholder{aspect-ratio:2.4}

.outreach-illustration{display:grid;grid-template-columns:140px minmax(0,1fr);gap:12px;padding:15px;background:#f3f4f7;min-height:280px;aspect-ratio:2.4}.outreach-sidebar{display:flex;flex-direction:column;gap:9px;padding:10px 0;color:#596271;font-size:12px}.outreach-sidebar strong{font-size:17px;letter-spacing:-.04em;color:var(--ink);margin:0 10px 17px}.outreach-sidebar>span{padding:9px 10px;border-radius:5px}.outreach-selected{background:#e2e8fc;color:#254496}.outreach-content{background:#fff;border:1px solid #e4e6ec;border-radius:5px;padding:16px}.outreach-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:14px}.outreach-top strong{font-size:16px;line-height:1.2;letter-spacing:-.02em}.outreach-top>span{font-size:10px;color:#677180;white-space:nowrap}.followup{display:flex;align-items:center;gap:10px;border-top:1px solid #eceef2;padding:13px 0}.contact-avatar{display:grid;place-items:center;width:29px;height:29px;flex-shrink:0;border-radius:50%;background:#e2efe8;color:#335449;font-size:12px}.avatar-lilac{background:#eee8f9;color:#67428c}.avatar-sand{background:#f6ecdb;color:#775928}.followup>div{display:flex;flex-direction:column;gap:4px;min-width:0}.followup strong{font-size:12px;line-height:1.2;font-weight:580;color:#161b24}.followup div>span{font-size:10px;color:#6b7281;white-space:nowrap}.due-tag{font-size:10px;background:#fff0e9;color:#9c3c21;border-radius:4px;padding:4px 6px;margin-left:auto}.due-later{background:#f0f2f5;color:#586071}.project-main .outreach-illustration{min-height:330px}.project-main .outreach-content{padding:25px}.project-main .followup{padding-block:23px}.project-main .followup strong{font-size:15px}.project-main .followup div>span{font-size:12px}.project-main .outreach-top strong{font-size:21px}
@media(max-width:1100px){.outreach-illustration{grid-template-columns:100px minmax(0,1fr);padding:10px;gap:8px;min-height:220px}.outreach-sidebar{font-size:11px}.outreach-sidebar strong{font-size:15px}.outreach-content{padding:12px}.outreach-top>span,.followup div>span{display:none}.outreach-top strong{font-size:14px}.followup{padding:11px 0;gap:7px}.followup strong{font-size:11px}.due-tag{font-size:9px}}
@media(max-width:560px){.outreach-illustration{grid-template-columns:80px minmax(0,1fr);min-height:215px;padding:9px;gap:7px}.outreach-sidebar strong{font-size:14px;margin:0 5px 16px}.outreach-sidebar>span{padding:8px 5px}.outreach-content{padding:10px}.outreach-top strong{font-size:13px}.followup{padding:11px 0;gap:7px}.followup strong{font-size:11px}.contact-avatar{width:22px;height:22px;font-size:10px}.due-tag{display:none}.project-main .outreach-content{padding:12px}.project-main .outreach-illustration{min-height:280px}.project-main .outreach-top strong{font-size:16px}.project-main .followup strong{font-size:12px}.project-main .followup div>span{display:none}.project-main .followup{padding-block:20px}}

.related-tools .project-media{aspect-ratio:2.4}.related-tools .outreach-illustration{height:100%;min-height:0;aspect-ratio:auto;display:block;padding:9px}.related-tools .outreach-sidebar{display:none}.related-tools .outreach-content{height:100%;padding:8px 12px}.related-tools .outreach-top{margin-bottom:6px}.related-tools .outreach-top strong{font-size:14px}.related-tools .outreach-top>span,.related-tools .followup div>span{display:none}.related-tools .followup{padding:4px 0}.related-tools .contact-avatar{width:26px;height:26px}.related-tools .followup strong{font-size:12px}.related-tools .tool-card:nth-last-child(1):nth-child(odd) .tool-card-content{padding-top:12px}

/* Editable page content and retained downloads */
.catalogue-heading{display:block}.catalogue-intro{max-width:660px;margin:12px 0 0;color:var(--muted);font-size:1rem;line-height:1.7}.markdown-content{overflow-wrap:anywhere;line-height:1.75}.markdown-content>:first-child{margin-top:0}.markdown-content>:last-child{margin-bottom:0}.markdown-content p{margin:0 0 1em}.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4{line-height:1.3;margin:1.3em 0 .6em;letter-spacing:-.025em}.markdown-content h1{font-size:1.8em}.markdown-content h2{font-size:1.45em}.markdown-content h3{font-size:1.2em}.markdown-content ul,.markdown-content ol{padding-left:1.5em;margin:0 0 1em}.markdown-content li+li{margin-top:.3em}.markdown-content a{text-decoration:underline;text-underline-offset:3px}.markdown-content code{background:#f0f2f6;padding:2px 5px;border-radius:4px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.88em;overflow-wrap:anywhere}.markdown-content pre{overflow:auto;max-width:100%;padding:18px;background:#f3f4f7;border:1px solid #e4e7ed;border-radius:7px;margin:1.2em 0}.markdown-content pre code{padding:0;background:none;overflow-wrap:normal}.markdown-content blockquote{margin:1.2em 0;border-left:3px solid #c8ccd7;padding:4px 18px;color:#606a7a}.markdown-content img{max-width:100%;height:auto}.markdown-content table{display:block;max-width:100%;overflow:auto;border-collapse:collapse;margin:1em 0}.markdown-content td,.markdown-content th{border:1px solid #dfe2e8;padding:9px 12px;text-align:left}.markdown-content hr{border:0;border-top:1px solid #dfe2e8;margin:28px 0}.project-resource-links{border-top:1px solid #e1e5ed;padding-top:18px;margin:18px 0}.project-resource-links h3{font-size:.9rem;margin:0 0 12px}.project-resource-links ul{list-style:none;padding:0;margin:0;display:grid;gap:11px}.project-resource-links a{font-size:.85rem;overflow-wrap:anywhere}.project-resource-links a span{color:#6b7484}.public-releases{margin-top:36px;scroll-margin-top:24px}.public-releases>h2{font-size:1.45rem;letter-spacing:-.025em;margin:0 0 18px}.public-release-list{border-top:1px solid #dfe2e8}.public-release{padding:23px 0;border-bottom:1px solid #e6e8ee}.public-release-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.public-release-heading>div{min-width:0}.public-release h3{font-size:1rem;margin:0;overflow-wrap:anywhere}.public-release h3 span{font-weight:400;color:#626d7c;margin-left:5px}.public-release-heading p{font-size:.78rem;color:#677180;overflow-wrap:anywhere;margin:7px 0 0}.public-release-heading .button{flex-shrink:0}.release-notes{margin-top:18px;font-size:.9rem}.release-file-details{font-size:.72rem;color:#677180;margin-top:16px}.release-file-details summary{cursor:pointer;min-height:28px}.release-file-details p{margin:5px 0}.release-file-details code{display:block;overflow-wrap:anywhere;margin-top:8px}.project-actions .button{max-width:260px;overflow-wrap:anywhere}.wordmark{overflow-wrap:anywhere}.project-main{min-width:0}
@media(max-width:560px){.catalogue-intro{font-size:.9rem;margin-top:10px}.public-release-heading{flex-wrap:wrap;gap:12px}.public-release-heading .button{min-height:42px}.public-releases{margin-top:30px}.markdown-content pre{padding:13px}.project-actions .button{max-width:100%}}

.contact-intro{max-width:700px;font-size:1rem;color:var(--muted)}.contact-intro.markdown-content>:last-child,.catalogue-intro.markdown-content>:last-child{margin-bottom:0}

/* Project gallery and uploaded images inside Markdown. */
.project-gallery{margin-top:24px}.project-gallery>h2{font-size:1.2rem;margin-bottom:14px}.project-gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.project-gallery-item{min-width:0}.project-gallery-link{display:flex;align-items:center;justify-content:center;aspect-ratio:16/10;background:#f5f5f7;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;cursor:zoom-in}.project-gallery-link img{width:100%;height:100%;object-fit:contain}.project-gallery-item figcaption{font-size:.84rem;line-height:1.5;color:var(--muted);margin-top:8px;overflow-wrap:anywhere}.markdown-content img{display:block;max-width:100%;height:auto;margin:20px auto;border-radius:5px}.markdown-content .article-image-link{display:block;width:fit-content;max-width:100%;margin:20px auto;cursor:zoom-in}.markdown-content .article-image-link img{margin:0}.image-viewer-open{overflow:hidden}.image-viewer{width:min(1200px,calc(100vw - 40px));max-width:none;max-height:calc(100dvh - 40px);margin:auto;padding:18px;border:1px solid #dfe2e8;border-radius:10px;background:#fff;color:var(--ink);box-shadow:0 24px 80px rgba(0,0,0,.22);overflow:auto}.image-viewer::backdrop{background:rgba(15,19,27,.8)}.image-viewer-toolbar{display:flex;align-items:center;gap:18px;margin-bottom:14px;font-size:.85rem}.image-viewer-count{color:var(--muted);margin-right:auto}.image-viewer-toolbar>a{text-decoration:underline;text-underline-offset:3px;min-height:40px;display:flex;align-items:center}.image-viewer button{background:#f1f2f5;border:1px solid #dce0e7;border-radius:5px;padding:9px 15px;min-height:40px;font-weight:550;font-size:.85rem}.image-viewer button:hover{background:#e6e9ef}.image-viewer-figure{margin:0}.image-viewer-figure img{width:100%;height:auto;max-height:calc(100dvh - 220px);object-fit:contain}.image-viewer-figure figcaption{margin:12px auto 0;max-width:800px;text-align:center;color:var(--muted);font-size:.9rem;line-height:1.5;overflow-wrap:anywhere}.image-viewer-navigation{display:flex;justify-content:space-between;gap:15px;margin-top:16px}
@media(max-width:560px){.project-gallery-grid{grid-template-columns:1fr;gap:16px}.project-gallery{margin-top:20px}.image-viewer{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);padding:12px}.image-viewer-toolbar{gap:12px;font-size:.8rem;margin-bottom:12px}.image-viewer button{padding:9px 12px}.image-viewer-figure img{max-height:calc(100dvh - 200px)}.image-viewer-figure figcaption{font-size:.82rem}.markdown-content img,.markdown-content .article-image-link{margin-block:16px}}
.project-download{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}
.download-version{font-size:.8rem;color:var(--muted);overflow-wrap:anywhere}
.contact-direct{max-width:760px;margin-top:28px;padding:20px;background:var(--soft);border-radius:var(--radius)}
.project-details>.text-link{display:block}
.project-details>.text-link+.text-link{margin-top:12px}
.release-accordion{padding:0}
.release-accordion-summary{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:76px;padding:20px 0;cursor:pointer;list-style:none}
.release-accordion-summary::-webkit-details-marker{display:none}
.release-accordion-summary:hover strong{color:var(--accent)}
.release-summary-title{display:grid;gap:7px;min-width:0;overflow-wrap:anywhere}
.release-summary-title strong{font-size:1rem;font-weight:600}
.release-summary-meta{display:flex;flex-wrap:wrap;gap:5px 14px;color:var(--muted);font-size:.8rem}
.release-toggle{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border:1px solid #dfe2e8;border-radius:50%;font-size:1.1rem;color:var(--muted)}
.release-toggle::before{content:"+"}
.release-accordion[open]>.release-accordion-summary .release-toggle::before{content:"−"}
.release-body{padding:0 0 24px}
.release-body>.release-notes{margin:0 0 22px}
.release-compatibility{margin:0 0 22px;padding:14px 16px;background:#f3f4f7;border-radius:7px;font-size:.9rem}
.release-compatibility h3{font-size:.85rem;margin:0 0 8px}
.release-body>.public-release-heading{align-items:center}
.release-body>.public-release-heading p{margin:0;min-width:0}
@media(max-width:560px){.project-download{justify-content:flex-start}.release-accordion-summary{gap:12px}.release-summary-meta{gap:5px 10px}.release-body>.public-release-heading{align-items:flex-start}}
.technology-browser{margin:38px 0 42px;padding:26px 0 20px;border-block:1px solid var(--line)}
.technology-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:24px}
.technology-heading h2{font-size:clamp(1.5rem,3vw,2.2rem);letter-spacing:-.045em}
.technology-heading p{flex-shrink:0;font-size:.9rem}
.technology-tags{display:flex;align-items:center;flex-wrap:wrap;gap:12px 28px;padding-bottom:25px;border-bottom:1px solid var(--line)}
.technology-tag{display:inline-flex;align-items:center;gap:8px;max-width:100%;padding:6px 0 12px;border-bottom:2px solid transparent;font-weight:650;line-height:1.15;letter-spacing:-.04em;color:var(--ink)}
.technology-tag>span{min-width:0;overflow-wrap:anywhere}
.technology-tag-size-1{font-size:clamp(1.25rem,2.5vw,2rem);font-weight:500;color:var(--muted)}
.technology-tag-size-2{font-size:clamp(1.4rem,2.9vw,2.3rem)}
.technology-tag-size-3{font-size:clamp(1.6rem,3.3vw,2.6rem)}
.technology-tag sup{align-self:flex-start;position:static;font-size:.8rem;line-height:1.4;letter-spacing:0;font-weight:450;color:var(--muted)}
.technology-tag:hover,.technology-tag[aria-current=page],.technology-tag[aria-current=page] sup{color:var(--accent)}
.technology-tag[aria-current=page]{border-bottom-color:var(--accent)}
.technology-selection{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:19px 0 12px;font-size:.85rem}
.technology-selection>a{flex-shrink:0;text-decoration:underline;text-underline-offset:4px}
.technology-projects{max-height:240px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin}
.technology-projects ul{list-style:none;margin:0;padding:0}
.technology-projects a{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:58px;padding:12px 4px 12px 0;font-size:1rem;line-height:1.5}
.technology-projects a>span:first-child{min-width:0;overflow-wrap:anywhere}
.technology-projects a>span:last-child{color:var(--muted);flex-shrink:0}
.technology-projects a:hover>span:first-child{text-decoration:underline;text-underline-offset:4px}
.technology-projects a:focus-visible{outline-offset:-3px}
.technology-empty{padding:18px 0;font-size:.9rem}
.tools-grid>.featured-tool{grid-column:1/-1;min-width:0;margin-bottom:0}
.project-tags a{display:inline-flex;align-items:center;gap:6px;max-width:100%;line-height:1.4;padding:5px 9px;border-radius:4px;background:#f0f2f6;font-size:.72rem;color:#626d7c}
.project-tags a:hover{text-decoration:underline;text-underline-offset:3px}
@media(max-width:560px){.technology-browser{margin:28px 0 30px;padding:22px 0 16px}.technology-heading{gap:12px;margin-bottom:18px}.technology-heading p{font-size:.78rem}.technology-tags{gap:8px 18px;padding-bottom:18px}.technology-tag{gap:5px;padding-bottom:9px}.technology-tag sup{font-size:.7rem}.technology-selection{font-size:.8rem}.technology-projects{max-height:220px}.technology-projects a{font-size:.93rem;min-height:56px}}
.tool-version{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;margin:5px 0 8px;font-size:.75rem;line-height:1.4;font-weight:450;letter-spacing:normal;color:var(--muted)}
.tool-card-copy,.featured-copy{min-width:0}
.tool-technology{display:inline-block;max-width:100%;padding:3px 7px;border-radius:4px;background:#f0f2f5;color:#535d6b;font-weight:550;overflow-wrap:anywhere}
.tool-technology:hover{background:#e5e8ed;text-decoration:underline;text-underline-offset:3px}
.tool-version-value{min-width:0;overflow-wrap:anywhere}
.tool-version time{white-space:nowrap}

.tag-icon{display:block;flex:0 0 auto;object-fit:contain;object-position:center}
.technology-tag .tag-icon{width:.85em;height:.85em}
.project-tags .tag-icon{width:16px;height:16px}

/* Official site marks stay small beside project link labels. */
.project-link-icon{display:block;width:16px;height:16px;max-width:none;flex:0 0 16px;object-fit:contain}
.project-resource-links a{display:inline-flex;align-items:center;gap:8px;max-width:100%}
.project-link-text{min-width:0}
.project-resource-links .project-link-text{color:inherit}
.button .project-site-icon{box-sizing:content-box;padding:2px;background:#fff;border-radius:2px}

/* Notes share the site's typography, with a narrower reading column. */
.notes-page{max-width:880px;padding-top:32px;min-height:60vh}.note-page{max-width:760px;padding-top:18px}.notes-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:22px}.notes-heading h1{font-size:clamp(2rem,4vw,3.2rem)}.notes-heading p{margin-top:12px}.notes-heading>a{white-space:nowrap;text-decoration:underline;text-underline-offset:4px}.notes-section{margin-top:34px;padding-top:25px;border-top:1px solid var(--line)}.notes-section h2{font-size:1.6rem}.latest-notes{max-width:880px}.note-list{list-style:none;padding:0;margin:0}.note-entry{padding:20px 0;border-bottom:1px solid var(--line)}.note-list>li:last-child .note-entry{border-bottom:0}.note-entry h3{font-size:1.25rem;letter-spacing:-.025em;line-height:1.35;overflow-wrap:anywhere}.note-entry h3 a:hover{text-decoration:underline;text-underline-offset:4px}.note-date{font-size:.78rem;color:var(--muted);margin:7px 0}.note-summary{font-size:.95rem;line-height:1.65;max-width:75ch;overflow-wrap:anywhere}.note-project-links{list-style:none;display:flex;flex-wrap:wrap;gap:6px 16px;padding:0;margin:10px 0 0;font-size:.8rem}.note-project-links a{text-decoration:underline;text-underline-offset:3px}.notes-pagination{display:flex;justify-content:center;align-items:center;gap:24px;border-top:1px solid var(--line);padding:24px 0;margin-top:15px;font-size:.9rem}.notes-pagination a{padding:10px 0;text-decoration:underline;text-underline-offset:4px}.note-intro h1{font-size:clamp(2rem,4vw,3rem);line-height:1.15;overflow-wrap:anywhere}.note-byline{display:flex;flex-wrap:wrap;gap:8px 18px;color:var(--muted);font-size:.8rem;margin:18px 0}.note-byline a{text-decoration:underline;text-underline-offset:3px}.note-lead{font-size:1.12rem;line-height:1.7;overflow-wrap:anywhere}.note-intro{margin-bottom:28px}.note-cover{margin:0 0 28px}.note-cover img{width:100%;height:auto;border-radius:var(--radius)}.note-body{min-width:0;overflow-wrap:anywhere;font-size:1rem;line-height:1.8}.note-body pre{max-width:100%;overflow-x:auto;white-space:pre;word-break:normal;overflow-wrap:normal}.note-end{margin-top:36px;border-top:1px solid var(--line);padding:22px 0}.note-end>a{text-decoration:underline;text-underline-offset:4px}.note-preview-notice{background:var(--soft);padding:18px;border:1px solid var(--line);border-radius:var(--radius)}.note-preview-notice a{text-decoration:underline}.notes-empty{padding:24px 0}.captcha-field{max-width:340px}.captcha-field input{max-width:140px}@media(max-width:560px){.notes-heading{flex-wrap:wrap;gap:12px}.notes-page{padding-top:24px}.notes-pagination{gap:16px;font-size:.8rem}.note-byline{flex-direction:column}.main-nav{gap:16px}}
