/* === Sky Archive – shared site stylesheet (save as assets/style.css) === */

/* -- Color & sizing tokens -- */
:root{
  --accent:#ff6b3d;
  --bg:#ffffff;
  --txt:#1a1a1a;
  --txt-light:#555;
  --radius:14px;
  --max-width:1180px;
}

/* -- Resets & base -- */
*{
  box-sizing:border-box;
  margin:0;
  padding:0;
  font-family:"Inter",sans-serif;
}
body{
  background:var(--bg);
  color:var(--txt);
  line-height:1.6;
}

/* ---------- Header / Navigation ---------- */
header{
  border-bottom:1px solid #eee;
  background:#fff;
  position:sticky;
  top:0;
  z-index:900;
}
.container{
  max-width:var(--max-width);
  margin:0 auto;
  padding:0 1rem;
}
nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:.8rem 0;
}
nav a.brand{
  font-weight:700;
  font-size:1.25rem;
  text-decoration:none;
  color:var(--txt);
}
nav ul{
  list-style:none;
  display:flex;
  gap:1.2rem;
}
nav ul li{position:relative;}
nav ul a{
  display:block;
  padding:.4rem .2rem;
  text-decoration:none;
  color:var(--txt-light);
  font-weight:500;
  transition:color .2s;
}
nav ul a:hover,
nav ul a.active{color:var(--accent);}
nav ul a::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:-6px;
  height:3px;
  background:var(--accent);
  opacity:0;
  transition:opacity .2s;
}
nav ul a:hover::after,
nav ul a.active::after{opacity:1;}

/* Mobile burger */
.menu-toggle{
  display:none;
  flex-direction:column;
  gap:4px;
  cursor:pointer;
}
.menu-toggle span{
  width:22px;
  height:2px;
  background:var(--txt);
  border-radius:2px;
}
@media(max-width:720px){
  nav ul{
    display:none;
    flex-direction:column;
    background:#fff;
    border:1px solid #eee;
    position:absolute;
    right:1rem;
    top:64px;
    border-radius:var(--radius);
  }
  nav ul a{padding:.9rem 1rem;}
  nav ul.show{display:flex;}
  .menu-toggle{display:flex;}
}

/* ---------- Hero ---------- */
.hero{
  padding:5rem 0 4rem;
  text-align:center;
}
.hero h1{
  font-size:2.5rem;
  font-weight:700;
  margin-bottom:1.2rem;
}
.hero p{
  font-size:1.125rem;
  color:var(--txt-light);
  max-width:640px;
  margin:0 auto 2rem;
}
.actions{
  display:flex;
  gap:1rem;
  justify-content:center;
  flex-wrap:wrap;
}
.btn{
  display:inline-block;
  padding:.9rem 2.4rem;
  background:var(--accent);
  color:#fff;
  border-radius:var(--radius);
  text-decoration:none;
  font-weight:600;
  transition:background .2s;
}
.btn.secondary{
  background:#f1f1f1;
  color:var(--txt);
}
.btn:hover{background:#e45c32;}

/* ---------- Sections ---------- */
section{padding:4rem 0;}
section h2{
  text-align:center;
  font-size:1.9rem;
  margin-bottom:.8rem;
}
section>p.lead{
  text-align:center;
  max-width:700px;
  margin:0 auto 2.2rem;
  color:var(--txt-light);
}

/* ---------- Floating device showcase ---------- */
.float-wrap{
  display:flex;
  align-items:center;
  gap:3rem;
  flex-wrap:wrap;
}
.float-text{flex:1;min-width:260px;}
.float-img{
  flex:1;
  max-width:420px;
  width:100%;
  position:sticky;
  top:18vh;
  animation:float 8s ease-in-out infinite alternate;
}
@keyframes float{
  0%{transform:translateY(-6px);}
  100%{transform:translateY(6px);}
}
@media(max-width:720px){
  .float-wrap{flex-direction:column;text-align:center;}
  .float-img{position:static;animation:none;margin-bottom:1rem;}
}

/* ---------- Grid & Cards ---------- */
.grid{display:grid;gap:2rem;}
.grid-3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));}
.grid-2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));}

.card{
  border:1px solid #eee;
  border-radius:var(--radius);
  padding:1.6rem;
  background:#fafafa;
  text-align:left;
}
.card h3{
  margin-bottom:.5rem;
  font-size:1.2rem;
}
.card p{
  color:var(--txt-light);
  font-size:.95rem;
}

/* ---------- Tables ---------- */
table{
  width:100%;
  border-collapse:collapse;
  margin-top:1.5rem;
}
th,td{
  padding:.85rem .6rem;
  border-bottom:1px solid #eee;
  text-align:left;
  font-size:.95rem;
}
th{
  background:#f8f8f8;
  font-weight:600;
}
.check{
  color:var(--accent);
  font-weight:700;
}
.x{
  color:#c4c4c4;
  font-weight:700;
}

/* ---------- FAQ details ---------- */
details{
  margin-bottom:1rem;
  border:1px solid #eee;
  border-radius:var(--radius);
  padding:1rem;
  background:#fafafa;
}
summary{
  cursor:pointer;
  font-weight:600;
  list-style:none;
}
summary::marker{color:var(--accent);}
details p{
  margin-top:.7rem;
  color:var(--txt-light);
}

/* ---------- Footer ---------- */
footer{
  text-align:center;
  padding:2rem 0;
  border-top:1px solid #eee;
  font-size:.9rem;
  color:var(--txt-light);
}