  :root {
    --black: #09090b; --steel: #141c28; --steel-mid: #1e2d42;
    --metal: #7a8fa8; --chrome: #b8c8d8; --white: #f0f4f8;
    --gold: #c8a44a; --gold-light: #ddb85e; --green: #2aaa72;
    --font-display: 'Bebas Neue', sans-serif;
    --font-body: 'Noto Sans JP', sans-serif;
    --font-mono: 'DM Mono', monospace;
  }
  *, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
  html { scroll-behavior:smooth; overflow-x:hidden; }
  body { background:var(--black); color:var(--white); font-family:var(--font-body); font-size:15px; line-height:1.85; overflow-x:hidden; max-width:100%; }
  nav {
    position:fixed; top:0; left:0; right:0; z-index:100; height:60px;
    display:flex; align-items:center; justify-content:space-between; padding:0 56px;
    background:rgba(9,9,11,0.93); backdrop-filter:blur(16px);
    border-bottom:1px solid rgba(255,255,255,0.06);
  }
  .nav-logo { font-family:var(--font-display); font-size:20px; letter-spacing:0.1em; color:var(--white); text-decoration:none; display:inline-flex; align-items:center; gap:6px; line-height:1; }
  .nav-logo img { height:24px; width:24px; display:block; flex-shrink:0; }
  .nav-logo em { color:var(--gold); font-style:normal; }
  .nav-links { display:flex; gap:36px; list-style:none; }
  .nav-links a { font-size:13px; font-weight:500; color:var(--metal); text-decoration:none; letter-spacing:0.04em; transition:color .2s; }
  .nav-links a:hover { color:var(--white); }
  .nav-cta { background:var(--gold); color:var(--black); padding:9px 22px; font-size:12px; font-weight:700; letter-spacing:0.06em; text-decoration:none; transition:background .2s; }
  .nav-cta:hover { background:var(--gold-light); }
  #hamburgerBtn { display:none; background:none; border:none; cursor:pointer; padding:8px; z-index:101; }
  #hamburgerBtn span { display:block; width:22px; height:2px; background:var(--white); margin:5px 0; transition:all .3s; }
  #mobileMenu {
    display:none; position:fixed; top:0; left:0; right:0; bottom:0; z-index:200;
    background:rgba(9,9,11,0.97); backdrop-filter:blur(20px);
    flex-direction:column; align-items:center; justify-content:center; gap:32px;
  }
  #mobileMenu.open { display:flex; }
  #mobileMenu a { font-size:18px; font-weight:500; color:var(--chrome); text-decoration:none; letter-spacing:0.06em; transition:color .2s; }
  #mobileMenu a:hover { color:var(--gold); }
  #mobileClose { position:absolute; top:16px; right:20px; background:none; border:none; color:var(--white); font-size:28px; cursor:pointer; padding:8px; z-index:201; }
  .mobile-cta { background:var(--gold); color:var(--black) !important; padding:14px 36px; font-size:14px; font-weight:700; letter-spacing:0.07em; }
  .page-header {
    padding:120px 80px 72px; position:relative; overflow:hidden;
    background:linear-gradient(170deg,#09090b 0%,#0f1720 100%);
    border-bottom:1px solid rgba(255,255,255,0.05);
  }
  .page-header::before {
    content:''; position:absolute; inset:0;
    background-image:linear-gradient(rgba(255,255,255,0.015) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,0.015) 1px,transparent 1px);
    background-size:64px 64px;
  }
  .page-header-inner { max-width:1160px; margin:0 auto; position:relative; z-index:1; }
  .lbl { font-family:var(--font-mono); font-size:11px; color:var(--gold); letter-spacing:0.22em; text-transform:uppercase; margin-bottom:16px; }
  .page-header h1 { font-family:var(--font-display); font-size:clamp(48px,5vw,80px); line-height:1; letter-spacing:0.02em; }
  .breadcrumb { margin-top:20px; font-size:12px; color:var(--metal); display:flex; gap:8px; align-items:center; }
  .breadcrumb a { color:var(--metal); text-decoration:none; transition:color .2s; }
  .breadcrumb a:hover { color:var(--gold); }
  .breadcrumb span { opacity:0.4; }
  .main { max-width:960px; margin:0 auto; padding:80px 80px 120px; }
  .section { margin-bottom:72px; }
  .section-title {
    font-family:var(--font-display); font-size:32px; color:var(--white);
    letter-spacing:0.04em; margin-bottom:32px;
    padding-bottom:16px; border-bottom:1px solid rgba(200,164,74,0.2);
    display:flex; align-items:center; gap:12px;
  }
  .section-title::before { content:''; width:4px; height:32px; background:var(--gold); display:block; }
  .co-table { width:100%; border-collapse:collapse; }
  .co-table tr { border-bottom:1px solid rgba(255,255,255,0.05); }
  .co-table tr:last-child { border-bottom:none; }
  .co-table th { width:200px; padding:20px 24px 20px 0; font-size:13px; font-weight:700; color:var(--metal); text-align:left; vertical-align:top; white-space:nowrap; letter-spacing:0.06em; }
  .co-table td { padding:20px 0; font-size:14px; color:var(--chrome); line-height:1.8; }
  .co-table td strong { color:var(--white); }
  .nag-box { background:var(--steel); border:1px solid rgba(200,164,74,0.2); padding:44px 52px; position:relative; overflow:hidden; }
  .nag-box::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg,var(--gold),transparent); }
  .nag-box::after { content:'NAG'; position:absolute; right:-10px; bottom:-20px; font-family:var(--font-display); font-size:160px; color:rgba(255,255,255,0.025); pointer-events:none; line-height:1; }
  .nag-badge { display:inline-block; font-family:var(--font-mono); font-size:11px; background:rgba(200,164,74,0.1); border:1px solid rgba(200,164,74,0.35); color:var(--gold); padding:6px 16px; letter-spacing:0.14em; text-transform:uppercase; margin-bottom:22px; }
  .nag-box h3 { font-size:19px; font-weight:700; color:var(--white); margin-bottom:16px; line-height:1.6; }
  .nag-box p { font-size:14px; color:var(--chrome); line-height:1.9; margin-bottom:16px; }
  .nag-box p:last-of-type { margin-bottom:0; }
  .nag-facts { display:flex; gap:48px; margin-top:32px; padding-top:28px; border-top:1px solid rgba(255,255,255,0.06); flex-wrap:wrap; }
  .nag-fact .n { font-family:var(--font-display); font-size:42px; color:var(--gold); line-height:1; }
  .nag-fact .l { font-size:11px; color:var(--metal); letter-spacing:0.1em; text-transform:uppercase; margin-top:5px; }
  footer { background:var(--steel); border-top:1px solid rgba(255,255,255,0.06); padding:40px 80px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px; }
  .ft-logo { font-family:var(--font-body); font-weight:700; font-size:15px; color:var(--white); letter-spacing:0.05em; display:inline-flex; align-items:center; gap:6px; line-height:1; }
  .ft-logo img { height:36px; width:36px; display:block; flex-shrink:0; }
  .ft-logo em { color:var(--gold); font-style:normal; }
  footer p { font-size:12px; color:var(--metal); }
  .ft-links { display:flex; gap:24px; list-style:none; }
  .ft-links a { font-size:12px; color:var(--metal); text-decoration:none; transition:color .2s; }
  .ft-links a:hover { color:var(--gold); }

  @media (max-width: 1024px) {
    nav { padding:0 28px; }
    .page-header { padding:100px 36px 56px; }
    .main { padding:60px 36px 80px; }
    footer { padding:32px 28px; }
  } /* end @media 1024px */

  @media (max-width: 768px) {
    .nav-links { display:none; }
    .nav-cta { display:none; }
    #hamburgerBtn { display:flex; flex-direction:column; }
    nav { padding:0 20px; }
    .page-header { padding:80px 20px 40px; }
    .main { padding:40px 20px 60px; }
    .co-table th { width:120px; padding:14px 12px 14px 0; font-size:12px; }
    .co-table td { padding:14px 0; font-size:13px; }
    .nag-box { padding:28px 20px; }
    .nag-facts { gap:24px; }
    footer { padding:28px 20px; flex-direction:column; text-align:center; }
    .ft-links { flex-wrap:wrap; justify-content:center; gap:16px; }
  } /* end @media 768px */

  @media (max-width: 375px) {
    .page-header { padding:72px 16px 32px; }
    .main { padding:32px 16px 48px; }
    nav { padding:0 16px; height:52px; }
    .nag-box { padding:20px 14px; }
    footer { padding:20px 16px; }
  } /* end @media 375px */
