/* ═══════════════════════════════════════════
   RESET & ROOT
═══════════════════════════════════════════ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#FAFAFA;
  --white:#FFFFFF;
  --black:#0A0A0A;
  --ink:#111111;
  --g100:#F4F4F4;
  --g200:#EEEEEE;
  --g300:#CCCCCC;
  --g400:#AAAAAA;
  --g500:#888888;
  --g600:#555555;
  --grad:linear-gradient(to top,#f43b47 0%,#453a94 100%);
  --grad-h:linear-gradient(to right,#453a94 0%,#f43b47 100%);
  --grad-135:linear-gradient(135deg,#453a94 0%,#f43b47 100%);
  --c1:#453a94;
  --c2:#f43b47;
  --max:1100px;
  --fj:'Noto Sans JP',sans-serif;
  --fm:'Barlow',sans-serif;
  --fd:'Barlow',sans-serif;
  /* Golden ratio spacing */
  --s1:10px;--s2:16px;--s3:26px;--s4:42px;--s5:68px;--s6:110px;--s7:178px
}
html{scroll-behavior:smooth}
body{
  background:var(--bg);color:var(--ink);
  font-family:var(--fj);font-weight:500;
  font-size:15px;line-height:1.8;
  letter-spacing:.1em;overflow-x:hidden;
  -webkit-font-smoothing:antialiased;font-feature-settings:"palt"
}
/* Noise */
body::before{
  content:'';position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.022;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:128px 128px
}
::selection{background:var(--c1);color:#fff}
::-webkit-scrollbar{width:1px}
::-webkit-scrollbar-thumb{background:var(--grad)}

/* ── Cursor ── */
#cdot{position:fixed;width:5px;height:5px;border-radius:50%;background:var(--grad-135);pointer-events:none;z-index:9999;transform:translate(-50%,-50%);mix-blend-mode:multiply}
#cring{position:fixed;width:30px;height:30px;border-radius:50%;border:1px solid rgba(69,58,148,.3);pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:width .35s ease,height .35s ease,border-color .3s ease}
body.mag #cring{width:50px;height:50px;border-color:rgba(69,58,148,.5)}

/* ── Progress bar ── */
#prog{position:fixed;right:0;top:0;width:1px;height:100vh;z-index:200;background:var(--g200)}
#prog-f{width:1px;height:0%;background:var(--grad);box-shadow:0 0 5px rgba(69,58,148,.4);transition:height .08s linear}



/* ── Reveal ── */
.rv{opacity:0;transform:translateY(28px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1)}
.rv.in{opacity:1;transform:translateY(0)}

/* ── Beam divider ── */
.beam{width:100%;height:1px;background:var(--g200);position:relative;overflow:hidden}
.beam::after{content:'';position:absolute;inset:0;width:35%;background:linear-gradient(to right,transparent,rgba(69,58,148,.5),rgba(244,59,71,.5),transparent);animation:beamRun 4.5s cubic-bezier(.76,0,.24,1) infinite}
@keyframes beamRun{0%{left:-35%}100%{left:135%}}

/* ── Section label ── */
.sec-lbl{font-family:var(--fm);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--g400);display:flex;align-items:center;gap:12px;margin-bottom:var(--s4)}
.sec-lbl::before{content:'';width:20px;height:1px;background:var(--grad-h);flex-shrink:0;box-shadow:0 0 6px rgba(69,58,148,.4)}

/* ── Grad text ── */
.g{background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}

/* ── Container ── */
.ct{max-width:var(--max);margin:0 auto;padding:0 var(--s4)}

/* ═══════════════════════════════════════════
   § HERO
═══════════════════════════════════════════ */
#hero{min-height:100vh;display:flex;align-items:flex-end;position:relative;overflow:hidden;border-bottom:1px solid var(--g200)}
.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(228,228,228,.5) 1px,transparent 1px),linear-gradient(90deg,rgba(228,228,228,.5) 1px,transparent 1px);background-size:calc(100%/12) 80px;pointer-events:none}

