/* A text caret belongs in editable fields, not in headings or menu labels. */
html { caret-color:transparent; }
input, textarea, [contenteditable=""], [contenteditable="true"], [contenteditable="plaintext-only"] { caret-color:auto; }
.dk-header a, .dk-header summary, button { -webkit-user-select:none; user-select:none; }

/* DK navigation: restrained hierarchy using the established brand palette. */
/* Keep scrolled page text from showing through the sticky header. */
.dk-header { background:var(--bg-soft);border-bottom:1px solid var(--border-mid);box-shadow:0 3px 18px rgba(0,0,0,.04); }
body.dark-mode .dk-header,
html[data-theme="dark"] .dk-header { background:var(--bg-soft); }
.dk-header .nav-inner { max-width:1200px;min-height:82px;padding:.8rem 1.5rem;gap:1.5rem; }
.dk-header .brand { flex-shrink:0;gap:.75rem; }
.dk-header .brand-logo { padding:3px;border:1px solid var(--border);border-radius:11px;background:var(--surface); }
.dk-header .brand-logo img { width:40px;height:40px; }
.dk-header .brand-text strong { font-size:.82rem;letter-spacing:.065em; }
.dk-header .brand-text span { font-size:.67rem;letter-spacing:.01em; }
.dk-header .nav-right { gap:1rem; }
.dk-header .nav-menu { gap:1.2rem; }
.dk-header .nav-links { gap:.1rem; }
.dk-header .nav-links > a,.nav-dropdown > summary { display:inline-flex;align-items:center;gap:.4rem;min-height:44px;padding:.65rem .7rem;border-radius:7px;color:var(--text-muted);font-size:.84rem;font-weight:500;line-height:1.3;cursor:pointer;text-decoration:none;list-style:none;white-space:nowrap; }
.nav-dropdown > summary::-webkit-details-marker { display:none; }
.nav-dropdown > summary svg { width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.7;transition:transform .18s; }
.nav-dropdown[open] > summary svg { transform:rotate(180deg); }
.dk-header .nav-links > a:hover,.nav-dropdown > summary:hover,.nav-dropdown[open] > summary { color:var(--text);background:var(--accent-subtle); }
.dk-header .nav-links > a[aria-current],.nav-dropdown:has(a[aria-current]) > summary { color:var(--accent);background:var(--accent-subtle); }
.nav-dropdown { position:relative; }
.nav-dropdown-panel { position:absolute;top:calc(100% + .8rem);left:0;width:310px;padding:.7rem;background:var(--bg-soft);border:1px solid var(--border-mid);border-radius:12px;box-shadow:var(--shadow-lg);z-index:220; }
.nav-panel-label { display:block;padding:.45rem .65rem .7rem;color:var(--text-muted);font-size:.67rem;letter-spacing:.075em;text-transform:uppercase; }
.dk-header .nav-dropdown-panel a { display:flex;align-items:center;gap:.8rem;padding:.85rem .7rem;min-height:66px;border-radius:7px;white-space:normal; }
.nav-dropdown-panel img { display:block;flex:0 0 auto;width:27px;height:27px;object-fit:contain; }
.nav-dropdown-panel strong { display:block;color:var(--text);font-size:.87rem;font-weight:600; }
.nav-dropdown-panel small { display:block;margin-top:.2rem;color:var(--text-muted);font-size:.74rem;line-height:1.5; }
.dk-header .nav-cta { margin-left:0; }
.dk-header .header-call { min-height:44px;padding:.7rem 1rem;border-radius:8px;gap:.5rem; }
.header-call img { filter:brightness(0) invert(1); }
.dk-header .theme-switch { margin:0; }
.dk-header .theme-switch:focus-within { outline:2px solid var(--accent);outline-offset:4px;border-radius:20px; }
.menu-strokes { display:flex;width:18px;flex-direction:column;gap:4px; }
.menu-strokes i { display:block;width:100%;height:1.5px;background:currentColor;transition:transform .2s,opacity .2s; }
.nav-right.open .menu-strokes i:first-child { transform:translateY(5.5px) rotate(45deg); }
.nav-right.open .menu-strokes i:nth-child(2) { opacity:0; }
.nav-right.open .menu-strokes i:last-child { transform:translateY(-5.5px) rotate(-45deg); }
/* A periodic, non-modal visual hint; no repeated screen-reader announcements. */
.fab-call::before,.fab-call::after { display:none; }
.call-hint { position:absolute;right:calc(100% + 14px);bottom:4px;display:block;width:max-content;max-width:min(250px,calc(100vw - 110px));padding:.75rem 1rem;border:1px solid var(--border-mid);border-radius:10px;background:var(--bg-soft);color:var(--text);box-shadow:var(--shadow-md);font-size:.88rem;font-weight:500;line-height:1.5;opacity:0;visibility:hidden;transform:translateX(7px);transition:opacity .2s,transform .2s,visibility .2s;pointer-events:none; }
.call-hint::after { content:'';position:absolute;right:-5px;bottom:15px;width:8px;height:8px;background:var(--bg-soft);border-top:1px solid var(--border-mid);border-right:1px solid var(--border-mid);transform:rotate(45deg); }
.fab-call.show-call-hint .call-hint,.fab-call:hover .call-hint,.fab-call:focus-visible .call-hint { opacity:1;visibility:visible;transform:none; }
.fab-call[hidden] .call-hint { display:none; }
.dk-header:has(.nav-right.open) ~ .fab-call { visibility:hidden;pointer-events:none; }
@media(max-width:1180px){
 .dk-header .nav-inner{min-height:74px;padding:.7rem 1rem;gap:1rem}
 .dk-header .nav-right{gap:.9rem;position:relative}
 .dk-header .mobile-toggle{display:inline-flex;width:44px;height:44px;border-radius:8px;background:transparent}
 .dk-header .nav-menu{display:none}
 .dk-header .nav-right.open .nav-menu{display:flex;flex-direction:column;align-items:stretch;position:absolute;right:0;top:calc(100% + 1rem);width:min(380px,calc(100vw - 2rem));padding:1rem;gap:.9rem;overflow:auto;overscroll-behavior:contain;border-radius:12px}
 .dk-header .nav-right.open .nav-links{display:flex;flex-direction:column;align-items:stretch;gap:.2rem}
 .dk-header .nav-links > a,.nav-dropdown > summary{width:100%;min-height:46px;justify-content:space-between;padding:.75rem;font-size:.95rem}
 .nav-dropdown-panel{position:static;top:auto;left:auto;width:100%;padding:.2rem .2rem .6rem;border:0;border-radius:0;box-shadow:none;background:var(--accent-subtle)}
 .nav-panel-label{padding:.7rem .7rem .3rem}
 .dk-header .nav-dropdown-panel a{padding:.75rem;min-height:65px}
 .dk-header .nav-right.open .nav-cta{padding-top:.8rem;margin:0;border-top:1px solid var(--border)}
 .dk-header .header-call{width:100%;justify-content:center}
}
@media(max-width:600px){.dk-header .brand{gap:.5rem}.dk-header .brand-text strong{font-size:.73rem}.dk-header .brand-text span{font-size:.58rem}.dk-header .brand-logo img{width:34px;height:34px}.dk-header .brand-logo{padding:2px}.dk-header .nav-right{gap:.65rem}.dk-header .nav-inner{gap:.5rem}.call-hint{font-size:.82rem;padding:.65rem .8rem}}
@media(max-width:380px){.dk-header .brand{flex-shrink:1;min-width:0}.dk-header .brand-logo{width:38px;height:38px;flex:0 0 38px}.dk-header .brand-text{min-width:0}.dk-header .brand-text strong{font-size:.65rem;letter-spacing:.025em}.dk-header .brand-text span{display:none}.dk-header .nav-right{gap:.5rem}}
@media(prefers-reduced-motion:reduce){.call-hint,.menu-strokes i,.nav-dropdown > summary svg{transition:none}.fab-call:not(:hover):not(:focus-visible) .call-hint{opacity:0;visibility:hidden}}
