:root{
  --paper:#f6efe2;
  --frame:#efe1c7;
  --accent:#b69a64;
  --text:#3b2f25;
  --muted:#6d5a44;
}

/* reset */
*{box-sizing:border-box}
html,body{height:100%;margin:0}

/* Stage: fill viewport and prevent scrolling */
body{
  background-image: url('bk.jpg');
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
  background-repeat: no-repeat;
  font-family: Georgia, "Times New Roman", serif;
  color:var(--text);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  overflow:hidden; /* IMPORTANT: prevents scroll */
}

/* Container that holds the poster layout, full viewport */
.stage{
  height:100vh;
  width:100vw;
  display:grid;
  grid-template-columns: 1fr minmax(420px, 640px) 1fr;
  align-items:center;
  justify-items:center;
  gap:24px;
  padding:40px;
  align-content:center;
}

/* Collage columns (left/right) */
.collage{
  width:100%;
  max-width:360px;
  height:78vh;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:space-between;
  position:relative;
  pointer-events:none;
}

/* Photo cards */
.photo{
  width:86%;
  border:3px solid rgba(120,90,50,0.85);
  background:linear-gradient(180deg, rgba(255,255,255,0.95), rgba(245,235,220,0.9));
  padding:6px;
  box-shadow: 0 8px 20px rgba(0,0,0,0.25);
  border-radius:8px;
  transform-origin:center;
  transition: transform .6s ease;
}
.photo img{
  display:block;
  width:100%;
  height:auto;
  border-radius:4px;
}

/* Position differences for vintage stacking */
.left .p1{transform: rotate(-6deg) translateY(-6%); z-index:3}
.left .p2{transform: rotate(4deg) translateY(4%); z-index:2}
.left .ornament{position:absolute; left:6%; bottom:6%; width:84px; transform:rotate(-8deg); opacity:0.95}

.right .p3{transform: rotate(6deg) translateY(-6%); z-index:3}
.right .p4{transform: rotate(-4deg) translateY(6%); z-index:2}
.right .ornament{position:absolute; right:6%; top:6%; width:68px; transform:rotate(10deg); opacity:0.95}

/* Center poster */
.poster{
  width:100%;
  max-width:680px;
  height:84vh;
  display:flex;
  align-items:center;
  justify-content:center;
}
.frame{
  width:92%;
  padding:30px 28px;
  background: linear-gradient(180deg, rgba(255,250,244,0.92), rgba(245,238,227,0.9));
  border: 4px solid var(--frame);
  box-shadow: 0 18px 40px rgba(30,20,10,0.35);
  border-radius:16px;
  position:relative;
  text-align:center;
  overflow:hidden;
}

/* Title */
.title{
  font-family: "Courier New", Courier, monospace;
  margin:6px 0 6px 0;
  font-size:46px;
  letter-spacing:6px;
  color:var(--text);
  text-transform:uppercase;
  text-shadow: 0 2px 0 rgba(255,255,255,0.6);
}
.subtitle{
  font-style:italic;
  color:var(--muted);
  margin:0 0 18px 0;
  font-size:16px;
}

/* Three floating boxes */
.threeboxes{
  display:flex;
  justify-content:space-between;
  gap:14px;
  margin:18px 0 8px;
  align-items:stretch;
}
.box{
  background: rgba(245,238,228,0.95);
  border:1px solid rgba(180,140,90,0.25);
  padding:14px;
  border-radius:8px;
  flex:1;
  min-width:0;
  box-shadow: 0 6px 18px rgba(20,10,8,0.12);
  transition: transform .35s ease, box-shadow .35s ease;
}
.box h3{
  margin:0 0 6px;
  font-family: "Times New Roman", serif;
  font-weight:700;
  color:var(--accent);
  font-size:15px;
  letter-spacing:1px;
}
.box p{
  margin:0;
  font-size:13px;
  color:var(--text);
  line-height:1.45;
}

/* hover enlarge center boxes slightly (desktop) */
.frame:hover .box{ transform: translateY(-4px) }
.box:hover{ transform: translateY(-10px) scale(1.02); box-shadow:0 20px 40px rgba(20,10,8,0.2) }

/* credit small */
.credit{
  margin-top:18px;
  font-size:12px;
  color:var(--muted);
}

/* Subtle animated vignette overlay to feel antique */
.frame::after{
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
  background: radial-gradient(ellipse at center, rgba(255,255,255,0) 45%, rgba(20,10,0,0.06) 100%);
  mix-blend-mode:multiply;
}

/* Prevent any accidental scroll on small devices: scale to fit */
@media (max-width:1100px){
  .stage{ grid-template-columns: 0.8fr minmax(360px,520px) 0.8fr; padding:20px }
  .title{ font-size:38px }
  .frame{ padding:22px }
  .collage{ max-width:260px; height:70vh }
}

/* Smallest screens: reduce everything so still fits without scroll */
@media (max-width:700px){
  /* shrink whole scene proportionally */
  .stage{ padding:12px; gap:10px }
  .frame{ padding:16px }
  .title{ font-size:30px; letter-spacing:3px }
  .threeboxes{ gap:8px }
  .box{ padding:9px; font-size:12px }
  .collage{ display:none } /* hide side collages on tiny phones to preserve readability */
}
