:root{--paper:#f7f7ee;--ink:#172e23;--muted:#496052;--stroke:#d6ddce;--white:#fffef9;--lime:#d7f569;--serif:Georgia,'Times New Roman',serif;--sans:system-ui,'Segoe UI',sans-serif;--mono:ui-monospace,'Cascadia Code',Consolas,monospace;color:var(--ink);background:var(--paper);font:16px/1.55 var(--sans)}
*,*::before,*::after{box-sizing:border-box}body{margin:0}a{color:inherit;text-underline-offset:.2em}button,input,select,textarea{font:inherit}button,select{cursor:pointer}img,svg{display:block}button:disabled{opacity:.65;cursor:wait}[hidden]{display:none!important}::selection{background:var(--lime);color:var(--ink)}:focus-visible{outline:3px solid #537318;outline-offset:4px}.wrap{width:min(1170px,calc(100% - 80px));margin-inline:auto}.sr,.skip:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip:focus{position:fixed;z-index:20;top:8px;left:8px;background:var(--lime);padding:12px}.top{border-bottom:1px solid var(--stroke);background:var(--paper)}.top-inner{min-height:75px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:inline-flex;gap:10px;align-items:center;text-decoration:none;font-weight:760;font-size:21px;letter-spacing:-.04em;line-height:1.05}.brand-mark{width:37px;height:37px;display:grid;place-items:center;border-radius:9px;background:var(--ink);color:var(--lime)}.brand-dot{color:#527424}.brand small{display:block;font:650 9px/1.3 var(--mono);letter-spacing:.15em;margin-top:3px}.top nav,.footer nav{display:flex;align-items:center;gap:27px}.top nav a,.footer nav a{text-decoration:none;color:var(--muted);font-size:14px;font-weight:600}.top nav a:hover,.footer nav a:hover,.text-link:hover{text-decoration:underline}.button{display:inline-flex;gap:9px;align-items:center;justify-content:center;padding:11px 16px;min-height:44px;border:1px solid transparent;border-radius:6px;text-decoration:none;font-size:.9rem;font-weight:730;line-height:1.25}.button-primary{background:var(--lime);color:var(--ink);border-color:#b8d954}.button-primary:hover{background:#c7ec55}.button-outline{border-color:#9dac9a;background:transparent;color:var(--ink)}.button-outline:hover{background:#eaf0df}.eyebrow{font:650 .72rem/1.45 var(--mono);letter-spacing:.095em;text-transform:uppercase;color:var(--muted)}.kicker{display:flex;align-items:center;gap:9px}.kicker>span{width:8px;height:8px;background:#719430;border-radius:50%;flex:none}.hero{background:#eef1e2;border-bottom:1px solid #d8dec9;padding:66px 0 62px}.hero-grid{display:grid;grid-template-columns:1.09fr .91fr;gap:53px;align-items:center}.hero h1,.page-head h1{font:400 clamp(3rem,5.2vw,5.2rem)/.99 var(--serif);letter-spacing:-.058em;margin:21px 0 20px;max-width:12ch;text-wrap:balance}.hero h1 em{font-weight:400;color:#526a32}.hero p,.page-head p{max-width:49ch;font-size:1.05rem;color:var(--muted);margin:0 0 25px}.search{display:flex;gap:8px;align-items:stretch;max-width:830px}.search-input{display:flex;align-items:center;gap:10px;padding:0 12px;min-width:0;flex:1;border:1px solid #a4b39e;background:var(--white);border-radius:6px}.search-input svg{flex:none;color:var(--muted)}.search input{min-width:0;width:100%;height:46px;border:0;background:transparent;color:var(--ink);font-size:.92rem}.search-input:focus-within{outline:2px solid #537318;outline-offset:2px}.search input:focus-visible{outline:none}.filter{display:flex}.filter select,.field input,.field select,.field textarea{border:1px solid #a4b39e;border-radius:6px;background:var(--white);color:var(--ink);padding:11px 12px;min-width:0}.quick{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-top:17px}.quick>span,.topic-foot,.topic-meta,.entry-foot{font:650 .68rem/1.35 var(--mono);letter-spacing:.045em;color:var(--muted)}.quick>span{margin-right:3px}.quick a{padding:4px 8px;border:1px solid #ccd7c1;border-radius:4px;text-decoration:none;font-size:.76rem}.quick a:hover{background:var(--white)}.specimen{margin:0;padding:18px 19px 14px;background:#172e23;color:#dae5d7;border:1px solid #2d4b37;border-radius:10px;box-shadow:6px 7px 0 #dce5ce;min-width:0}.specimen>svg{width:100%;height:auto;margin:10px 0 3px}.specimen-top,.specimen figcaption{display:flex;align-items:center;justify-content:space-between;gap:12px;font:600 .67rem/1.4 var(--mono);letter-spacing:.07em}.specimen-top{border-bottom:1px solid #416150;padding-bottom:10px}.specimen figcaption{border-top:1px solid #416150;padding-top:11px}.specimen i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--lime);margin-right:4px}.section{padding:55px 0 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:15px;margin-bottom:23px}h2{font:400 clamp(1.65rem,3.6vw,2.8rem)/1.08 var(--serif);letter-spacing:-.035em;margin:0}.section-head h2{margin-top:7px}.text-link{display:inline-flex;align-items:center;gap:8px;font-size:.9rem;font-weight:720;text-decoration:none}.text-link svg{flex:none}.topic-grid,.entry-grid,.sponsor-items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.topic{display:block;text-decoration:none;border:1px solid #c8d4c4;border-radius:8px;padding:20px;transition:transform .15s,border-color .15s}.topic:hover{transform:translateY(-3px);border-color:#557348}.tone-lab-software{background:#e7edda}.tone-single-cell{background:#e7ece9}.tone-bioimage{background:#f2ead8}.topic-meta,.topic-foot,.entry-meta,.entry-foot{display:flex;justify-content:space-between;align-items:center;gap:8px}.topic h3{font:400 1.62rem/1.1 var(--serif);letter-spacing:-.035em;margin:20px 0 7px}.topic p{font-size:.93rem;color:var(--muted);margin:0 0 17px}.topic-foot{border-top:1px solid #bdc9ba;padding-top:12px}.entry{display:flex;flex-direction:column;padding:17px 18px;border:1px solid var(--stroke);border-radius:8px;background:var(--white);min-width:0}.entry:hover{border-color:#7d9575}.entry-meta{align-items:start}.item-icon{width:37px;height:37px;display:grid;place-items:center;border-radius:7px;flex:none}.badge{font:650 .69rem/1.3 var(--mono);color:var(--muted);border:1px solid var(--stroke);border-radius:4px;padding:4px 6px}.entry h3{font:700 1.15rem/1.3 var(--sans);margin:13px 0 7px;overflow-wrap:anywhere}.entry h3 a{display:flex;justify-content:space-between;align-items:center;gap:8px;text-decoration:none}.entry h3 a:hover{text-decoration:underline}.entry h3 svg{flex:none}.entry p{font-size:.92rem;color:var(--muted);margin:0 0 15px;overflow-wrap:anywhere}.entry-foot{border-top:1px solid var(--stroke);padding-top:11px;margin-top:auto;font-size:.68rem}.highlights{padding-top:49px}.callout{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-top:48px;padding:25px 28px;background:#e7edda;border:1px solid #c8d4c4;border-radius:8px}.callout h2{margin-top:5px}.callout p{margin:7px 0 0;color:var(--muted)}.actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.callout .actions{flex:none}.footer{margin-top:65px;border-top:1px solid var(--stroke);padding:26px 0 28px}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:20px}.footer p{margin:7px 0 0;color:var(--muted);font-size:.8rem}.footer .brand{font-size:18px}.footer .brand-mark{width:31px;height:31px}.footer nav{gap:15px;flex-wrap:wrap}.page-head{background:#eef1e2;border-bottom:1px solid #d8dec9;padding:54px 0 45px}.page-head h1{max-width:20ch;font-size:clamp(2.7rem,5.4vw,4.8rem)}.page-head p{max-width:62ch}.page-head .text-link{margin-top:1px}.note{display:flex;gap:14px;padding:19px;background:#edf1e2;border:1px solid var(--stroke);border-radius:8px;margin-bottom:29px}.note h2,.facts h2,.reading h2{font-size:1.75rem}.note p,.facts p,.reading p{margin:5px 0 0;color:var(--muted);max-width:70ch}.profile,.form-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(250px,1fr);gap:50px;align-items:start}.facts{padding:22px;border:1px solid var(--stroke);border-radius:8px;background:var(--white);min-width:0}.facts .eyebrow{margin-bottom:11px}.facts dl{display:grid;grid-template-columns:auto 1fr;gap:11px 14px;margin:0 0 17px}.facts dt{font-weight:680}.facts dd{margin:0;overflow-wrap:anywhere}.facts .text-link{margin-top:10px}.reading p+h2{margin-top:26px}.application{display:grid;gap:16px}.field{display:grid;gap:5px;font-size:.93rem;font-weight:650}.field input,.field select,.field textarea{width:100%;font-weight:400}.field textarea{resize:vertical}.application button{justify-self:start}.micro,.form-status{margin:0;color:var(--muted);font-size:.86rem}.form-status:empty,#checkout-error:empty{display:none}.form-status a{font-weight:700}.price h2{font-size:3rem}.price h2 span{font:650 .9rem var(--sans);letter-spacing:0}.price ul{padding-left:20px}.status-card{max-width:700px}.status-card p{margin:0 0 12px}.status-card p:last-child{margin:0}.sponsor-zone{margin:28px 0;border:1px solid #bfcba9;border-radius:8px;background:#edf1e2;padding:16px}.sponsor-items{margin-top:8px}.directory-results{padding-top:32px}.directory-results #result-count{margin:0 0 16px}.result-empty{min-height:100px}
@media(max-width:950px){.wrap{width:calc(100% - 52px)}.hero-grid{gap:24px}.hero{padding-block:52px}.footer-inner{flex-wrap:wrap}.footer-inner>.eyebrow{flex-basis:100%}.callout .actions{flex:auto}.section-head{align-items:start}.entry-grid,.sponsor-items{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.wrap{width:calc(100% - 36px)}.top-inner{display:grid;grid-template-columns:1fr auto;gap:8px 12px;padding-block:12px}.top nav{grid-row:2;grid-column:1/-1;gap:23px}.top nav a{padding-block:7px}.hero-grid{grid-template-columns:1fr;gap:29px}.hero{padding:39px 0 34px}.hero h1,.page-head h1{font-size:clamp(2.6rem,10vw,4rem);max-width:15ch}.specimen{max-width:500px}.topic-grid{grid-template-columns:1fr}.topic h3{margin-top:11px}.callout,.footer-inner,.profile,.form-layout{display:grid;grid-template-columns:1fr;gap:17px}.section{padding-top:39px}.page-head{padding:37px 0 30px}.footer{margin-top:44px}}
@media(max-width:440px){.entry-grid,.sponsor-items{grid-template-columns:1fr}.section-head{flex-direction:column;gap:8px}.search{display:grid;grid-template-columns:1fr auto}.search:not(.hero-search) .search-input{grid-column:1/-1}.search-input{min-width:0}.search .button{padding-inline:10px}.search input{font-size:.83rem}.top-submit{padding-inline:10px}.callout{padding:18px}.specimen-top,.specimen figcaption{font-size:.58rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}
