.jobgram-opening{
  --jg-blue:var(--blue);--jg-coral:var(--accent);--jg-ink:var(--ink);
  --jg-vh:calc(100svh - 86px);
  --jg-scene-height:min(var(--jg-vh),1000px);
  --jg-scene-offset:calc((var(--jg-vh) - var(--jg-scene-height))/2);--radius-opening-media:26px;
  background:var(--paper);color:var(--jg-ink)
}
.jobgram-opening h1,.jobgram-opening h2{font-family:"IBM Plex Sans",sans-serif;font-weight:var(--heading-weight)}
.jobgram-opening figure{margin:0}
.jobgram-opening .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.jobgram-opening .jg-stage{position:relative;max-width:var(--opening-max);margin-inline:auto}
.jobgram-opening .jg-hero{position:relative;min-height:740px;height:var(--jg-vh);overflow:clip}
.jobgram-opening .jg-hero::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(ellipse 34% 78% at 17% 91%,var(--pale-blue-2),transparent 100%),
    radial-gradient(ellipse 35% 70% at 88% 8%,var(--soft-white),transparent 100%),var(--paper);
  opacity:var(--hero-backdrop-opacity,1)
}
.jobgram-opening .jg-hero::after{
  content:"";position:absolute;z-index:0;pointer-events:none;
  left:-14%;bottom:-31%;width:68%;height:55%;border:1px solid var(--pale-blue);
  border-radius:50%;opacity:var(--hero-backdrop-opacity,1)
}
.jobgram-opening .jg-field{position:absolute;inset:0;z-index:1;pointer-events:none}
.jobgram-opening .jg-field::before,.jobgram-opening .jg-field::after{
  content:"";position:absolute;top:32%;width:clamp(44px,5vw,75px);height:14px;z-index:2;
  background:radial-gradient(circle at 7px 7px,var(--jg-blue) 0 6px,transparent 7px),
    linear-gradient(var(--blue-line),var(--blue-line)) center/100% 1px no-repeat;
  opacity:var(--gesture-opacity,1)
}
.jobgram-opening .jg-field::before{left:calc(31% - 7px)}
.jobgram-opening .jg-field::after{right:calc(31% - 7px);transform:scaleX(-1)}
.jobgram-opening .jg-origin,.jobgram-opening .jg-float{
  position:absolute;overflow:hidden;background:var(--soft)
}
.jobgram-opening .jg-origin{visibility:hidden}
.jobgram-opening .jg-company-origin,.jobgram-opening .jg-company-float{left:0;top:2%;width:31%;height:78%}
.jobgram-opening .jg-person-origin,.jobgram-opening .jg-person-float{right:0;top:2%;width:31%;height:78%}
.jobgram-opening .jg-company-float{border-radius:var(--frame-edge-radius,0px) var(--radius-opening-media) var(--radius-opening-media) var(--frame-edge-radius,0px)}
.jobgram-opening .jg-person-float{border-radius:var(--radius-opening-media) var(--frame-edge-radius,0px) var(--frame-edge-radius,0px) var(--radius-opening-media)}
.jobgram-opening .jg-company-float::after{
  content:"";position:absolute;top:0;right:0;width:40%;height:6%;
  background:var(--paper);border-bottom-left-radius:22px;opacity:var(--notch-opacity,1)
}
.jobgram-opening .jg-float{z-index:1;will-change:transform,width,height}
.jobgram-opening .jg-float img,.jobgram-opening .jg-meet-company img,.jobgram-opening .jg-meet-person img{display:block;width:100%;height:100%;object-fit:cover}
.jobgram-opening .jg-company-float img,.jobgram-opening .jg-meet-company img{object-position:20% 18%;transform-origin:50% 0%}
.jobgram-opening .jg-person-float img{object-position:50% 12%;transform:none}
.jobgram-opening .jg-sidecard,.jobgram-opening .jg-target-card{
  width:240px;padding:20px 22px;border-radius:var(--radius-opening-media);
  background:rgba(255,255,255,.97);border:1px solid rgba(213,219,222,.68);
  box-shadow:0 10px 30px var(--shadow-soft);color:var(--ink)
}
.jobgram-opening .jg-sidecard{position:absolute;z-index:3;top:5%;will-change:transform;transform-origin:top left}
.jobgram-opening .jg-company-card{left:3.8%}
.jobgram-opening .jg-person-card{right:3.8%;top:7%}
.jobgram-opening .jg-sidecard h2,.jobgram-opening .jg-target-card h2{
  font-size:25px;line-height:1.12;letter-spacing:-.045em;margin:0
}
.jobgram-opening .jg-sidecard p,.jobgram-opening .jg-target-card p{
  font-size:14px;line-height:1.35;color:var(--blue-muted);margin:12px 0 0
}
.jobgram-opening .jg-hero-cue{
  position:absolute;z-index:3;right:2%;bottom:21%;width:335px;
  display:flex;align-items:center;gap:16px;padding:16px 18px;
  border-radius:20px;background:rgba(255,255,255,.96);
  border:1px solid rgba(213,219,222,.66);box-shadow:0 12px 34px var(--shadow-soft);
  transform-origin:center;will-change:transform;opacity:var(--cue-opacity,1)
}
.jobgram-opening .jg-cue-mark{
  width:48px;height:48px;flex:none;display:grid;place-items:center;
  background:var(--soft-white);border-radius:14px;color:var(--jg-blue)
}
.jobgram-opening .jg-cue-mark svg{width:28px;height:28px}
.jobgram-opening .jg-hero-cue strong{display:block;font:600 19px/1.2 "IBM Plex Sans",sans-serif;color:var(--jg-blue)}
.jobgram-opening .jg-hero-cue small{display:block;font-size:12px;line-height:1.35;color:var(--blue-muted);margin-top:4px}
.jobgram-opening .jg-intro{position:relative;z-index:2;width:min(520px,36.5%);margin:auto;padding-top:clamp(52px,6.5vh,76px);text-align:center}
.jobgram-opening .jg-kicker{font-size:16px;line-height:1.4;font-weight:500;max-width:490px;margin:0 auto}
.jobgram-opening .jg-intro h1{font-size:clamp(92px,8vw,120px);line-height:.87;letter-spacing:-.058em;margin:30px 0 34px}
.jobgram-opening .jg-intro h1>span{display:block;color:var(--jg-blue);padding-left:.1em}
.jobgram-opening .jg-dot{display:inline-block;width:15px;height:15px;margin-left:5px;border-radius:50%;background:var(--jg-coral)}
.jobgram-opening .jg-triad{margin:0 auto;max-width:560px;text-align:left}
.jobgram-opening .jg-triad>div{display:grid;grid-template-columns:146px 1fr;gap:12px;border-bottom:1px solid var(--line);padding:7px 0}
.jobgram-opening .jg-triad dt{font-size:14px;line-height:1.45;color:var(--jg-blue);font-weight:500}
.jobgram-opening .jg-triad dd{margin:0;font-size:16px;line-height:1.4}
.jobgram-opening .jg-actions{display:flex;justify-content:center;gap:12px;margin-top:26px}
.jobgram-opening .jg-actions .button{
  min-height:60px;min-width:222px;justify-content:space-between;
  padding-inline:23px;font-size:15px;border-radius:9px;white-space:nowrap
}
.jobgram-opening .jg-explanation{max-width:560px;margin:26px auto 0;color:var(--muted);font-size:15px;line-height:1.5}
.jobgram-opening .jg-foot{
  position:absolute;z-index:4;bottom:20px;left:4%;right:4%;display:flex;
  justify-content:space-between;gap:24px;font-size:11px;line-height:1.4;color:var(--muted)
}
.jobgram-opening .jg-foot>p:first-child{color:var(--ink);font-weight:600}
.jobgram-opening .jg-foot a{color:var(--jg-blue);display:flex;gap:22px}
.jobgram-opening .jg-convergence{
  position:relative;isolation:isolate;display:grid;
  grid-template-columns:minmax(0,1.16fr) minmax(250px,.58fr) minmax(0,.92fr);
  align-items:center;width:100%;min-height:var(--jg-vh);margin:0;
  padding:56px clamp(40px,6vw,100px);overflow:hidden;
  background:linear-gradient(120deg,var(--pale-blue-2) 0%,var(--soft-white) 50%,var(--pale-blue-2) 100%)
}
.jobgram-opening .jg-convergence::before{
  content:"";position:absolute;z-index:-1;left:-12%;top:-48%;
  width:66%;height:77%;border:1px solid var(--pale-blue);border-radius:50%;pointer-events:none
}
.jobgram-opening .jg-convergence::after{
  content:"";position:absolute;z-index:-1;right:-21%;bottom:-44%;
  width:67%;height:80%;border:1px solid var(--pale-blue);border-radius:50%;pointer-events:none
}
.jobgram-opening .jg-side{min-width:0;position:relative;z-index:1}
.jobgram-opening .jg-target-card{position:relative;z-index:3;margin:0 0 16px 26px}
.jobgram-opening .jg-person-side .jg-target-card{margin-left:auto;margin-right:18px}
.jobgram-opening .jg-meet-company,.jobgram-opening .jg-meet-person{
  overflow:hidden;border-radius:var(--radius-opening-media);background:var(--soft)
}
.jobgram-opening .jg-meet-company{height:355px}
.jobgram-opening .jg-meet-person{height:430px}
.jobgram-opening .jg-meet-person img{object-position:50% 12%;transform:none}
.jobgram-opening .jg-side>p{font-size:13px;line-height:1.55;margin:16px 0 0}
.jobgram-opening .jg-side>p span{color:var(--muted);font-size:11px}
.jobgram-opening .jg-link{
  position:relative;z-index:3;align-self:center;text-align:center;
  width:calc(100% - 18px);margin:auto;padding:28px 18px 29px;
  border:1px solid var(--surface-border);border-radius:20px;
  background:rgba(255,255,255,.97);box-shadow:0 12px 36px var(--shadow-soft)
}
.jobgram-opening .jg-link strong{
  display:block;font:600 29px/1.15 "IBM Plex Sans",sans-serif;
  letter-spacing:-.05em;color:var(--jg-blue)
}
.jobgram-opening .jg-meet-anchor{display:block;width:12px;height:12px;background:var(--jg-coral);border-radius:50%;margin:18px auto}
.jobgram-opening .jg-link p{font-size:14px;line-height:1.5;margin:0}
.jobgram-opening .jg-link p span{color:var(--blue-muted)}
.jobgram-opening .jg-connection-line{
  position:absolute;z-index:-1;top:50%;left:-52px;right:-52px;height:1px;
  background:var(--blue-line)
}
.jobgram-opening .jg-connection-line::before,.jobgram-opening .jg-connection-line::after{
  content:"";position:absolute;top:-5px;width:11px;height:11px;border-radius:50%;background:var(--jg-blue)
}
.jobgram-opening .jg-connection-line::before{left:-3px}
.jobgram-opening .jg-connection-line::after{right:-3px}

