/* Robert P. Rosenbaum responsive portfolio site */

:root {
  --bg:#050809;
  --panel:#0b1215;
  --panel-2:#071013;
  --text:#f4f7f7;
  --muted:#aab8b9;
  --teal:#8de9ef;
  --teal-soft:rgba(141,233,239,.18);
  --line:rgba(255,255,255,.15);
  --max:1180px;
  --shadow:0 25px 80px rgba(0,0,0,.65);
}

* {
  box-sizing:border-box;
  margin:0;
  padding:0;
}

html {
  scroll-behavior:smooth;
}

body {
 background:black;
}

img {
  max-width:100%;
  display:block;
}

a {
  color:inherit;
  text-decoration:none;
}

 .fixed-top {
  position: fixed;
  z-index:100;
  top: 0;
  left: 0;
  width: 100%;
 }
 
.site-header {
  position:fixed;
  max-width:1200px;
  margin:auto;
  inset:0 0 auto 0;
  min-height:86px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:18px clamp(18px,5vw,70px);
  background:linear-gradient(180deg,rgba(0,0,0,.86),rgba(0,0,0,.42),transparent);
  backdrop-filter:blur(6px);
}

.container{
  max-width:1200px;
  margin:auto;
  font-family:"Helvetica Neue",Arial,sans-serif;
  background:var(--bg);
  color:var(--text);
  line-height:1.55;
}


.brand {
  letter-spacing:.32em;
  font-size:.9rem;
  font-weight:700;
  text-transform:uppercase;
}

.brand span {
  display:block;
  margin-top:5px;
  letter-spacing:.14em;
  font-size:.72rem;
  font-weight:400;
  color:var(--muted);
  text-transform:none;
}

.nav-toggle {
  display:none;
}

.site-nav {
  display:flex;
  gap:clamp(14px,2.1vw,30px);
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.18em;
}

.site-nav a {
  opacity:.82;
  transition:.2s ease;
}

.site-nav a:hover,.site-nav a.active {
  opacity:1;
  color:var(--teal);
}

main {
/*  min-height:100vh; */
  padding-bottom:6em;
}

.myname {
  display:inline-block;
}

img.myname{
    height:50px;
}

.hero {
 /* min-height:100vh; */
  position:relative;
  top:5em;
  display:flex;
  align-items:center;
  padding:120px clamp(18px,5vw,70px);
  padding-top:4em;
  overflow:hidden;
}

.hero::before {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,#030506 0%,rgba(3,5,6,.9) 25%,rgba(3,5,6,.54) 56%,rgba(3,5,6,.08) 100%),url("../images/reverb-poster-bkg.jpg") right center/50% no-repeat;
  opacity:.9;
}

.hero::after,.texture:after {
  content:"";
  position:absolute;
  inset:0;
  background:repeating-linear-gradient(0deg,rgba(255,255,255,.018),rgba(255,255,255,.018) 1px,transparent 1px,transparent 4px);
  pointer-events:none;
  mix-blend-mode:overlay;
}

.hero-content {
  position:relative;
  z-index:10;
  width:min(700px,100%);
}

.empty-hero {
 /* min-height:100vh; */
  position:relative;
  padding-top:5em;
  display:flex;
  align-items:center;
  overflow:hidden;
}

.eyebrow,.section-label {
  color:var(--teal);
  text-transform:uppercase;
  letter-spacing:.28em;
  font-size:.86rem;
}

.eyebrow {
  margin-bottom:28px;
}

.credit {
  margin-top:24px;
  color:var(--teal);
  text-transform:uppercase;
  letter-spacing:.34em;
  font-size:clamp(.78rem,1.5vw,1.05rem);
}

.vibe {
  margin-top:12px;
  color:rgba(255,255,255,.78);
  letter-spacing:.22em;
  text-transform:uppercase;
  font-size:.78rem;
}

.buttons {
  display:flex;
  flex-wrap:wrap;
  gap:16px;
  margin-top:10px;
}

.buttons a {
  color:rgb(40,120,120);
  text-decoration:none !important;
}

.btn {
  display:inline-flex;
  color:rgb(40,120,120);
  align-items:center;
  justify-content:center;
  min-width:168px;
  padding:14px 20px;
  border:1px solid var(--line);
  border-radius:4px;
  text-transform:uppercase;
  letter-spacing:.17em;
  font-size:.74rem;
  background:rgba(255,255,255,.04);
  transition:.22s ease;
}

