:root{--green:#254d3e;--cream:#faf7ef;--orange:#b64c2d}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:#253e31;font:16px/1.6 system-ui,sans-serif}button,input,select{font:inherit}button{cursor:pointer;border:1px solid #ccd6c9;background:white;color:var(--green);padding:10px 16px;border-radius:24px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--orange);outline-offset:3px}a{color:inherit}header{max-width:1180px;margin:auto;padding:22px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dedfd2;gap:15px}.brand{text-decoration:none;font-size:20px;font-weight:700}nav,.row{display:flex;gap:10px;flex-wrap:wrap}main{max-width:1180px;margin:auto;padding:24px}.hero{display:grid;grid-template-columns:1.4fr 1fr;gap:40px;align-items:center;padding:35px 0 45px}.eyebrow{font-size:12px;letter-spacing:2px;color:var(--orange);font-weight:700}h1{font:500 clamp(38px,5vw,62px)/1.12 Georgia,serif;margin:18px 0}h2{font:500 30px/1.2 Georgia,serif;margin:0 0 15px}h3{font:500 24px/1.25 Georgia,serif}.hero p{max-width:530px}.badges{display:flex;gap:10px;flex-wrap:wrap;font-size:13px}.badges span{border:1px solid #d9dfd0;border-radius:20px;padding:5px 12px}.illustration{background:#e6ebd9;min-height:270px;border-radius:40% 60% 55% 45%;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:105px}.illustration small{font-size:13px}.panel{background:white;border:1px solid #e0e4d8;border-radius:20px;padding:26px}.hint{font-size:14px;color:#536753}.searchLabel{display:block;font-size:14px;font-weight:600}input[type=search]{width:100%;border:1px solid #aebbab;padding:13px;border-radius:10px;margin:8px 0}.chips,.selected{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.chips button,.selected button{font-size:14px}.active,.primary{background:var(--green);color:white;border-color:var(--green)}.textbutton{border:0;padding-left:0;text-decoration:underline}.filters{display:flex;align-items:center;gap:18px;flex-wrap:wrap;border-top:1px solid #eee;padding-top:20px;margin-top:15px;font-size:14px}.filters label{display:flex;align-items:center;gap:8px}.filters label:has(select){flex-direction:column;align-items:start}select{border:1px solid #bcc9b7;border-radius:8px;background:white;padding:8px;max-width:100%}.results{padding:35px 0}.sectionhead{display:flex;align-items:center;justify-content:space-between;gap:16px}.sectionhead span{font-size:13px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:24px}.card{background:white;border:1px solid #dde2d5;border-radius:16px;overflow:hidden}.art{background:#e9eddc;height:95px;display:grid;place-items:center;font-size:55px}.cardbody{padding:20px}.card h3{margin:8px 0}.meta{font-size:12px;color:#536953}.card p{font-size:14px}.match{color:var(--orange);font-size:13px;font-weight:600}.actions{display:flex;gap:8px;flex-wrap:wrap}.group{grid-column:1/-1;font:500 23px Georgia,serif;margin:18px 0 0}.empty{grid-column:1/-1;padding:25px;background:white;border-radius:15px}.learning{background:#e5ead9;border-radius:20px;padding:28px}footer{font-size:13px;color:#536753;padding:30px 0}footer button{font-size:13px;margin:5px}dialog{border:0;border-radius:20px;color:#253e31;max-width:690px;width:calc(100% - 24px);padding:28px}dialog::backdrop{background:#102b22a6}.close{float:right}dialog li{margin:12px 0}dialog h2{margin-top:25px}dialog .notice{background:#f1f4e8;border-radius:12px;padding:14px;font-size:14px}.consent{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);background:white;border:1px solid #bcc9b7;border-radius:18px;box-shadow:0 10px 50px #223d3333;max-width:740px;width:calc(100% - 24px);padding:18px;z-index:2;font-size:14px}.consent p{margin:0 0 12px}.consent button{margin:3px;font-size:14px}[hidden]{display:none!important}@media(max-width:760px){header{align-items:start;flex-direction:column;padding:18px}nav button{font-size:13px;padding:8px 13px}main{padding:16px}.hero{grid-template-columns:1fr;padding:20px 0 30px;gap:20px}.illustration{min-height:150px;font-size:70px}.grid{grid-template-columns:1fr}.panel{padding:18px}.filters{gap:12px}.sectionhead{align-items:start}h2{font-size:27px}dialog{padding:20px}.consent{bottom:6px}}
