/* Shared base for all three concepts: brand tokens, type, placeholders, form */
:root{
  --black:#000; --white:#fff; --grey:#848484; --charcoal:#5E5E5E; --claret:#7B1F2E;
  --ink-2:#111; --ink-3:#1c1c1c;
  --head:"Josefin Sans","Century Gothic",Futura,"Avenir Next",sans-serif;
  --body:"Lato","Helvetica Neue",Arial,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{font-family:var(--body);font-weight:400;color:var(--white);background:var(--black);line-height:1.6;font-size:18px;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--head);text-transform:lowercase;font-weight:600;line-height:1.05;letter-spacing:-.01em}
/* claret highlight block: white type on claret, the only way claret meets type */
.hl{background:var(--claret);color:var(--white);padding:0 .12em .02em;margin:0 -.02em;box-decoration-break:clone;-webkit-box-decoration-break:clone;display:inline-block;line-height:.95}
.rule{display:block;width:56px;height:2px;background:var(--claret);border:0}
/* photo placeholder frames: named after the shot list */
.ph{position:relative;background:#2b2b2b;overflow:hidden;display:flex;align-items:flex-end;min-height:120px}
.ph::before{content:"";position:absolute;inset:0;background:
  linear-gradient(to top right,transparent calc(50% - .5px),#3d3d3d calc(50% - .5px),#3d3d3d calc(50% + .5px),transparent calc(50% + .5px)),
  linear-gradient(to top left,transparent calc(50% - .5px),#3d3d3d calc(50% - .5px),#3d3d3d calc(50% + .5px),transparent calc(50% + .5px))}
.ph span{position:relative;z-index:1;font:700 11px/1.4 var(--body);letter-spacing:.14em;text-transform:uppercase;color:#fff;background:#000;padding:7px 10px;margin:12px;max-width:calc(100% - 24px)}
.ph.light{background:#d9d9d9}
.ph.light::before{background:
  linear-gradient(to top right,transparent calc(50% - .5px),#c4c4c4 calc(50% - .5px),#c4c4c4 calc(50% + .5px),transparent calc(50% + .5px)),
  linear-gradient(to top left,transparent calc(50% - .5px),#c4c4c4 calc(50% - .5px),#c4c4c4 calc(50% + .5px),transparent calc(50% + .5px))}
.bw{filter:grayscale(1) contrast(1.05)}
.btn{display:inline-block;font:700 14px/1 var(--body);letter-spacing:.16em;text-transform:uppercase;text-decoration:none;padding:18px 30px;border:1px solid var(--white);color:var(--black);background:var(--white)}
.btn.ghost{background:transparent;color:var(--white)}
.form label{display:block;font:700 11px/1 var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--grey);margin:0 0 8px}
.form input,.form textarea{width:100%;font:400 17px/1.4 var(--body);color:inherit;background:transparent;border:0;border-bottom:1px solid currentColor;padding:8px 0 10px;margin-bottom:28px;border-radius:0}
.form textarea{min-height:110px;resize:none;border:1px solid currentColor;padding:12px}
.form input::placeholder,.form textarea::placeholder{color:var(--grey)}
.form button{cursor:pointer}
.eyebrow{font:700 12px/1.3 var(--body);letter-spacing:.2em;text-transform:uppercase;color:var(--grey)}
.small{font-size:15px}
.muted{color:var(--grey)}