/* ==========================================================================
   Site-wide "under construction" disclaimer banner.

   Deliberately ADDITIVE and self-contained:
     * pure CSS + static markup, zero JavaScript, so it cannot regress any
       existing script and it still shows with JS disabled;
     * pinned to the BOTTOM edge. The top edge is already occupied by the
       sticky header (z-index 50), the #ccfx-rail scroll-progress bar
       (fixed, top:0) and the film's Skip button (top:64px), and #ccFilm is
       sized to 100svh -- a top banner would have meant re-flowing all of it;
     * pointer-events:none, so it never swallows a click meant for the site;
     * z-index 95: above the grain overlay (90) and the header (50), but
       below the intro overlay (99999) so the cinematic intro stays clean,
       and below the custom cursor (100000/100001).

   To remove the banner entirely: delete the <div id="ccUC"> block and the
   stylesheet <link> from each page. Nothing else references it.
   ========================================================================== */

:root{
  --ccuc-h:34px;                 /* single source of truth for the height */
  --ccuc-speed:38s;
}

/* Keep the footer's last line clear of the fixed bar. */
body{padding-bottom:var(--ccuc-h)}

#ccUC{
  position:fixed;left:0;right:0;bottom:0;
  z-index:95;
  height:var(--ccuc-h);
  display:flex;align-items:center;
  overflow:hidden;
  pointer-events:none;                 /* never intercept clicks */
  background:linear-gradient(90deg,#241710 0%,#3A2412 50%,#241710 100%);
  border-top:1px solid rgba(255,198,29,.42);
  box-shadow:0 -10px 28px rgba(0,0,0,.5);
}

/* Soft fade at both ends so text slides in/out instead of hard-clipping. */
#ccUC::before,#ccUC::after{
  content:"";position:absolute;top:0;bottom:0;width:clamp(24px,6vw,72px);
  z-index:2;pointer-events:none;
}
#ccUC::before{left:0;background:linear-gradient(90deg,#241710,rgba(36,23,16,0))}
#ccUC::after{right:0;background:linear-gradient(270deg,#241710,rgba(36,23,16,0))}

/* width:max-content + two identical sequences => translateX(-50%) advances
   by exactly one sequence, giving a seamless loop with no visible jump. */
#ccUCTrack{
  display:flex;width:max-content;
  flex:none;                           /* MUST stay: as a flex item it would otherwise
                                          shrink to viewport width and kill the scroll */
  will-change:transform;
  animation:ccUCMarquee var(--ccuc-speed) linear infinite;
}

.ccUC-seq{display:flex;align-items:center;flex:none;white-space:nowrap}

.ccUC-seq span{
  font-family:'Sora',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  font-weight:700;
  font-size:clamp(10px,1.15vw,12px);
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#F3E4CB;
  padding:0 18px;
}

/* The headline phrase, in the brand gold. */
.ccUC-seq span.ccUC-key{color:#FFC61D;text-shadow:0 0 14px rgba(255,198,29,.4)}

/* Diamond separator between phrases. */
.ccUC-seq i{
  font-style:normal;color:#A9743C;font-size:9px;line-height:1;
  opacity:.9;flex:none;
}

@keyframes ccUCMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* The intro overlay fully occludes the banner, so pause it while that plays --
   same reasoning as the existing #ccRoot pause: never composite two scenes at
   once on a mid-range phone. Resumes the instant cc-intro-active is dropped. */
html.cc-intro-active #ccUCTrack{animation-play-state:paused}

/* Screen-reader copy: the visible track is aria-hidden (it is duplicated and
   would be announced twice), so expose one clean sentence instead. */
.ccUC-sr{
  position:absolute;width:1px;height:1px;margin:0;padding:0;
  overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;
}

@media (max-width:640px){
  :root{--ccuc-h:30px;--ccuc-speed:26s}
  .ccUC-seq span{padding:0 13px;letter-spacing:.13em}
}

/* Reduced motion: hold the banner still and show just the headline phrase,
   centred. Reads as a plain static disclaimer instead of freezing mid-slide,
   and stays on one line so the fixed height can never clip it. */
@media (prefers-reduced-motion:reduce){
  #ccUC{justify-content:center}
  #ccUCTrack{animation:none;transform:none;width:auto;flex:0 1 auto;min-width:0}
  .ccUC-seq:nth-child(2){display:none}
  .ccUC-seq i,.ccUC-seq span:not(.ccUC-key){display:none}
}

/* --------------------------------------------------------------------------
   Lift the scroll-film's own bottom-edge controls clear of the bar.
   These IDs are defined in film.css; construction.css is linked AFTER it, so
   equal-specificity rules win without needing !important.
   -------------------------------------------------------------------------- */
#ccFilmDots{bottom:calc(54px + var(--ccuc-h))}
#ccFilmHint{bottom:calc(18px + var(--ccuc-h))}
#ccFilmSound{bottom:calc(clamp(16px,4vh,30px) + var(--ccuc-h))}