.hero-signal{position:absolute;right:80px;top:0;bottom:0;width:1px;background:rgba(200,200,200,.35);overflow:hidden}
.hero-signal::after{content:'';position:absolute;top:-30%;left:0;width:1px;height:30%;background:var(--grad);animation:sigSlide 2.8s ease-in-out 1.8s infinite}
@keyframes sigSlide{0%{top:-30%;opacity:0}20%{opacity:1}80%{opacity:1}100%{top:100%;opacity:0}}
.hero-coord{position:absolute;bottom:var(--s4);right:var(--s4);font-family:var(--fm);font-size:9px;letter-spacing:.15em;color:var(--g400);writing-mode:vertical-rl;opacity:0;animation:hFade 1s ease 2s forwards}

.hero-body{position:relative;z-index:1;max-width:var(--max);margin:0;width:100%;padding:0 var(--s4) 48px}
.hero-eyebrow{font-family:var(--fm);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--g400);margin-bottom:var(--s3);display:flex;align-items:center;gap:12px;opacity:0;animation:hFade 1s ease 1.5s forwards}
.hero-eyebrow::before{content:'';width:14px;height:1px;background:var(--grad);flex-shrink:0}
.hero-title{font-family:var(--fd);font-size:clamp(40px,7.5vw,96px);line-height:.88;letter-spacing:-.03em;margin-bottom:var(--s4);overflow:hidden}
.hero-orb{position:absolute;pointer-events:none;border-radius:50%}
.hero-orb-1{bottom:-120px;left:-160px;width:640px;height:640px;background:radial-gradient(ellipse,rgba(244,59,71,.08) 0%,transparent 65%)}
.hero-orb-2{top:-80px;right:80px;width:480px;height:480px;background:radial-gradient(ellipse,rgba(69,58,148,.07) 0%,transparent 65%)}
.hl{display:block;overflow:hidden}
.hli{display:block;transform:translateY(105%);animation:hSlide 1.2s cubic-bezier(.16,1,.3,1) forwards}
.hl:nth-child(1) .hli{animation-delay:.3s}
.hl:nth-child(2) .hli{animation-delay:.5s}
@keyframes hSlide{to{transform:translateY(0)}}
@keyframes hFade{to{opacity:1}}
.hero-sub{font-family:var(--fj);font-size:clamp(14px,1.5vw,18px);font-weight:400;line-height:1.8;color:var(--g500);letter-spacing:.06em;margin-bottom:var(--s4);opacity:0;animation:hFade 1s ease 1s forwards}

/* ── Tab switcher ── */
.tab-bar{display:flex;gap:0;position:relative;opacity:0;animation:hFade 1s ease 1.2s forwards;width:fit-content;border:1px solid var(--g200)}
.tab-btn{font-family:var(--fm);font-size:11px;letter-spacing:.18em;text-transform:uppercase;padding:12px 40px;border:none;background:transparent;color:var(--g500);cursor:pointer;position:relative;z-index:1;transition:color .35s ease}
.tab-btn.active{color:var(--white)}
.tab-indicator{position:absolute;top:0;left:0;height:100%;background:var(--black);z-index:0;transition:transform .45s cubic-bezier(.16,1,.3,1),width .45s cubic-bezier(.16,1,.3,1)}


/* ═══════════════════════════════════════════
   § POSITION PANELS
═══════════════════════════════════════════ */
#positions{padding:var(--s7) 0}

.pos-panels{position:relative}
.pos-panel{opacity:0;transform:translateX(24px);transition:opacity .5s cubic-bezier(.16,1,.3,1),transform .5s cubic-bezier(.16,1,.3,1);pointer-events:none;position:absolute;top:0;left:0;right:0}
.pos-panel.active{opacity:1;transform:translateX(0);pointer-events:all;position:relative}
.pos-panel.exit-left{opacity:0;transform:translateX(-24px);transition:opacity .35s ease,transform .35s ease}

.pos-layout{display:grid;grid-template-columns:1fr 1.618fr;gap:var(--s6);align-items:start}
.pos-left{position:sticky;top:100px}
.pos-big{font-family:var(--fd);font-size:clamp(28px,3.8vw,52px);line-height:.92;margin-bottom:var(--s3);letter-spacing:.02em}
.pos-tagline{font-size:12px;color:var(--g600);line-height:2.1;font-weight:100;border-left:1px solid var(--g200);padding-left:var(--s3)}
.pos-meta{margin-top:var(--s4);display:flex;flex-direction:column;gap:var(--s2)}
.pos-meta-row{display:flex;align-items:center;gap:12px;font-family:var(--fm);font-size:10px;color:var(--g400);letter-spacing:.12em}
.pos-meta-row::before{content:'';width:16px;height:1px;background:var(--g300);flex-shrink:0}

