/* ==========================================================================
   Chapter20 Studio — shared stylesheet
   Palette: cream #FCFBF9 · ink #1C1917 · terracotta #C86B46 · olive #4A5742
            deep olive #33372F · gold #DCB66F · stone #78716C · line #E7E5E4
   Type:    Playfair Display (display) · Montserrat (body)
   ========================================================================== */

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:#FCFBF9;
  color:#1C1917;
  font-family:Montserrat,sans-serif;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;}
input,textarea{font-family:Montserrat,sans-serif;}
input::placeholder,textarea::placeholder{color:#B8B2A9;}
::selection{background:#C86B46;color:#FCFBF9;}

/* Dark page theme (Labs index) */
body[data-theme="dark"]{background:#003033;color:#F4F2ED;}
body[data-theme="dark"]::selection{background:#DCB66F;color:#003033;}

/* --- Keyframes ---------------------------------------------------------- */
@keyframes c20marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@keyframes c20rise{from{transform:translateY(110%);}to{transform:translateY(0);}}
@keyframes c20dash{to{stroke-dashoffset:0;}}
@keyframes c20pulse{0%,100%{transform:scale(1);opacity:1;}50%{transform:scale(1.25);opacity:0.6;}}

/* --- Image slots (baked from the design's dropped images) --------------- */
.imgslot{
  width:100%;height:100%;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}
.imgslot--contain{background-size:contain;background-color:#FCFBF9;}
.imgslot--empty{
  background:#EAE2D6;
  background-image:repeating-linear-gradient(135deg,transparent,transparent 13px,rgba(28,25,23,0.04) 13px,rgba(28,25,23,0.04) 14px);
}

/* --- Reduced motion ----------------------------------------------------- */
@media (prefers-reduced-motion: reduce){
  *{animation:none !important;transition:none !important;}
  [data-reveal]{opacity:1 !important;transform:none !important;clip-path:none !important;}
  [data-hero-word]{transform:none !important;}
}
