/* RED FILM shared look for /crew, /<profile> and /admin. Same type and colours as the landing page:
   Big Shoulders for display type, Courier Prime for everything else.
   Two base colours do the work, the accent lives only on buttons people should press. */
:root{
  --dark:#1F3D2B; --paper:#E8DCC4; --accent:#7B2FF7; --on-accent:#FFFFFF;
  --display:'Big Shoulders','Arial Narrow',sans-serif;
  --type:'Courier Prime','Courier New',monospace;
  --gut:clamp(16px,4vw,56px);
  --tz:1; /* phone text-zoom factor (Instagram / Facebook on Android), set at the top of <body> */
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
html,body{overflow-x:hidden}
@supports (overflow:clip){html,body{overflow-x:clip}}
body{background:var(--dark);color:var(--paper);font-family:var(--type);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;min-height:100vh}
img,svg{display:block;max-width:100%}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
::selection{background:var(--accent);color:var(--on-accent)}
:focus-visible{outline:2px solid currentColor;outline-offset:3px}
[hidden]{display:none!important}

body::before{
  content:"";position:fixed;inset:-50%;z-index:90;pointer-events:none;opacity:.07;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
}

.w{max-width:1120px;margin:0 auto;padding-left:var(--gut);padding-right:var(--gut);width:100%}
.narrow{max-width:760px}
.dark{background:var(--dark);color:var(--paper)}
.paper{background:var(--paper);color:var(--dark)}

/* type */
.disp{font-family:var(--display);font-weight:900;font-variation-settings:'opsz' 72;text-transform:uppercase;line-height:.9;overflow-wrap:break-word;letter-spacing:.002em}
.d1{font-size:calc(clamp(52px,11vw,128px) / var(--tz))}
.d2{font-size:calc(clamp(40px,7vw,84px) / var(--tz))}
.d3{font-size:calc(clamp(28px,4.4vw,44px) / var(--tz))}
.kicker{font-size:13px;letter-spacing:.16em;text-transform:uppercase;opacity:.72}
.lead{font-size:clamp(16px,1.6vw,18px);line-height:1.65;max-width:56ch}
.mute{opacity:.68}
.small{font-size:13.5px}

/* header + footer */
.bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:22px;padding-bottom:22px}
.bar .logo{color:var(--paper);text-decoration:none}
.bar .logo svg{height:26px;width:auto}
.bar nav{display:flex;flex-wrap:wrap;gap:6px 22px;justify-content:flex-end}
.bar nav a{font-size:13px;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;opacity:.8}
.bar nav a:hover{opacity:1;text-decoration:underline;text-underline-offset:5px}
.foot{padding-top:40px;padding-bottom:44px;display:flex;flex-wrap:wrap;gap:12px 28px;justify-content:space-between;align-items:center;font-size:13px}
.foot p{opacity:.6}
.foot svg{height:20px;width:auto;color:var(--paper)}

/* buttons */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:12px;
  background:var(--accent);color:var(--on-accent);border:0;cursor:pointer;
  font-family:var(--type);font-weight:700;font-size:15px;letter-spacing:.1em;text-transform:uppercase;
  padding:17px 26px;border-radius:2px;text-decoration:none;text-align:center;
  transition:transform .2s ease, filter .2s ease, opacity .2s ease;
}
.btn:hover{transform:translateY(-2px);filter:brightness(.92)}
.btn:disabled{opacity:.5;cursor:default;transform:none}
.btn svg{width:19px;height:19px;fill:currentColor;flex:none}
.btn.full{width:100%}
.btn.ghost{background:transparent;color:inherit;box-shadow:inset 0 0 0 1.5px currentColor}
.tl{background:none;border:0;cursor:pointer;font-family:var(--type);font-weight:700;font-size:14px;letter-spacing:.1em;text-transform:uppercase;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px;color:inherit;padding:0}
.tl:hover{text-decoration-thickness:2px}

/* forms */
.form{display:grid;gap:20px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.field{display:grid;gap:7px}
.field > span{font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;opacity:.8}
.field > span i{font-style:normal;font-weight:400;opacity:.7;letter-spacing:.06em;text-transform:none}
.in{
  width:100%;background:transparent;border:0;border-radius:0;
  box-shadow:inset 0 -1.5px 0 currentColor;padding:11px 2px 10px;font-size:17px;outline:none;
}
.in:focus{box-shadow:inset 0 -2.5px 0 currentColor}
textarea.in{min-height:96px;resize:vertical;line-height:1.5}
select.in{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 14px) 52%,calc(100% - 8px) 52%;background-size:6px 6px;background-repeat:no-repeat;padding-right:28px}
select.in option{color:#111;background:#fff}
.checks{display:flex;flex-wrap:wrap;gap:8px}
.checks label{position:relative;cursor:pointer}
.checks input{position:absolute;opacity:0;pointer-events:none}
.checks span{display:block;padding:9px 13px;font-size:14px;box-shadow:inset 0 0 0 1.2px currentColor;opacity:.75;border-radius:2px;user-select:none}
.checks input:checked + span{background:currentColor;opacity:1}
.checks input:checked + span b{color:var(--paper)}
.paper .checks input:checked + span b{color:var(--paper)}
.dark .checks input:checked + span b{color:var(--dark)}
.checks span b{font-weight:400}
.checks input:focus-visible + span{outline:2px solid currentColor;outline-offset:2px}
.consent{display:flex;gap:12px;align-items:flex-start;font-size:14px;line-height:1.5;cursor:pointer}
.consent input{width:18px;height:18px;margin-top:2px;accent-color:var(--accent);flex:none}
.err{font-size:14.5px;font-weight:700;min-height:1px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

@media (max-width:620px){
  .row2{grid-template-columns:1fr}
  .bar .logo svg{height:22px}
  .btn{padding:16px 20px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .btn{transition:none}
}
