/* conditionalaccess.tech — Jon Hope
   Shared styles for index.html + about.html
   Palette: navy #0a1628 / panel #0d2137 / teal #00b8b0 / muted #7a9bb5 */

*{box-sizing:border-box;}
html,body{margin:0;padding:0;scroll-behavior:smooth;}
body{
  background:radial-gradient(ellipse 55% 45% at 78% 8%, rgba(26,127,122,0.16) 0%, transparent 60%), #0a1628;
  color:#e8f0f8;
  font-family:'Segoe UI', system-ui, -apple-system, sans-serif;
  -webkit-font-smoothing:antialiased;
  min-height:100vh;
}
a{text-decoration:none;color:inherit;}
::selection{background:rgba(0,184,176,0.30);color:#e8f0f8;}
::-webkit-scrollbar{width:10px;height:10px;}
::-webkit-scrollbar-track{background:#0a1628;}
::-webkit-scrollbar-thumb{background:#1a7f7a;border-radius:5px;}

@keyframes fadeUp{from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:translateY(0);}}
.fade-up{animation:fadeUp 0.6s ease both;}
.fade-up-2{animation:fadeUp 0.7s ease both;}

/* ---- nav ---- */
.navlink{
  font-family:inherit;font-size:0.88rem;font-weight:500;color:#7a9bb5;
  padding:8px 12px;border-radius:5px;
  transition:color 0.15s ease, background 0.15s ease;
}
.navlink:hover{color:#e8f0f8;background:rgba(0,184,176,0.06);}
.navlink.active{color:#00b8b0;font-weight:600;}
.navlink.active:hover{color:#00b8b0;}

.iconlink{
  display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:6px;
  color:#7a9bb5;border:1px solid rgba(0,184,176,0.14);
  transition:color 0.15s ease, border-color 0.15s ease;
}
.iconlink:hover{color:#00b8b0;border-color:rgba(0,184,176,0.4);}

/* ---- buttons ---- */
.btn-primary{
  display:inline-flex;align-items:center;gap:8px;font-family:inherit;font-size:0.92rem;font-weight:600;
  color:#0a1628;background:#00b8b0;padding:13px 22px;border-radius:6px;border:none;cursor:pointer;
  transition:background 0.15s ease;
}
.btn-primary:hover{background:#1fd0c7;}
.btn-ghost{
  display:inline-flex;align-items:center;gap:8px;font-family:inherit;font-size:0.92rem;font-weight:600;
  color:#e8f0f8;background:transparent;border:1px solid rgba(0,184,176,0.28);padding:13px 22px;border-radius:6px;cursor:pointer;
  transition:border-color 0.15s ease, background 0.15s ease;
}
.btn-ghost:hover{border-color:rgba(0,184,176,0.6);background:rgba(0,184,176,0.06);}

/* ---- cards ---- */
.lift{transition:border-color 0.15s ease, transform 0.15s ease;}
.lift:hover{border-color:rgba(0,184,176,0.32);transform:translateY(-3px);}
.lift-strong{transition:border-color 0.15s ease, transform 0.15s ease;}
.lift-strong:hover{border-color:rgba(0,184,176,0.4);transform:translateY(-3px);}
.glow{transition:border-color 0.15s ease;}
.glow:hover{border-color:rgba(0,184,176,0.4);}
.rowlink{transition:border-color 0.15s ease, background 0.15s ease;}
.rowlink:hover{border-color:rgba(0,184,176,0.32);background:#112840;}

/* ---- text links ---- */
.tlink{transition:color 0.15s ease;}
.tlink:hover{color:#1fd0c7;}
.tlink-soft{transition:color 0.15s ease;}
.tlink-soft:hover{color:#00b8b0;}
.backlink{transition:color 0.15s ease;}
.backlink:hover{color:#00b8b0;}

/* ---- mobile nav ---- */
.nav-hamburger{
  display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;
  width:38px;height:38px;background:none;border:none;cursor:pointer;
  border-radius:6px;color:#7a9bb5;padding:0;flex-shrink:0;
}
.nav-hamburger:hover{color:#e8f0f8;}
.nav-hamburger span{
  display:block;width:20px;height:1.5px;background:currentColor;border-radius:2px;
  transition:transform 0.22s ease,opacity 0.18s ease;
}
.nav-hamburger.is-open span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
.nav-hamburger.is-open span:nth-child(2){opacity:0;}
.nav-hamburger.is-open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}
.mobile-menu{
  display:none;position:fixed;top:64px;left:0;right:0;z-index:190;
  background:rgba(8,18,34,0.98);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(0,184,176,0.15);
  padding:14px 20px 20px;flex-direction:column;
}
.mobile-menu.is-open{display:flex;}
.mobile-menu .navlink{
  font-size:1rem;font-weight:500;padding:13px 12px;border-radius:6px;display:block;color:#b8ccd8;
}
.mobile-menu .navlink:hover,.mobile-menu .navlink.active{color:#00b8b0;background:rgba(0,184,176,0.07);}
.mobile-menu-divider{height:1px;background:rgba(0,184,176,0.10);margin:6px 0;}
.mobile-menu-icons{display:flex;gap:10px;padding:8px 10px 0;}

/* ---- responsive ---- */
@media(max-width:880px){
  .hero-grid,.about-grid,.mvp-grid,.writing-grid{grid-template-columns:1fr !important;}
  .focus-grid,.tools-grid,.cert-grid{grid-template-columns:1fr 1fr !important;}
  .appear-grid{grid-template-columns:1fr !important;}
  .entra-stats{gap:22px !important;}
}
@media(max-width:700px){
  .nav-hamburger{display:flex;}
  .nav-links{display:none !important;}
  .nav-inner{padding:0 18px !important;}
}
@media(max-width:640px){
  .focus-grid,.tools-grid,.cert-grid{grid-template-columns:1fr !important;}
  main section{padding-left:18px !important;padding-right:18px !important;}
  main footer{padding-left:18px !important;padding-right:18px !important;}
  main section > div[style*="max-width"]{padding-left:18px !important;padding-right:18px !important;}
  .hero-grid{padding-top:60px !important;padding-bottom:48px !important;}
  .about-grid{gap:32px !important;}
  .mvp-grid{padding:28px 20px !important;}
  .flagship-card{grid-template-columns:1fr !important;}
  .flagship-stats{display:none !important;}
  .art-grid{grid-template-columns:1fr !important;}
  .entra-news-hl{padding:28px 22px !important;}
  #feature-list .rowlink > span:nth-child(2){display:none !important;}
  #feature-list .rowlink > span:nth-child(4){display:none !important;}
}
