
@font-face{font-family:Lausanne;src:url('assets/fonts/TWKLausanne-350.woff') format('woff');font-weight:350}
@font-face{font-family:Lausanne;src:url('assets/fonts/TWKLausanne-650.woff2') format('woff2');font-weight:650}
*{box-sizing:border-box}body{margin:0;background:#f4f1ea;color:#171717;font-family:Lausanne,Arial,sans-serif;font-weight:350}
a{color:inherit}.wrap{max-width:1120px;margin:auto;padding:32px 22px 70px}.eyebrow{font-size:12px;letter-spacing:.12em;text-transform:uppercase}.title{font-size:clamp(44px,8vw,100px);line-height:.9;letter-spacing:-.05em;margin:18px 0 40px;font-weight:650}.intro{max-width:680px;font-size:20px;line-height:1.35;margin-bottom:42px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}.card{background:#fff;border:1px solid #d8d3ca;padding:20px;min-height:180px;text-decoration:none;display:flex;flex-direction:column;justify-content:space-between}.card:hover{transform:translateY(-2px)}.num{font-size:12px;opacity:.55}.common{font-size:24px;line-height:1;margin:20px 0 8px;font-weight:650}.latin{font-style:italic;font-size:16px}.detail{max-width:760px}.back{display:inline-block;margin-bottom:50px;text-decoration:none}.detail h1{font-size:clamp(42px,7vw,80px);line-height:.92;letter-spacing:-.04em;margin:0 0 12px}.detail .latin{font-size:24px}.facts{margin-top:42px;padding-top:24px;border-top:1px solid #bbb6ad;font-size:18px;line-height:1.45}
.panel{background:#fff;border:1px solid #d8d3ca;padding:24px;margin:18px 0}.controls{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.control{border:1px solid #d8d3ca;padding:15px}.control input{width:100%}.value{font-size:28px;font-weight:650}.target{font-size:32px;font-weight:650;margin:10px 0}.button{border:0;background:#171717;color:#fff;padding:14px 18px;font:inherit;cursor:pointer}.result{font-size:24px;margin-top:18px}.drop{border:2px dashed #aaa;padding:24px;text-align:center;margin-top:18px}.quizq{font-size:24px;line-height:1.2}.answers{display:grid;gap:9px;margin-top:15px}.answers button{padding:14px;text-align:left;background:#f4f1ea;border:1px solid #c9c3b9;font:inherit;cursor:pointer}.score{font-size:50px;font-weight:650}.footer{margin-top:55px;font-size:12px;opacity:.6}
@media(max-width:650px){.controls{grid-template-columns:1fr}.title{font-size:54px}}

.hero{display:grid;grid-template-columns:1.05fr .95fr;gap:28px;align-items:end;margin-bottom:48px}.hero-copy{max-width:700px}.hero-note{border-left:3px solid #171717;padding:12px 0 12px 18px;line-height:1.45}.plant-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.plant-card{background:#fff;border:1px solid #d8d3ca;text-decoration:none;overflow:hidden;transition:.2s}.plant-card:hover{transform:translateY(-3px)}.plant-thumb{width:100%;height:210px;object-fit:cover;background:#e8e4da}.plant-card-body{padding:18px}.plant-card .common{margin:10px 0 7px}.tag{display:inline-block;border:1px solid #c8c2b8;padding:5px 8px;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.plant-layout{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr);gap:30px;margin-top:26px}.plant-photo{width:100%;height:min(68vh,620px);object-fit:cover;background:#e8e4da}.photo-credit{font-size:11px;opacity:.6;margin-top:8px}.plant-copy h1{margin-bottom:8px}.lead{font-size:20px;line-height:1.45;max-width:720px}.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:28px}.info-box{background:#fff;border:1px solid #d8d3ca;padding:18px}.info-box h3{font-size:12px;text-transform:uppercase;letter-spacing:.1em;margin:0 0 8px}.info-box p{margin:0;line-height:1.45}.wide-box{margin-top:12px}.plant-nav{display:flex;justify-content:space-between;gap:15px;margin-top:36px;padding-top:20px;border-top:1px solid #bbb6ad}.small-link{font-size:13px}.source-note{font-size:12px;opacity:.65;margin-top:22px}.source-note a{text-decoration:underline}.home-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.pill{border:1px solid #171717;padding:11px 15px;text-decoration:none}.pill:hover{background:#171717;color:#fff}
@media(max-width:800px){.hero,.plant-layout{grid-template-columns:1fr}.plant-photo{height:58vh}.info-grid{grid-template-columns:1fr}.hero{gap:12px}.wrap{padding-top:22px}}
