/* content.css — shared styles for Shigoto AI content & comparison pages.
   Tokens mirror index.html so these pages sit inside the same brand. */

:root{
  --bg:#0D0D0D;
  --fg:#FFFFFF;
  --red:#C41E3A;
  --red-glow:rgba(196,30,58,.42);

  --muted:rgba(255,255,255,.62);
  --dim:rgba(255,255,255,.42);
  --faint:rgba(255,255,255,.22);

  --hairline:rgba(255,255,255,.08);
  --hairline-s:rgba(255,255,255,.14);
  --card:rgba(255,255,255,.02);
  --card-hi:rgba(255,255,255,.035);

  --display:"Syne","Noto Sans JP",ui-sans-serif,sans-serif;
  --body:"DM Sans","Noto Sans JP",ui-sans-serif,system-ui,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,"SF Mono",Menlo,monospace;
  --jp:"Noto Sans JP","DM Sans",sans-serif;

  --r-sm:6px;
  --r-md:10px;

  --measure:74ch;
  --gutter:28px;
  --ease:cubic-bezier(.2,.7,.2,1);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}

body{
  margin:0;
  background:var(--bg);
  color:var(--fg);
  font-family:var(--body);
  font-size:17px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{animation:none!important;transition:none!important}
}

/* ---------- chrome ---------- */

.c-nav{
  position:sticky;top:0;z-index:20;
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:16px var(--gutter);
  background:rgba(13,13,13,.88);
  -webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);
  border-bottom:1px solid var(--hairline);
}
.c-nav .brand{
  display:inline-flex;align-items:center;gap:9px;
  font-family:var(--display);font-weight:700;font-size:1rem;
  color:var(--fg);text-decoration:none;letter-spacing:-.01em;
}
.c-nav .brand-dot{
  width:8px;height:8px;border-radius:50%;
  background:var(--red);box-shadow:0 0 12px var(--red-glow);
}
.c-nav .nav-cta{
  font-family:var(--mono);font-size:.78rem;letter-spacing:.04em;
  color:var(--fg);text-decoration:none;
  border:1px solid var(--hairline-s);border-radius:var(--r-sm);
  padding:8px 14px;transition:border-color .2s var(--ease),background .2s var(--ease);
}
.c-nav .nav-cta:hover{border-color:var(--red);background:var(--card-hi)}
.c-nav a:focus-visible{outline:2px solid var(--red);outline-offset:3px}

.c-wrap{
  max-width:var(--measure);
  margin:0 auto;
  padding:0 var(--gutter) 110px;
}

/* ---------- hero ---------- */

.c-hero{padding:72px 0 44px;border-bottom:1px solid var(--hairline)}
.eyebrow{
  font-family:var(--mono);font-size:.72rem;letter-spacing:.18em;
  text-transform:uppercase;color:var(--red);margin:0 0 18px;
}
.c-hero h1{
  font-family:var(--display);font-weight:700;
  font-size:clamp(2rem,5.5vw,3.15rem);line-height:1.08;letter-spacing:-.025em;
  margin:0 0 20px;text-wrap:balance;
}
.c-hero .lede{
  font-size:1.15rem;line-height:1.65;color:var(--muted);
  margin:0 0 30px;max-width:62ch;
}

/* ---------- type ---------- */

h2{
  font-family:var(--display);font-weight:600;
  font-size:clamp(1.4rem,3.2vw,1.9rem);line-height:1.2;letter-spacing:-.015em;
  margin:58px 0 16px;text-wrap:balance;
}
h3{
  font-family:var(--body);font-weight:600;
  font-size:1.08rem;line-height:1.4;margin:34px 0 10px;
}
p{margin:0 0 18px;color:rgba(255,255,255,.86)}
.lede,.muted{color:var(--muted)}
strong{font-weight:600;color:var(--fg)}
em{font-style:italic;color:var(--muted)}
a{color:var(--fg);text-decoration:underline;text-decoration-color:var(--faint);text-underline-offset:3px}
a:hover{text-decoration-color:var(--red)}
a:focus-visible{outline:2px solid var(--red);outline-offset:2px;border-radius:2px}

ul,ol{margin:0 0 20px;padding-left:1.2em}
li{margin:0 0 9px;color:rgba(255,255,255,.86)}
li::marker{color:var(--red)}

.jp{font-family:var(--jp);color:var(--dim);font-size:.9em}