.btn.primary {
  border-color:rgba(141,233,239,.55);
  background:var(--teal-soft);
  box-shadow:0 0 30px rgba(141,233,239,.15);
}

.btn:hover {
  transform:translateY(-2px);
  border-color:var(--teal);
  color:var(--teal);
}

.section {
  position:relative;
 z-index:30;
  padding:clamp(30px,2vw,40px) clamp(18px,5vw,70px);
}

.section-inner {
  max-width:var(--max);
  margin:0 auto;
}

.section-inner p{
  max-width:600px;
  color:rgba(255,255,255,.78);
  font-size:1.02rem;
  margin-bottom:.5em;
}

.section-inner a {
  color:rgb(40,120,120);
  text-decoration:underline;
}

.section-inner a:hover {
  color:rgb(80,220,220);
}

.feature-block {
  display:grid;
  grid-template-columns:minmax(240px,360px) 1fr;
  gap:clamp(32px,6vw,80px);
  align-items:center;
}

.feature-block.reverse {
  grid-template-columns:1fr minmax(240px,360px);
}

.feature-panel {
  background:radial-gradient(circle at 80% 50%,rgba(141,233,239,.1),transparent 34%),var(--panel);
  border-top:1px solid rgba(255,255,255,.06);
  border-bottom:1px solid rgba(255,255,255,.06);
}

.center-img img {
  margin:auto;
}

.poster-card img {
  width:100%;
  border-radius:3px;
  box-shadow:var(--shadow);
  aspect-ratio:2/3;
  object-fit:cover;
}

.poster-thumbnail img {
  width:100%;
  border-radius:3px;
  box-shadow:var(--shadow);
  aspect-ratio:2/3;
  object-fit:cover;
}
.text-card {
  max-width:620px;
}

h1 {
  font-size:clamp(3.2rem,9vw,8.4rem);
  color:canvastext;
  line-height:.86;
  letter-spacing:.04em;
  text-transform:uppercase;
  text-shadow:0 0 25px rgba(141,233,239,.40);
}

h2 {
  font-size:clamp(2rem,4vw,3rem);
  font-family: 'Arial', sans-serif;
  letter-spacing:.16em;
  font-weight:300;
  line-height:1;
  margin:16px 0 24px;
  text-transform:uppercase;
}

h3 {
  font-size:clamp(1.4rem,3vw,2rem);
  font-family: 'Arial', sans-serif;
  color:white;
  letter-spacing:.13em;
  line-height:1.05;
  margin:12px 0 20px;
/*  text-transform:uppercase; */
}

.accent {
  font-style: italic;
  font-size:clamp(1.2rem,2vw,1rem);
  font-family: 'Arial', sans-serif;
  color:white;
  letter-spacing:.13em;
  line-height:1.05;
  margin:12px 0 20px;
}

.rule {
  width:34px;
  height:1px;
  margin-top:1em;
  background:var(--teal);
  margin-bottom:26px;
  padding-bottom:2px;
}

.copy {
  max-width:600px;
  color:rgba(255,255,255,.78);
  font-size:1.02rem;
}

.meta-line {
  margin-top:16px;
  color:var(--teal);
  letter-spacing:.14em;
  text-transform:uppercase;
  font-size:.76rem;
}

.badge {
  margin-top:32px;
  display:inline-block;
  color:var(--teal);
  border:1px solid rgba(141,233,239,.36);
  padding:12px 16px;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-size:.7rem;
  background:rgba(0,0,0,.16);
}

.reel {
  position:relative;
  min-height:380px;
  display:grid;
  align-items:center;
  background:linear-gradient(90deg,rgba(5,8,9,.96),rgba(5,8,9,.62)),url("../images/cinema-reel-bg.png") center 58%/cover no-repeat;
}

.projects {
  background:var(--panel-2);
}

.projects-head {
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:20px;
  margin-bottom:34px;
}

.project-grid {
  display:grid;
  grid-template-columns:repeat(6,minmax(120px,1fr));
  gap:clamp(16px,2.4vw,30px);
}

.project-card {
  display:block;
  transition:.22s ease;
}

.project-card:hover {
  transform:translateY(-6px);
}

.project-thumb {
  aspect-ratio:2/3;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.1);
  background:linear-gradient(160deg,rgba(141,233,239,.12),transparent 45%),rgba(255,255,255,.04);
  box-shadow:0 18px 50px rgba(0,0,0,.35);
}

.project-thumb img {
  width:100%;
  height:100%;
  object-fit:cover;
}