@media(min-width:1180px){
  .jobgram-opening.is-enhanced .jg-scroll{height:calc(var(--jg-vh) + var(--jg-travel))}
  .jobgram-opening.is-enhanced .jg-stage{position:sticky;top:var(--jg-header,86px);height:var(--jg-vh)}
  .jobgram-opening.is-enhanced .jg-hero,.jobgram-opening.is-enhanced .jg-convergence{
    position:absolute;inset:0;width:100%;height:100%;min-height:0;margin:0
  }
  .jobgram-opening.is-enhanced .jg-hero{z-index:2;overflow:visible;pointer-events:none}
  .jobgram-opening.is-enhanced .jg-intro{opacity:var(--intro-opacity,1);transform:translateY(var(--intro-y,0px));pointer-events:auto}
  .jobgram-opening.is-enhanced .jg-foot{opacity:var(--support-opacity,1);pointer-events:auto}
  .jobgram-opening.is-enhanced .jg-convergence{z-index:1;pointer-events:none}
  .jobgram-opening.is-enhanced .jg-target-card{opacity:0}
  .jobgram-opening.is-enhanced .jg-side>p{opacity:var(--caption-opacity,0)}
  .jobgram-opening.is-enhanced .jg-link{opacity:var(--meet-opacity,0);transform:translateY(var(--meet-y,12px))}
  .jobgram-opening.is-enhanced .jg-meet-company img,.jobgram-opening.is-enhanced .jg-meet-person img{opacity:0}
  .jobgram-opening.is-enhanced .jg-company-float{
    left:0;top:0;right:auto;width:var(--company-w);height:var(--company-h);
    transform-origin:top left;transform:translate3d(var(--company-x),var(--company-y),0)
  }
  .jobgram-opening.is-enhanced .jg-person-float{
    left:0;top:0;right:auto;width:var(--person-w);height:var(--person-h);
    transform-origin:top left;transform:translate3d(var(--person-x),var(--person-y),0)
  }
  .jobgram-opening.is-enhanced .jg-company-float img{transform:none}
  .jobgram-opening.is-enhanced .jg-person-float img{transform:none}
  .jobgram-opening.is-enhanced .jg-company-card{transform:translate3d(var(--company-card-x,0px),var(--company-card-y,0px),0) scale(var(--company-card-sx,1))}
  .jobgram-opening.is-enhanced .jg-person-card{transform:translate3d(var(--person-card-x,0px),var(--person-card-y,0px),0) scale(var(--person-card-sx,1))}
  .jobgram-opening.is-enhanced .jg-hero-cue{transform:translate3d(var(--cue-x,0px),var(--cue-y,0px),0) scale(var(--cue-scale,1))}
  .jobgram-opening.is-enhanced .jg-intro h1{opacity:var(--headline-opacity,1);transform:scale(var(--headline-scale,1))}
  .jobgram-opening.is-enhanced .jg-kicker,.jobgram-opening.is-enhanced .jg-triad,
  .jobgram-opening.is-enhanced .jg-actions,.jobgram-opening.is-enhanced .jg-explanation{opacity:var(--support-opacity,1)}
}
@media(min-width:1180px) and (max-height:820px){
  .jobgram-opening .jg-intro{padding-top:32px}
  .jobgram-opening .jg-intro h1{font-size:98px;margin:22px 0 25px}
  .jobgram-opening .jg-triad>div{padding:5px 0}
  .jobgram-opening .jg-actions{margin-top:20px}
  .jobgram-opening .jg-actions .button{min-height:53px}
  .jobgram-opening .jg-explanation{margin-top:17px}
  .jobgram-opening .jg-meet-company{height:300px}
  .jobgram-opening .jg-meet-person{height:365px}
}
@media(max-width:1179px){
  .jobgram-opening{--jg-vh:auto}
  .jobgram-opening .jg-hero{display:flex;flex-direction:column;height:auto;min-height:0;padding:52px 28px 0}
  .jobgram-opening .jg-intro{order:1;width:min(650px,100%);padding:0}
  .jobgram-opening .jg-intro h1{font-size:88px}
  .jobgram-opening .jg-field{order:2;position:relative;height:370px;margin:38px -28px 0}
  .jobgram-opening .jg-field::before,.jobgram-opening .jg-field::after{display:none}
  .jobgram-opening .jg-company-origin,.jobgram-opening .jg-company-float{left:0;top:0;width:49%;height:100%;border-radius:0 var(--radius-opening-media) var(--radius-opening-media) 0}
  .jobgram-opening .jg-person-origin,.jobgram-opening .jg-person-float{right:0;top:0;width:49%;height:100%;border-radius:var(--radius-opening-media) 0 0 var(--radius-opening-media)}
  .jobgram-opening .jg-company-float::after{display:none}
  .jobgram-opening .jg-sidecard{top:18px;padding:16px 18px;width:215px}
  .jobgram-opening .jg-sidecard h2{font-size:21px}
  .jobgram-opening .jg-sidecard p{font-size:12px}
  .jobgram-opening .jg-company-card{left:3%}
  .jobgram-opening .jg-person-card{right:3%;top:18px}
  .jobgram-opening .jg-hero-cue{display:none}
  .jobgram-opening .jg-foot{order:3;position:relative;bottom:auto;left:auto;right:auto;margin-top:18px;padding-bottom:22px;border-bottom:1px solid var(--line)}
  .jobgram-opening .jg-convergence{
    grid-template-columns:1fr 1fr;column-gap:22px;align-items:start;
    min-height:0;padding:65px 6% 58px
  }
  .jobgram-opening .jg-target-card{width:220px;padding:16px 18px}
  .jobgram-opening .jg-target-card h2{font-size:21px}
  .jobgram-opening .jg-target-card p{font-size:12px}
  .jobgram-opening .jg-meet-company{height:235px}
  .jobgram-opening .jg-meet-person{height:300px}
  .jobgram-opening .jg-link{grid-column:1/-1;grid-row:2;width:min(360px,100%);margin:30px auto 0}
  .jobgram-opening .jg-connection-line{left:-70px;right:-70px}
}
@media(max-width:700px){
  .jobgram-opening .jg-hero{padding:28px 20px 0}
  .jobgram-opening .jg-intro{text-align:left}
  .jobgram-opening .jg-kicker{font-size:12px;max-width:330px;margin:0}
  .jobgram-opening .jg-intro h1{font-size:clamp(55px,15vw,72px);line-height:.93;margin:27px 0}
  .jobgram-opening .jg-dot{width:9px;height:9px}
  .jobgram-opening .jg-triad>div{display:block;padding:7px 0}
  .jobgram-opening .jg-triad dt{font-size:12px}
  .jobgram-opening .jg-triad dd{font-size:13px}
  .jobgram-opening .jg-actions{justify-content:flex-start;flex-wrap:wrap;gap:8px;margin-top:23px}
  .jobgram-opening .jg-actions .button{font-size:12px;min-width:0;min-height:48px;padding-inline:12px}
  .jobgram-opening .jg-explanation{font-size:13px;max-width:350px;margin:19px 0 0}
  .jobgram-opening .jg-field{height:285px;margin:30px -20px 0}
  .jobgram-opening .jg-company-origin,.jobgram-opening .jg-company-float,
  .jobgram-opening .jg-person-origin,.jobgram-opening .jg-person-float{width:49%;height:100%}
  .jobgram-opening .jg-sidecard{top:12px;padding:11px 12px;width:calc(49% - 16px)}
  .jobgram-opening .jg-sidecard,.jobgram-opening .jg-target-card{border-radius:16px}
  .jobgram-opening .jg-sidecard h2{font-size:16px}
  .jobgram-opening .jg-sidecard p{display:none}
  .jobgram-opening .jg-company-card{left:8px}
  .jobgram-opening .jg-person-card{right:8px;top:12px}
  .jobgram-opening .jg-foot{font-size:10px;margin-top:14px}
  .jobgram-opening .jg-foot>p:first-child,.jobgram-opening .jg-foot>p:last-child{display:none}
  .jobgram-opening .jg-foot a{width:100%;justify-content:space-between;font-size:12px}
  .jobgram-opening .jg-convergence{column-gap:14px;padding:45px 20px 36px}
  .jobgram-opening .jg-target-card{width:calc(100% - 10px);padding:11px 12px;margin:0 0 12px 5px}
  .jobgram-opening .jg-person-side .jg-target-card{margin-left:auto;margin-right:5px}
  .jobgram-opening .jg-target-card h2{font-size:17px}
  .jobgram-opening .jg-target-card p{display:none}
  .jobgram-opening .jg-meet-company{height:170px}
  .jobgram-opening .jg-meet-person{height:230px}
  .jobgram-opening .jg-side>p{font-size:11px;line-height:1.45;margin-top:13px}
  .jobgram-opening .jg-side>p span{display:none}
  .jobgram-opening .jg-link{width:min(350px,100%);padding:22px 18px;margin-top:26px}
  .jobgram-opening .jg-link strong{font-size:26px}
  .jobgram-opening .jg-link p{font-size:13px}
  .jobgram-opening .jg-connection-line{display:none}
}
@media(max-width:380px){
  .jobgram-opening .jg-hero{padding-inline:16px}
  .jobgram-opening .jg-field{margin-inline:-16px;height:245px}
  .jobgram-opening .jg-sidecard h2{font-size:14px}
  .jobgram-opening .jg-convergence{padding-inline:16px;column-gap:10px}
  .jobgram-opening .jg-target-card h2{font-size:15px}
  .jobgram-opening .jg-meet-company{height:150px}
  .jobgram-opening .jg-meet-person{height:205px}
}
@media(prefers-reduced-motion:reduce){
  .jobgram-opening .jg-float,.jobgram-opening .jg-sidecard,.jobgram-opening .jg-hero-cue{will-change:auto}
}

