/* Brent Minor — Portfolio one-pager */
/* Sections: Orbital Drip, Design, Photoshop, Video, Contact */
/* Fixed-width centered wrapper and external CSS per rubric */

:root{
  --ink:#0b1020;
  --bg:#0a0f1c;
  --card:#121a2d;
  --ring:#c2c8ff;
  --accent:#a2b1ff;
  --white:#ffffff;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background: radial-gradient(1200px 800px at 20% 10%, #0f1630 0%, var(--bg) 45%, #060912 100%);
  color:var(--white);
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  line-height:1.6;
}

#wrapper{
  width:1100px;
  max-width:95vw;
  margin:0 auto;
}

.nav{
  position:sticky;
  top:0;
  display:flex;
  gap:1rem;
  align-items:center;
  padding:0.75rem 1rem;
  background: rgba(10,15,28,0.85);
  backdrop-filter: blur(6px);
  border-bottom:1px solid rgba(255,255,255,0.08);
  z-index:10;
}
.nav a{
  color:var(--white);
  text-decoration:none;
  font-weight:600;
  padding:.35rem .6rem;
  border-radius:999px;
}
.nav a:hover{outline:1px solid rgba(255,255,255,.2)}
.nav .brand{
  font-family: Montserrat, sans-serif;
  font-weight:800;
  letter-spacing:.5px;
  margin-right:auto;
}

.hero{
  display:grid;
  place-items:center;
  text-align:center;
  min-height:52vh;
  padding:6rem 1rem 3rem;
  background:
    radial-gradient(600px 600px at 85% 20%, rgba(162,177,255,.15), transparent 70%),
    radial-gradient(600px 600px at 10% 80%, rgba(162,177,255,.10), transparent 70%);
}
.hero h1{
  font-family: Montserrat, sans-serif;
  font-size: clamp(2.4rem, 6vw, 4rem);
  margin:.2rem 0 .4rem;
}
.hero p{max-width:60ch; opacity:.9}
.cta-row{display:flex; gap:.6rem; flex-wrap:wrap; justify-content:center}
.btn{
  display:inline-block;
  margin-top:1rem;
  padding:.7rem 1rem;
  border-radius:10px;
  background:linear-gradient(90deg, var(--accent), #d7ddff);
  color:#101428;
  text-decoration:none;
  font-weight:700;
  border:none;
  cursor:pointer;
}
.btn.ghost{
  background:transparent;
  color:#d7ddff;
  outline:1px solid rgba(255,255,255,.25);
}

.section{padding:4rem 1rem 3.5rem}
.section h2{
  font-family: Montserrat, sans-serif;
  font-size: clamp(1.6rem, 5vw, 2.2rem);
  margin:.5rem 0 1rem;
}
.section p{max-width:70ch}

.gallery{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap:1rem;
  margin:1.2rem 0 0;
}
@media (max-width: 900px){ .gallery{grid-template-columns: repeat(2, 1fr);} }
@media (max-width: 520px){ .gallery{grid-template-columns: 1fr;} }

figure{
  margin:0;
  background:var(--card);
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px;
  overflow:hidden;
}
figure img{width:100%; display:block; aspect-ratio: 4/3; object-fit: cover; border-bottom:1px solid rgba(255,255,255,.08)}
figcaption{padding:.6rem .8rem; font-size:.95rem; opacity:.95}

.video-wrap{
  position:relative; padding-top: 56.25%; border-radius: 12px; overflow: hidden; border:1px solid rgba(255,255,255,.1);
  background: #0b1020;
}
.video-wrap iframe{
  position:absolute; inset:0; width:100%; height:100%;
}

.contact-form{
  display:grid;
  gap:.6rem;
  max-width:620px;
}
.contact-form input, .contact-form textarea{
  background:#0b1226;
  color:var(--white);
  border:1px solid rgba(255,255,255,.15);
  border-radius:10px;
  padding:.7rem .9rem;
  font:inherit;
}
.contact-form input:focus, .contact-form textarea:focus{outline:2px solid var(--ring)}

.backtop{margin-top:1.2rem}
.backtop a{color:#d7ddff; text-decoration:none}
.backtop a:hover{text-decoration:underline}

.external{opacity:.85}
.footer{padding:2rem 1rem 4rem; text-align:center; opacity:.8; font-size:.95rem}