.project-info {
  padding-top:14px;
  text-align:center;
}

.project-info strong {
  display:block;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:.75rem;
}

.project-info span {
  color:var(--muted);
  font-size:.78rem;
}

.page-hero {
  padding:150px clamp(18px,5vw,70px) 10px;
  background:radial-gradient(circle at 70% 0%,rgba(141,233,239,.14),transparent 36%),linear-gradient(180deg,#071013,#050809);
}

.page-hero .section-inner {
  max-width:var(--max);
}

.page-title {
  font-size:clamp(3rem,10vw,8rem);
  line-height:.92;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.two-col {
  display:grid;
  grid-template-columns:minmax(200px,60px) 1fr;
  gap:clamp(30px,5vw,70px);
}

.yt-video {
  aspect-ratio: 16 / 9;
 /* height:500px;
  max-width:640px; */
  padding:30px;
}

.simple-list {
  margin-top:22px;
  list-style:none;
  color:var(--muted);
}

.simple-list li {
  padding:10px 0;
  border-bottom:1px solid rgba(255,255,255,.08);
}

.socials {
  display:flex;
  gap:12px;
  margin-top:26px;
}

.socials a {
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border:1px solid rgba(141,233,239,.35);
  color:var(--teal);
  background:rgba(141,233,239,.5);
  border-radius:50%;
  transition:.2s ease;
}

.socials a:hover {
  transform:translateY(-2px);
  background:rgba(141,233,239,.18);
}

.socials svg,.socials img {
  width:21px;
  height:21px;
}

.site-footer {
  max-width:1200px;
  margin:auto;
  padding:1em clamp(18px,5vw,70px);
  color:rgba(255,255,255,.52);
  border-top:1px solid rgba(255,255,255,.08);
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  font-size:.78rem;
  background:#030506;
}

.site-footer .socials {
  margin-top:0;
}

.site-footer .socials a {
  width:32px;
  height:32px;
}

.form-field {
  display:block;
  margin-bottom:18px;
}

.form-field input,.form-field textarea {
  width:100%;
  margin-top:8px;
  padding:14px;
  background:#071013;
  border:1px solid rgba(255,255,255,.16);
  color:white;
}

.form-field textarea {
  min-height:150px;
}

 .fixed-bottom {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index:52;
 }
 

@media (max-width:1050px) {
  .project-grid {
    grid-template-columns:repeat(3,1fr);
  }

  .site-nav {
    gap:14px;
    letter-spacing:.12em;
  }

}

@media (max-width:820px) {
  .site-header {
    position:absolute;
    align-items:flex-start;
  }

  .nav-toggle {
    display:block;
    color:var(--text);
    border:1px solid rgba(255,255,255,.2);
    padding:9px 10px;
    border-radius:4px;
    background:rgba(0,0,0,.3);
    font-size:.8rem;
    letter-spacing:.12em;
    text-transform:uppercase;
  }

  .site-nav {
    position:absolute;
    top:74px;
    right:clamp(18px,5vw,70px);
    display:none;
    flex-direction:column;
    min-width:220px;
    padding:18px;
    background:rgba(5,8,9,.94);
    border:1px solid rgba(255,255,255,.12);
  }

  .site-header:focus-within .site-nav,.site-header:hover .site-nav {
    display:flex;
  }

  .hero {
  /*  min-height:92vh; */
    align-items:end;
  }

  .hero::before {
    background:linear-gradient(180deg,rgba(3,5,6,.42),#030506 78%),url("../images/reverb-poster.jpeg") right top/70% no-repeat;
    opacity:.82;
  }

  .feature-block,.feature-block.reverse,.two-col {
    grid-template-columns:1fr;
  }

  .feature-block.reverse .poster-card {
    order:-1;
  }

  .project-grid {
    grid-template-columns:repeat(2,1fr);
  }

  .projects-head,.site-footer {
    flex-direction:column;
    align-items:flex-start;
  }
  
}


@media (max-width:520px) {
  .brand {
    letter-spacing:.17em;
    font-size:.78rem;
  }

  .brand span {
    font-size:.66rem;
  }

  .hero {
    padding-top:110px;
  }

  h1 {
    font-size:clamp(3rem,16vw,5.2rem);
  }

  .credit,.vibe {
    letter-spacing:.18em;
  }

  .buttons,.btn {
    width:100%;
  }

  .project-grid {
    grid-template-columns:1fr;
  }

  .page-title {
    font-size:clamp(2.6rem,15vw,4.8rem);
  }

}
