/* WordPress additions to the design's site.css: the Gravity Forms layer, the hero poster, the consent banner.
   Nothing here restyles the design; it only maps WordPress and plugin markup onto it. */

/* ---------- Gravity Forms: the <form> is the design's grid (.cform__form / .apply__form), GF's wrappers step aside */
.gform_wrapper.tpo-form_wrapper{margin:0}
.tpo-form .gform-body,.tpo-form .gform_body,.tpo-form .gform_fields{display:contents}
.tpo-form .gform_hidden,.tpo-form .gfield--type-hidden,.tpo-form .gform_validation_container,
.tpo-form .gfield_visibility_hidden,.tpo-form .gfield--type-honeypot,.tpo-form .gform_ajax_spinner{display:none!important}
.tpo-form fieldset.gfield{border:0;padding:0;margin:0;min-width:0}
.tpo-form .gfield--type-radio,.tpo-form .gfield--type-turnstile,.tpo-form .gform_validation_errors{grid-column:1 / -1}
.tpo-form .gfield--type-turnstile:empty{display:none}
.tpo-form .gfield[hidden]{display:none}
.tpo-form .gform_footer{grid-column:1 / -1;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:1rem 1.6rem;flex-wrap:wrap;margin-top:.6rem}
.apply .tpo-form .gform_footer{margin-top:.3rem}
.tpo-form .gform_footer .cform__small{max-width:none;flex:1 1 0;min-width:min(100%,24ch)}
.tpo-form .gform_validation_errors{padding:.9rem 1.1rem;border-radius:var(--r-md);background:#FDECEA;color:#B3261E;font-size:.9rem;line-height:1.5}
.tpo-form .gform_validation_errors h2{font:inherit;font-weight:600;margin:0;color:inherit}
.field.is-bad textarea,.field.is-bad .sel__btn,.field.is-bad .cv-drop{border-color:#B3261E}
@media (max-width:640px){.tpo-form .gform_footer .btn{flex:1 1 100%;justify-content:center}}

/* the confirmation that replaces the contact form */
.cform__done{padding:clamp(28px,3vw,44px);background:var(--wash);border:1px solid var(--line-2);border-radius:var(--r-xl);outline:none}
.cform__done h3{font-family:var(--sans);font-weight:600;font-size:clamp(1.4rem,2.2vw,1.8rem);letter-spacing:-.03em;color:var(--ink)}
.cform__done p{margin-top:.7rem;max-width:52ch;color:var(--muted);line-height:1.6}

/* job adverts written in the editor use <strong> where the design's copy used <b> */
.job p strong,.job__list strong{color:var(--ink);font-weight:600}

/* ---------- footer column headings are h2 (heading order), set exactly as the design's h4 */
.foot__col h2{font-family:var(--sans);font-weight:600;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin:0 0 1rem}

/* ---------- hero: the poster is the first paint; the film fades in over it once it plays */
.hero__poster{transition:opacity .6s ease}
.hero__poster.is-gone{opacity:0}

/* ---------- logged-in editors: the fixed header sits below the admin bar */
body.admin-bar .nav{top:var(--wp-admin--admin-bar--height,32px)}

/* ---------- cookie consent */
.consent{position:fixed;left:clamp(12px,2vw,24px);bottom:clamp(12px,2vw,24px);z-index:95;width:min(440px,calc(100vw - 24px));padding:22px 24px;
  background:var(--night);color:#fff;border-radius:var(--r-xl);box-shadow:0 18px 50px rgba(3,5,8,.35)}
.consent[hidden]{display:none}
.consent__title{margin:0;font-weight:600;font-size:1rem;letter-spacing:-.01em}
.consent__txt{margin:.5rem 0 0;color:var(--muted-d);font-size:.92rem;line-height:1.55}
.consent__txt a{color:#fff}
.consent__btns{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.1rem}
.consent .btn--ghost{color:#fff;border-color:rgba(255,255,255,.4)}
.consent .btn--ghost:hover{border-color:#fff}
.consent .btn--solid:hover{background:var(--paper);color:var(--ink)}
html.has-splash .consent{display:none}
