/* A-Goal Initiative: Careers (landing + vacancy pages)
   Layout: editorial single column with an asymmetric hero, hairline role rows,
   one navy-deep band for the hiring process, and a two-column vacancy body
   with a sticky apply card. Tokens follow the live "A-Goal Civic Editorial" system. */
.agoal-careers{
  --terracotta:#D14622; --terracotta-deep:#A8351A; --navy:#1B2A41; --navy-deep:#0F1B2C;
  --ochre:#D89B3C; --cream:#FBF3E7; --cream-2:#F3E7D6; --paper:#FFFCF7; --charcoal:#2A241F;
  --ink-70:rgba(42,36,31,.72); --ink-50:rgba(42,36,31,.5); --line:rgba(42,36,31,.12);
  --cream-70:rgba(251,243,231,.72); --cream-line:rgba(251,243,231,.14);
  --serif:'Playfair Display',Georgia,'Times New Roman',serif;
  --sans:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
}

/* ---------- base ---------- */
.agoal-careers{font-family:var(--sans);color:var(--charcoal);background:var(--cream);-webkit-font-smoothing:antialiased;}
.agoal-careers *{box-sizing:border-box;}
.agoal-careers a{color:inherit;text-decoration:none;}
.agoal-careers .wrap{max-width:1180px;margin-inline:auto;padding-inline:32px;}
@media (max-width:900px){.agoal-careers .wrap{padding-inline:20px;}}
/* Elementor's kit styles h1-h3 at .elementor-kit-6 specificity — it was
   repainting every heading on this page in its brown primary, and h1 in Roboto.
   :where() carries no specificity at all, so these have to be declared loudly.
   Every heading colour below that differs from navy is forced for the same
   reason. */
.agoal-careers h1,.agoal-careers h2,.agoal-careers h3{font-family:var(--serif)!important;color:var(--navy)!important;font-weight:700!important;margin:0;text-wrap:balance;}
.agoal-careers h1 em,.agoal-careers h2 em{font-style:italic!important;font-weight:600!important;color:var(--terracotta)!important;}
:where(.agoal-careers) p{margin:0;}
.cr-eyebrow{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--terracotta-deep);}
.agoal-careers .cr-btn{display:inline-flex;align-items:center;gap:8px;border-radius:10px;padding:13px 24px;font-size:14px;font-weight:700;line-height:1.2;cursor:pointer;border:1px solid transparent;font-family:var(--sans);transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease;}
.agoal-careers .cr-btn--primary{background:var(--terracotta);color:#FFFCF7!important;}
.agoal-careers .cr-btn--primary:hover{background:var(--terracotta-deep);transform:translateY(-2px);}
.agoal-careers .cr-btn--ghost{border-color:rgba(42,36,31,.25);color:var(--ink-70)!important;background:transparent;}
.agoal-careers .cr-btn--ghost:hover{border-color:var(--navy);color:var(--navy)!important;}
.cr-btn svg{flex-shrink:0;}
.agoal-careers :focus-visible{outline:2px solid var(--navy);outline-offset:3px;border-radius:6px;}
.cr-section{padding-block:96px;}
@media (max-width:700px){.cr-section{padding-block:64px;}}
[data-scroll-target]{scroll-margin-top:96px;}

/* ---------- landing hero ---------- */
.cr-hero{background:var(--cream-2);padding-block:88px 96px;}
.cr-hero-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:center;}
.cr-hero-copy{min-width:0;}
.cr-hero h1{margin-top:14px;font-size:clamp(38px,5.2vw,62px);line-height:1.04;letter-spacing:-.01em;}
.cr-lede{margin-top:26px;max-width:34rem;font-size:18px;line-height:1.65;color:var(--ink-70);}
.cr-actions{margin-top:32px;display:flex;flex-wrap:wrap;gap:14px;}
.cr-tally{margin:40px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:0;border-top:1px solid var(--line);max-width:34rem;}
.cr-tally div{padding:18px 16px 0 0;min-width:0;}
.cr-tally div + div{padding-left:16px;border-left:1px solid var(--line);}
.cr-tally dt{font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-50);}
.cr-tally dd{margin:6px 0 0;font-family:var(--serif);font-size:30px;font-weight:700;color:var(--navy);font-variant-numeric:lining-nums tabular-nums;line-height:1;}
.cr-tally dd small{font-family:var(--sans);font-size:13px;font-weight:600;color:var(--ink-70);margin-left:4px;}
.cr-hero-media{margin:0;}
.cr-hero-media img{display:block;height:auto;width:100%;max-width:100%;aspect-ratio:5/6;object-fit:cover;border-radius:20px;box-shadow:0 30px 50px -20px rgba(15,27,44,.35);}
@media (max-width:900px){
  .cr-hero{padding-block:56px 64px;}
  .cr-hero-grid{grid-template-columns:1fr;gap:40px;}
  .cr-hero-media img{aspect-ratio:4/3;}
}


