.homePage { min-height: 100vh; overflow: clip; }
.homePage .siteShell { position: relative; }
.homeMain { position: relative; z-index: 1; max-width: 1560px; margin: 0 auto; padding: clamp(36px,6vw,90px) clamp(20px,4vw,48px) 32px; }
.homeHero { text-align: center; }
.homeHero h1 { margin: 0; font: 700 clamp(4rem,10vw,8.4rem)/.9 "Fraunces",Georgia,serif; letter-spacing: -.08em; }
.homeDivider { width: 64px; height: 2px; margin: 24px auto 30px; background: var(--accent); box-shadow: 0 0 22px var(--accent); }
.homeSearch { width: min(880px,100%); margin: 0 auto 56px; }
.homeSearchField { display: flex; align-items: center; gap: 12px; min-height: 58px; padding: 8px 12px 8px 18px; border: 1px solid var(--line-strong); border-radius: 14px; background: rgba(21,28,36,.9); box-shadow: var(--shadow); }
.homeSearchField:focus-within { border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-soft),var(--shadow); }
.homeSearchField svg { width: 24px; height: 24px; color: var(--muted-strong); flex: none; }
.homeSearchField input { width: 100%; border: 0; outline: 0; background: transparent; color: var(--ink); font: 400 .95rem/1.35 "Spline Sans Mono",ui-monospace,monospace; }
.homeSearchField kbd { border-radius: 6px; padding: 5px 8px; background: rgba(255,255,255,.07); color: var(--muted-strong); white-space: nowrap; font: 600 .72rem/1 "Spline Sans Mono",ui-monospace,monospace; }
#search-status { min-height: 1.4em; margin: 9px 2px 0; color: var(--muted); font-size: .84rem; }
#search-results { display: grid; gap: 8px; max-height: 390px; margin: 10px 0 0; padding: 0; overflow: auto; list-style: none; }
.searchResult { display: grid; grid-template-columns: 32px minmax(0,1fr) auto; gap: 12px; align-items: center; padding: 12px 14px; border: 1px solid var(--line); border-radius: 10px; background: rgba(21,28,36,.94); color: inherit; text-decoration: none; }
.searchResult:hover, .searchResult:focus-visible { border-color: var(--accent); background: rgba(143,180,255,.09); outline: 2px solid transparent; }
.searchResult svg { width: 22px; height: 22px; color: var(--accent); }
.searchResultTitle { display: block; font-weight: 700; }.searchResultDetail { display: block; margin-top: 3px; color: var(--muted); font-size: .84rem; }.searchResultType { color: var(--muted); font: 600 .7rem/1 "Spline Sans Mono",ui-monospace,monospace; text-transform: uppercase; }
.homeTiles { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 24px; }
.homeTile { display: flex; min-width: 0; min-height: 220px; flex-direction: column; padding: 24px; border: 1px solid var(--line); border-radius: 12px; background: linear-gradient(145deg,rgba(21,28,36,.96),rgba(14,19,26,.88)); box-shadow: 0 18px 35px rgba(0,0,0,.18); color: var(--ink); text-decoration: none; transition: transform 160ms ease,border-color 160ms ease,background 160ms ease; }
.homeTile:hover, .homeTile:focus-visible { transform: translateY(-4px); border-color: color-mix(in srgb,var(--tile-color) 70%,white); background: rgba(26,34,44,.96); outline: 2px solid var(--tile-color); outline-offset: 3px; }
.homeTileIcon { width: 42px; height: 42px; color: var(--tile-color); }.homeTile h2 { margin: auto 0 8px; font: 700 1.25rem/1.1 "IBM Plex Sans",sans-serif; }.homeTile p { margin: 0; color: var(--muted); line-height: 1.55; }.homeTileArrow { width: 23px; height: 23px; margin-top: 20px; color: var(--muted-strong); }
.tileSubnet { --tile-color:#8ccfff; }.tileMac { --tile-color:#bf92ef; }.tilePowerShell { --tile-color:#85d6a2; }.tilePort { --tile-color:#efaa73; }.tileGear { --tile-color:#ed8989; }
@media (max-width:1599px) { .homeTiles { grid-template-columns:repeat(3,minmax(0,1fr)); } }.homeTile:nth-child(4),.homeTile:nth-child(5) { } @media (max-width:1099px) { .homeTiles { grid-template-columns:repeat(2,minmax(0,1fr)); } } @media (max-width:640px) { .homeMain { padding-top: 42px; }.homeHero h1 { font-size: clamp(3.6rem,19vw,5.7rem); }.homeSearch { margin-bottom: 36px; }.homeTiles { grid-template-columns:1fr; gap:16px; }.homeTile { min-height:190px; }.homePage .quoteArtifact { grid-template-columns:1fr 32px; } }
@media (prefers-reduced-motion: reduce) { .homeTile { transition:none; }.homeTile:hover { transform:none; } }
