/* HANAN Innovation Lab — Signal Systems v1.0 */
@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=Space+Grotesk:wght@400;500;700&display=swap');
:root {
  --hanan-black: #090B10; --hanan-yellow: #FFD600; --hanan-blue: #365CFF;
  --hanan-white: #F5F7FC; --hanan-graphite: #202632; --hanan-steel: #A5AFC1;
  --font-display: 'Space Grotesk', 'Arial', sans-serif;
  --font-technical: 'IBM Plex Mono', 'Consolas', monospace;
  --color-bg: var(--hanan-black); --color-text: var(--hanan-white);
  --content-width: 1200px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--color-bg);color:var(--color-text);font:400 16px/1.55 var(--font-display)}
::selection{background:var(--hanan-yellow);color:var(--hanan-black)}
a{color:inherit;text-underline-offset:.2em} a:hover{color:var(--hanan-yellow)}
.hanan-container{width:min(calc(100% - 3rem),var(--content-width));margin-inline:auto}
.hanan-header{display:flex;justify-content:space-between;align-items:center;padding-block:1.5rem;border-bottom:1px solid #344052}
.hanan-lockup{display:inline-flex;align-items:center;gap:1rem;text-decoration:none}
.hanan-lockup img{width:54px;height:54px;object-fit:contain}
.hanan-lockup__words{display:flex;flex-direction:column;line-height:1.05}
.hanan-lockup__name{font:700 1.5rem/1 var(--font-display);letter-spacing:.08em}
.hanan-lockup__descriptor{font:500 .55rem/1.5 var(--font-technical);letter-spacing:.16em;margin-top:.4rem}
.hanan-kicker,.hanan-metadata{font:500 .72rem/1.5 var(--font-technical);letter-spacing:.08em;text-transform:uppercase}
.hanan-kicker{color:var(--hanan-yellow)} .hanan-metadata{color:var(--hanan-steel)}
.hanan-hero{padding-block:clamp(5rem,13vw,11rem)}
.hanan-hero h1{font:700 clamp(3.2rem,8vw,7rem)/.97 var(--font-display);letter-spacing:-.04em;text-transform:uppercase;max-width:13ch;margin:1.4rem 0}
.hanan-hero h1 em{font-style:normal;color:var(--hanan-yellow)}
.hanan-lead{font-size:clamp(1.05rem,2vw,1.4rem);max-width:60ch;color:#D2D9E7}
.hanan-button{display:inline-flex;align-items:center;min-height:48px;padding:.8rem 1.35rem;background:var(--hanan-yellow);color:var(--hanan-black);font:700 .9rem var(--font-display);text-decoration:none;border:2px solid var(--hanan-yellow);margin-top:1.5rem}
.hanan-button:hover{background:transparent;color:var(--hanan-yellow)}
.hanan-section{padding-block:5rem;border-top:1px solid #343A49}
.hanan-section h2{font:500 clamp(2rem,4.3vw,3.5rem)/1.05 var(--font-display);letter-spacing:-.03em}
.hanan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.hanan-card{background:var(--hanan-graphite);padding:2rem;min-height:220px}
.hanan-card__number{color:var(--hanan-yellow);font:500 .8rem var(--font-technical)}
.hanan-card h3{font-size:1.45rem;line-height:1.2}
.hanan-card p{color:#C7CFDF}
.hanan-signal{background:var(--hanan-yellow);color:var(--hanan-black)}
.hanan-digital{background:var(--hanan-blue);color:white}
.hanan-light{background:var(--hanan-white);color:var(--hanan-black)}
.hanan-signal .hanan-kicker,.hanan-light .hanan-kicker{color:var(--hanan-black)}
.hanan-divider{height:4px;background:linear-gradient(90deg,var(--hanan-yellow) 0 67%,var(--hanan-blue) 67% 100%)}
/* Aim for: black 50%, white 25%, graphite 13%, yellow 8%, blue 4% across corporate compositions. */
/* Accessibility: black-on-yellow, white-on-blue, white-on-black. Test contrast per component. */
@media(max-width:720px){.hanan-container{width:min(calc(100% - 2rem),var(--content-width))}.hanan-grid{grid-template-columns:1fr}.hanan-lockup__name{font-size:1.2rem}.hanan-lockup img{width:44px;height:44px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
