/* Hiring sites — production paperwork: manila call sheets, carbon ink, a rubber stamp. */
:root{
  --manila:#e9dcb9; --paper:#f8f2e2; --ink:#1f1c19; --carbon:#5f584e; --rule:#cbbd97; --line:#d9cca8;
  --stamp:#a3221a; --ok:#2f5d3a;
  --sans:'Archivo',system-ui,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--manila);color:var(--ink);font-family:var(--sans);font-size:1.0625rem;line-height:1.6;font-variation-settings:'wdth' 100}
a{color:var(--stamp)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--ink);outline-offset:2px}
h1,h2,h3{font-family:var(--sans);font-stretch:70%;font-variation-settings:'wdth' 70;font-weight:850;line-height:1.02;margin:0 0 .5em;letter-spacing:-.005em}
h1{font-size:clamp(2.4rem,5.4vw,4.2rem)}
h2{font-size:clamp(1.5rem,2.6vw,2rem)}
h3{font-size:1.25rem}
p{margin:0 0 1em}
.wrap{width:min(1120px,100% - 32px);margin-inline:auto}
.narrow{max-width:780px}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;z-index:200;background:#fff;padding:8px}
.hp{position:absolute;left:-9999px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.prose>*:last-child{margin-bottom:0}
.prose ul{padding-left:1.2em}

/* header */
.h-header{background:var(--ink);color:var(--paper)}
.h-header-row{display:flex;align-items:center;gap:20px;min-height:66px}
.h-brand{display:flex;flex-direction:column;text-decoration:none;color:var(--paper);line-height:1.1}
.h-brand img{max-height:44px;width:auto}
.h-venue{font-weight:850;font-variation-settings:'wdth' 75;font-size:1.3rem}
.h-sub{font-size:.82rem;color:#b9b0a0}
.h-nav{margin-left:auto;display:flex;flex-wrap:wrap;gap:4px 18px;align-items:center}
.h-nav a{color:#e9e1cf;text-decoration:none;font-weight:600;font-size:.95rem;padding:6px 0;border-bottom:2px solid transparent}
.h-nav a.on,.h-nav a:hover{border-bottom-color:var(--stamp)}
.h-nav .h-apply{background:var(--stamp);color:#fff;padding:7px 16px;border-radius:3px;border:0}
.menu-btn{display:none;margin-left:auto;background:none;border:0;cursor:pointer;flex-direction:column;gap:5px;padding:10px}
.menu-btn span:not(.sr){width:24px;height:2px;background:var(--paper)}
@media (max-width:880px){
  .menu-btn{display:flex}
  .h-nav{display:none;position:absolute;left:0;right:0;top:100%;z-index:40;flex-direction:column;align-items:flex-start;background:var(--ink);padding:10px 24px 20px}
  .h-nav.open{display:flex}
  .h-header{position:relative}
}

/* buttons */
.h-btn{display:inline-block;background:var(--stamp);color:#fff;text-decoration:none;font-weight:800;padding:.75em 1.3em;border-radius:3px;border:2px solid var(--stamp);font:inherit;font-weight:800;cursor:pointer;line-height:1.2}
.h-btn:hover{filter:brightness(1.1)}
.h-btn.ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
.h-btn.small{padding:.5em 1em;font-size:.95rem}
.h-btn.big{font-size:1.15rem;padding:.9em 1.8em}
.linkish{background:none;border:0;padding:0;color:var(--carbon);text-decoration:underline;cursor:pointer;font:inherit;font-size:.9rem}

/* hero */
.h-hero{padding:clamp(48px,7vw,90px) 0 clamp(40px,6vw,72px);border-bottom:2px solid var(--ink)}
.h-hero-grid{display:grid;gap:44px;align-items:center}
@media (min-width:940px){.h-hero-grid{grid-template-columns:1.2fr 1fr}}
.h-kicker{font-weight:700;color:var(--stamp);margin-bottom:.6em}
.h-kicker a{color:inherit}
.h-lede{font-size:1.2rem;max-width:56ch;color:#3b362f}
.h-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:1.4rem}

/* call sheet: the memorable piece */
.callsheet{position:relative;background:var(--paper);padding:26px 28px 22px;box-shadow:0 1px 0 var(--rule),0 14px 30px -18px rgba(60,40,10,.55);transform:rotate(.6deg);
  background-image:repeating-linear-gradient(180deg,transparent 0 31px,rgba(31,28,25,.07) 31px 32px)}
.callsheet.small{transform:none;align-self:start}
.cs-title{font-size:1.6rem;border-bottom:3px double var(--ink);padding-bottom:6px}
.callsheet dl{margin:0}
.callsheet dl>div{display:grid;grid-template-columns:7.5em 1fr;gap:12px;padding:8px 0;border-bottom:1px solid var(--line)}
.callsheet dl>div:last-child{border-bottom:0}
.callsheet dt{font-weight:800;font-variation-settings:'wdth' 75;color:var(--carbon)}
.callsheet dd{margin:0}
.callsheet .h-btn{margin-top:16px}
.stamp{position:absolute;right:-8px;top:-22px;transform:rotate(-9deg);border:4px solid var(--stamp);color:var(--stamp);padding:4px 14px 2px;
  font-weight:900;font-variation-settings:'wdth' 80;font-size:1.6rem;text-transform:uppercase;letter-spacing:.04em;border-radius:6px;background:rgba(248,242,226,.6);
  mix-blend-mode:multiply;opacity:.9;
  -webkit-mask-image:radial-gradient(circle at 30% 40%,#000 60%,rgba(0,0,0,.65) 61%,#000 70%);
  animation:stamp .35s cubic-bezier(.2,1.6,.4,1) .4s both}
.stamp.closed{border-color:var(--carbon);color:var(--carbon)}
@keyframes stamp{from{transform:rotate(-9deg) scale(1.8);opacity:0}to{transform:rotate(-9deg) scale(1);opacity:.9}}

/* sections */
.h-section{padding:clamp(40px,6vw,72px) 0;border-bottom:1px solid var(--rule)}
.h-section:last-of-type{border-bottom:0}
.h-section-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.h-section-head h2{margin:0}
.h-section-head a{font-weight:700}
.h-two{display:grid;gap:44px}
@media (min-width:900px){.h-two{grid-template-columns:1.3fr 1fr}}
.h-page-head{padding:clamp(40px,6vw,64px) 0 0}
.h-closed{padding:28px 0}
.h-flash{background:var(--ok);color:#fff;padding:12px 16px;border-radius:3px;margin-top:18px}

/* roles */
.role-list{list-style:none;margin:0;padding:0;border-top:2px solid var(--ink)}
.role-list li{border-bottom:1px solid var(--rule)}
.role-list a{display:grid;grid-template-columns:260px 1fr 170px;gap:8px 20px;padding:16px 4px;text-decoration:none;color:var(--ink);align-items:baseline}
.role-list a:hover{background:rgba(248,242,226,.6)}
.role-title{font-weight:850;font-variation-settings:'wdth' 75;font-size:1.25rem}
.role-sum{color:#3b362f}
.role-meta{font-weight:700;color:var(--stamp);white-space:nowrap;text-align:right}
.filled{opacity:.55}
@media (max-width:700px){.role-list a{grid-template-columns:1fr}.role-meta{white-space:normal;text-align:left}}
.role-card{background:var(--paper);padding:22px 24px;margin-bottom:14px;border-left:5px solid var(--stamp)}
.role-card-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:baseline}
.role-card h2{margin:0 0 .3em}
.role-card h2 a{color:var(--ink);text-decoration:none}

/* video + announcements */
.h-video{aspect-ratio:16/9;background:#000}
.h-video iframe{width:100%;height:100%;border:0}
.video-grid{display:grid;gap:32px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}
.video-card h2{font-size:1.3rem;margin-top:12px}
.req{font-size:.75rem;font-variation-settings:'wdth' 100;background:var(--stamp);color:#fff;padding:2px 7px;border-radius:3px;vertical-align:middle}
.ann-list{display:grid;gap:14px}
.ann{background:var(--paper);padding:20px 24px}
.ann.pinned{border-left:5px solid var(--stamp)}
.ann h3{margin-bottom:.15em}
.ann-date{font-size:.88rem;color:var(--carbon)}

/* schedule table */
.h-table{width:100%;border-collapse:collapse;background:var(--paper)}
.h-table th,.h-table td{text-align:left;padding:10px 14px;border-bottom:1px solid var(--line)}
.h-table th{background:var(--ink);color:var(--paper);font-weight:700}
.h-table tr.past{color:#8f8678}
.h-table tr.today{background:#fff3c4;font-weight:700}

/* application form */
.app-form{display:grid;gap:22px;max-width:880px}
.app-form fieldset{border:0;background:var(--paper);padding:22px 24px 24px;margin:0}
.app-form legend{font-weight:850;font-variation-settings:'wdth' 75;font-size:1.35rem;padding:0;float:left;width:100%;margin-bottom:10px}
.app-form legend+*{clear:both}
.hint{color:var(--carbon);margin-bottom:12px}
.app-form label{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:6px;row-gap:5px;font-weight:600;margin-bottom:12px}
.app-form label>input:not([type=checkbox]):not([type=radio]),.app-form label>select,.app-form label>textarea{flex:1 0 100%;width:100%}
.app-form label.inline{display:flex;gap:10px;align-items:flex-start;font-weight:500}
.app-form label.inline input{margin-top:.35em}
.opt{font-weight:400;color:var(--carbon);font-size:.88em}
input,select,textarea{font:inherit;padding:.6em .7em;border:1px solid #b8aa83;border-radius:3px;background:#fff;color:var(--ink)}
.field-grid{display:grid;gap:0 16px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.check-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.check-card{display:flex!important;gap:10px;align-items:flex-start;padding:12px 14px;border:1px solid #c9bb93;border-radius:3px;background:#fff;cursor:pointer;margin:0!important}
.check-card:has(input:checked){border-color:var(--stamp);box-shadow:inset 0 0 0 1px var(--stamp)}
.check-card input{margin-top:.3em}
.check-card span{display:grid}
.check-card small{color:var(--carbon);font-weight:500}
.chip-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.chip{display:inline-flex!important;margin:0!important;cursor:pointer}
.chip input{position:absolute;opacity:0}
.chip span{padding:6px 14px;border:1px solid #b8aa83;border-radius:999px;background:#fff;font-weight:600}
.chip input:checked+span{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.chip input:focus-visible+span{outline:3px solid var(--stamp);outline-offset:2px}
.guardian-box{border-left:4px solid var(--stamp);padding:12px 0 0 16px;margin-top:8px}
.h-errors{background:#7d1c16;color:#fff;padding:16px 20px;margin-bottom:22px;border-radius:3px}
.h-errors ul{margin:0;padding-left:1.2em}

/* status pipeline: a real sequence, so it's numbered */
.pipeline{list-style:none;display:flex;padding:0;margin:0 0 24px;counter-reset:step;flex-wrap:wrap;gap:4px}
.pipeline li{counter-increment:step;flex:1;min-width:90px;padding:10px 10px 8px;background:var(--paper);color:var(--carbon);font-weight:700;border-top:4px solid var(--rule)}
.pipeline li::before{content:counter(step) ". "}
.pipeline li.done{border-top-color:var(--ink);color:var(--ink)}
.pipeline li.current{border-top-color:var(--stamp);color:var(--stamp);background:#fff}
.status-box{background:var(--paper);padding:22px 24px;border-left:5px solid var(--ink)}
.status-box.status-offer,.status-box.status-hired{border-left-color:var(--ok)}
.status-box.status-rejected,.status-box.status-withdrawn{border-left-color:var(--carbon)}

.session-list{display:grid;gap:10px}
.session{display:grid;grid-template-columns:auto 1fr auto;gap:4px 14px;align-items:baseline;background:var(--paper);padding:14px 18px;cursor:pointer;border:2px solid transparent}
.session:has(input:checked){border-color:var(--stamp)}
.session.full{opacity:.5;cursor:not-allowed}
.session-when{font-weight:800}
.session-what{grid-column:2}
.session-seats{grid-column:3;grid-row:1;font-weight:700;color:var(--carbon)}

/* documents */
.doc-paper{background:#fff;padding:28px 32px;box-shadow:0 10px 24px -16px rgba(60,40,10,.5);margin-bottom:24px}
.sign-form{display:grid;gap:14px;background:var(--paper);padding:22px 24px}
.sign-form label{display:grid;gap:5px;font-weight:600}
.sign-form label.inline{display:flex;gap:10px;font-weight:500}
.sigpad{display:grid;gap:6px}
.sigpad-label{font-weight:600}
.sigpad canvas{width:100%;max-width:600px;aspect-ratio:600/180;background:#fff;border:1px dashed #9c8f6b;touch-action:none;border-radius:3px}
.sigpad.need canvas{border:2px solid var(--stamp)}
.sigpad-clear{justify-self:start;background:none;border:0;color:var(--carbon);text-decoration:underline;cursor:pointer;font:inherit;font-size:.9rem;padding:0}

.h-footer{background:var(--ink);color:#cfc6b4;padding:40px 0}
.h-footer a{color:#fff}
.h-footer-row{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}
.h-footer-name{font-weight:850;font-variation-settings:'wdth' 75;font-size:1.3rem;color:#fff}

@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
