/* ============================================================
   KYN BIO — global shared shell (header + footer + tokens)
   Loaded on every non-homepage so the whole site matches the
   hand-coded homepage. Elementor's own header/footer are hidden.
   ============================================================ */
:root{
  --bg:#0A0D14;--bg2:#0b0e1a;--card:#131825;--line:#23304a;--line-soft:#1a2233;
  --accent:#FF7A45;--accent-soft:#ff9166;--green:#34d399;
  --ink:#F0F2F5;--sub:#9BA3B5;--dim:#6b7688;
  --mono:'Space Mono',ui-monospace,monospace;--display:'Space Grotesk',sans-serif;--body:'Inter',-apple-system,sans-serif;
  --maxw:1720px;--gutter:clamp(16px,3vw,44px);
}
.kyn-wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}

/* hide Elementor's header + footer; ours replace them */
.elementor-location-header,.elementor-location-footer{display:none!important}

/* ---------- shared header ---------- */
.kyn-header{position:sticky;top:0;z-index:9000;background:rgba(10,13,20,.72);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--line-soft);font-family:var(--body)}
.kyn-header *{box-sizing:border-box}
.kyn-header-in{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:12px}
.kyn-brand{display:flex;align-items:center;gap:10px;font-family:var(--display);font-weight:700;font-size:1.35rem;letter-spacing:.02em;text-decoration:none}
.kyn-brand b{color:var(--accent);font-weight:700}
.kyn-brand i{font-style:italic;font-weight:600;color:var(--ink);font-size:.85em}
.kyn-brand .mol{width:22px;height:22px;opacity:.6}
.kyn-nav{display:flex;align-items:center;gap:4px}
.kyn-nav-item{position:relative}
.kyn-nav-link{font-family:var(--display);font-weight:600;font-size:.92rem;color:var(--sub);background:none;border:0;cursor:pointer;padding:9px 15px;border-radius:9px;display:inline-flex;align-items:center;gap:6px;transition:color .15s,background .15s;text-decoration:none;line-height:1}
.kyn-nav-link:hover{color:var(--ink);background:rgba(255,255,255,.04)}
.kyn-nav-cta{background:var(--accent)!important;color:#0A0D14!important;font-weight:700;padding:10px 20px;margin-left:8px;border-radius:10px}
.kyn-nav-cta:hover{background:var(--accent-soft)!important}
.kyn-chev{width:12px;height:12px;transition:transform .22s}
.kyn-has-drop .kyn-drop{position:absolute;top:calc(100% + 16px);left:50%;transform:translateX(-50%) translateY(-8px);min-width:480px;background:rgba(14,19,30,.97);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--line);border-radius:18px;padding:14px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s,transform .22s;box-shadow:0 28px 70px rgba(0,0,0,.55);z-index:60}
.kyn-has-drop .kyn-drop::before{content:"";position:absolute;top:-18px;left:0;right:0;height:18px}
.kyn-has-drop:hover .kyn-drop,.kyn-has-drop:focus-within .kyn-drop,.kyn-has-drop.open .kyn-drop{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0)}
.kyn-has-drop:hover .kyn-chev,.kyn-has-drop.open .kyn-chev{transform:rotate(180deg)}
.kyn-drop-inner{display:grid;grid-template-columns:1fr 1fr;gap:4px}
.kyn-drop-link{display:flex;flex-direction:column;gap:3px;padding:13px 16px;border-radius:12px;transition:background .15s;text-decoration:none}
.kyn-drop-link:hover{background:rgba(255,122,69,.09)}
.kyn-dl-title{font-family:var(--display);font-weight:600;color:var(--ink);font-size:.95rem}
.kyn-dl-desc{font-size:.8rem;color:var(--sub);line-height:1.4}
.kyn-burger{display:none;background:none;border:0;cursor:pointer;padding:8px}
.kyn-burger span{display:block;width:24px;height:2px;background:var(--ink);margin:5px 0;border-radius:2px}

/* ---------- shared footer ---------- */
.kyn-footer{background:#070a10;border-top:1px solid var(--line-soft);padding-top:3.5rem;font-family:var(--body);margin-top:3rem}
.kyn-foot-grid{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter);display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:36px;padding-bottom:2.6rem}
.kyn-foot-brand .kyn-brand{margin-bottom:12px}
.kyn-foot-brand p{color:var(--sub);font-size:.88rem;max-width:34ch;margin:0}
.kyn-foot-brand .ruo{color:var(--dim);font-size:.82rem;margin-top:8px}
.kyn-foot-col h4{font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0 0 14px}
.kyn-foot-col a{display:block;color:var(--sub);font-size:.9rem;padding:5px 0;transition:color .15s;text-decoration:none}
.kyn-foot-col a:hover{color:var(--ink)}
.kyn-foot-bottom{border-top:1px solid var(--line-soft);padding-block:22px;text-align:center}
.kyn-foot-bottom p{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter);color:var(--dim);font-size:.78rem;line-height:1.7}
.kyn-foot-bottom a{color:var(--accent)}

@media(max-width:900px){
  .kyn-nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:var(--bg);border-bottom:1px solid var(--line);padding:8px var(--gutter) 20px}
  .kyn-nav.open{display:flex}
  .kyn-nav-link{padding:13px 0;font-size:1.05rem;justify-content:space-between;width:100%}
  .kyn-nav-cta{margin-left:0;margin-top:10px;justify-content:center}
  .kyn-nav-item{width:100%}
  .kyn-has-drop .kyn-drop{position:static;transform:none;opacity:1;visibility:visible;pointer-events:auto;min-width:0;background:none;border:0;box-shadow:none;padding:0 0 6px;backdrop-filter:none;display:none}
  .kyn-has-drop.open .kyn-drop{display:block}
  .kyn-drop-inner{grid-template-columns:1fr}
  .kyn-burger{display:block}
  .kyn-foot-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){.kyn-foot-grid{grid-template-columns:1fr}}