/* The opening scales from viewport geometry as one composition. All color comes
   from the approved Omega tokens in styles.css. */
.jobgram-opening{
  --jg-unit:min(1vw,1.55vh,16.833px);
  --jg-opening-inset:calc(var(--jg-scene-height)*.045);
  --jg-photo-width:31%;
  --jg-glass:rgba(255,255,255,.59);
  --jg-glass-border:rgba(255,255,255,.62);
  --jg-glass-shadow:0 12px 36px var(--shadow-soft),inset 0 1px rgba(255,255,255,.8);
}
@media(min-width:1180px){
  .jobgram-opening .jg-hero{display:block;padding:0}
  .jobgram-opening .jg-hero::after{bottom:calc(-31% - var(--jg-opening-inset))}
  .jobgram-opening .jg-field{position:absolute;inset:calc(var(--jg-scene-offset) + var(--jg-opening-inset)) 0 auto;height:var(--jg-scene-height);margin:0}
  .jobgram-opening .jg-foot{position:absolute;order:initial;left:4%;right:4%;margin:0;padding:0;border:0}
  .jobgram-opening .jg-convergence{
    --jg-portrait-frame-height:430px;
    grid-template-columns:minmax(0,1.16fr) minmax(250px,.58fr) minmax(0,.92fr);
    align-items:center;height:var(--jg-vh);min-height:var(--jg-vh);
    padding:56px clamp(40px,6vw,100px)
  }
  /* Accepted media composition: the scene midpoint intersects the portrait
     frame at 3/8 of its height. Both media centres share this frame axis.
     Plaques attach above each media frame; optional captions stay outside
     the sizing tracks, so neither can change a measured animation target. */
  .jobgram-opening .jg-side{
    align-self:stretch;display:grid;
    grid-template-rows:calc(50% - var(--jg-portrait-frame-height)*3/8) var(--jg-portrait-frame-height) minmax(0,1fr)
  }
  .jobgram-opening .jg-media-frame{grid-row:2;align-self:center;position:relative;min-width:0}
  .jobgram-opening .jg-media-frame .jg-target-card{position:absolute;bottom:calc(100% + 16px);left:26px;margin:0}
  .jobgram-opening .jg-person-side .jg-media-frame .jg-target-card{left:auto;right:18px}
  .jobgram-opening .jg-media-frame>figcaption{position:absolute;top:100%;width:100%}
  .jobgram-opening .jg-link{grid-column:auto;grid-row:auto;width:calc(100% - 18px);margin:auto}
  .jobgram-opening .jg-meet-company{height:355px}
  .jobgram-opening .jg-meet-person{height:var(--jg-portrait-frame-height)}
  .jobgram-opening .jg-target-card{width:240px;padding:20px 22px}
  .jobgram-opening .jg-target-card h2{font-size:25px}
  .jobgram-opening .jg-target-card p{font-size:14px}
  .jobgram-opening .jg-hero{min-height:0}
  .jobgram-opening .jg-company-origin,.jobgram-opening .jg-company-float{top:0;width:var(--jg-photo-width);height:calc(var(--jg-unit)*40.15)}
  .jobgram-opening .jg-person-origin,.jobgram-opening .jg-person-float{top:0;width:30.2%;height:calc(var(--jg-unit)*41.8)}
  .jobgram-opening .jg-company-float{
    border-radius:var(--company-edge-rx,0px) var(--company-rx,48px) var(--company-bottom-rx,32px) var(--company-edge-rx,0px) / var(--company-edge-ry,0px) var(--company-ry,42px) var(--company-bottom-ry,32px) var(--company-edge-ry,0px)
  }
  .jobgram-opening .jg-person-float{
    border-radius:var(--person-rx,50px) var(--person-edge-rx,0px) var(--person-edge-rx,0px) var(--person-rx,50px) / var(--person-ry,60px) var(--person-edge-ry,0px) var(--person-edge-ry,0px) var(--person-ry,60px)
  }
  .jobgram-opening .jg-company-float::after{width:43%;height:7%;border-bottom-left-radius:28px}
  .jobgram-opening .jg-person-float img{transform:none}
  .jobgram-opening .jg-intro{z-index:3;width:38%;padding-top:calc(var(--jg-scene-offset) + var(--jg-unit)*3.6 + var(--jg-opening-inset))}
  .jobgram-opening .jg-kicker{font-size:calc(var(--jg-unit)*1.08);max-width:19em}
  .jobgram-opening .jg-intro h1{font-size:calc(var(--jg-unit)*7.9);line-height:.84;margin:calc(var(--jg-unit)*1.55) 0 calc(var(--jg-unit)*1.4);letter-spacing:-.065em}
  .jobgram-opening .jg-intro h1>span{font-size:1.12em;padding-left:0}
  .jobgram-opening .jg-triad{width:86%;max-width:100%}
  .jobgram-opening .jg-triad>div{grid-template-columns:28% 1fr;gap:calc(var(--jg-unit)*.8);padding:calc(var(--jg-unit)*.45) 0}
  .jobgram-opening .jg-triad dt{font-size:calc(var(--jg-unit)*.96);font-weight:700;white-space:nowrap}
  .jobgram-opening .jg-triad dd{font-size:calc(var(--jg-unit)*1.05)}
  .jobgram-opening .jg-actions{width:80%;gap:calc(var(--jg-unit)*.75);margin:calc(var(--jg-unit)*1.8) auto 0}
  .jobgram-opening .jg-actions .button{min-width:0;width:auto;min-height:calc(var(--jg-unit)*3.85);font-size:calc(var(--jg-unit)*1.02);padding-inline:calc(var(--jg-unit)*1.25);border-radius:calc(var(--jg-unit)*.56)}
  .jobgram-opening .jg-actions .button:first-child{flex:1.13}
  .jobgram-opening .jg-actions .button:last-child{flex:1}
  .jobgram-opening .jg-explanation{max-width:30em;margin-top:calc(var(--jg-unit)*1.6);font-size:calc(var(--jg-unit)*.98);line-height:1.45}
  .jobgram-opening .jg-foot{left:calc(var(--jg-unit)*5);right:calc(var(--jg-unit)*5);bottom:calc(var(--jg-scene-offset) + 40px);align-items:end;font-size:calc(var(--jg-unit)*.64)}
  .jobgram-opening .jg-foot>p{color:var(--blue-muted);font-weight:500;letter-spacing:.08em;text-transform:uppercase}
  .jobgram-opening .jg-foot>p:first-child{color:var(--blue-muted);font-weight:500}
  .jobgram-opening .jg-foot a{position:absolute;left:50%;bottom:calc(var(--jg-unit)*-1.2);transform:translateX(-50%);min-width:170px;align-items:center;flex-direction:column;gap:calc(var(--jg-unit)*.55);font-size:calc(var(--jg-unit)*.69);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}
  .jobgram-opening .jg-foot a::before{content:"";width:1px;height:calc(var(--jg-unit)*1.7);background:var(--pale-blue)}
  .jobgram-opening .jg-foot a span{font-size:calc(var(--jg-unit)*1.5);line-height:.7;letter-spacing:0}
  .jobgram-opening .jg-foot a span{position:relative;display:block;width:12px;height:12px;font-size:0}
  .jobgram-opening .jg-foot a span::after{content:"";position:absolute;left:2px;top:0;width:8px;height:8px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg)}
  .jobgram-opening .jg-sidecard{z-index:4;top:2%;width:calc(var(--jg-unit)*13.75);padding:calc(var(--jg-unit)*1.4) calc(var(--jg-unit)*1.3)}
  .jobgram-opening .jg-company-card{left:1%}
  .jobgram-opening .jg-person-card{right:1%;top:4%;width:calc(var(--jg-unit)*13.6);padding-block:calc(var(--jg-unit)*1.72)}
  .jobgram-opening .jg-sidecard h2{font-size:calc(var(--jg-unit)*1.57)}
  .jobgram-opening .jg-sidecard p{font-size:calc(var(--jg-unit)*.88);margin-top:calc(var(--jg-unit)*.62)}
  .jobgram-opening .jg-hero-cue{display:flex;z-index:4;bottom:31.8%;right:3.8%;width:calc(var(--jg-unit)*22.2);min-height:calc(var(--jg-unit)*7.15);gap:calc(var(--jg-unit)*1.4);padding:calc(var(--jg-unit)*1.1) calc(var(--jg-unit)*1.5)}
  .jobgram-opening .jg-cue-mark{width:calc(var(--jg-unit)*3.55);height:calc(var(--jg-unit)*3.55)}
  .jobgram-opening .jg-hero-cue strong{font-size:calc(var(--jg-unit)*1.25)}
  .jobgram-opening .jg-hero-cue small{font-size:calc(var(--jg-unit)*.78)}
  .jobgram-opening .jg-field::before,.jobgram-opening .jg-field::after{display:none}
  .jobgram-opening .jg-field{isolation:isolate}
  .jobgram-opening .jg-paper{position:absolute;z-index:-1;display:block;overflow:hidden;isolation:isolate;pointer-events:none;opacity:var(--hero-backdrop-opacity,1)}
  .jobgram-opening .jg-company-paper{left:0;top:0;width:35%;height:76%;border-radius:0 43% 34% 0 / 0 12% 15% 0;background:var(--soft-white)}
  .jobgram-opening .jg-person-paper{right:0;top:0;width:34.5%;height:76%;border-radius:49% 0 0 40% / 13% 0 0 21%;background:linear-gradient(90deg,var(--soft-white),var(--pale-blue-2))}
  .jobgram-opening .jg-connector{display:none;position:absolute;inset:0;width:100%;height:100%;overflow:visible;z-index:2;opacity:var(--gesture-opacity,1)}
  .jobgram-opening.is-enhanced .jg-connector{display:block}
  .jobgram-opening .jg-connector-path{fill:none;stroke:var(--blue-line);stroke-width:1}
  .jobgram-opening .jg-connector-start,.jobgram-opening .jg-connector-end{r:5;fill:var(--jg-blue)}
  .jobgram-opening .jg-traveller{r:5.5;fill:var(--jg-coral);opacity:var(--traveller-opacity,0)}
}
@media(max-width:1179px){.jobgram-opening .jg-connector{display:none}}