/* ---------- open roles ---------- */
.cr-roles-sec{background:var(--paper);border-block:1px solid var(--line);}
.cr-roles-top{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 32px;}
.cr-roles-top h2{font-size:clamp(30px,3.4vw,42px);line-height:1.12;margin-top:12px;}
.cr-roles-top p{font-size:15px;color:var(--ink-70);max-width:26rem;line-height:1.6;}
.cr-roles{margin-top:40px;border-top:1px solid rgba(42,36,31,.18);}
.cr-role{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) 48px;gap:24px 40px;align-items:center;padding:30px 4px;border-bottom:1px solid var(--line);transition:background .2s ease;}
.cr-role:hover{background:var(--cream);}
.cr-role-kind{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--terracotta-deep);}
.cr-role h3{margin-top:8px;font-size:clamp(23px,2.4vw,30px);line-height:1.15;transition:color .2s ease;}
.cr-role:hover h3{color:var(--terracotta)!important;}
.cr-role-sum{margin-top:10px;font-size:15px;line-height:1.65;color:var(--ink-70);max-width:36rem;}
.cr-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;}
.cr-chip{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--navy);padding:6px 12px;border-radius:999px;background:var(--cream-2);border:1px solid rgba(42,36,31,.08);white-space:nowrap;}
.cr-chip--count{background:var(--navy);color:var(--cream);border-color:var(--navy);}
.cr-chip--tbc{background:transparent;border:1px dashed rgba(42,36,31,.3);color:var(--ink-50);}
.cr-role-go{width:48px;height:48px;border-radius:999px;border:1px solid rgba(42,36,31,.2);display:flex;align-items:center;justify-content:center;color:var(--navy);transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease;justify-self:end;}
.cr-role:hover .cr-role-go{background:var(--terracotta);border-color:var(--terracotta);color:#FFFCF7;transform:translateX(3px);}
@media (max-width:820px){
  .cr-role{grid-template-columns:minmax(0,1fr) 44px;padding:26px 0;}
  .cr-role .cr-chips{grid-column:1/2;grid-row:2;justify-content:flex-start;}
  .cr-role-go{grid-column:2;grid-row:1;width:44px;height:44px;align-self:start;}
}

/* The deadline panel. A navy-deep object on both the paper and cream bands,
   with the digits set in the same ochre Playfair as the "How we hire" numerals
   and divided by hairlines, the way .cr-tally and .cr-facts already divide
   theirs — so the countdown reads as part of the page, not a bolted-on timer. */
.cr-deadline{margin-top:28px;max-width:34rem;padding:22px 26px 24px;border-radius:16px;background:var(--navy-deep);color:var(--cream);box-shadow:0 20px 36px -26px rgba(15,27,44,.6);}
.cr-dl-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px;}
.cr-deadline .lbl{font-size:10.5px;font-weight:700;letter-spacing:.17em;text-transform:uppercase;color:var(--ochre);}
.cr-deadline .soon{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#F6A188;background:rgba(209,70,34,.2);border:1px solid rgba(242,136,106,.4);border-radius:999px;padding:3px 9px;}
.cr-deadline .dt{display:block;margin-top:8px;font-family:var(--serif);font-size:20px;font-weight:700;line-height:1.3;color:var(--cream);}
.cr-cd{margin-top:20px;padding-top:4px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--cream-line);}
.cr-cd > div{padding:16px 6px 0;text-align:center;min-width:0;}
.cr-cd > div + div{border-left:1px solid var(--cream-line);}
.cr-cd .n{display:block;font-family:var(--serif);font-size:34px;font-weight:700;line-height:1;color:var(--ochre);font-variant-numeric:tabular-nums lining-nums;}
.cr-cd .u{display:block;margin-top:9px;font-size:9.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:rgba(251,243,231,.5);}
.cr-deadline.is-soon .n{color:#F6A188;}
.cr-deadline.is-closed .dt{color:rgba(251,243,231,.55);}
.cr-dl-closed{margin-top:18px;padding-top:18px;border-top:1px solid var(--cream-line);font-size:14.5px;line-height:1.6;color:rgba(251,243,231,.7);}
.cr-deadline--apply{margin-top:24px;max-width:none;}
.cr-apply-card .cr-close.past span{color:#F6A188;}
@media (max-width:600px){
  .cr-deadline{padding:20px;}
  .cr-deadline .dt{font-size:18px;}
  .cr-cd .n{font-size:28px;}
  .cr-cd > div{padding:14px 4px 0;}
  .cr-cd .u{font-size:9px;letter-spacing:.12em;}
}

/* ---------- open application ---------- */
.cr-open{padding-block:72px;}
.cr-open-card{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px 40px;padding:36px 40px;border-radius:20px;background:var(--cream-2);border:1px solid var(--line);}
.cr-open-card h2{font-size:clamp(24px,2.6vw,30px);line-height:1.2;}
.cr-open-card p{margin-top:8px;font-size:15.5px;line-height:1.65;color:var(--ink-70);max-width:38rem;}
.cr-open-card p b{color:var(--navy);user-select:all;}
@media (max-width:600px){.cr-open-card{padding:26px 22px;}}

/* ---------- vacancy page ---------- */
.cr-crumbs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:13px;font-weight:600;color:var(--ink-50);}
.cr-crumbs a{color:var(--terracotta-deep)!important;}
.cr-crumbs a:hover{text-decoration:underline;}
/* The role masthead. With the photograph gone the title has to carry the
   opening on its own, so it moves onto navy-deep with the same dot texture the
   insight articles use, and the facts strip underneath reads as a dateline. */
.cr-vhero{position:relative;overflow:hidden;background:var(--navy-deep);color:var(--cream);padding-block:40px 72px;}
.cr-vhero-dots{position:absolute;inset:0;opacity:.07;background-image:radial-gradient(circle at center,#FBF3E7 1.2px,transparent 1.4px);background-size:22px 22px;pointer-events:none;}
.cr-vhero .wrap{position:relative;}
.cr-vhero-copy{min-width:0;margin-top:34px;}
.cr-vhero .cr-crumbs{color:rgba(251,243,231,.45);}
.cr-vhero .cr-crumbs a{color:var(--ochre)!important;}
.cr-vhero .cr-eyebrow{color:var(--ochre);}
.cr-vhero h1{margin-top:16px;max-width:17ch;font-size:clamp(40px,5.6vw,68px);line-height:1.01;letter-spacing:-.018em;color:var(--cream)!important;}
.cr-vhero .cr-lede{margin-top:22px;max-width:38rem;font-size:18px;line-height:1.6;color:rgba(251,243,231,.72);}
.cr-vhero .cr-facts{display:flex;flex-wrap:wrap;max-width:none;border-color:var(--cream-line);}
.cr-vhero .cr-facts div{padding:16px 26px 16px 0;}
.cr-vhero .cr-facts div + div{padding-left:26px;border-left-color:var(--cream-line);}
.cr-vhero .cr-facts dt{color:rgba(251,243,231,.45);}
.cr-vhero .cr-facts dd{color:var(--cream);}
.cr-vhero .cr-facts dd.tbc{color:rgba(251,243,231,.5);}
.cr-vhero .cr-btn--ghost{border-color:rgba(251,243,231,.3)!important;color:rgba(251,243,231,.8)!important;}
.cr-vhero .cr-btn--ghost:hover{border-color:var(--cream)!important;color:var(--cream)!important;}
.cr-vhero :focus-visible{outline-color:var(--ochre);}
.cr-facts{margin:32px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.cr-facts div{padding:16px 18px 16px 0;}
.cr-facts div + div{padding-left:18px;border-left:1px solid var(--line);}
.cr-facts dt{font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-50);}
.cr-facts dd{margin:6px 0 0;font-size:15px;font-weight:700;color:var(--navy);line-height:1.35;}
.cr-facts dd.tbc{color:var(--ink-50);font-weight:600;font-style:italic;}
@media (max-width:900px){
  .cr-vhero{padding-block:28px 52px;}
  .cr-vhero-copy{margin-top:26px;}
  .cr-vhero h1{max-width:none;}
  .cr-facts,.cr-vhero .cr-facts{display:grid;grid-template-columns:1fr 1fr;}
  .cr-facts div,.cr-facts div + div,
  .cr-vhero .cr-facts div,.cr-vhero .cr-facts div + div{padding:16px 18px 16px 0;border-left:0;}
  .cr-facts div:nth-child(even),
  .cr-vhero .cr-facts div:nth-child(even){padding-left:18px;border-left:1px solid var(--line);}
  .cr-facts div:nth-child(n+3){border-top:1px solid var(--line);}
  .cr-vhero .cr-facts div:nth-child(even){border-left-color:var(--cream-line);}
  .cr-vhero .cr-facts div:nth-child(n+3){border-top:1px solid var(--cream-line);}
}

.cr-body-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:72px;align-items:start;}
.cr-main{min-width:0;counter-reset:crblock;}
.cr-block{counter-increment:crblock;}
.cr-block + .cr-block{margin-top:64px;}
.cr-block h2{font-size:clamp(26px,2.8vw,33px);line-height:1.15;}
.cr-block h2::before{content:counter(crblock,decimal-leading-zero);display:block;margin-bottom:14px;font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.2em;color:var(--terracotta-deep);}
.cr-block > p{margin-top:16px;font-size:16.5px;line-height:1.75;color:var(--ink-70);max-width:42rem;}
/* Scoped to .agoal-careers so the 22px gap survives the chrome's
   .agoal-chrome ul reset, which is a class plus an element and would
   otherwise outrank a bare .cr-list. */
.agoal-careers .cr-list{margin:22px 0 0;padding:0;list-style:none;display:grid;gap:14px;max-width:44rem;}
.cr-list li{position:relative;padding-left:30px;font-size:16px;line-height:1.65;color:var(--charcoal);}
.cr-list li::before{content:"";position:absolute;left:2px;top:.55em;width:14px;height:8px;border-left:2px solid var(--terracotta);border-bottom:2px solid var(--terracotta);transform:rotate(-45deg);}
.cr-list--plus li::before{width:12px;height:12px;top:.45em;border:0;transform:none;background:linear-gradient(var(--ochre),var(--ochre)) center/12px 2px no-repeat,linear-gradient(var(--ochre),var(--ochre)) center/2px 12px no-repeat;}
/* The second selector matches .cr-block > p above, which is a class plus an
   element and was repainting this subheading as body copy. */
.cr-sub,.cr-block > .cr-sub{margin-top:36px;font-family:var(--serif);font-size:19px;color:var(--navy);font-weight:700;}
.cr-sub-note{margin-top:6px;font-size:14px;color:var(--ink-50);}

.cr-zones{margin-top:26px;max-width:44rem;padding:2px 22px;border:1px solid var(--line);border-radius:14px;background:var(--paper);}
.cr-zone{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:8px 24px;align-items:baseline;padding:17px 0;border-bottom:1px solid var(--line);}
.cr-zone:last-child{border-bottom:0;}
.cr-zone b{font-family:var(--serif);font-size:18px;color:var(--navy);}
.cr-zone span{font-size:14px;line-height:1.6;color:var(--ink-70);}
.cr-zone em{font-style:normal;font-size:12px;font-weight:700;color:var(--terracotta-deep);white-space:nowrap;}
@media (max-width:620px){.cr-zone{grid-template-columns:minmax(0,1fr) auto;} .cr-zone span{grid-column:1/-1;grid-row:2;}}


.cr-aside{position:sticky;top:104px;display:grid;gap:16px;}
.cr-apply-card{border-radius:20px;background:var(--navy);color:var(--cream);padding:28px;}
.cr-apply-card h3{color:var(--cream)!important;font-size:22px;line-height:1.25;}
.cr-apply-card p{margin-top:10px;font-size:14.5px;line-height:1.65;color:var(--cream-70);}
.cr-apply-card .cr-btn{margin-top:22px;width:100%;justify-content:center;}
.cr-apply-card ul{margin:22px 0 0;padding:18px 0 0;list-style:none;border-top:1px solid var(--cream-line);display:grid;gap:10px;font-size:13.5px;color:var(--cream-70);}
.cr-apply-card li{display:flex;gap:10px;align-items:flex-start;line-height:1.5;}
.cr-apply-card li svg{flex-shrink:0;margin-top:2px;color:var(--ochre);}
.cr-help{border-radius:16px;border:1px solid var(--line);background:var(--paper);padding:20px 22px;font-size:14px;line-height:1.6;color:var(--ink-70);}
.cr-help b{display:block;color:var(--navy);font-size:14px;margin-bottom:4px;}
.cr-help .addr{color:var(--terracotta-deep);font-weight:700;user-select:all;overflow-wrap:anywhere;}
.agoal-careers .cr-copy{margin-top:12px;display:inline-flex;align-items:center;gap:6px;font:600 13px var(--sans);color:var(--navy);background:transparent;border:1px solid var(--line);padding:7px 12px;border-radius:999px;cursor:pointer;}
.agoal-careers .cr-copy:hover{border-color:var(--navy);}
@media (max-width:980px){
  .cr-body-grid{grid-template-columns:1fr;gap:48px;}
  .cr-aside{position:static;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:start;gap:20px;}
}

/* Closing date sits above the apply button: the first thing an applicant
   needs after deciding they want the role. .tbc marks a date not yet set,
   so an unfilled one reads as a gap rather than silently disappearing. */
.cr-apply-card .cr-close{margin-top:16px;padding-bottom:18px;border-bottom:1px solid var(--cream-line);}
.cr-apply-card .cr-close span{display:block;font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:rgba(251,243,231,.5);}
.cr-apply-card .cr-close b{display:block;margin-top:7px;font-family:var(--serif);font-size:17px;font-weight:700;line-height:1.3;color:var(--cream);}
.cr-apply-card .cr-close.tbc b{font-style:italic;font-weight:600;color:rgba(251,243,231,.6);}
.agoal-careers .cr-mail{color:var(--terracotta-deep)!important;font-weight:700;text-decoration:underline;text-decoration-color:rgba(168,53,26,.35);text-underline-offset:3px;overflow-wrap:anywhere;}
.agoal-careers .cr-mail:hover{text-decoration-color:currentColor;}

/* ---------- application form ---------- */
.cr-apply{background:var(--cream-2);}
.cr-apply-grid{display:grid;grid-template-columns:.85fr 1.25fr;gap:64px;align-items:start;}
.cr-apply-intro{min-width:0;position:sticky;top:104px;}
.cr-apply-intro h2{font-size:clamp(30px,3.4vw,42px);line-height:1.12;margin-top:12px;}
.cr-apply-intro > p{margin-top:16px;font-size:16px;line-height:1.7;color:var(--ink-70);}
.cr-eo-box{margin-top:28px;padding:20px 22px;border-radius:14px;border:1px solid var(--line);background:rgba(255,252,247,.6);font-size:14px;line-height:1.7;color:var(--ink-70);}
.cr-eo-box b{display:block;font-family:var(--serif);font-size:17px;color:var(--navy);margin-bottom:6px;}
.cr-form-card{border-radius:20px;border:1px solid var(--line);background:var(--paper);padding:36px;min-width:0;}
.cr-pv-note{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.55;color:#7A5418;background:rgba(216,155,60,.14);border:1px solid rgba(216,155,60,.35);border-radius:10px;padding:12px 14px;}
.cr-pv-note svg{flex-shrink:0;margin-top:1px;}
.cr-form{margin-top:24px;display:grid;grid-template-columns:1fr 1fr;gap:22px 16px;}
.cr-field{display:flex;flex-direction:column;gap:7px;min-width:0;grid-column:1/-1;}
.cr-field.half{grid-column:span 1;}
.cr-field label,.cr-field legend{font-size:13px;font-weight:700;color:var(--navy);padding:0;}
.cr-field label .req,.cr-field legend .req{color:var(--terracotta);margin-left:2px;}
.cr-field .hint{font-size:12.5px;color:var(--ink-50);line-height:1.5;}
.cr-field input[type=text],.cr-field input[type=email],.cr-field input[type=tel],.cr-field input[type=url],.cr-field select,.cr-field textarea{width:100%;padding:12px 14px;border-radius:10px;border:1px solid rgba(42,36,31,.16);background:var(--cream);font:14px/1.5 var(--sans);color:var(--charcoal);}
.cr-field textarea{min-height:120px;resize:vertical;}
.cr-field select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%232A241F' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:38px;}
.cr-field input:focus,.cr-field select:focus,.cr-field textarea:focus{outline:none;border-color:var(--terracotta);box-shadow:0 0 0 3px rgba(209,70,34,.12);background:var(--paper);}
.cr-field fieldset{border:0;margin:0;padding:0;min-width:0;display:flex;flex-direction:column;gap:7px;}
.cr-radios{display:flex;flex-wrap:wrap;gap:10px;}
.cr-radios label{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--charcoal);padding:10px 16px;border-radius:999px;border:1px solid rgba(42,36,31,.16);background:var(--cream);cursor:pointer;}
.cr-radios input{accent-color:var(--terracotta);margin:0;}
.cr-drop{position:relative;display:flex;align-items:center;gap:14px;padding:16px;border-radius:12px;border:1.5px dashed rgba(42,36,31,.22);background:var(--cream);cursor:pointer;transition:border-color .2s ease,background .2s ease;}
.cr-drop:hover{border-color:var(--terracotta);background:var(--paper);}
.cr-drop:focus-within{border-color:var(--terracotta);background:var(--paper);outline:2px solid var(--navy);outline-offset:3px;}
.cr-drop .ic{display:flex;width:40px;height:40px;flex-shrink:0;align-items:center;justify-content:center;border-radius:10px;background:var(--paper);border:1px solid var(--line);color:var(--terracotta);}
.cr-drop .tx{font-size:14px;color:var(--ink-70);line-height:1.45;min-width:0;overflow-wrap:anywhere;}
.cr-drop .tx b{color:var(--navy);display:block;}
.cr-drop input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;}
.cr-consent{grid-column:1/-1;display:flex;gap:10px;align-items:flex-start;font-size:13.5px;line-height:1.55;color:var(--ink-70);}
.cr-consent input{margin-top:3px;accent-color:var(--terracotta);}
.cr-submit{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px;}
.cr-submit .cr-btn{border-radius:999px;padding:14px 30px;}
.cr-done{grid-column:1/-1;padding:16px 18px;border-radius:12px;background:rgba(27,42,65,.05);border:1px solid var(--line);font-size:14px;line-height:1.6;color:var(--navy);}
@media (max-width:980px){.cr-apply-grid{grid-template-columns:1fr;gap:36px;} .cr-apply-intro{position:static;}}
@media (max-width:620px){
  .cr-form-card{padding:22px;}
  .cr-form{grid-template-columns:1fr;}
  .cr-field.half{grid-column:1/-1;}
  .cr-submit .cr-btn{width:100%;justify-content:center;}
}

.cr-more{padding-block:88px;}
.cr-more h2{font-size:clamp(26px,2.8vw,32px);}

@media (prefers-reduced-motion:reduce){.cr-btn--primary:hover,.cr-role:hover .cr-role-go{transform:none;}}

/* ---------- Formidable Forms inside the application card ----------
   Formidable 6 is entirely CSS-variable driven, and the house tokens are fed
   into those variables by a saved form style ("A-Goal Careers", post_name
   agoal-careers), so labels, inputs, errors and the submit button are already
   correct before this file loads. What is left here is the handful of things
   the styler has no setting for: the dropzone, the declaration checkbox, the
   Bootstrap add-on's stray .btn classes, and small layout corrections. */
.cr-form-card .frm_forms{margin-top:24px;}
.cr-form-card .frm_forms fieldset{border:0;margin:0;padding:0;min-width:0;}
.cr-form-card .frm_forms .frm_form_field{min-width:0;}
.cr-form-card .frm_forms .frm_primary_label{font-family:var(--sans)!important;line-height:1.45;}
.cr-form-card .frm_forms input,.cr-form-card .frm_forms select,.cr-form-card .frm_forms textarea{box-shadow:none!important;}
.cr-form-card .frm_forms textarea{resize:vertical;}
.cr-form-card .frm_forms select{
  appearance:none;-webkit-appearance:none;
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%232A241F' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;background-position:right 14px center!important;padding-right:38px!important;
}

/* Upload field. Formidable paints the dropzone from its own palette, so the
   cream/terracotta treatment is set here and the inner button is stripped of
   the submit-button styling Formidable gives it. */
.cr-form-card .frm_forms .frm_dropzone{
  border:1px dashed rgba(42,36,31,.3)!important;border-radius:12px!important;
  background:var(--cream)!important;padding:26px 20px!important;min-height:0!important;
  transition:border-color .18s ease,background .18s ease;cursor:pointer;
}
.cr-form-card .frm_forms .frm_dropzone:hover,
.cr-form-card .frm_forms .frm_dropzone.dz-drag-hover{border-color:var(--terracotta)!important;background:var(--paper)!important;}
.cr-form-card .frm_forms .frm_dropzone .dz-message{margin:0!important;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;}
.cr-form-card .frm_forms .frm_dropzone .dz-message svg{width:20px;height:20px;fill:var(--terracotta);}
.cr-form-card .frm_forms .frm_dropzone .dz-message button{
  background:none!important;border:0!important;padding:0!important;margin:0!important;box-shadow:none!important;
  font-family:var(--sans)!important;font-size:14px!important;font-weight:700!important;color:var(--navy)!important;
  border-radius:0!important;cursor:pointer;width:auto!important;height:auto!important;
}
.cr-form-card .frm_forms .frm_dropzone .frm_small_text p{font-family:var(--sans);font-size:12px;color:var(--ink-50);margin:0;}
.cr-form-card .frm_forms .frm_dropzone .fallback input[type=file]{font-family:var(--sans);font-size:13px;}
.cr-form-card .frm_forms .dz-preview{font-family:var(--sans);}
.cr-form-card .frm_forms .frm_uploaded_files,.cr-form-card .frm_forms .frm_upload_text{font-family:var(--sans);}

/* The declaration is one long checkbox, so it reads as a sentence rather than
   a choice pill. */
.cr-form-card .frm_forms .frm_checkbox label,.cr-form-card .frm_forms .frm_radio label{
  display:flex!important;align-items:flex-start;gap:9px;
  font-family:var(--sans)!important;font-size:13.5px!important;font-weight:400!important;
  color:var(--ink-70)!important;line-height:1.6;cursor:pointer;
}
.cr-form-card .frm_forms .frm_checkbox input[type=checkbox],
.cr-form-card .frm_forms .frm_radio input[type=radio]{accent-color:var(--terracotta);margin:3px 0 0!important;flex:0 0 auto;}

/* Bootstrap add-on puts .btn .btn-secondary on the submit button; the style's
   own submit colours have to beat that if Bootstrap's CSS is ever loaded. */
.cr-form-card .frm_forms .frm_submit{margin-top:4px;}
.cr-form-card .frm_forms .frm_button_submit{
  background:var(--terracotta)!important;background-image:none!important;border:0!important;
  color:#FFFCF7!important;font-family:var(--sans)!important;font-size:14px!important;font-weight:700!important;
  border-radius:999px!important;padding:14px 30px!important;box-shadow:none!important;cursor:pointer;
  transition:background .2s ease,transform .2s ease;
}
.cr-form-card .frm_forms .frm_button_submit:hover{background:var(--terracotta-deep)!important;transform:translateY(-2px);}
.cr-form-card .frm_forms .frm_button_submit:focus-visible{outline:2px solid var(--navy)!important;outline-offset:3px;}
.cr-form-card .frm_forms .frm_error,.cr-form-card .frm_forms .frm_error_style{font-family:var(--sans)!important;}
.cr-form-card .frm_forms .frm_message,.cr-form-card .frm_message{
  font-family:var(--sans);font-size:15px;line-height:1.7;color:var(--navy);
  padding:18px 20px;border-radius:12px;background:var(--cream-2);border:1px solid var(--line);
}
@media (max-width:620px){
  .cr-form-card .frm_forms .frm_button_submit{width:100%;}
}

/* The role is closed: the form is replaced by a plain notice. */
.cr-closed-note{padding:22px 24px;border-radius:14px;background:var(--cream);border:1px solid var(--line);font-size:15.5px;line-height:1.7;color:var(--ink-70);}
.cr-closed-note b{display:block;font-family:var(--serif);font-size:18px;color:var(--navy);margin-bottom:6px;}