.pos-right{}
.pos-section{margin-bottom:var(--s5)}
.pos-section-label{font-family:var(--fm);font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--g400);margin-bottom:var(--s2);padding-bottom:var(--s2);border-bottom:1px solid var(--g200)}
.pos-text{font-size:12px;color:var(--g600);line-height:2.1;font-weight:300}
.pos-text strong{font-weight:500;color:var(--ink)}
.pos-text em{font-style:normal;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-weight:500}

.pos-duties{display:flex;flex-direction:column;gap:12px;margin-top:var(--s3)}
.duty{display:flex;align-items:flex-start;gap:16px;font-size:12px;color:var(--g600);line-height:1.8}
.duty::before{content:'';width:6px;height:1px;background:var(--grad-h);flex-shrink:0;margin-top:9px;box-shadow:0 0 5px rgba(69,58,148,.3)}

.reject-list{border:1px solid var(--g200);margin-top:var(--s3)}
.reject-item{padding:16px var(--s3);border-bottom:1px solid var(--g200);font-size:12px;color:var(--g500);display:flex;align-items:flex-start;gap:16px;font-weight:300;transition:background .2s}
.reject-item:last-child{border-bottom:none}
.reject-item:hover{background:var(--g100)}
.reject-item::before{content:'×';font-family:var(--fm);font-size:11px;color:var(--c2);flex-shrink:0;margin-top:1px}

/* ═══════════════════════════════════════════
   § TRAINING TIMELINE
═══════════════════════════════════════════ */
#training{padding:var(--s7) 0}
.training-in{max-width:var(--max);margin:0 auto;padding:0 var(--s4)}
.training-header{display:grid;grid-template-columns:1fr 1.618fr;gap:var(--s5);align-items:end;margin-bottom:var(--s6)}
.training-big{font-family:var(--fj);font-size:clamp(30px,4.5vw,64px);line-height:1.1;letter-spacing:.02em}
.training-sub{font-size:12px;color:var(--g600);line-height:2.1;font-weight:100;padding-bottom:4px}
.training-sub strong{color:var(--ink);font-weight:400}

/* Timeline */
.tl{position:relative;padding-left:80px}
.tl::before{content:'';position:absolute;left:30px;top:0;bottom:0;width:1px;background:var(--g200)}
.tl-item{position:relative;margin-bottom:var(--s5)}
.tl-item:last-child{margin-bottom:0}
.tl-dot{position:absolute;left:-80px;top:0;width:60px;display:flex;flex-direction:column;align-items:center;gap:6px}
.tl-dot-circle{width:32px;height:32px;border-radius:50%;border:1px solid var(--g300);background:var(--bg);display:flex;align-items:center;justify-content:center;font-family:var(--fm);font-size:9px;color:var(--g400);position:relative;z-index:1;transition:border-color .3s,color .3s}
.tl-item.active .tl-dot-circle{border-color:transparent;background:var(--grad-135);color:#fff;box-shadow:0 0 16px rgba(69,58,148,.4)}
.tl-period{font-family:var(--fm);font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:var(--g400);text-align:center;line-height:1.4;margin-top:2px}
.tl-item.active .tl-period{color:var(--g600)}

.tl-content{background:var(--bg);border:1px solid var(--g200);padding:var(--s4) var(--s4);transition:border-color .3s;position:relative;overflow:hidden}
.tl-content::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--grad);transform:scaleY(0);transform-origin:top;transition:transform .5s cubic-bezier(.16,1,.3,1)}
.tl-item:hover .tl-content{border-color:var(--g300)}
.tl-item:hover .tl-content::before{transform:scaleY(1)}
.tl-phase{font-family:var(--fm);font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--g400);margin-bottom:var(--s2)}
.tl-title{font-size:15px;font-weight:500;margin-bottom:var(--s2);letter-spacing:.02em}
.tl-text{font-size:11px;color:var(--g600);line-height:2;font-weight:100}
.tl-tags{margin-top:var(--s2);display:flex;flex-wrap:wrap;gap:6px}
.tl-tag{font-family:var(--fm);font-size:9px;letter-spacing:.1em;padding:3px 10px;border:1px solid var(--g200);color:var(--g400)}
.tl-hours{margin-top:var(--s2);font-family:var(--fm);font-size:10px;color:var(--g400);letter-spacing:.1em}
.tl-hours span{background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}