.jobgram-opening .jg-sidecard,.jobgram-opening .jg-target-card,.jobgram-opening .jg-hero-cue,.jobgram-opening .jg-link{
  background:var(--jg-glass);border:1px solid var(--jg-glass-border);
  box-shadow:var(--jg-glass-shadow);-webkit-backdrop-filter:blur(10px) saturate(1.04);backdrop-filter:blur(10px) saturate(1.04)
}
.jobgram-opening .jg-person-card{background:rgba(255,255,255,.78)}
.jobgram-opening .jg-hero-cue,.jobgram-opening .jg-link{background:rgba(255,255,255,.67)}
.jobgram-opening .jg-sidecard,.jobgram-opening .jg-target-card{border-radius:calc(var(--jg-unit)*1.7)}
.jobgram-opening .jg-hero-cue,.jobgram-opening .jg-link{border-radius:calc(var(--jg-unit)*1.5)}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .jobgram-opening .jg-sidecard,.jobgram-opening .jg-target-card,.jobgram-opening .jg-hero-cue,.jobgram-opening .jg-link{background:rgba(255,255,255,.94)}
}
.jobgram-opening .jg-convergence{
  column-gap:clamp(18px,3vw,80px);
  background:radial-gradient(ellipse 37% 70% at 13% 90%,var(--pale-blue-2),transparent 100%),
    radial-gradient(ellipse 42% 70% at 90% 9%,var(--pale-blue-2),transparent 100%),var(--soft-white)
}
.jobgram-opening .jg-meet-company{border-radius:6px 46px 36px 28px / 6px 36px 32px 25px}
.jobgram-opening .jg-meet-person{border-radius:48px 8px 34px 70px / 56px 8px 32px 65px}
.jobgram-opening .jg-link{padding:calc(var(--jg-unit)*2) calc(var(--jg-unit)*1.2)}
.jobgram-opening .jg-meet-anchor{box-shadow:0 0 0 8px var(--signal-soft)}
.jobgram-opening .jg-connection-line{background:var(--blue-line)}
@media(min-width:1180px){
  .jobgram-opening.is-enhanced .jg-scroll{height:calc(var(--jg-vh) + var(--jg-travel))}
  .jobgram-opening.is-enhanced .jg-stage{position:sticky;top:var(--jg-header,86px);height:var(--jg-vh)}
  .jobgram-opening.is-enhanced .jg-hero,.jobgram-opening.is-enhanced .jg-convergence{position:absolute;inset:0;width:100%;height:100%;min-height:0;margin:0}
  .jobgram-opening.is-enhanced .jg-hero{z-index:2;overflow:visible;pointer-events:none}
  .jobgram-opening.is-enhanced .jg-convergence{z-index:1;pointer-events:none}
  .jobgram-opening.is-enhanced .jg-intro{opacity:var(--intro-opacity,1);transform:translateY(var(--intro-y,0px));pointer-events:auto}
  .jobgram-opening.is-enhanced .jg-foot{opacity:var(--support-opacity,1);pointer-events:auto}
  .jobgram-opening.is-enhanced .jg-target-card{opacity:0}
  .jobgram-opening.is-enhanced .jg-side>p{opacity:var(--caption-opacity,0)}
  .jobgram-opening.is-enhanced .jg-link{opacity:var(--meet-opacity,0);transform:translateY(var(--meet-y,12px))}
  .jobgram-opening.is-enhanced .jg-meet-company img,.jobgram-opening.is-enhanced .jg-meet-person img{opacity:0}
  .jobgram-opening.is-enhanced .jg-company-float,.jobgram-opening.is-enhanced .jg-person-float{left:0;top:0;right:auto;width:var(--company-w);height:var(--company-h);transform-origin:top left;transform:translate3d(var(--company-x),var(--company-y),0)}
  .jobgram-opening.is-enhanced .jg-person-float{width:var(--person-w);height:var(--person-h);transform:translate3d(var(--person-x),var(--person-y),0)}
  .jobgram-opening.is-enhanced .jg-company-float img{transform:none}
  .jobgram-opening.is-enhanced .jg-person-float img{transform:none}
  .jobgram-opening.is-enhanced .jg-company-card{transform:translate3d(var(--company-card-x,0px),var(--company-card-y,0px),0) scale(var(--company-card-sx,1))}
  .jobgram-opening.is-enhanced .jg-person-card{transform:translate3d(var(--person-card-x,0px),var(--person-card-y,0px),0) scale(var(--person-card-sx,1))}
  .jobgram-opening.is-enhanced .jg-hero-cue{transform:translate3d(var(--cue-x,0px),var(--cue-y,0px),0) scale(var(--cue-scale,1));opacity:var(--cue-opacity,1)}
  .jobgram-opening.is-enhanced .jg-intro h1{opacity:var(--headline-opacity,1);transform:scale(var(--headline-scale,1))}
  .jobgram-opening.is-enhanced .jg-kicker,.jobgram-opening.is-enhanced .jg-triad,.jobgram-opening.is-enhanced .jg-actions,.jobgram-opening.is-enhanced .jg-explanation{opacity:var(--support-opacity,1)}
}
@media(max-width:1179px){
  .jobgram-opening .jg-company-float img,.jobgram-opening .jg-meet-company img{object-position:30% 43%}
  .jobgram-opening .jg-hero{display:flex;flex-direction:column;height:auto;min-height:0;padding:52px 28px 0}
  .jobgram-opening .jg-intro{order:1;width:min(650px,100%);padding:0}
  .jobgram-opening .jg-field{order:2;position:relative;height:370px;margin:38px -28px 0}
  .jobgram-opening .jg-foot{order:3;position:relative;bottom:auto;left:auto;right:auto;margin-top:18px;padding-bottom:22px;border-bottom:1px solid var(--line)}
}
@media(max-width:700px){
  .jobgram-opening .jg-hero{display:grid;grid-template-columns:minmax(0,1fr);padding:28px 20px 0}
  .jobgram-opening .jg-intro{display:contents}
  .jobgram-opening .jg-kicker,.jobgram-opening .jg-intro h1,.jobgram-opening .jg-triad,.jobgram-opening .jg-actions,.jobgram-opening .jg-explanation{position:relative;z-index:2}
  .jobgram-opening .jg-kicker{grid-row:1;max-width:330px;margin:0}
  .jobgram-opening .jg-intro h1{grid-row:2;margin:24px 0 0}
  .jobgram-opening .jg-field{grid-row:3;height:255px;margin:22px -20px 0}
  .jobgram-opening .jg-triad{grid-row:4;width:100%;margin-top:20px}
  .jobgram-opening .jg-actions{grid-row:5;margin-top:21px}
  .jobgram-opening .jg-explanation{grid-row:6;margin:19px 0 0}
  .jobgram-opening .jg-foot{grid-row:7}
  .jobgram-opening .jg-sidecard,.jobgram-opening .jg-target-card{border-radius:17px}
  .jobgram-opening .jg-convergence{padding-top:50px}
}
@media(max-width:380px){.jobgram-opening .jg-hero{padding-inline:16px}.jobgram-opening .jg-field{height:225px;margin-inline:-16px}}

