/* Contact and Tools (round 12, captain: "give them a bit of love"): the homepage's language on the
   small pages. One light falls from the top of the page onto the card; headings in Orbitron at
   the section size; labels in sentence case; the card is a lit tile; fields are raised glass with
   no outline; things rise into place on the house ease. Loaded after each page's own styles. */
:root{--ease:cubic-bezier(.22,1,.36,1)}
body{background:#141414}
body::before{content:"";position:fixed;left:50%;top:0;width:min(90rem,180vw);height:100vh;translate:-50% 0;pointer-events:none;z-index:0;
  background:radial-gradient(in oklab .2rem 30% at 50% 0,rgb(255 255 255 / .35),rgb(255 255 255 / 0)),
    radial-gradient(in oklab 3% 40% at 50% 0,rgb(214 234 250 / .22),rgb(214 234 250 / 0)),
    radial-gradient(in oklab 12% 66% at 50% 0,rgb(120 190 255 / .3),rgb(120 190 255 / .08) 50%,rgb(120 190 255 / 0)),
    radial-gradient(in oklab 40% 80% at 50% 0,rgb(43 73 112 / .45),rgb(43 73 112 / 0) 80%)}
main,header{position:relative;z-index:1}
/* type */
.c-hero h1,.tools-head h1{font:500 clamp(2rem,3.9vw,3.5rem)/1.04 'Orbitron',sans-serif!important;letter-spacing:-.03em!important;color:#eef3f6;text-wrap:balance}
.c-hero .sec-tag{display:none}
.c-hero .kicker,.tools-head .kicker{font:600 1rem/1 'DM Sans',sans-serif!important;letter-spacing:0!important;text-transform:none!important;color:#8fb3cb!important}
.c-hero .lede,.tools-head p{color:rgb(238 243 246 / .62)!important;font-size:1.0625rem!important;line-height:1.6!important}
.field label{font:500 .875rem/1 'DM Sans',sans-serif!important;letter-spacing:0!important;text-transform:none!important;color:rgb(238 243 246 / .62)!important}
.field label b{color:#8fb3cb!important}
/* the card: a lit tile with the light landing on its top edge */
.c-card,.tools{position:relative;isolation:isolate;border:0!important;border-radius:22px!important;
  background:linear-gradient(180deg,#121a23,#0e1114 40%)!important;
  box-shadow:inset 0 1px 0 rgb(214 234 250 / .22),inset 0 0 0 1px rgb(238 243 246 / .05),0 2rem 4rem rgb(0 0 0 / .45),0 -1.5rem 4rem -2rem rgb(120 190 255 / .45)!important}
.c-card::before,.tools::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;
  background:radial-gradient(in oklab 30% 40% at 50% 0,rgb(120 190 255 / .18),rgb(120 190 255 / 0) 100%),radial-gradient(rgb(238 243 246 / .4) .55px,transparent .9px) 0 0/6px 6px;
  -webkit-mask:linear-gradient(#000,transparent 40%);mask:linear-gradient(#000,transparent 40%)}
/* fields: raised glass, no outline; focus lights the field from inside */
.field input,.field select,.field textarea,.tool-f input{border:0!important;border-radius:14px!important;background:linear-gradient(180deg,rgb(255 255 255 / .07),rgb(255 255 255 / .035))!important;
  box-shadow:inset 0 1px 0 rgb(255 255 255 / .1),0 1px 0 rgb(0 0 0 / .4)!important;color:#eef3f6!important;transition:box-shadow .3s ease,background .3s ease}
.field input:focus,.field select:focus,.field textarea:focus,.tool-f input:focus{outline:0!important;background:linear-gradient(180deg,rgb(120 190 255 / .12),rgb(255 255 255 / .04))!important;
  box-shadow:inset 0 1px 0 rgb(214 234 250 / .35),0 0 0 1px rgb(143 179 203 / .35),0 0 1.5rem rgb(120 190 255 / .18)!important}
.field .c-drop{border:0!important;background:rgb(255 255 255 / .04)!important;border-radius:14px!important}
.submit-btn{border-radius:999px!important;background:linear-gradient(180deg,#f7fafc,#e0e8ee)!important;box-shadow:inset 0 1px 0 #fff,0 .75rem 1.5rem -.75rem rgb(120 190 255 / .45)!important;transition:transform .3s var(--ease),box-shadow .3s ease!important}
.submit-btn:hover{transform:translateY(-1px)!important;box-shadow:inset 0 1px 0 #fff,0 1rem 2rem -.75rem rgb(120 190 255 / .6)!important}
/* motion: things rise into the light, softly */
.reveal{opacity:0;transform:translate3d(0,1.25rem,0);filter:blur(6px);transition:opacity .9s var(--ease),transform 1.1s var(--ease),filter .9s var(--ease)!important}
.reveal.in{opacity:1;transform:none;filter:none}
/* tools: tabs and segmented controls without outlines (the app has none) */
.tools-tab{border:0!important;border-radius:16px!important;transition:background .3s ease,color .3s ease}
.tools-tab[aria-selected="true"]{background:radial-gradient(in oklab 60% 140% at 20% 0,rgb(120 190 255 / .16),rgb(120 190 255 / 0) 70%),rgb(255 255 255 / .05)!important;box-shadow:inset 0 1px 0 rgb(214 234 250 / .2)!important}
.seg{border:0!important;box-shadow:none!important;background:rgb(255 255 255 / .06)!important}
.tool-out{border:0!important;border-radius:18px!important;background:linear-gradient(180deg,rgb(255 255 255 / .06),rgb(255 255 255 / .02))!important;box-shadow:inset 0 1px 0 rgb(255 255 255 / .1)!important}
.tool-f label,.tool-f legend,.tool-out .k{font:500 .875rem/1.2 'DM Sans',sans-serif!important;letter-spacing:0!important;text-transform:none!important;color:rgb(238 243 246 / .62)!important}
/* ---- round 16: the application portal (contact.html?apply=<role>, assets/apply26.js) ---- */
html.is-apply body::before{display:none}
html.is-apply body{background:#0e1114}
html.is-apply section,html.is-apply footer{position:relative;z-index:1}
.ap-wrap{display:grid;grid-template-columns:minmax(0,20rem) minmax(0,38rem);gap:2rem;justify-content:center;align-items:start;max-width:62rem;margin:0 auto}
.ap-wrap .c-card{max-width:none!important;margin:0!important}
.ap-role{position:sticky;top:6rem;padding:1.5rem;border-radius:22px;background:linear-gradient(180deg,rgb(140 200 255 / .1),rgb(14 17 20 / .55) 40%);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:inset 0 1px 0 rgb(214 234 250 / .22),0 2rem 4rem rgb(0 0 0 / .45)}
.ap-k{font:500 .8125rem/1 'DM Sans',sans-serif;color:#8fb3cb;margin:0 0 .75rem}
.ap-role h2{font:500 1.375rem/1.2 'Orbitron',sans-serif;letter-spacing:-.02em;color:#eef3f6;margin:0 0 1rem;text-wrap:balance}
.ap-meta{list-style:none;padding:0;margin:0 0 1rem;display:flex;flex-wrap:wrap;gap:.375rem}
.ap-meta li{font:500 .75rem/1 'DM Sans',sans-serif;padding:.4375rem .625rem;border-radius:999px;color:rgb(238 243 246 / .75);background:rgb(255 255 255 / .06);box-shadow:inset 0 1px 0 rgb(255 255 255 / .1)}
.ap-meta li.tag{color:#0e1114;background:linear-gradient(180deg,#e6f2fc,#8fb3cb)}
.ap-lead{font-size:.875rem;line-height:1.55;color:rgb(238 243 246 / .6);margin:0 0 1.25rem}
.ap-back{font:500 .875rem/1 'DM Sans',sans-serif;color:#eef3f6;text-decoration:none;border-bottom:1px solid rgb(143 179 203 / .5);padding-bottom:.25rem}
.ap-back::before{content:"\2190  "}
.ap-steps{list-style:none;padding:0;margin:0 0 1.75rem;display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}
.ap-steps li{display:flex;align-items:center;gap:.5rem;font:500 .8125rem/1 'DM Sans',sans-serif;color:rgb(238 243 246 / .45);padding-top:.75rem;border-top:2px solid rgb(255 255 255 / .08)}
.ap-steps b{display:grid;place-items:center;width:1.375rem;height:1.375rem;border-radius:50%;font-size:.6875rem;background:rgb(255 255 255 / .07)}
.ap-steps li.on{color:#eef3f6;border-top-color:#8fb3cb}.ap-steps li.on b{background:#8fb3cb;color:#0e1114}
.ap-steps li.ok{color:rgb(238 243 246 / .7);border-top-color:rgb(143 179 203 / .5)}.ap-steps li.ok b{background:rgb(143 179 203 / .3);color:#eef3f6}
.ap-sec{font:600 .9375rem/1.2 'DM Sans',sans-serif;color:#eef3f6;margin:1.75rem 0 1rem;padding-top:1.25rem;border-top:1px solid rgb(255 255 255 / .06)}
.ap-steps+.ap-sec{margin-top:0;padding-top:0;border-top:0}
.ap-done{display:grid;gap:1.25rem;outline:0}
.ap-card{position:relative;overflow:hidden;border-radius:22px;aspect-ratio:1.6;background:linear-gradient(160deg,#121a24,#070a12 70%);box-shadow:inset 0 1px 0 rgb(214 234 250 / .3),0 2rem 4rem rgb(0 0 0 / .55),0 -1.5rem 4rem -2rem rgb(120 190 255 / .5)}
.ap-card canvas{position:absolute;inset:0;width:100%;height:100%}
.ap-card-in{position:absolute;inset:0;padding:1.75rem;display:flex;flex-direction:column;justify-content:flex-end}
.ap-card-in img{position:absolute;left:1.75rem;top:1.5rem;width:2.25rem;height:auto}
.ap-card-in h2{font:500 clamp(1.75rem,3.4vw,2.5rem)/1.05 'Orbitron',sans-serif;letter-spacing:-.03em;color:#eef3f6;margin:0 0 .5rem}
.ap-r{margin:0;font:500 1rem/1.3 'DM Sans',sans-serif;color:rgb(238 243 246 / .8)}.ap-d{margin:.25rem 0 0;font-size:.8125rem;color:rgb(238 243 246 / .5)}
.ap-thanks{margin:0;font-size:1rem;line-height:1.6;color:rgb(238 243 246 / .7)}
@media(max-width:860px){.ap-wrap{grid-template-columns:1fr}.ap-role{position:relative;top:0}}
html.is-apply #resumeField>label:first-child{display:none}
/* round 21: no outline ring on the cards, only the light on their top edge */
.c-card,.tools{box-shadow:inset 0 1px 0 rgb(214 234 250 / .22),0 2rem 4rem rgb(0 0 0 / .45),0 -1.5rem 4rem -2rem rgb(120 190 255 / .45)!important}
/* round 25: the card dots are finer on phones (about 0.7 of the desktop pitch and dot size) */
@media(max-width:820px){.c-card::before,.tools::before{background:radial-gradient(in oklab 30% 40% at 50% 0,rgb(120 190 255 / .18),rgb(120 190 255 / 0) 100%),radial-gradient(rgb(238 243 246 / .4) .4px,transparent .65px) 0 0/4.2px 4.2px!important}}