/* ═══════════════════════════════════════════
   § CAREER PATH & REWARD
═══════════════════════════════════════════ */
#career{padding:var(--s7) 0}
.career-header{display:grid;grid-template-columns:1fr 1.618fr;gap:var(--s5);align-items:end;margin-bottom:var(--s6)}
.career-big{font-family:var(--fj);font-size:clamp(30px,4vw,56px);line-height:1.1}
.career-lead{font-size:12px;color:var(--g600);line-height:2.1;font-weight:100;padding-bottom:4px}

/* SVG chart */
.chart-wrap{border:1px solid var(--g200);padding:var(--s5);position:relative;background:var(--bg)}
.chart-label{font-family:var(--fm);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--g400);margin-bottom:var(--s3)}
#career-svg{width:100%;overflow:visible}

/* Steps below chart */
.career-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--g200);border:1px solid var(--g200);margin-top:var(--s4)}
.cs{background:var(--bg);padding:var(--s3);position:relative;overflow:hidden;transition:background .25s}
.cs:hover{background:var(--g100)}
.cs::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--grad-h);transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.16,1,.3,1)}
.cs:hover::after{transform:scaleX(1)}
.cs-phase{font-family:var(--fm);font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:var(--g400);margin-bottom:10px}
.cs-val{font-family:var(--fm);font-size:28px;font-weight:300;line-height:1;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;display:block}
.cs-lbl{font-size:11px;color:var(--g500);margin-top:6px;font-weight:300}
.cs-note{font-size:10px;color:var(--g400);margin-top:10px;line-height:1.8;font-weight:300}

/* Reward logic */
.reward-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--g200);border:1px solid var(--g200);margin-top:var(--s4)}
.rg{background:var(--bg);padding:var(--s4);transition:background .25s}
.rg:hover{background:var(--g100)}
.rg-label{font-family:var(--fm);font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--g400);margin-bottom:var(--s2)}
.rg-text{font-size:12px;color:var(--g600);line-height:2;font-weight:300}
.rg-text strong{font-weight:500;color:var(--ink)}


/* ═══════════════════════════════════════════
   § WORK CONDITIONS
═══════════════════════════════════════════ */
#conditions{padding:var(--s7) 0}
.cond-header{margin-bottom:var(--s5)}
.cond-big{font-family:var(--fj);font-size:clamp(28px,3.5vw,48px);line-height:1.1;margin-bottom:var(--s3)}
.cond-note{font-size:11px;color:var(--g500);font-weight:100;letter-spacing:.04em}

.cond-table{width:100%;border-collapse:collapse;border:1px solid var(--g200)}
.cond-table tr{border-bottom:1px solid var(--g200);transition:background .2s}
.cond-table tr:last-child{border-bottom:none}
.cond-table tr:hover{background:var(--g100)}
.cond-th{font-family:var(--fm);font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--g400);padding:var(--s3) var(--s4);text-align:left;width:200px;vertical-align:top;border-right:1px solid var(--g200);font-weight:300;line-height:1.6}
.cond-td{padding:var(--s3) var(--s4);font-size:12px;color:var(--g600);line-height:1.9;font-weight:300;vertical-align:top}
.cond-td strong{font-weight:500;color:var(--ink)}
.cond-td .mono{font-family:var(--fm);font-size:14px;font-weight:300;color:var(--ink)}
.cond-td .note{font-size:11px;color:var(--g400);margin-top:4px;font-weight:100}

/* Welfare chips */
.welfare-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.chip{font-family:var(--fm);font-size:9px;letter-spacing:.1em;padding:4px 10px;border:1px solid var(--g200);color:var(--g600)}
.chip.hl{border-color:var(--c1);color:var(--c1)}