/* The mobile Hero has its own centered meeting marker. */
@media(max-width:700px){
 .jobgram-opening .jg-mobile-connector{display:flex;align-items:center;width:100%;margin:27px auto 20px;color:var(--blue)}
 .jobgram-opening .jg-mobile-connector span{height:1px;flex:1;background:var(--blue-line)}
 .jobgram-opening .jg-mobile-connector span::before{content:"";display:block;width:8px;height:8px;transform:translateY(-3.5px);border-radius:50%;background:var(--blue)}
 .jobgram-opening .jg-mobile-connector span:last-child::before{margin-left:auto}
 .jobgram-opening .jg-mobile-connector i{display:block;width:12px;height:12px;flex:none;margin:0 9px;border-radius:50%;background:var(--accent)}
 .jobgram-opening .jg-mobile-center{text-align:center}
 .jobgram-opening .jg-mobile-center strong{font:600 29px/1.15 "IBM Plex Sans",sans-serif;letter-spacing:-.05em;color:var(--blue)}
 .jobgram-opening .jg-mobile-center p{font-size:14px;line-height:1.45;margin:10px 0 0}
 .jobgram-opening .jg-mobile-center p span{color:var(--blue-muted)}
}

.jobgram-opening .jg-hero-meeting{display:none}
.jobgram-opening .jg-foot .jg-cue-mobile{display:none}
@media(max-width:700px){
 /* One viewport-centered column governs the headline, meeting, values and actions. */
 .jobgram-opening{--mobile-opening-gutter:clamp(14px,4vw,20px)}
 .jobgram-opening .jg-hero{
   display:grid;grid-template-columns:minmax(0,1fr);
   padding:12px var(--mobile-opening-gutter) 0;
   text-align:center;
 }
 .jobgram-opening .jg-intro{display:contents}
 .jobgram-opening .jg-kicker{display:none}
 .jobgram-opening .jg-intro h1{grid-row:1;justify-self:center;width:100%;margin:0 0 20px;font-size:clamp(52px,14vw,62px);line-height:.89;text-align:center;letter-spacing:-.06em}
 .jobgram-opening .jg-intro h1>span{padding-left:0}
 .jobgram-opening .jg-field{grid-row:2;position:relative;width:100%;height:clamp(187px,55vw,248px);margin:0}
 .jobgram-opening .jg-company-origin,.jobgram-opening .jg-company-float,
 .jobgram-opening .jg-person-origin,.jobgram-opening .jg-person-float{top:0;width:calc(50% - 4px);height:100%;border-radius:20px}
 .jobgram-opening .jg-company-origin,.jobgram-opening .jg-company-float{left:0;right:auto}
 .jobgram-opening .jg-person-origin,.jobgram-opening .jg-person-float{left:auto;right:0}
 .jobgram-opening .jg-sidecard{top:auto;bottom:7px;width:calc(50% - 16px);min-height:45px;padding:9px 10px;border-radius:15px;text-align:left}
 .jobgram-opening .jg-sidecard h2{font-size:clamp(13px,3.4vw,16px);line-height:1.15;letter-spacing:-.025em}
 .jobgram-opening .jg-company-card{left:6px}
 .jobgram-opening .jg-person-card{right:6px;top:auto}
 .jobgram-opening .jg-hero-meeting{display:block;position:relative;z-index:2;grid-row:3;width:100%;min-width:0}
 .jobgram-opening .jg-hero-meeting .jg-mobile-connector{margin:17px auto 19px}
 .jobgram-opening .jg-hero-meeting .jg-mobile-center strong{font-size:29px}
 .jobgram-opening .jg-hero-meeting .jg-mobile-center p{margin-top:7px;font-size:15px;line-height:1.42}
 .jobgram-opening .jg-triad{grid-row:4;justify-self:center;width:100%;max-width:430px;margin:23px auto 0;text-align:left}
 .jobgram-opening .jg-triad>div{padding:9px 0}
 .jobgram-opening .jg-triad dt{font-size:13px;line-height:1.4}
 .jobgram-opening .jg-triad dd{font-size:16px;line-height:1.45}
 .jobgram-opening .jg-actions{grid-row:5;justify-self:center;justify-content:center;flex-wrap:nowrap;width:max-content;max-width:100%;margin:23px auto 0;gap:8px}
 .jobgram-opening .jg-actions .button{min-height:52px;padding:10px 14px;font-size:14px;white-space:nowrap}
 .jobgram-opening .jg-explanation{grid-row:6;justify-self:center;max-width:370px;margin:20px auto 0;font-size:15px;line-height:1.5;text-align:center}
 .jobgram-opening .jg-foot{grid-row:7;justify-self:center;width:100%;margin:20px auto 0;padding:0 0 24px;text-align:center}
 .jobgram-opening .jg-foot .jg-cue-desktop{display:none}
 .jobgram-opening .jg-foot .jg-cue-mobile{display:flex;justify-content:center;gap:9px;font-size:13px}
 .jobgram-opening .jg-convergence{display:none}
}
@media(max-width:340px){
 .jobgram-opening .jg-actions{flex-direction:column;width:100%}
 .jobgram-opening .jg-actions .button{width:100%;justify-content:center}
}
@media(min-width:341px) and (max-width:390px){
 .jobgram-opening .jg-actions .button{padding-inline:10px}
}
