.kd-directory { color:#272a28; }
.kd-page{margin:0;background:#f4f5ee;color:#1e2a1f;font:14px/1.6 system-ui,sans-serif}.kd-page *{box-sizing:border-box}.kd-page-main{width:min(1200px,calc(100% - 40px));margin:auto;padding:36px 0}.kd-page-intro{max-width:780px}.kd-page-intro h1{font:600 clamp(30px,4vw,46px)/1.1 Georgia,serif;margin:12px 0 18px;color:#141c15}.kd-page-intro p{color:#344233;font-size:15px}.kd-page-intro>p:first-child{font-size:11px;letter-spacing:.15em;font-weight:700;color:#2e3d2d}.kd-page-actions{display:flex;flex-wrap:wrap;gap:22px;margin-top:22px}.kd-page-actions a{color:#27422d;font-weight:700;text-underline-offset:5px}
.kd-jumps { display:flex; flex-wrap:wrap; gap:8px; margin:22px 0 30px; }
.kd-jumps a { padding:8px 16px; background:#fff; border:1px solid #c8caba; border-radius:24px; font:inherit; font-size:13px; font-weight:600; color:#232f24; text-decoration:none; transition:all .18s ease; }
.kd-jumps a:hover, .kd-jumps a.active { border-color:#27422d; background:#27422d; color:#fff; }
.kd-group { scroll-margin-top:100px; margin:0 0 32px; }
.kd-group h2,.kd-group h3 { font-family:inherit; font-size:18px; font-weight:700; margin:0 0 14px; color:#182319; letter-spacing:0; }
.kd-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.kd-card { display:flex; align-items:flex-start; gap:12px; padding:18px 15px; background:#ffffff; border:1px solid #dcded3; border-radius:14px; text-decoration:none; color:#1e2a1f; min-width:0; box-shadow:0 1px 3px rgba(0,0,0,.03); transition:border-color .18s,box-shadow .18s,transform .18s; }
a.kd-card:hover { border-color:#526946; box-shadow:0 8px 24px rgba(35,55,30,.12); transform:translateY(-2px); }
.kd-glyph { display:grid; place-items:center; flex:0 0 38px; height:38px; background:#e8eee0; border-radius:10px; font-size:18px; transition:transform .18s ease; }
a.kd-card:hover .kd-glyph { transform:scale(1.06); }
.kd-card-copy { display:flex; flex-direction:column; gap:5px; min-width:0; }
.kd-card-copy strong { font-family:inherit; font-weight:700; font-size:15px; line-height:1.35; color:#141d15; }
.kd-card-copy > span { font-size:13px; line-height:1.5; color:#384437; font-weight:450; }
.kd-card-copy small { font-size:11px; font-weight:700; color:#784f18; }
.kd-arrow { margin-left:auto; color:#4a5c48; font-size:16px; font-weight:600; transition:transform .18s ease; }
a.kd-card:hover .kd-arrow { transform:translate(2px,-2px); color:#213b27; }
.kd-card--soon { background:#f1f0eb; border-color:#deddd7; }
.kd-card--soon .kd-glyph { background:#e4e2da; }
.kd-directory a:focus-visible { outline:3px solid #3c5e31; outline-offset:4px; }
@media(max-width:1050px){.kd-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:760px){.kd-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.kd-card{padding:14px 12px;}.kd-glyph{flex-basis:28px;height:28px;font-size:16px;}.kd-arrow{display:none;}}
@media(max-width:460px){.kd-card{gap:8px;}.kd-card-copy strong{font-size:14px;}.kd-glyph{display:none;}.kd-card-copy > span{font-size:12.5px;}.kd-jumps a{font-size:12px;padding:8px 11px;}.kd-group h3{font-size:16px;}}
@media(prefers-reduced-motion:reduce){.kd-card{transition:none;}}