/* ═══════════════════════════════════════════
   § SELECTION FLOW
═══════════════════════════════════════════ */
#flow{padding:var(--s7) 0}
.flow-in{max-width:var(--max);margin:0 auto;padding:0 var(--s4)}
.flow-header{display:grid;grid-template-columns:1fr 1.618fr;gap:var(--s5);align-items:end;margin-bottom:var(--s6)}
.flow-big{font-family:var(--fj);font-size:clamp(28px,3.5vw,48px);line-height:1.1;letter-spacing:.02em}
.flow-lead{font-size:12px;color:var(--g600);line-height:2.1;font-weight:100}

.flow-steps{display:flex;flex-direction:column;gap:0}
.flow-step{display:grid;grid-template-columns:80px 1fr;align-items:stretch;border-bottom:1px solid var(--g200)}
.flow-step:last-child{border-bottom:none}
.flow-num{display:flex;align-items:center;justify-content:center;font-family:var(--fm);font-size:10px;color:var(--g400);letter-spacing:.1em;border-right:1px solid var(--g200);padding:var(--s4) 0;transition:color .3s}
.flow-step:hover .flow-num{color:var(--g600)}
.flow-content{padding:var(--s4) var(--s4);display:grid;grid-template-columns:1fr 1fr;gap:var(--s4);align-items:start;transition:background .25s}
.flow-step:hover .flow-content{background:var(--g100)}
.flow-name{font-size:14px;font-weight:500;letter-spacing:.02em;margin-bottom:8px}
.flow-desc{font-size:11px;color:var(--g600);line-height:2;font-weight:100}
.flow-filter{border-left:1px solid var(--g200);padding-left:var(--s3)}
.flow-filter-label{font-family:var(--fm);font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--g400);margin-bottom:8px}
.flow-filter-text{font-size:11px;color:var(--g600);line-height:1.9;font-weight:100}
.flow-filter-text em{font-style:normal;color:var(--c2)}

