@font-face{font-family:"Fraunces";src:url("/fonts/fraunces_semibold.ttf") format("truetype");font-weight:600;font-display:swap}
@font-face{font-family:"Fraunces";src:url("/fonts/fraunces_extrabold.ttf") format("truetype");font-weight:800;font-display:swap}
@font-face{font-family:"Archivo";src:url("/fonts/archivo_regular.ttf") format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:"Archivo";src:url("/fonts/archivo_medium.ttf") format("truetype");font-weight:500;font-display:swap}
@font-face{font-family:"Archivo";src:url("/fonts/archivo_semibold.ttf") format("truetype");font-weight:600;font-display:swap}
@font-face{font-family:"Archivo";src:url("/fonts/archivo_bold.ttf") format("truetype");font-weight:700;font-display:swap}
:root{--side:#233c27;--cream:#fbf6eb;--ink:#1e3a2c;--body:#2e4a3b;--muted:#566a5d;--ground:#f7f2e6;--surface:#fdfaf3;--mint:#e6eadc;--mint-pale:#f2f4ec;--hair:#e0d9c8;--tint:#2f5541;--clay:#9a4f25;--serif:"Fraunces",Georgia,serif;--sans:"Archivo","Helvetica Neue",Arial,sans-serif}
*{box-sizing:border-box}
body{margin:0;background:var(--ground);color:var(--body);font-family:var(--sans);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:var(--tint)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #c27a45;outline-offset:3px;border-radius:8px}
img{max-width:100%;display:block}
h1,h2,h3,h4{font-family:var(--serif);color:var(--ink);margin:0;font-weight:600;letter-spacing:-.01em}
p{margin:0}
.shell{display:flex;min-height:100vh}
.side{position:sticky;top:0;height:100vh;width:17rem;flex-shrink:0;display:flex;flex-direction:column;background:var(--side);color:var(--cream)}
.side-brand{padding:1.25rem 1rem .75rem}
.side-brand img{width:100%;height:auto}
.side-nav{flex:1;overflow-y:auto;padding:.5rem .75rem 1rem;display:flex;flex-direction:column;gap:.25rem}
.side-label{font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgb(251 246 235 / .6);padding:1rem .75rem .35rem}
.side-item{display:flex;align-items:center;gap:.75rem;min-height:44px;padding:.55rem .75rem;border-radius:.75rem;color:rgb(251 246 235 / .92);text-decoration:none}
.side-item:hover{background:rgb(255 255 255 / .07)}
.side-item.is-active{background:rgb(255 255 255 / .12);color:var(--cream)}
.side-item svg{width:20px;height:20px;flex-shrink:0}
.side-foot{padding:1rem 1.25rem 1.25rem;border-top:1px solid rgb(255 255 255 / .12);font-size:.85rem;color:rgb(251 246 235 / .75)}
.side-foot a{color:var(--cream)}
.main{flex:1;min-width:0}
.wrap{max-width:72rem;margin:0 auto;padding:0 2.5rem}
.proto{background:#f6e3c8;color:#6b3a16;font-size:.9rem;border-bottom:1px solid #ead2ad}
.proto .wrap{padding-top:.6rem;padding-bottom:.6rem}
.eyebrow{font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--clay)}
.card{background:var(--surface);border:1px solid var(--hair);border-radius:1.1rem}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:46px;padding:.7rem 1.25rem;border-radius:999px;font:600 1rem var(--sans);text-decoration:none;cursor:pointer;border:0}
.btn-primary{background:var(--tint);color:var(--surface)}
.btn-primary:hover{background:#244533}
.btn-ghost{background:transparent;border:1.5px solid var(--tint);color:var(--tint)}
.chip{display:inline-flex;align-items:center;min-height:30px;padding:.2rem .7rem;border-radius:999px;background:var(--mint);color:var(--ink);font-size:.82rem;font-weight:600}
.avatar{display:grid;place-items:center;border-radius:50%;background:var(--tint);color:var(--cream);font-family:var(--serif);font-weight:600}
.topbar{display:none}
footer .wrap{display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;padding-top:2rem;padding-bottom:2rem;font-size:.88rem;color:var(--muted)}
@media (max-width:860px){
  .side{display:none}
  .topbar{display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:5;background:var(--side);padding:.6rem 1rem}
  .topbar img{height:40px;width:auto}
  .topbar a{color:var(--cream);font-weight:600;font-size:.92rem}
  .wrap{padding:0 1rem}
}

@media (min-width:861px){#pl-back-to-lab{display:none!important}}
