.elementor-14 .elementor-element.elementor-element-5b149a5{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-14 .elementor-element.elementor-element-cf171a0{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-14 .elementor-element.elementor-element-de49352{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-14 .elementor-element.elementor-element-7d82050{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-14 .elementor-element.elementor-element-b0a6ff4{width:auto;max-width:auto;}.elementor-14 .elementor-element.elementor-element-b0a6ff4 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-14 .elementor-element.elementor-element-790e205{width:auto;max-width:auto;}.elementor-14 .elementor-element.elementor-element-57dcaf1{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-14 .elementor-element.elementor-element-ad0d0e1{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-14 .elementor-element.elementor-element-581c3b6{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-14 .elementor-element.elementor-element-02a7265{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-14 .elementor-element.elementor-element-0c29db2{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-14 .elementor-element.elementor-element-97d08ee{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-14 .elementor-element.elementor-element-c72233c{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-14 .elementor-element.elementor-element-04deed6{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-14 .elementor-element.elementor-element-f84bffe{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-14 .elementor-element.elementor-element-34b86e1{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-14 .elementor-element.elementor-element-428704d{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-14 .elementor-element.elementor-element-ed34cdb{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-14 .elementor-element.elementor-element-9130ac0 .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-14 .elementor-element.elementor-element-9130ac0 .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-14 .elementor-element.elementor-element-9130ac0{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-14 .elementor-element.elementor-element-9130ac0 .elementor-icon-list-text{transition:color 0.3s;}.elementor-14 .elementor-element.elementor-element-10cb372{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-14 .elementor-element.elementor-element-a80803c{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-14 .elementor-element.elementor-element-fce65ca{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-14 .elementor-element.elementor-element-77c76c1{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-14 .elementor-element.elementor-element-790fb79{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-14 .elementor-element.elementor-element-8daadb5{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-14 .elementor-element.elementor-element-09a091d{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-14 .elementor-element.elementor-element-e617b49{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-14 .elementor-element.elementor-element-28fe071{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-14 .elementor-element.elementor-element-8e38e85{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-14 .elementor-element.elementor-element-58aabbc{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-14 .elementor-element.elementor-element-c6fdace{width:auto;max-width:auto;}.elementor-14 .elementor-element.elementor-element-c6fdace .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-14 .elementor-element.elementor-element-9d4971d{width:auto;max-width:auto;}/* Start custom CSS *//* ==========================================================================
   ZaphyrRecruit About (page 14): layout, look and motion
   --------------------------------------------------------------------------
   THESIS  No guesswork. The page states plainly what kind of firm this is
     and is not; what is open resolves into settled terms. Refuses the stock
     About page: photo hero, story, mission cards, counters, team grid.
   OWN-WORLD  The site's: #252525 ink bands, low red glow, white and #F0F0F2
     paper, #C60000 (#FFB4A8 on ink), Manrope 700 at tight tracking, 8px
     controls, 16-20px surfaces, #E3E1E4 hairlines, the logo's stepped
     blocks as the only ornament.
   STORY  Who runs it, the terms at a glance, what it is and is not, why,
     mission, answers, a brief.
   FIRST VIEWPORT  Ink band: kicker, three-line H1 and both actions left,
     lede right; the office panorama breaks out below, terms plate on its
     lower edge.
   FORM  Comparison ledger, candidate 3 of 5, seed 0c13689d. The ledger
     resolving row by row is the one authored moment.
   ========================================================================== */

:root{
  --zr-primary:#C60000;
  --zr-primary-hover:#A50000;
  --zr-primary-deep:#A50000;
  --zr-primary-container:#FFDAD4;
  --zr-inverse-primary:#FFB4A8;
  --zr-ink:#252525;
  --zr-ink-2:#4A4749;
  --zr-ink-3:#5F5C5E;
  --zr-surface:#FFFFFF;
  --zr-surface-2:#F0F0F2;
  --zr-line:#E3E1E4;
  --zr-outline:#767679;
  --zr-dark:#252525;
  --zr-dark-2:#313131;
  --zr-on-dark:#F4F2F3;
  --zr-on-dark-2:#D2D0D1;
  --zr-on-dark-3:#B9B6B7;
  --zr-shell:1200px;
  --zr-gutter:clamp(20px, 4vw, 40px);
  --zr-band:clamp(72px, 8vw, 112px);
  --zr-r-sm:8px;
  --zr-r-lg:16px;
  --zr-r-xl:20px;
  --zr-ease:cubic-bezier(.2,0,0,1);
  --zr-ease-out:cubic-bezier(.16,1,.3,1);
  --zr-shadow-plate:0 1px 2px rgba(20,20,20,.06), 0 28px 56px -28px rgba(20,20,20,.42);
  --zr-shadow-photo:0 2px 6px rgba(0,0,0,.18), 0 44px 80px -44px rgba(0,0,0,.6);
  --zr-header:108px;
  --zra-tick-disc:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='12' fill='%23C60000'/%3E%3Cpath d='M6.5 12.5l3.6 3.6 7.4-8.2' fill='none' stroke='%23fff' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --zra-cross-disc:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='12' fill='%23767679'/%3E%3Cpath d='M8 8l8 8M16 8l-8 8' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E");
}

/* ---------------------------------------------------------------- 1. base */
/* Astra sets the root at 17px, so 1rem here is 17px. Manrope is enqueued at
   400/500/700 only: nothing on this page asks for 600 or 800. */

.zra, .zra h1, .zra h2, .zra h3, .zra p, .zra li, .zra a, .zra span,
.zra th, .zra td, .zra caption, .zra button{
  font-family:"Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.zra h1, .zra h2, .zra h3, .zra .elementor-heading-title{ text-wrap:balance; }
.zra p, .zra li, .zra td{ text-wrap:pretty; }

/* one 1200px shell for every band */
.e-con.zra{
  --container-max-width:var(--zr-shell);
  padding:var(--zr-band) var(--zr-gutter);
}
.e-con.zra > .e-con-inner{ max-width:var(--zr-shell); padding:0; gap:0; }
/* nested containers carry no spacing of their own; the rules below set it */
.zra .e-con.e-con-full{ padding:0; gap:0; }
.zra .elementor-element.elementor-widget{ margin:0; }
.zra .elementor-widget-container{ margin:0; padding:0; }
.zra .elementor-widget-text-editor p{ margin:0 0 .9em; }
.zra .elementor-widget-text-editor p:last-child{ margin-bottom:0; }
.elementor-widget.zra-js{ display:none; }
.zra .zra-sr{
  position:absolute !important; width:1px; height:1px; overflow:hidden;
  clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap;
}
.zra a{ text-underline-offset:.18em; }

/* ---------------------------------------------------------------- 2. type */

.zra .zra-kicker .elementor-heading-title{
  display:inline-flex; align-items:center; gap:10px; margin:0;
  font-size:.8125rem; font-weight:700; line-height:1.2; letter-spacing:.14em;
  text-transform:uppercase; color:var(--zr-primary);
}
/* the square is the logo's stepped block */
.zra .zra-kicker .elementor-heading-title::before{
  content:""; flex:none; width:8px; height:8px; border-radius:1px; background:currentColor;
}
.zra .zra-kicker--dark .elementor-heading-title{ color:var(--zr-inverse-primary); }

.zra .zra-h1 .elementor-heading-title{
  margin:0; color:#FFFFFF;
  font-size:clamp(2.5rem, 1.55rem + 2.4vw, 3.375rem);
  line-height:1.04; font-weight:700; letter-spacing:-.032em;
}
.zra .zra-h2 .elementor-heading-title{
  margin:0; color:var(--zr-ink);
  font-size:clamp(1.875rem, 1.3rem + 1.6vw, 2.75rem);
  line-height:1.12; font-weight:700; letter-spacing:-.022em;
}
.zra .zra-h2--dark .elementor-heading-title{ color:#FFFFFF; }
.zra .elementor-heading-title .nw{ white-space:nowrap; }

.zra .zra-body p{ font-size:1.0625rem; line-height:1.68; color:var(--zr-ink-2); max-width:62ch; }
.zra .zra-lede p{ font-size:1.0625rem; line-height:1.62; color:var(--zr-on-dark-2); max-width:54ch; }

/* ---------------------------------------------------------------- 3. buttons */
/* Every state is pinned: the kit fills .elementor-button:hover with #252525. */

.zra .elementor-widget-button.zra-btn{ width:auto; max-width:100%; }
.zra .zra-btn .elementor-button{
  display:inline-flex; align-items:center; justify-content:center;
  min-height:52px; padding:0 26px; border-radius:var(--zr-r-sm);
  border:2px solid transparent; background:transparent; box-shadow:none;
  font-size:.9375rem; font-weight:700; line-height:1; letter-spacing:.05em;
  text-transform:uppercase; text-decoration:none;
  transition:background-color .2s var(--zr-ease), color .2s var(--zr-ease), border-color .2s var(--zr-ease), transform .15s var(--zr-ease);
}
.zra .zra-btn .elementor-button-content-wrapper{ gap:10px; align-items:center; }
.zra .zra-btn .elementor-button-icon{ margin:0; font-size:.875em; transition:transform .3s var(--zr-ease-out); }
.zra .zra-btn .elementor-button-icon svg{ width:1em; height:1em; fill:currentColor; }
.zra .zra-btn .elementor-button:hover .elementor-button-icon,
.zra .zra-btn .elementor-button:focus-visible .elementor-button-icon{ transform:translateX(4px); }
.zra .zra-btn .elementor-button:active{ transform:scale(.98); }
.zra .zra-btn .elementor-button:focus-visible{ outline:3px solid var(--zr-primary); outline-offset:3px; }

.zra .zra-btn--primary .elementor-button,
.zra .zra-btn--primary .elementor-button:visited{ background:var(--zr-primary); border-color:var(--zr-primary); color:#FFFFFF; }
.zra .zra-btn--primary .elementor-button:hover,
.zra .zra-btn--primary .elementor-button:focus,
.zra .zra-btn--primary .elementor-button:active{ background:var(--zr-primary-hover); border-color:var(--zr-primary-hover); color:#FFFFFF; }

.zra .zra-btn--ghost .elementor-button,
.zra .zra-btn--ghost .elementor-button:visited{ background:transparent; border-color:rgba(255,255,255,.42); color:#FFFFFF; }
.zra .zra-btn--ghost .elementor-button:hover,
.zra .zra-btn--ghost .elementor-button:focus,
.zra .zra-btn--ghost .elementor-button:active{ background:rgba(255,255,255,.1); border-color:#FFFFFF; color:#FFFFFF; }
.zra .zra-btn--ghost .elementor-button:focus-visible{ outline-color:var(--zr-inverse-primary); }

.zra .e-con.zra-actions{ display:flex; flex-flow:row wrap; gap:12px; align-items:center; }

/* ---------------------------------------------------------------- 4. hero */

.e-con.zra-hero{
  --zra-tail:clamp(40px, 4vw, 56px);
  position:relative; isolation:isolate; overflow:clip;
  padding-top:clamp(36px, 3vw, 44px); padding-bottom:var(--zra-tail);
  background:
    radial-gradient(46% 62% at 88% 4%, rgba(198,0,0,.30) 0%, rgba(198,0,0,0) 64%),
    radial-gradient(34% 46% at 0% 58%, rgba(198,0,0,.12) 0%, rgba(198,0,0,0) 70%),
    linear-gradient(180deg, #1F1F1F 0%, #262626 100%);
}
/* hairline dot field behind the headline, masked to the top right */
.e-con.zra-hero::before{
  content:""; position:absolute; inset:0; width:auto; height:auto; z-index:-1; pointer-events:none;
  opacity:1; mix-blend-mode:normal; border:0; border-radius:0;
  background-image:radial-gradient(rgba(255,255,255,.08) 1px, transparent 1.2px);
  background-size:22px 22px;
  -webkit-mask-image:radial-gradient(48% 52% at 82% 18%, #000 0%, transparent 74%);
          mask-image:radial-gradient(48% 52% at 82% 18%, #000 0%, transparent 74%);
}
.e-con.zra-hero > .e-con-inner{ gap:clamp(28px, 2.2vw, 32px); }
.zra .e-con.zra-hero__top{
  display:grid; grid-template-columns:minmax(0, 7fr) minmax(0, 5fr);
  column-gap:clamp(32px, 5vw, 80px); row-gap:28px; align-items:end;
}
.zra .e-con.zra-hero__head{ gap:24px; }
.zra .e-con.zra-hero__head .zra-actions{ margin-top:4px; }
.zra .e-con.zra-hero__side{ gap:0; padding-bottom:4px; }

/* the panorama breaks out of the ink band onto a white floor */
.zra .e-con.zra-hero__media{ position:relative; gap:0; }
.zra .e-con.zra-hero__media::before{
  content:""; position:absolute; z-index:0; top:60%; bottom:calc(-1 * var(--zra-tail));
  left:calc(50% - 50vw); right:auto; width:100vw; height:auto;
  opacity:1; mix-blend-mode:normal; border:0; border-radius:0; background:#FFFFFF;
}
.zra .zra-hero__img{ position:relative; z-index:1; }
.zra .zra-hero__img .elementor-widget-container{ border-radius:var(--zr-r-xl); overflow:hidden; box-shadow:var(--zr-shadow-photo); }
.zra .zra-hero__img img{
  display:block; width:100%; height:auto; aspect-ratio:10 / 3; object-fit:cover; object-position:50% 40%;
  border-radius:var(--zr-r-xl);
}

/* the terms plate */
.zra .elementor-widget.zra-facts{
  position:relative; z-index:2; margin:-112px clamp(16px, 4vw, 48px) 0;
  background:#FFFFFF; border-radius:var(--zr-r-lg); box-shadow:var(--zr-shadow-plate);
}
.zra .zra-facts ul{
  list-style:none; margin:0; padding:0;
  display:grid; grid-template-columns:repeat(4, minmax(0, 1fr));
}
.zra .zra-facts li{ margin:0; padding:26px 28px 24px; display:flex; flex-direction:column; gap:10px; min-width:0; }
.zra .zra-facts li + li{ border-left:1px solid var(--zr-line); }
.zra .zra-facts__num{
  display:block; font-size:clamp(2.25rem, 1.55rem + 1.5vw, 3rem); line-height:1; font-weight:700;
  letter-spacing:-.035em; color:var(--zr-ink); font-variant-numeric:tabular-nums lining-nums;
}
.zra .zra-facts__num .n{ display:inline-block; text-align:right; }
.zra .zra-facts__num .u{ color:var(--zr-primary); margin-left:.04em; }
.zra .zra-facts__txt{ display:block; font-size:.9375rem; line-height:1.45; color:var(--zr-ink-3); max-width:26ch; }

/* ---------------------------------------------------------------- 5. the ledger */

.e-con.zra-ledger{ background:#FFFFFF; padding-top:calc(var(--zr-band) * .72); }
.e-con.zra-ledger > .e-con-inner{ gap:clamp(48px, 6vw, 72px); }
.zra .e-con.zra-ledger__intro{
  display:grid; grid-template-columns:minmax(0, 7fr) minmax(0, 5fr);
  gap:clamp(32px, 5vw, 80px); align-items:center;
}
.zra .e-con.zra-ledger__copy{ gap:18px; }
.zra .e-con.zra-ledger__copy .zra-h2{ margin-bottom:4px; }
.zra .e-con.zra-ledger__block{ gap:22px; }
.zra .zra-ledger__img .elementor-widget-container{ border-radius:var(--zr-r-lg); overflow:hidden; }
.zra .zra-ledger__img img{ display:block; width:100%; height:auto; aspect-ratio:4 / 3; object-fit:cover; border-radius:var(--zr-r-lg); }

.zra .zra-ledger__t{
  width:100%; margin:0; border:0; border-collapse:separate; border-spacing:0; table-layout:fixed;
  font-size:1.0625rem; line-height:1.5; color:var(--zr-ink);
}
.zra .zra-ledger__t caption{ caption-side:top; }
.zra .zra-ledger__t col.c-topic{ width:18%; }
.zra .zra-ledger__t th, .zra .zra-ledger__t td{ border:0; background:none; text-align:left; vertical-align:top; }
.zra .zra-ledger__t thead th{ padding:22px 28px 18px 64px; font-size:1.0625rem; font-weight:700; letter-spacing:-.005em; position:relative; }
.zra .zra-ledger__t thead td{ padding:0; }
.zra .zra-ledger__t tbody th{
  padding:26px 20px 26px 0; font-size:.8125rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  color:var(--zr-ink); box-shadow:inset 0 1px 0 var(--zr-line);
}
.zra .zra-ledger__t tbody td{ padding:24px 28px 26px 64px; position:relative; box-shadow:inset 0 1px 0 var(--zr-line); }
/* the model we run is framed on all four sides (header top, last row bottom),
   the same 2px frame /service/ puts round "What we run"; the rest is plain */
.zra .zra-ledger__t .is-yes{ border-left:2px solid var(--zr-primary); border-right:2px solid var(--zr-primary); color:var(--zr-ink); } /* impeccable-disable-line side-tab -- four-sided column frame, not a one-sided tab */
.zra .zra-ledger__t thead .is-yes{ border-top:2px solid var(--zr-primary); border-radius:var(--zr-r-lg) var(--zr-r-lg) 0 0; color:var(--zr-primary); }
.zra .zra-ledger__t tbody tr:last-child .is-yes{ border-bottom:2px solid var(--zr-primary); border-radius:0 0 var(--zr-r-lg) var(--zr-r-lg); }
.zra .zra-ledger__t tbody .is-no{ color:var(--zr-ink-3); }
.zra .zra-ledger__t thead .is-no{ color:var(--zr-ink-3); }
.zra .zra-ledger__t tbody tr:last-child th,
.zra .zra-ledger__t tbody tr:last-child .is-no{ box-shadow:inset 0 1px 0 var(--zr-line), inset 0 -1px 0 var(--zr-line); }
/* reading ruler: helps the eye cross three columns, changes nothing else */
.zra .zra-ledger__t tbody tr:hover th,
.zra .zra-ledger__t tbody tr:hover td{ background-color:#FAFAFB; }

/* marks: a filled tick for what we are, an outlined cross for what we are not */
.zra .zra-ledger__t .is-yes::before,
.zra .zra-ledger__t .is-no::before{
  content:""; position:absolute; left:26px; top:24px; width:24px; height:24px; border-radius:50%;
}
.zra .zra-ledger__t thead .is-yes::before, .zra .zra-ledger__t thead .is-no::before{ top:21px; }
.zra .zra-ledger__t .is-yes::before{ background:var(--zra-tick-disc) center / 24px 24px no-repeat; }
.zra .zra-ledger__t .is-no::before{ background:var(--zra-cross-disc) center / 24px 24px no-repeat; }

/* ---------------------------------------------------------------- 6. what makes us different */

.e-con.zra-diff{
  background:
    radial-gradient(44% 64% at 100% 0%, rgba(198,0,0,.24) 0%, rgba(198,0,0,0) 70%),
    #252525;
}
.e-con.zra-diff > .e-con-inner{
  display:grid; grid-template-columns:minmax(0, 4fr) minmax(0, 7fr);
  gap:clamp(40px, 6vw, 96px); align-items:start;
}
.zra .e-con.zra-diff__head{ gap:18px; position:sticky; top:calc(var(--zr-header) + 40px); }
.zra .e-con.zra-diff__head .zra-lede p{ max-width:30ch; }
.zra .e-con.zra-diff__grid{
  display:grid; grid-template-columns:repeat(2, minmax(0, 1fr));
  column-gap:clamp(28px, 4vw, 56px); row-gap:clamp(36px, 4vw, 52px);
}
.zra .zra-principle .elementor-icon-box-wrapper{
  display:flex; flex-direction:column; align-items:flex-start; gap:0; text-align:left;
  padding-top:24px; border-top:1px solid rgba(255,255,255,.18);
}
.zra .zra-principle .elementor-icon-box-icon{ display:none; }
/* three rising bars, drawn from the logo's stepped blocks */
.zra .zra-principle .elementor-icon-box-content::before{
  content:""; display:block; width:20px; height:16px; margin:0 0 18px;
  background:
    linear-gradient(var(--zr-inverse-primary) 0 0) 0 100% / 5px 6px no-repeat,
    linear-gradient(var(--zr-inverse-primary) 0 0) 7px 100% / 5px 11px no-repeat,
    linear-gradient(var(--zr-inverse-primary) 0 0) 14px 100% / 5px 16px no-repeat;
}
.zra .zra-principle .elementor-icon-box-icon{ margin:0; line-height:0; }
.zra .zra-principle .elementor-icon{ font-size:24px; color:var(--zr-inverse-primary); fill:var(--zr-inverse-primary); }
.zra .zra-principle .elementor-icon i, .zra .zra-principle .elementor-icon svg{ color:inherit; fill:currentColor; width:1em; height:1em; }
.zra .zra-principle .elementor-icon-box-content{ text-align:left; }
.zra .zra-principle .elementor-icon-box-title{
  margin:0 0 10px; font-size:1.25rem; line-height:1.3; font-weight:700; letter-spacing:-.01em; color:#FFFFFF;
}
.zra .zra-principle .elementor-icon-box-title span, .zra .zra-principle .elementor-icon-box-title a{ color:inherit; }
.zra .zra-principle .elementor-icon-box-description{ margin:0; font-size:1rem; line-height:1.62; color:var(--zr-on-dark-2); }

/* ---------------------------------------------------------------- 7. story */

.e-con.zra-story > .e-con-inner{
  display:grid; grid-template-columns:minmax(0, 5fr) minmax(0, 6fr);
  gap:clamp(48px, 7vw, 112px); align-items:center;
}
.zra .e-con.zra-story__media{ position:relative; padding-bottom:56px; }
.zra .zra-story__img .elementor-widget-container{ border-radius:var(--zr-r-xl); overflow:hidden; }
.zra .zra-story__img img{ display:block; width:100%; height:auto; aspect-ratio:4 / 5; object-fit:cover; object-position:50% 30%; border-radius:var(--zr-r-xl); }
.zra .e-con.zra-story__card{
  position:absolute; right:-40px; bottom:0; z-index:2; width:min(360px, 82%);
  padding:22px 24px 24px; gap:14px; background:#FFFFFF;
  border-radius:var(--zr-r-lg); box-shadow:var(--zr-shadow-plate);
}
.zra .zra-story__label .elementor-heading-title{ margin:0; font-size:1rem; font-weight:700; line-height:1.3; color:var(--zr-ink); }
.zra .zra-checks .elementor-icon-list-items{ display:flex; flex-direction:column; gap:12px; margin:0; padding:0; }
.zra .zra-checks .elementor-icon-list-item{ display:flex; align-items:flex-start; gap:12px; margin:0; padding:0; }
.zra .zra-checks .elementor-icon-list-item::after{ display:none; }
.zra .zra-checks .elementor-icon-list-icon{
  flex:none; width:22px; height:22px; margin-top:1px; border-radius:50%; background:var(--zr-primary);
  display:inline-flex; align-items:center; justify-content:center; padding:0;
}
.zra .zra-checks .elementor-icon-list-icon i,
.zra .zra-checks .elementor-icon-list-icon svg{ color:#FFFFFF; fill:#FFFFFF; font-size:11px; width:11px; height:11px; }
.zra .zra-checks .elementor-icon-list-text{ padding:0; font-size:.9375rem; line-height:1.45; color:var(--zr-ink-2); }
.zra .e-con.zra-story__copy{ gap:22px; }

/* ---------------------------------------------------------------- 8. statement */

.e-con.zra-manifesto{
  position:relative; isolation:isolate; overflow:clip;
  background:
    radial-gradient(60% 90% at 100% 100%, rgba(120,0,0,.4) 0%, rgba(120,0,0,0) 70%),
    #C60000;
}
.e-con.zra-manifesto > .e-con-inner{ gap:28px; }
.zra .zra-mh .elementor-heading-title{
  margin:0; font-size:1.125rem; line-height:1.4; font-weight:700; letter-spacing:0; color:rgba(255,255,255,.92);
}
.zra .zra-statement .elementor-heading-title{
  margin:0; max-width:19ch; color:#FFFFFF;
  font-size:clamp(2.25rem, 1.1rem + 3.5vw, 4.5rem); line-height:1.06; font-weight:700; letter-spacing:-.034em;
}
.zra .zra-statement .zra-w{ display:inline; }
/* the logo's stepped blocks, rising from the floor of the band */
.zra .elementor-widget.zra-orn{
  position:absolute; right:clamp(24px, 5vw, 72px); bottom:0; z-index:-1;
  width:auto; height:clamp(220px, 26vw, 360px); pointer-events:none;
}
.zra .zra-orn .elementor-widget-container{ display:flex; align-items:flex-end; gap:14px; height:100%; }
.zra .zra-orn i{ display:block; width:clamp(34px, 3.6vw, 52px); background:rgba(40,0,0,.2); border-radius:3px 3px 0 0; transform-origin:50% 100%; }
.zra .zra-orn i:nth-child(1){ height:24%; }
.zra .zra-orn i:nth-child(2){ height:48%; }
.zra .zra-orn i:nth-child(3){ height:74%; }
.zra .zra-orn i:nth-child(4){ height:100%; }

/* ---------------------------------------------------------------- 9. mission and vision */

.zra .e-con.zra-mv__row{
  display:grid; grid-template-columns:minmax(0, 4fr) minmax(0, 8fr);
  gap:clamp(16px, 4vw, 64px); padding:clamp(32px, 4vw, 52px) 0;
  border-top:1px solid var(--zr-line);
}
.zra .e-con.zra-mv__row:last-child{ border-bottom:1px solid var(--zr-line); }
.zra .zra-mv__label .elementor-heading-title{
  display:flex; align-items:center; gap:12px; margin:0;
  font-size:1.25rem; line-height:1.3; font-weight:700; color:var(--zr-ink);
}
.zra .zra-mv__label .elementor-heading-title::before{ content:""; width:10px; height:10px; border-radius:1px; background:var(--zr-primary); flex:none; }
.zra .zra-mv__text p{
  margin:0; max-width:46ch; color:var(--zr-ink);
  font-size:clamp(1.1875rem, 1rem + .55vw, 1.5rem); line-height:1.5; font-weight:500; letter-spacing:-.012em;
}

/* ---------------------------------------------------------------- 10. faq */

.e-con.zra-faq{ background:var(--zr-surface-2); }
.e-con.zra-faq > .e-con-inner{
  display:grid; grid-template-columns:minmax(0, 4fr) minmax(0, 7fr);
  gap:clamp(40px, 6vw, 96px); align-items:start;
}
.zra .e-con.zra-faq__head{ gap:18px; position:sticky; top:calc(var(--zr-header) + 40px); }
.zra .zra-faq__intro p{ font-size:1.0625rem; line-height:1.65; color:var(--zr-ink-2); max-width:40ch; }
.zra .zra-faq__list .elementor-accordion .elementor-accordion-item:last-child{ margin-bottom:0 !important; }
.zra .zra-faq__list .elementor-tab-title,
.zra .zra-faq__list .elementor-tab-title a{ text-decoration:none; }
.zra .zra-faq__list .elementor-tab-content a{ color:var(--zr-primary); font-weight:500; text-decoration:underline; text-decoration-thickness:1px; }
.zra .zra-faq__list .elementor-tab-content a:hover,
.zra .zra-faq__list .elementor-tab-content a:focus-visible{ text-decoration-thickness:2px; }

/* ---------------------------------------------------------------- 11. brief */

.e-con.zra-cta{
  background:
    radial-gradient(50% 90% at 96% 112%, rgba(198,0,0,.42) 0%, rgba(198,0,0,0) 66%),
    #252525;
}
.e-con.zra-cta > .e-con-inner{
  display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 600px);
  gap:clamp(32px, 5vw, 80px); align-items:end;
}
.zra .e-con.zra-cta__copy{ gap:18px; }
.zra .e-con.zra-cta__copy .zra-kicker{ margin-bottom:2px; }
.zra .e-con.zra-cta__act{ gap:22px; }
.zra .zra-contact p{ margin:0; font-size:1rem; line-height:1.6; color:var(--zr-on-dark-2); }
.zra .zra-contact a{ white-space:nowrap; color:#FFFFFF; font-weight:700; text-decoration:none; background:linear-gradient(currentColor 0 0) 0 100% / 0 1px no-repeat; transition:background-size .3s var(--zr-ease-out); }
.zra .zra-contact a:hover, .zra .zra-contact a:focus-visible{ background-size:100% 1px; }
.zra .zra-contact a:focus-visible{ outline:3px solid var(--zr-inverse-primary); outline-offset:3px; border-radius:2px; }

/* ---------------------------------------------------------------- 12. motion */

/* the opener plays once on load, CSS only, so it never waits on a script */
@keyframes zra-rise{ from{ opacity:0; transform:translate3d(0, 22px, 0); } to{ opacity:1; transform:none; } }
@keyframes zra-unveil{
  from{ clip-path:inset(9% 7% 9% 7% round 30px); }
  to{ clip-path:inset(0 0 0 0 round 20px); }
}
@keyframes zra-settle{ from{ transform:scale(1.07); } to{ transform:none; } }
@media (prefers-reduced-motion:no-preference){
  .zra-hero .zra-kicker{ animation:zra-rise .8s var(--zr-ease-out) both; }
  .zra-hero .zra-h1{ animation:zra-rise .85s var(--zr-ease-out) .06s both; }
  .zra-hero .zra-lede{ animation:zra-rise .85s var(--zr-ease-out) .16s both; }
  .zra-hero .zra-actions{ animation:zra-rise .85s var(--zr-ease-out) .24s both; }
  .zra-hero .zra-hero__img .elementor-widget-container{ animation:zra-unveil 1.25s var(--zr-ease-out) .12s both; }
  .zra-hero .zra-hero__img img{ animation:zra-settle 1.7s var(--zr-ease-out) .12s both; }
  .zra-hero .zra-facts{ animation:zra-rise .9s var(--zr-ease-out) .5s both; }
}

/* everything below is gated on html.zr-motion, which only the script adds:
   a page whose script fails shows every word at full strength */

/* the plate's figures wait unseen until the plate is on screen, then count */
html.zr-motion .zra-facts .zra-facts__num{ opacity:0; transition:opacity .35s var(--zr-ease-out); }
html.zr-motion .zra-facts.is-counted .zra-facts__num{ opacity:1; }

/* photographs are uncovered; the story card follows */
html.zr-motion .zra-rv--wipe > .elementor-widget-container{
  clip-path:inset(0 0 100% 0 round 20px);
  transition:clip-path 1.1s var(--zr-ease-out) var(--zr-delay, 0ms);
}
html.zr-motion .zra-rv--wipe img{ transform:scale(1.08); transition:transform 1.5s var(--zr-ease-out) var(--zr-delay, 0ms); }
html.zr-motion .zra-rv--wipe.is-in > .elementor-widget-container{ clip-path:inset(0 0 0 0 round 20px); }
html.zr-motion .zra-rv--wipe.is-in img{ transform:none; }
html.zr-motion .zra-rv--rise{
  opacity:0; transform:translate3d(0, 24px, 0);
  transition:opacity .7s var(--zr-ease-out) var(--zr-delay, 0ms), transform .9s var(--zr-ease-out) var(--zr-delay, 0ms);
}
html.zr-motion .zra-rv--rise.is-in{ opacity:1; transform:none; }
html.zr-motion .zra-story__card .elementor-icon-list-icon{ transform:scale(.4); opacity:0; transition:transform .5s var(--zr-ease-out), opacity .3s var(--zr-ease-out); }
html.zr-motion .zra-story__card.is-in .elementor-icon-list-icon{ transform:none; opacity:1; }
html.zr-motion .zra-story__card.is-in .elementor-icon-list-item:nth-child(1) .elementor-icon-list-icon{ transition-delay:.45s; }
html.zr-motion .zra-story__card.is-in .elementor-icon-list-item:nth-child(2) .elementor-icon-list-icon{ transition-delay:.6s; }
html.zr-motion .zra-story__card.is-in .elementor-icon-list-item:nth-child(3) .elementor-icon-list-icon{ transition-delay:.75s; }

/* THE LEDGER: each row settles in turn. The mark draws, what we are comes
   up to full ink, then what we are not settles into its muted grey. */
html.zr-motion .zra-ledger__t tbody tr:nth-child(1){ --r:0; }
html.zr-motion .zra-ledger__t tbody tr:nth-child(2){ --r:1; }
html.zr-motion .zra-ledger__t tbody tr:nth-child(3){ --r:2; }
html.zr-motion .zra-ledger__t tbody tr:nth-child(4){ --r:3; }
html.zr-motion .zra-ledger__t tbody tr:nth-child(5){ --r:4; }
html.zr-motion .zra-ledger__t tbody tr:nth-child(6){ --r:5; }
html.zr-motion .zra-ledger__t tbody td > span,
html.zr-motion .zra-ledger__t tbody th > span{
  display:block; opacity:.14; transform:translate3d(0, 10px, 0);
  transition:opacity .6s var(--zr-ease-out), transform .7s var(--zr-ease-out);
  transition-delay:calc(var(--r, 0) * 280ms + var(--d, 0ms));
}
html.zr-motion .zra-ledger__t tbody .is-yes{ --d:90ms; }
html.zr-motion .zra-ledger__t tbody .is-no{ --d:220ms; }
html.zr-motion .zra-ledger__t tbody .is-yes::before,
html.zr-motion .zra-ledger__t tbody .is-no::before{
  transform:scale(.4) rotate(-30deg); opacity:0;
  transition:transform .6s var(--zr-ease-out), opacity .3s var(--zr-ease-out);
  transition-delay:calc(var(--r, 0) * 280ms + var(--d, 0ms));
}
html.zr-motion .zra-ledger__t.is-in tbody td > span,
html.zr-motion .zra-ledger__t.is-in tbody th > span{ opacity:1; transform:none; }
html.zr-motion .zra-ledger__t.is-in tbody .is-yes::before,
html.zr-motion .zra-ledger__t.is-in tbody .is-no::before{ transform:none; opacity:1; }

/* the statement is read into place, word by word */
html.zr-motion .zra-statement .zra-w{
  opacity:.26; transition:opacity .55s var(--zr-ease-out);
  transition-delay:calc(var(--w, 0) * 55ms + 120ms);
}
html.zr-motion .zra-statement.is-in .zra-w{ opacity:1; }
html.zr-motion .zra-orn i{ transform:scaleY(0); transition:transform 1s var(--zr-ease-out); }
html.zr-motion .zra-orn i:nth-child(2){ transition-delay:.12s; }
html.zr-motion .zra-orn i:nth-child(3){ transition-delay:.24s; }
html.zr-motion .zra-orn i:nth-child(4){ transition-delay:.36s; }
html.zr-motion .zra-orn.is-in i{ transform:none; }

@media (prefers-reduced-motion:reduce){
  .zra *, .zra *::before, .zra *::after{ animation:none !important; transition-duration:.001ms !important; transition-delay:0s !important; }
}

/* ---------------------------------------------------------------- 13. tablet */

@media (max-width:1024px){
  :root{ --zr-header:90px; }
  .zra .e-con.zra-hero__top{ grid-template-columns:minmax(0, 1fr); align-items:start; }
  .zra .zra-hero__side .zra-lede p{ max-width:60ch; }
  .zra .zra-hero__img img{ aspect-ratio:16 / 8; }
  .zra .zra-facts ul{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .zra .zra-facts li + li{ border-left:0; }
  .zra .zra-facts li:nth-child(even){ border-left:1px solid var(--zr-line); }
  .zra .zra-facts li:nth-child(n+3){ border-top:1px solid var(--zr-line); }

  .zra .e-con.zra-ledger__intro{ grid-template-columns:minmax(0, 1fr); }
  .zra .zra-ledger__img{ max-width:560px; }
  .zra .zra-ledger__t col.c-topic{ width:20%; }
  .zra .zra-ledger__t thead th{ padding-left:56px; }
  .zra .zra-ledger__t tbody td{ padding:22px 20px 24px 56px; }
  .zra .zra-ledger__t .is-yes::before, .zra .zra-ledger__t .is-no::before{ left:20px; }

  .e-con.zra-diff > .e-con-inner{ grid-template-columns:minmax(0, 1fr); }
  .zra .e-con.zra-diff__head{ position:static; }

  .e-con.zra-story > .e-con-inner{ grid-template-columns:minmax(0, 1fr); }
  .zra .e-con.zra-story__media{ max-width:560px; }
  .zra .e-con.zra-story__card{ right:-24px; }

  .e-con.zra-faq > .e-con-inner{ grid-template-columns:minmax(0, 1fr); }
  .zra .e-con.zra-faq__head{ position:static; }

  .e-con.zra-cta > .e-con-inner{ grid-template-columns:minmax(0, 1fr); align-items:start; }
}

/* ---------------------------------------------------------------- 14. mobile */

@media (max-width:767px){
  :root{ --zr-header:76px; --zr-band:64px; }
  .zra .zra-body p, .zra .zra-faq__intro p{ font-size:1rem; }
  .zra .zra-lede p{ font-size:1.0625rem; }

  .e-con.zra-hero{ padding-top:40px; --zra-tail:32px; }
  .e-con.zra-hero > .e-con-inner{ gap:36px; }
  .zra .e-con.zra-hero__side{ gap:26px; }
  .zra .e-con.zra-actions{ flex-direction:column; align-items:stretch; }
  .zra .elementor-widget-button.zra-btn, .zra .zra-btn .elementor-button{ width:100%; }
  .zra .zra-hero__img img{ aspect-ratio:4 / 3; object-position:54% 50%; }
  .zra .zra-hero__img .elementor-widget-container, .zra .zra-hero__img img{ border-radius:var(--zr-r-lg); }
  .zra .elementor-widget.zra-facts{ margin:-36px 0 0; }
  .zra .zra-facts li{ padding:20px 18px 18px; gap:8px; }
  .zra .zra-facts__num{ font-size:2.25rem; }
  .zra .zra-facts__txt{ font-size:.875rem; }

  /* the ledger becomes one card per topic: the framed "we are" half on top,
     the grey "we are not" half under it. Generated labels stand in for the
     column headers, and the explicit ARIA roles keep it a table. */
  .zra .zra-ledger__t, .zra .zra-ledger__t tbody, .zra .zra-ledger__t tr,
  .zra .zra-ledger__t th, .zra .zra-ledger__t td{ display:block; width:auto; }
  .zra .zra-ledger__t colgroup, .zra .zra-ledger__t thead{ display:none; }
  .zra .zra-ledger__t tbody tr{ margin:0 0 22px; }
  .zra .zra-ledger__t tbody tr:last-child{ margin-bottom:0; }
  .zra .zra-ledger__t tbody tr:hover th, .zra .zra-ledger__t tbody tr:hover td{ background-color:transparent; }
  .zra .zra-ledger__t tbody tr th,
  .zra .zra-ledger__t tbody tr:last-child th{ padding:0 0 10px; box-shadow:none; }
  .zra .zra-ledger__t tbody tr .is-yes,
  .zra .zra-ledger__t tbody tr:last-child .is-yes{
    padding:14px 18px 16px; box-shadow:none; background:#FFFFFF;
    border:2px solid var(--zr-primary); border-radius:var(--zr-r-lg) var(--zr-r-lg) 0 0;
  }
  .zra .zra-ledger__t tbody tr .is-no,
  .zra .zra-ledger__t tbody tr:last-child .is-no{
    padding:14px 18px 16px; box-shadow:none; border:0; background:var(--zr-surface-2);
    border-radius:0 0 var(--zr-r-lg) var(--zr-r-lg);
  }
  .zra .zra-ledger__t .is-yes::before, .zra .zra-ledger__t .is-no::before{
    position:static; display:block; width:auto; height:auto; margin:0 0 6px; padding-left:26px; border-radius:0;
    background-position:0 50%; background-size:18px 18px;
    font-size:.75rem; line-height:20px; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  }
  .zra .zra-ledger__t tbody .is-yes::before{ content:"We are"; color:var(--zr-primary); }
  .zra .zra-ledger__t tbody .is-no::before{ content:"We are not"; color:var(--zr-ink-3); }
  /* the marks are labels here: they fade in, they do not spin */
  html.zr-motion .zra-ledger__t tbody .is-yes::before,
  html.zr-motion .zra-ledger__t tbody .is-no::before{ transform:none; }

  .zra .e-con.zra-diff__grid{ grid-template-columns:minmax(0, 1fr); row-gap:32px; }

  .e-con.zra-story > .e-con-inner{ gap:40px; }
  .zra .e-con.zra-story__media{ order:2; padding-bottom:0; }
  .zra .e-con.zra-story__copy{ order:1; }
  .zra .e-con.zra-story__card{ position:relative; right:auto; bottom:auto; width:auto; margin:-44px 14px 0; }

  .zra .zra-statement .elementor-heading-title{ max-width:none; }
  .zra .elementor-widget.zra-orn{ display:none; }

  .zra .e-con.zra-mv__row{ grid-template-columns:minmax(0, 1fr); padding:28px 0; gap:12px; }

}/* End custom CSS */