/* 翡翠の力サイト 共通ページCSS（下層ページ共有・単一正本）
   各ページは <link rel="stylesheet" href="partials/site-base.css"> で読む。
   ここを直せば company/results/… 全ページに反映される。 */
:root{
    --bg:#06070a;
    --ink:#eef0f5;
    --muted:#7d8493;
    --line:rgba(255,255,255,.08);
    --line2:rgba(255,255,255,.14);
    --accent:#7c5cff;
    --accent2:#39d0ff;
    --accent3:#ff7eb6;
    --jade-glow:#dffff0; --jade-light:#bdf2dc; --jade-bright:#5fd3ad;
    --jade-mid:#3fbf99; --jade-dark:#1f6b58; --jade-deeper:#286e5a;
    --jade-shadow:#0a2622; --jade-void:#03100d;
    --brand-jp-dark:#ffffff; --brand-en-dark:#a8aeb8;
    --brand-jp-size:23px; --brand-en-size:12px;
    --brand-jp-spacing:.04em; --brand-en-spacing:.06em;
    --brand-en-gap:7px; --brand-logo-gap:8px; --brand-logo-size:60px;
    --font-jp:"Hiragino Kaku Gothic ProN","Yu Gothic","Noto Sans JP",sans-serif;
    --font-en:"Inter","Helvetica Neue","Arial",sans-serif;
    --font-mono:"JetBrains Mono","SF Mono","Menlo",monospace;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html,body{background:var(--bg);color:var(--ink);font-family:var(--font-jp);font-feature-settings:"palt";line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
  a{color:inherit;text-decoration:none}
  ::selection{background:var(--accent);color:#000}

  /* ---------- nav ---------- */
  nav{
    position:fixed;top:0;left:0;right:0;z-index:50;
    display:flex;justify-content:space-between;align-items:flex-start;
    padding:38px max(28px, calc((100vw - 1280px) / 2)) 12px;
    backdrop-filter:blur(14px) saturate(140%);
    background:linear-gradient(180deg,rgba(6,7,10,.6),rgba(6,7,10,.0));
  }
  nav .brand{display:flex;align-items:flex-start;gap:var(--brand-logo-gap)}
  nav .brand svg{display:block;flex-shrink:0;margin-top:-3px;width:var(--brand-logo-size);height:var(--brand-logo-size)}
  nav .brand .text{display:inline-flex;flex-direction:column;align-items:center;line-height:1}
  nav .brand .jp{font-family:var(--font-jp);font-weight:700;color:var(--brand-jp-dark);font-size:var(--brand-jp-size);letter-spacing:var(--brand-jp-spacing);line-height:1}
  nav .brand .en{font-family:var(--font-en);font-weight:500;color:var(--brand-en-dark);font-size:var(--brand-en-size);letter-spacing:var(--brand-en-spacing);margin-top:var(--brand-en-gap);line-height:1}
  nav .links{display:flex;gap:32px;font-size:15px;color:#aab1be;line-height:1;padding-top:22px;font-weight:500}
  nav .links a:hover{color:#fff}
  nav .cta{font-size:14px;padding:12px 22px;border:1px solid var(--line2);border-radius:99px;line-height:1;transition:all .2s;margin-top:17px;font-weight:600}
  nav .cta:hover{background:#fff;color:#000;border-color:#fff}

  /* ---------- page header ---------- */
  .page-head{
    padding:200px 32px 80px;text-align:center;
    position:relative;overflow:hidden;
  }
  .page-head::before{
    content:"";position:absolute;inset:0;pointer-events:none;
    background:radial-gradient(800px 400px at 50% 0%, rgba(63,191,153,.10), transparent 60%);
  }
  .page-head .eyebrow{
    position:relative;display:inline-flex;align-items:center;gap:10px;
    font-family:var(--font-mono);font-size:13px;letter-spacing:.24em;color:var(--muted);
  }
  .page-head .eyebrow::before{content:"";width:28px;height:1px;background:var(--accent2)}
  .page-head h1{
    position:relative;margin-top:22px;font-size:clamp(32px,5vw,56px);font-weight:700;letter-spacing:.005em;line-height:1.2;
  }
  .page-head p{
    position:relative;margin:22px auto 0;max-width:50ch;font-size:16px;color:#c2c8d2;
  }

  /* ---------- content ---------- */
  .content{max-width:1180px;margin:0 auto;padding:80px 32px 100px}
  .block{margin-bottom:72px}
  .block-label{
    font-family:var(--font-mono);font-size:13px;letter-spacing:.22em;color:var(--muted);
    text-transform:uppercase;display:inline-flex;align-items:center;gap:10px;margin-bottom:20px;
  }
  .block-label::before{content:"";width:24px;height:1px;background:var(--jade-mid)}
  .block h2{font-size:24px;font-weight:700;letter-spacing:.005em;margin-bottom:24px}

  /* ---------- info table ---------- */
  .info-table{width:100%;border-collapse:collapse;font-size:15px}
  .info-table tr{border-bottom:1px solid var(--line)}
  .info-table tr:first-child{border-top:1px solid var(--line)}
  .info-table th{
    width:30%;padding:18px 0;text-align:left;vertical-align:top;
    font-family:var(--font-mono);font-size:12.5px;letter-spacing:.16em;color:var(--muted);
    font-weight:500;text-transform:uppercase;
  }
  .info-table td{padding:18px 0;vertical-align:top;color:var(--ink);line-height:1.85}
  .info-table td .pending{color:var(--muted);font-size:13px;font-family:var(--font-mono);background:rgba(255,255,255,.04);padding:2px 8px;border-radius:4px;margin-left:6px}
  .info-table td a{color:var(--jade-bright);border-bottom:1px solid currentColor}
  .info-table td a:hover{color:var(--jade-glow)}

  /* ---------- prose ---------- */
  .prose{max-width:760px}
  .prose p{font-size:15px;color:#c2c8d2;line-height:1.95;margin-bottom:18px}
  .prose p:last-child{margin-bottom:0}

  /* ---------- footer ---------- */
  footer{padding:60px 32px 80px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}
  footer .row{max-width:1180px;margin:0 auto;display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:20px}
  footer .mark{font-family:var(--font-en);letter-spacing:.06em;font-size:13px;color:#fff;font-weight:600}
  footer .meta{font-family:var(--font-mono);letter-spacing:.1em}

  /* ---------- theme toggle ---------- */
  .theme-toggle{
    margin-left:16px;margin-top:12px;width:48px;height:48px;border-radius:99px;
    border:1px solid var(--jade-mid);background:rgba(63,191,153,.08);
    display:inline-flex;align-items:center;justify-content:center;cursor:pointer;
    transition:all .2s;color:var(--jade-glow);flex-shrink:0;
  }
  .theme-toggle:hover{
    background:rgba(63,191,153,.18);border-color:var(--jade-bright);
    box-shadow:0 0 18px -4px rgba(63,191,153,.5);
    transform:rotate(15deg);
  }
  :root[data-theme="light"] .theme-toggle{background:rgba(63,191,153,.1);color:var(--jade-deeper);border-color:var(--jade-mid)}
  :root[data-theme="light"] .theme-toggle:hover{background:rgba(63,191,153,.2)}
  .theme-toggle svg{width:22px;height:22px;stroke:currentColor;stroke-width:1.8;fill:none}
  .theme-toggle .ico-sun{display:none}
  .theme-toggle .ico-moon{display:block}
  :root[data-theme="light"] .theme-toggle .ico-sun{display:block}
  :root[data-theme="light"] .theme-toggle .ico-moon{display:none}

  /* ---------- light theme ---------- */
  :root[data-theme="light"]{
    --bg:#f7f8fa;
    --ink:#0c1218;
    --muted:#5b6577;
    --line:rgba(10,14,20,.08);
    --line2:rgba(10,14,20,.16);
    --brand-jp-dark:#0c1218;
    --brand-en-dark:#5b6577;
  }
  :root[data-theme="light"] nav{
    background:linear-gradient(180deg,rgba(247,248,250,.95) 0%,rgba(247,248,250,.85) 60%,rgba(247,248,250,.3) 100%);
  }
  :root[data-theme="light"] nav .links{color:#3d4655}
  :root[data-theme="light"] nav .links a:hover{color:#0c1218}
  :root[data-theme="light"] nav .cta{color:#0c1218;border-color:rgba(10,14,20,.22)}
  :root[data-theme="light"] nav .cta:hover{background:#0c1218;color:#fff;border-color:#0c1218}
  :root[data-theme="light"] .page-head p{color:#3d4655}
  :root[data-theme="light"] .info-table td{color:#0c1218}
  :root[data-theme="light"] .info-table td .pending{background:rgba(10,14,20,.04)}
  :root[data-theme="light"] .info-table td a{color:var(--jade-deeper)}
  :root[data-theme="light"] .prose p{color:#3d4655}
  :root[data-theme="light"] footer .mark{color:#0c1218}

  @media (max-width:700px){
    nav{padding:20px 18px 12px}
    nav .links{display:none}
    nav .cta{margin-top:8px}
    .page-head{padding:140px 18px 60px}
    .content{padding:60px 18px 80px}
    .info-table th{width:40%;font-size:10px}
    .info-table td{font-size:14px}
  }
  .info-table td .biz-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
  .info-table td .biz-list li{position:relative;padding-left:18px;line-height:1.7}
  .info-table td .biz-list li::before{content:"";position:absolute;left:0;top:11px;width:6px;height:6px;border-radius:2px;background:var(--jade-mid);transform:rotate(45deg)}

/* ---------- 代表プロフィール（共有） ---------- */
  .block:has(.profile){max-width:760px;margin-inline:auto}
  .profile h2{font-size:26px;font-weight:700;margin-bottom:6px;display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
  .profile .en-name{font-family:var(--font-en);font-size:13px;letter-spacing:.14em;color:var(--muted);font-weight:500}
  .profile .role{font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;color:var(--jade-bright);margin-bottom:26px;line-height:1.6}
  .profile-head{display:flex;gap:26px;align-items:center;margin-bottom:28px;flex-wrap:wrap}
  .profile-head .profile-photo{width:132px;height:132px;border-radius:50%;object-fit:cover;object-position:center 28%;flex-shrink:0;border:2px solid var(--jade-mid);box-shadow:0 10px 34px -12px rgba(63,191,153,.45)}
  .profile-head .txt h2{margin-bottom:6px}
  .profile-head .role{margin-bottom:0}
