@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Libre+Caslon+Display&display=swap');
:root{--ink:#202c28;--green:#224e3f;--soft:#e9eee4;--paper:#fafbf7;--line:#dde2d8;--muted:#66716a;--serif:'Libre Caslon Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);font-size:14px;line-height:1.55}button,input,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{cursor:default}a:hover{text-decoration:underline;text-underline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #ae7033;outline-offset:4px}button{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2{font-weight:400}button{border:0;background:none}svg{display:block}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;clip:rect(0,0,0,0);overflow:hidden;white-space:nowrap}.skip-link{position:fixed;left:12px;top:-80px;background:var(--green);color:white;padding:12px;z-index:99}.skip-link:focus{top:12px}.site-header{height:91px;padding:0 4.3%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#fffefa;gap:24px}.brand{display:flex;align-items:center;gap:12px;white-space:nowrap;font-size:22px;font-weight:650;letter-spacing:-.6px}.brand:hover{text-decoration:none}.brand-serif{font-family:var(--serif);font-weight:400;font-size:26px;margin-left:5px}.brand-mark{display:flex;align-items:flex-end;gap:3px;width:28px;height:30px;transform:skewY(-12deg)}.brand-mark i{display:block;background:var(--green);width:7px;height:18px}.brand-mark i:nth-child(2){height:27px}.brand-mark i:nth-child(3){height:22px}.site-header nav{display:flex;gap:34px;align-items:center;font-size:13px;font-weight:500}.site-header nav a[aria-current=page]{color:var(--green)}#saved-count{font-size:11px;border-radius:50%;background:#edf0e7;padding:3px 6px;margin-left:4px}.header-cta,.primary-button{display:inline-flex;align-items:center;gap:25px;background:var(--green);color:white;padding:12px 19px;border:1px solid var(--green);border-radius:5px;font-weight:550;font-size:13px}.header-cta:hover,.primary-button:hover{background:#163b2e;text-decoration:none}.hero{display:flex;align-items:center;justify-content:space-between;padding:47px 6.1% 44px;background:#f0f0e3;border-bottom:1px solid #d9dece;min-height:352px;gap:20px}.eyebrow{font-size:10px;letter-spacing:1.6px;font-weight:650;color:var(--green);display:flex;align-items:center;gap:9px;margin-bottom:18px}.eyebrow>span:not(.eyebrow-divider){width:6px;height:6px;border-radius:50%;background:#638965}.hero h1{font-size:clamp(40px,4.2vw,63px);font-family:var(--serif);line-height:1.01;letter-spacing:-1.6px;margin:0 0 20px}.hero h1 em{color:var(--green);font-style:normal}.hero-copy>p{color:#59665d;font-size:14px;line-height:1.7;margin-bottom:24px}.hero-meta{display:flex;gap:22px;font-size:11px;color:#627062}.hero-meta span+span{border-left:1px solid #c9d1bd;padding-left:22px}.hero-meta b{color:#314e39;font-weight:600}.city{width:35%;max-width:430px;min-width:280px;align-self:center;flex-shrink:0}.page-shell{max-width:1480px;margin:auto;padding:42px 4.3% 66px;display:grid;grid-template-columns:211px minmax(0,1fr);gap:38px}.filters{padding-top:4px}.filter-heading{display:block;font-size:9px;font-weight:650;letter-spacing:1.4px;color:#7a837a;margin-bottom:16px}.category-list{display:flex;flex-direction:column;gap:5px;margin-bottom:28px}.category-filter{display:flex;align-items:center;justify-content:space-between;text-align:left;padding:10px 12px;border-radius:4px;font-size:12px;width:100%;gap:8px}.category-filter>span{display:flex;gap:11px;align-items:center}.category-filter>span>span{font-size:17px;width:17px;color:#6a7868}.category-filter small{font-size:10px;color:#818b7f}.category-filter:hover{background:#f0f1e9}.category-filter.active{background:#e3eadb;color:#244c33;font-weight:600}.category-filter.active small{color:#244c33}.filters select{width:100%;height:39px;border:1px solid var(--line);background:#fffefa;border-radius:4px;padding:0 9px;color:#4c5c50;font-size:12px;margin-bottom:24px}.saved-filter{display:block;width:100%;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:17px 6px;text-align:left;font-size:12px;margin:2px 0 29px}.saved-filter[aria-pressed=true]{background:var(--soft);color:var(--green);font-weight:650}.sidebar-note{padding:20px 17px;background:#f0f0e5;border:1px solid #e1e3d6;border-radius:5px}.mini-label{font-size:9px;letter-spacing:1.2px;font-weight:650;color:var(--green)}.sidebar-note h3{font-family:var(--serif);font-size:26px;line-height:1.1;font-weight:400;margin:13px 0}.sidebar-note p{font-size:12px;color:#6d7769;line-height:1.7}.sidebar-note a{font-size:11px;color:var(--green);font-weight:600}.directory-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:22px}.directory-intro .eyebrow{font-size:9px;letter-spacing:1.3px;margin-bottom:6px}.directory-intro h2{font-family:var(--serif);font-size:33px;line-height:1.15;letter-spacing:-.3px;margin:0}.editorial-label{font-size:10px;color:#7a837b;padding-bottom:4px}.search-bar{display:flex;align-items:center;gap:12px;background:#fffefa;border:1px solid #d4dbce;border-radius:6px;padding:0 15px;height:52px;color:#7a8677;margin-bottom:23px;box-shadow:0 2px 2px #253c2903}.search-bar input{width:100%;background:transparent;border:0;outline:none;color:var(--ink);font-size:13px;height:100%;min-width:0}.search-bar input:focus-visible{outline:none}.search-bar:focus-within{outline:2px solid #4a755a;outline-offset:2px}.search-bar kbd{border:1px solid #e0e4d8;border-radius:3px;padding:0 6px;font-size:11px;color:#8e958a}.spotlight{background:#214c3e;border-radius:7px;color:#fffef5;padding:25px 27px;display:flex;align-items:center;justify-content:space-between;gap:25px;overflow:hidden;position:relative}.spotlight-label{font-size:8px;letter-spacing:1.5px;color:#bcce9d;font-weight:600}.spotlight h3{font-family:var(--serif);font-size:30px;font-weight:400;line-height:1.15;margin:9px 0}.spotlight p{font-size:11px;color:#c0d0c4;margin-bottom:20px}.spotlight a{font-size:11px;font-weight:600;display:flex;gap:30px;align-items:center}.sheet-art{border:1px solid #789e86;background:#315b49;border-radius:5px;flex:0 0 213px;padding:10px 12px;transform:rotate(-6deg);font-size:8px;box-shadow:7px 7px 0 #153f33}.sheet-art div{border-bottom:1px solid #72947d;padding-bottom:9px;display:flex;align-items:center;gap:3px}.sheet-art i{width:3px;height:3px;border-radius:50%;background:#a1bca7}.sheet-art b{font-size:6px;margin-left:auto;letter-spacing:1px;font-weight:400;color:#b4cbb7}.sheet-art>span{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #52735d;padding:8px 0;color:#d1dec6}.sheet-art span:last-child{border:0}.sheet-art em{font-style:normal;min-width:32px}.sheet-art em:last-child{min-width:15px;color:#dbe79d}.results-bar{display:flex;justify-content:space-between;align-items:center;margin:25px 0 16px;font-size:11px;color:#727e73;gap:10px}.results-bar p{margin:0}.results-bar b{font-weight:600;color:#3c5140}.results-bar>div{display:flex;gap:14px;align-items:center}.results-bar select{border:0;background:transparent;color:#5e6d60;font-size:11px;padding:5px 0}.results-bar button{font-size:11px;color:var(--green);text-decoration:underline}.workflow-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.workflow-card{padding:20px 19px 0;border:1px solid #dce2d6;background:#fffefa;border-radius:6px;display:flex;flex-direction:column;min-width:0;transition:box-shadow .15s,border-color .15s,transform .15s}.workflow-card:hover{border-color:#a9bba7;box-shadow:0 6px 15px #233b2710;transform:translateY(-2px)}.card-top{display:flex;gap:8px;align-items:center;margin-bottom:17px;min-height:31px}.category-icon{display:flex;align-items:center;justify-content:center;background:#edf0e6;border-radius:5px;width:29px;height:29px;color:#4d6850;font-size:19px;flex-shrink:0}.category-name{font-size:9px;color:#6f7c6c;line-height:1.3}.save-button{margin-left:auto;padding:6px;color:#8c9685;border-radius:3px;line-height:1;flex-shrink:0}.save-button:hover{background:#edf1e7;color:var(--green)}.save-button[aria-pressed=true]{color:var(--green);background:#e5ecdc}.save-button[aria-pressed=true] svg{fill:#bdd0a5}.workflow-card h3{font-size:17px;line-height:1.35;letter-spacing:-.35px;font-weight:550;margin:0 0 10px}.workflow-card h3 a{display:block}.workflow-card p{font-size:11px;line-height:1.75;color:#758071;margin:0 0 18px}.tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto;margin-bottom:20px}.tags span{border:1px solid #e4e7dd;background:#f7f8f0;border-radius:3px;padding:2px 7px;font-size:9px;color:#6a785f}.tags span:first-child{color:#35543e;background:#eaf0e4;border-color:#e1e8d8}.card-bottom{border-top:1px solid #e7e9e0;padding:13px 0;display:flex;align-items:center;justify-content:space-between;gap:7px;font-size:9px;color:#7c8778}.card-bottom>span{display:flex;align-items:center;gap:5px}.card-bottom a{font-size:10px;font-weight:550;color:#365b40}.card-bottom a span{margin-left:7px}.level-dot{width:5px;height:5px;border-radius:50%;background:#8caa71}.level-dot.intermediate{background:#c1a268}.level-dot.advanced{background:#a28aae}.library-note{display:flex;gap:12px;border-top:1px solid var(--line);margin-top:26px;padding-top:22px;color:#7b8577;font-size:11px}.library-note>span{font-size:16px;color:#8d9d7e}.library-note p{margin:0;line-height:1.8}.library-note a{color:#355c40;text-decoration:underline}footer{padding:37px 4.3% 30px;display:flex;justify-content:space-between;gap:30px;border-top:1px solid var(--line);background:#f1f3eb;align-items:flex-start}footer .brand{font-size:18px;gap:9px}footer .brand-serif{font-size:23px}footer .brand-mark{transform:scale(.8) skewY(-12deg);transform-origin:left}footer p{font-size:10px;color:#7a8577;margin:12px 0 0}.footer-links{display:flex;flex-direction:column;gap:8px;font-size:11px}.fine{font-size:11px;color:#7b8578;line-height:1.7}.fine a{text-decoration:underline}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(100px);background:var(--green);color:white;padding:12px 24px;border-radius:5px;box-shadow:0 5px 25px #0002;font-size:13px;transition:transform .2s;z-index:50;max-width:calc(100% - 30px);text-align:center}#toast.visible{transform:translateX(-50%) translateY(0)}#empty-state{text-align:center;padding:70px 20px;border:1px dashed #b8c5ae;border-radius:6px;background:#f4f6ed}#empty-state>span{font-size:40px;color:#899f7b}#empty-state h3{font-size:21px;margin-bottom:8px}#empty-state p{color:var(--muted)}.detail-main{max-width:1180px;margin:auto;padding:35px 45px 65px}.back-link{display:inline-block;color:#6c7c69;font-size:12px;margin-bottom:35px}.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 265px;gap:70px}.detail-main h1,.prose-main h1{font-family:var(--serif);font-size:55px;line-height:1.06;letter-spacing:-1.5px;margin-bottom:22px}.detail-description{font-size:17px;color:#647360;line-height:1.7;margin-bottom:24px}.detail-tags{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:32px}.detail-tags span{padding:5px 11px;background:#e9efdf;border-radius:4px;color:#486142;font-size:11px}.detail-section{margin:34px 0}.detail-section h2,.review-box h2,.related h2,.prose-main h2{font-family:var(--serif);font-size:29px;margin-bottom:13px;line-height:1.15}.detail-section p{line-height:1.8}.detail-section ul{padding-left:22px;line-height:2}.muted{color:#77836f;font-size:12px;line-height:1.7}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}.section-heading h2{margin:0}.copy-button{padding:8px 12px;border:1px solid #becbb0;border-radius:4px;color:var(--green);font-size:12px;background:#fffefa;white-space:nowrap}.copy-button:hover{background:#e9efdf}.prompt{font-family:var(--sans);font-size:13px;line-height:1.9;white-space:pre-wrap;word-break:break-word;background:#edf1e5;color:#355139;padding:25px;border:1px solid #d7e1cc;border-radius:6px}.prompt-actions{display:flex;gap:24px;align-items:center}.text-button{padding:10px 0;color:var(--green);font-size:12px}.steps{list-style:none;padding:0}.steps li{display:flex;gap:21px;align-items:flex-start;border-bottom:1px solid var(--line);padding:16px 0}.steps li>span{color:#6d8958;font-size:12px;padding-top:3px}.steps li p{margin:0}.review-box{padding:24px 28px;background:#f2eddd;border:1px solid #e6dcc1;border-radius:5px;margin:35px 0}.review-box h2{margin-top:10px}.review-box p{margin-bottom:0;line-height:1.8;color:#726852;font-size:13px}.review-box a{display:block;margin-top:15px;color:var(--green);font-size:13px;text-decoration:underline}.sources>a{display:block;border-bottom:1px solid var(--line);padding:13px 0;font-size:13px;color:var(--green)}.detail-aside{padding-top:42px}.detail-summary{border:1px solid var(--line);background:#fffefa;border-radius:6px;padding:24px;margin-bottom:25px}.detail-summary dl{margin:22px 0}.detail-summary dt{font-size:10px;color:#849077;margin-top:13px}.detail-summary dd{font-size:13px;margin:3px 0 0}.save-row{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);padding-top:16px;font-size:12px}.save-row .save-button{margin-left:0}.detail-summary .fine{font-size:10px;margin:10px 0 0}.related{margin-top:38px;padding-top:32px;border-top:1px solid var(--line)}.related .workflow-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:760px}.prose-main{max-width:830px;padding:36px 40px 65px;margin:auto}.guide-steps{margin:30px 0}.guide-steps li{padding:25px 0}.guide-steps li h2{font-size:26px}.guide-steps li p{color:#64735f;font-size:14px;line-height:1.9}.prose-main>.detail-section>p{line-height:1.9;color:#62715c}.prose-main .detail-section{margin:40px 0}
@media(min-width:1550px){.site-header,.hero{padding-left:calc((100vw - 1370px)/2);padding-right:calc((100vw - 1370px)/2)}}@media(max-width:1180px){.workflow-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-shell{gap:28px;grid-template-columns:193px minmax(0,1fr)}.editorial-label{display:none}.hero{padding:40px 4.3%}.hero-meta{gap:13px}.hero-meta span+span{padding-left:13px}.detail-layout{gap:40px;grid-template-columns:minmax(0,1fr) 230px}.sheet-art{flex-basis:180px}}@media(max-width:900px){.site-header{height:78px}.site-header nav{gap:20px}.header-cta{display:none}.city{width:31%;min-width:230px}.hero h1{font-size:42px}.hero-meta{flex-wrap:wrap;gap:8px 15px}.hero-meta span+span{padding-left:0;border:0}.hero-copy>p br{display:none}.spotlight{padding:23px}.sheet-art{display:none}.detail-main{padding-left:28px;padding-right:28px}.detail-layout{gap:30px;grid-template-columns:minmax(0,1fr) 210px}.detail-main h1{font-size:45px}.detail-summary{padding:18px}.editorial-label{display:none}footer{flex-wrap:wrap}}@media(max-width:690px){.site-header{padding:0 20px;height:76px;gap:10px}.brand{font-size:18px;gap:8px}.brand-serif{font-size:22px}.brand-mark{transform:scale(.8) skewY(-12deg);width:24px}.site-header nav{gap:14px;font-size:11px}.site-header nav>a:first-child{display:none}.hero{padding:31px 22px 30px;min-height:0}.hero h1{font-size:41px;letter-spacing:-1.1px}.hero .eyebrow{font-size:8px;letter-spacing:1.1px}.hero-copy>p{font-size:13px;max-width:340px;margin-bottom:20px}.city{display:none}.hero-meta{font-size:10px;gap:8px 18px}.page-shell{display:flex;flex-direction:column;padding:25px 20px 40px;gap:26px}.filters{display:grid;grid-template-columns:1fr 1fr;gap:10px}.filters>.filter-heading{display:none}.category-list{grid-column:1/-1;flex-direction:row;overflow:auto;gap:7px;margin-bottom:4px;padding-bottom:4px}.category-filter{width:auto;white-space:nowrap;border:1px solid #dde3d6;padding:8px 12px}.category-filter small,.category-filter>span>span{display:none}.filters select{margin:0;height:39px;font-size:11px}.filters .sidebar-note{display:none}.saved-filter{grid-column:1/-1;margin:0;border:0;padding:3px;font-size:11px}.directory-intro h2{font-size:31px}.directory-intro{margin-bottom:18px}.search-bar{margin-bottom:18px}.search-bar input{font-size:12px}.search-bar kbd{display:none}.spotlight{padding:23px}.spotlight h3{font-size:30px}.spotlight p{max-width:270px;line-height:1.7}.workflow-grid{gap:12px}.workflow-card{padding:17px 15px 0}.workflow-card h3{font-size:16px}.card-top{gap:6px;margin-bottom:14px}.category-name{font-size:8px}.category-icon{width:25px;height:25px;font-size:16px}.save-button{padding:5px}.card-bottom{flex-wrap:wrap;gap:7px}.card-bottom a{font-size:9px}.workflow-card p{font-size:11px}.tags span{font-size:8px}.results-bar{margin-top:20px}.results-bar>div{gap:8px}.results-bar select{max-width:123px}footer{padding:30px 22px;gap:24px}footer>.fine{margin:0;width:100%}.footer-links{font-size:10px}.detail-main{padding:25px 22px 45px}.detail-layout{display:flex;flex-direction:column;gap:0}.detail-main h1,.prose-main h1{font-size:43px}.detail-description{font-size:16px}.detail-aside{padding-top:0;display:grid;grid-template-columns:1fr 1fr;gap:15px;align-items:start}.detail-aside .sidebar-note{margin:0}.detail-summary{margin:0}.detail-summary dl{margin-top:15px}.related .workflow-grid{grid-template-columns:1fr 1fr}.prose-main{padding:25px 22px 40px}.prompt{padding:20px;font-size:12px}.review-box{padding:22px}.guide-steps li h2{font-size:25px}.detail-main .eyebrow{font-size:8px}.detail-section h2{font-size:28px}}@media(max-width:390px){.site-header nav a:not(.saved-nav){display:none}.hero h1{font-size:37px}.workflow-grid{grid-template-columns:1fr}.workflow-card h3{font-size:18px}.workflow-card p{font-size:12px}.category-name{font-size:10px}.card-bottom{font-size:10px}.card-bottom a{font-size:11px}.detail-aside{grid-template-columns:1fr}.related .workflow-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.workflow-card:hover{transform:none}}

.hero-sponsor{display:inline-block;font-size:12px;margin:18px 0 0;color:#486054;text-underline-offset:4px}.sponsor-strip{padding:24px max(6%,24px);border-top:1px solid #ccd5c8;display:flex;gap:18px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:#e9eddf;font-size:13px}.sponsor-strip a{color:#183f36;font-weight:600;text-underline-offset:4px}

.top-sponsor{background:#183f36;color:#fffdf2;text-align:center;padding:10px 20px;font-size:13px;line-height:1.5;letter-spacing:.02em}.top-sponsor a{color:inherit;font-weight:700;text-underline-offset:3px}