/* ═══════════════════════════════════════════
   § FINAL CTA
═══════════════════════════════════════════ */
#cta{padding:var(--s8,220px) 0;text-align:center;position:relative;overflow:hidden}
.cta-glow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:600px;height:400px;background:radial-gradient(ellipse,rgba(69,58,148,.05) 0%,transparent 70%);pointer-events:none}
.cta-body{position:relative;z-index:1;max-width:var(--max);margin:0 auto;padding:0 var(--s4)}
.cta-kicker{font-family:var(--fm);font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--g400);margin-bottom:var(--s4)}
.cta-title{font-family:var(--fj);font-size:clamp(30px,5vw,72px);line-height:1.1;letter-spacing:.02em;margin-bottom:var(--s3)}
.cta-sub{font-size:12px;color:var(--g400);font-weight:100;letter-spacing:.06em;margin-bottom:var(--s6)}
.cta-btn{display:inline-flex;align-items:center;gap:14px;padding:20px 64px;font-family:var(--fm);font-size:11px;letter-spacing:.22em;text-transform:uppercase;text-decoration:none;color:#fff;position:relative;overflow:hidden;border:none;cursor:pointer;transition:gap .3s}
.cta-btn:hover{gap:22px}
.cta-btn-bg{position:absolute;inset:0;background:var(--black);transition:opacity .5s}
.cta-btn-g{position:absolute;inset:0;background:var(--grad-135);opacity:0;transition:opacity .5s cubic-bezier(.16,1,.3,1)}
.cta-btn:hover .cta-btn-g{opacity:1}
.cta-btn:hover .cta-btn-bg{opacity:0}
.cta-btn span{position:relative;z-index:1}
.cta-btn-arr{position:relative;z-index:1;font-size:18px;transition:transform .3s}
.cta-btn:hover .cta-btn-arr{transform:translateX(6px)}
.cta-note{margin-top:var(--s4);font-family:var(--fm);font-size:10px;color:var(--g400);letter-spacing:.12em}


/* ═══════════════════════════════════════════
   RESPONSIVE
═══════════════════════════════════════════ */
@media(max-width:860px){
  :root{--s6:72px;--s7:110px}
  #nav,#hero .hero-body,.ct,#flow .flow-in,#training .training-in,
  .pos-layout,.training-header,.career-header,.flow-header,.req-layout,.career-steps,.cond-table tr,.flow-content,.reward-grid{grid-template-columns:1fr}
  .pos-left{position:static}
  .career-steps,.reward-grid{grid-template-columns:1fr 1fr}
  .cond-th{width:120px;font-size:9px;padding:var(--s2) var(--s3)}
  .cond-td{padding:var(--s2) var(--s3)}
  .flow-filter{border-left:none;border-top:1px solid #111;padding-left:0;padding-top:var(--s3);margin-top:var(--s3)}
  .cta-body{padding:0 var(--s3)}
  .hero-title{font-size:clamp(48px,14vw,88px)}
  .tl{padding-left:60px}
  .tl-dot{left:-60px;width:44px}
}


}
/* ===== PAGE TABS ===== */
#page-tabs{position:sticky;top:60px;z-index:90;background:var(--bg);border-bottom:1px solid var(--g200)}
.page-tab-bar{display:flex;max-width:var(--max);margin:0 auto;padding:0 var(--s4)}
.page-tab{font-family:var(--fm);font-size:11px;letter-spacing:.15em;text-transform:uppercase;padding:16px 24px;text-decoration:none;color:var(--g500);border-bottom:2px solid transparent;transition:color .2s,border-color .2s;margin-bottom:-1px}
.page-tab:hover{color:var(--black)}
.page-tab.active{color:var(--black);border-bottom-color:#f43b47}

/* ===== MOBILE NAV ===== */

/* ═══════════════════════════════════════════
   § RESONANCE
═══════════════════════════════════════════ */
#resonance{padding:var(--s7) 0}
.reson-layout{display:grid;grid-template-columns:1fr 1.618fr;gap:var(--s5);align-items:start}
.reson-big{font-family:var(--fj);font-size:clamp(26px,3.8vw,52px);line-height:1.1;letter-spacing:.02em;margin-top:var(--s3)}
.reson-items{margin-top:var(--s4)}
.reson-item{font-size:14px;color:var(--g600);line-height:1.8;padding:var(--s3) 0;border-bottom:1px solid var(--g200);font-weight:300}
.reson-item:first-child{border-top:1px solid var(--g200)}
.reson-closing{margin-top:var(--s4);font-size:13px;font-weight:500;color:var(--ink)}


/* ═══════════════════════════════════════════
   § WHO
═══════════════════════════════════════════ */
#who{padding:var(--s7) 0}
.who-headline{font-family:var(--fj);font-size:clamp(26px,3.8vw,52px);line-height:1.1;margin-bottom:var(--s5);margin-top:var(--s3)}
.who-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--g200);border:1px solid var(--g200)}
.who-col{background:var(--bg);padding:var(--s4)}
.who-col-label{font-family:var(--fm);font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--g400);margin-bottom:var(--s3);padding-bottom:var(--s2);border-bottom:1px solid var(--g200)}
.who-item{font-size:12px;color:var(--g600);line-height:1.8;padding:14px 0;border-bottom:1px solid var(--g200);font-weight:300;display:flex;align-items:flex-start;gap:12px}
.who-item:last-child{border-bottom:none}
.who-mark{font-family:var(--fm);font-size:11px;flex-shrink:0;margin-top:2px}
.who-col-yes .who-mark{color:var(--c1)}
.who-col-no .who-mark{color:var(--c2)}

@media(max-width:860px){
  .reson-layout{grid-template-columns:1fr}
  .who-grid{grid-template-columns:1fr}
}
@media(max-width:480px){
  .career-steps{grid-template-columns:1fr}
  .reward-grid{grid-template-columns:1fr}
  .cond-th{width:80px;font-size:8px;padding:var(--s2) 8px}
  .cond-td{padding:var(--s2) 10px;font-size:11px}
  .cond-td .mono{font-size:12px}
  .tl{padding-left:44px}
  .tl-dot{left:-44px;width:32px}
  .cs-val{font-size:clamp(22px,9vw,40px)}
  .flow-step{grid-template-columns:56px 1fr}
  .flow-num{font-size:9px}
  .pos-meta-row{font-size:11px}
  #career svg{max-width:100%;height:auto}
}
@media(hover:none){.cursor{display:none}}
.cursor{position:fixed;width:5px;height:5px;border-radius:50%;background:var(--grad);pointer-events:none;z-index:9998;mix-blend-mode:multiply;transform:translate(-50%,-50%);transition:transform .08s}
