/* Nkwa Health — base + interaction states.
   Layout stays as inline styles (fidelity with the approved design);
   this file carries what inline styles cannot express: :hover, :focus,
   media queries, print. */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#FAF7F2;color:#1F1B16;font-family:'IBM Plex Sans',system-ui,sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3,p{margin:0}
a{color:#14432E;text-decoration:none}
a:hover{color:#1D5A3D;text-decoration:underline}
button{font-family:inherit;cursor:pointer}
input,textarea,select{font-family:inherit}
::selection{background:#E6EEE8}

/* focus visibility — WCAG 2.4.7 */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{
  outline:2px solid #1D5A3D;outline-offset:2px;border-radius:4px}

/* skip link */
.skip{position:absolute;left:-9999px;top:0;background:#14432E;color:#fff;padding:12px 18px;z-index:100;border-radius:0 0 10px 0}
.skip:focus{left:0;text-decoration:none}

/* buttons (was style-hover) */
.btn-clay{background:#A8482A;border:none;color:#FFFFFF;border-radius:14px;font-weight:600;transition:background .15s ease;text-decoration:none;display:inline-block}
.btn-clay:hover{background:#8E3C22;color:#FFFFFF;text-decoration:none}
.btn-outline{background:transparent;border:1px solid #14432E;color:#14432E;border-radius:14px;font-weight:600;transition:background .15s ease;text-decoration:none;display:inline-block}
.btn-outline:hover{background:#E6EEE8;color:#14432E;text-decoration:none}

/* nav */
.nk-nav a{color:#1F1B16;text-decoration:none}
.nk-nav a:hover{color:#14432E;text-decoration:none}
.nk-foot a{color:#FAF7F2;text-decoration:none}
.nk-foot a:hover{color:#FFFFFF;text-decoration:underline}

/* form fields (was style-focus) */
.field{background:#FAF7F2;border:1px solid #E4DBCB;border-radius:8px;padding:13px;font-size:16px;color:#1F1B16;width:100%}
.field:focus{border-color:#1D5A3D;outline:none;box-shadow:0 0 0 2px rgba(29,90,61,.3)}

/* zero-JS mobile menu */
.nk-menu{display:none}
.nk-menu summary{list-style:none;cursor:pointer;border:1px solid #E4DBCB;border-radius:10px;padding:8px 12px;font-size:20px;line-height:1;color:#1F1B16;display:inline-block}
.nk-menu summary::-webkit-details-marker{display:none}
@media (max-width:760px){
  .nk-desktop-nav{display:none !important}
  .nk-menu{display:block}
}

/* honeypot */
.hp{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden}

/* the brand must survive single-colour print (brand-guidelines.md §7) */
@media print{
  *{background:#FFF !important;color:#000 !important;box-shadow:none !important}
  a{color:#000 !important;text-decoration:underline}
  header,footer,.no-print{display:none !important}
}