hr{border:0;height:1px;background:var(--hairline);margin:52px 0}

code{
  font-family:var(--mono);font-size:.85em;
  background:var(--card-hi);border:1px solid var(--hairline);
  border-radius:4px;padding:1px 5px;
}

/* ---------- components ---------- */

.cta-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:0 0 10px}
.btn{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--body);font-weight:600;font-size:.95rem;
  padding:13px 22px;border-radius:var(--r-sm);
  text-decoration:none;transition:transform .18s var(--ease),background .18s var(--ease);
}
.btn-primary{background:var(--red);color:#fff;box-shadow:0 0 28px var(--red-glow)}
.btn-primary:hover{transform:translateY(-1px);background:#d42744}
.btn-ghost{border:1px solid var(--hairline-s);color:var(--fg)}
.btn-ghost:hover{border-color:var(--red);background:var(--card-hi)}
.cta-note{font-family:var(--mono);font-size:.75rem;color:var(--dim);letter-spacing:.03em;margin:0}

.callout{
  border:1px solid var(--hairline);border-left:2px solid var(--red);
  background:var(--card);border-radius:0 var(--r-sm) var(--r-sm) 0;
  padding:20px 22px;margin:30px 0;
}
.callout p:last-child{margin-bottom:0}
.callout .label{
  font-family:var(--mono);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--red);margin:0 0 8px;
}

.qa{border-top:1px solid var(--hairline);padding:24px 0}
.qa:last-of-type{border-bottom:1px solid var(--hairline)}
.qa h3{margin:0 0 10px;font-size:1.12rem;font-family:var(--display);font-weight:600;letter-spacing:-.01em}
.qa p:last-child{margin-bottom:0}

.steps{list-style:none;padding:0;margin:26px 0;counter-reset:step}
.steps li{
  counter-increment:step;position:relative;
  padding:0 0 0 46px;margin:0 0 22px;
}
.steps li::before{
  content:counter(step,decimal-leading-zero);
  position:absolute;left:0;top:2px;
  font-family:var(--mono);font-size:.8rem;color:var(--red);
}
.steps strong{display:block;margin-bottom:2px}

.tw{overflow-x:auto;margin:28px 0;border:1px solid var(--hairline);border-radius:var(--r-md)}
table{border-collapse:collapse;width:100%;font-size:.92rem;min-width:560px}
thead th{
  font-family:var(--mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--dim);font-weight:400;text-align:left;
  padding:14px 16px;border-bottom:1px solid var(--hairline);white-space:nowrap;
}
tbody td{padding:14px 16px;border-bottom:1px solid var(--hairline);vertical-align:top;color:rgba(255,255,255,.86)}
tbody tr:last-child td{border-bottom:0}
tbody th{
  padding:14px 16px;border-bottom:1px solid var(--hairline);
  text-align:left;font-weight:600;color:var(--fg);white-space:nowrap;
}
.yes{color:#5FBF8A}
.no{color:var(--dim)}

.endcap{
  border:1px solid var(--hairline);border-radius:var(--r-md);
  background:var(--card);padding:34px;margin:64px 0 0;text-align:center;
}
.endcap h2{margin:0 0 12px}
.endcap p{color:var(--muted);max-width:48ch;margin:0 auto 22px}
.endcap .cta-row{justify-content:center}

.crumb{
  font-family:var(--mono);font-size:.74rem;letter-spacing:.04em;
  color:var(--dim);padding:22px 0 0;
}
.crumb a{text-decoration:none;color:var(--dim)}
.crumb a:hover{color:var(--fg)}

/* ---------- footer ---------- */

.c-foot{
  border-top:1px solid var(--hairline);
  padding:34px var(--gutter) 60px;
  max-width:var(--measure);margin:0 auto;
}
.c-foot .links{
  display:flex;flex-wrap:wrap;gap:8px 20px;margin:0 0 18px;padding:0;list-style:none;
}
.c-foot a{
  font-size:.88rem;color:var(--muted);text-decoration:none;
}
.c-foot a:hover{color:var(--fg)}
.c-foot .fine{font-family:var(--mono);font-size:.72rem;color:var(--faint);letter-spacing:.03em;margin:0}

@media (max-width:640px){
  :root{--gutter:20px}
  body{font-size:16px}
  .c-hero{padding:48px 0 34px}
  .endcap{padding:26px 20px}
}
