/* Public landing page (/) — centered icon column + cyberpunk boot-in.
   Loaded after chrome.css; .cyber-bg / .cyber-scan come from chrome.css
   (top layer, screen blend). */

body{display:flex!important;align-items:center;justify-content:center;
  min-height:100vh;overflow:hidden;position:relative;}

/* nav grid — two columns of [icon+label] | [gibson blurb], left-aligned, block
   centered in the viewport. Two columns keep all seven sections on screen
   without the column overflowing the viewport height (body is overflow:hidden).
   grid-auto-rows:1fr forces every row to the tallest one's height, so the icons
   sit at a uniform vertical pitch no matter how many lines each blurb wraps to.
   Collapses to one column on narrow screens (media query at file end). */
.exec-nav.landing-nav{position:relative;z-index: var(--z-raised);left:auto;right:auto;bottom:auto;
  width:auto;max-width:min(920px,94vw);
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  grid-auto-rows:1fr;justify-items:start;gap: var(--space-4) var(--space-10);
  padding:0;background:none;border:none;backdrop-filter:none;}

.exec-nav.landing-nav a{max-width:none;flex-direction:row;
  align-items:center;gap: var(--space-7);text-align:left;
  opacity:0;animation: cyber-bootin 0.6s ease forwards;}
.exec-nav.landing-nav a:nth-child(1){animation-delay:0.15s}
.exec-nav.landing-nav a:nth-child(2){animation-delay:0.30s}
.exec-nav.landing-nav a:nth-child(3){animation-delay:0.45s}
.exec-nav.landing-nav a:nth-child(4){animation-delay:0.60s}
.exec-nav.landing-nav a:nth-child(5){animation-delay:0.75s}
.exec-nav.landing-nav a:nth-child(6){animation-delay:0.90s}
.exec-nav.landing-nav a:nth-child(7){animation-delay:1.05s}

@keyframes cyber-bootin{from{opacity:0;transform:translateY(12px);filter: blur(var(--blur-sm))}
  to{opacity:1;transform:none;filter:none}}

/* left cell: icon stacked over label, fixed width so blurbs share a margin */
.exec-nav.landing-nav .landing-link{display:flex;flex-direction:column;
  align-items:center;gap: var(--space-2);width:64px;flex:0 0 auto;}

.exec-nav.landing-nav a img{width:34px!important;height:34px!important;
  transition:transform 0.2s;}
.exec-nav.landing-nav a:hover img{transform:scale(1.12);}

.exec-nav.landing-nav .nav-label{color:hsl(var(--green-hsl) / 0.45);
  text-shadow:0 0 6px hsl(var(--green-hsl) / 0.45);}

.exec-nav.landing-nav a:hover .nav-label{color:hsl(var(--green-hsl));
  text-shadow:0 0 10px hsl(var(--green-hsl) / 0.8);}

/* right cell: gibson blurb stacked over the librarian description */
.exec-nav.landing-nav .landing-copy{display:flex;flex-direction:column;gap: var(--space-1-5);
  flex:1 1 auto;max-width:34ch;}

/* line 1 — gibson register: bright + glowing, atmospheric */
.exec-nav.landing-nav .landing-blurb{font-family: var(--font-mono);
  font-size: var(--fs-sm);line-height: var(--lh-snug);letter-spacing: var(--tracking-wide);
  color:hsl(var(--green-hsl) / 0.8);text-shadow:0 0 5px hsl(var(--green-hsl) / 0.45);
  transition:color 0.2s,text-shadow 0.2s;}

/* line 2 — librarian register: smaller, dimmer, flat, no glow */
.exec-nav.landing-nav .landing-sub{font-family: var(--font-mono);
  font-size: var(--fs-sm);line-height: var(--lh-snug);color:hsl(var(--green-hsl) / 0.45);
  transition:color 0.2s;}

.exec-nav.landing-nav a:hover .landing-blurb{color:hsl(var(--green-hsl));
  text-shadow:0 0 8px hsl(var(--green-hsl) / 0.8);}

.exec-nav.landing-nav a:hover .landing-sub{color:hsl(var(--green-hsl) / 0.8);}

/* admin */
.landing-admin{position:fixed;bottom:18px;right:20px;z-index: var(--z-raised);
  font-family: var(--font-pixel);font-size: var(--fs-2xs);text-transform:uppercase;
  letter-spacing: var(--tracking-wide);text-decoration:none;color:hsl(var(--green-hsl) / 0.45);
  transition:color 0.2s,text-shadow 0.2s;}
.landing-admin:hover{color:hsl(var(--green-hsl));text-shadow:0 0 8px hsl(var(--green-hsl) / 0.45);}

/* narrow screens: one column (two side-by-side icon+blurb rows won't fit) */
@media (width < 640px){
  .exec-nav.landing-nav{grid-template-columns:1fr;max-width:min(540px,92vw);}
}

@media (prefers-reduced-motion: reduce){
  .cyber-bg,.cyber-scan,.exec-nav.landing-nav a,.exec-nav.landing-nav a img{animation:none!important}
  .exec-nav.landing-nav a{opacity:1}}
