:root {
  --ink: #0f172a;
  --ink-soft: #1e293b;
  --muted: #475569;
  --green: #1d4ed8;
  --green-dark: #1e40af;
  --accent-sky: #0284c7;
  --accent-grad: linear-gradient(135deg, #2563eb 0%, #0284c7 100%);
  --line: #dbeafe;
  --line-strong: #93c5fd;
  --paper: #f8fbff;
  --sage: #eff6ff;
  --radius: 24px;
  --shadow: 0 20px 50px rgba(15, 23, 42, 0.08);
  --shadow-blue: 0 14px 34px rgba(37, 99, 235, 0.22);
  font-family: "Hiragino Kaku Gothic ProN", "Yu Gothic UI", "Meiryo", -apple-system, BlinkMacSystemFont, sans-serif;
  color: var(--ink);
  background: var(--paper);
  font-synthesis: none;
  scroll-behavior: smooth;
  scroll-padding-top: 105px;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  font-size: 15px;
  line-height: 1.75;
  letter-spacing: 0.02em;
  background:
    radial-gradient(circle at 12% 0%, rgba(186, 230, 253, 0.45) 0%, transparent 38%),
    radial-gradient(circle at 88% 8%, rgba(191, 219, 254, 0.55) 0%, transparent 42%),
    var(--paper);
}

button, input, select { font: inherit; letter-spacing: inherit; color: inherit; }
button, a, select, input, summary { -webkit-tap-highlight-color: transparent; }
button, summary, select { cursor: pointer; }
button { border: 0; }
a { color: inherit; text-decoration: none; }
p, h1, h2, h3 { margin: 0; }
ul { padding-left: 1.3em; }
button:disabled { cursor: default; opacity: 0.55; }
[hidden] { display: none !important; }

svg:not(.botanical):not(.icon-library) {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
  flex-shrink: 0;
}

.icon-library { position: absolute; width: 0; height: 0; overflow: hidden; }
.container { width: min(1160px, calc(100% - 64px)); margin-inline: auto; }
::selection { background: #bfdbfe; color: #0f172a; }
:focus-visible { outline: 3px solid #3b82f6; outline-offset: 4px; border-radius: 8px; }

.sr-only {
  position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0;
  overflow: hidden; clip-path: inset(50%); white-space: nowrap;
}

.skip-link {
  position: fixed; left: 20px; top: -80px; background: #fff; z-index: 50;
  padding: 12px 22px; border: 2px solid var(--green); border-radius: 12px; font-weight: 700;
}
.skip-link:focus { top: 12px; }

/* Header */
.site-header {
  position: sticky;
  top: 0;
  z-index: 30;
  border-bottom: 1px solid rgba(37, 99, 235, 0.12);
  background: rgba(255, 255, 255, 0.86);
  backdrop-filter: blur(20px);
}
.nav-shell {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 84px;
}
.brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-size: 22px;
  font-weight: 800;
  line-height: 1.3;
  letter-spacing: 0.03em;
  white-space: nowrap;
  color: var(--ink);
}
.brand small {
  display: block;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.04em;
  margin-top: 2px;
  color: var(--accent-sky);
}
.brand-mark {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  background: var(--accent-grad);
  color: #ffffff;
  border-radius: 13px;
  box-shadow: 0 6px 16px rgba(37, 99, 235, 0.25);
}
.brand-mark svg { width: 24px !important; height: 24px !important; stroke-width: 1.8 !important; }

nav { display: flex; gap: 32px; font-size: 14px; font-weight: 700; color: var(--ink-soft); }
nav a { position: relative; padding: 10px 0; transition: color 0.2s; }
nav a:hover { color: var(--green); }
nav a:after {
  content: ""; height: 2px; position: absolute; bottom: 4px; left: 0; right: 100%;
  background: var(--accent-grad); transition: right 0.25s; border-radius: 2px;
}
nav a:hover:after { right: 0; }

/* Buttons */
.button {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 14px;
  padding: 15px 28px;
  min-height: 54px;
  border-radius: 999px;
  font-size: 14px;
  line-height: 1.4;
  font-weight: 700;
  transition: transform 0.22s, background 0.22s, box-shadow 0.22s;
}
.button svg { width: 18px !important; height: 18px !important; transition: transform 0.25s; }
.button:hover { transform: translateY(-2px); }
.button:hover svg { transform: translateX(4px); }
.button:active { transform: translateY(0) scale(0.98); }

.button-primary, .button-dark {
  background: var(--accent-grad);
  color: #ffffff;
  box-shadow: var(--shadow-blue);
}
.button-primary:hover, .button-dark:hover {
  box-shadow: 0 18px 38px rgba(37, 99, 235, 0.34);
}
.button-small { min-height: 42px; padding: 10px 20px; font-size: 13px; gap: 10px; }
.button-outline {
  border: 1.5px solid var(--line-strong);
  background: #ffffff;
  color: var(--green);
}
.button-outline:hover { background: var(--sage); border-color: var(--green); }

.ripple {
  position: absolute; z-index: -1; border-radius: 50%; width: 20px; height: 20px;
  pointer-events: none; background: rgba(255, 255, 255, 0.45);
  transform: translate(-50%, -50%) scale(0); animation: ripple 0.65s ease-out;
}

/* Hero Section */
.hero {
  position: relative;
  display: grid;
  grid-template-columns: 1.12fr 0.98fr;
  align-items: center;
  gap: 36px;
  padding-top: 52px;
  padding-bottom: 64px;
  min-height: 680px;
}
.hero:before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: -20px -6% 0;
  background:
    radial-gradient(ellipse at 75% 32%, rgba(147, 197, 253, 0.42), transparent 55%),
    radial-gradient(ellipse at 20% 20%, rgba(186, 230, 253, 0.35), transparent 50%);
  pointer-events: none;
}

.hero-copy { position: relative; z-index: 2; }
.eyebrow {
  font-size: 13px;
  letter-spacing: 0.08em;
  font-weight: 700;
  color: var(--green);
  margin-bottom: 16px;
  display: inline-flex;
  gap: 8px;
  align-items: center;
  background: rgba(219, 234, 254, 0.7);
  padding: 6px 14px;
  border-radius: 999px;
  border: 1px solid rgba(147, 197, 253, 0.6);
}
.status-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #2563eb;
  box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.18);
}

h1 {
  font-size: clamp(36px, 4.3vw, 54px);
  line-height: 1.32;
  font-weight: 800;
  letter-spacing: -0.01em;
  color: var(--ink);
}
h1 span {
  background: linear-gradient(135deg, #1d4ed8 0%, #0284c7 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.hero-lead {
  font-size: 16px;
  line-height: 1.85;
  color: var(--muted);
  margin-top: 18px;
  font-weight: 500;
}

.hero-actions {
  margin-top: 26px;
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
}
.quiet-link {
  font-size: 14px;
  font-weight: 700;
  color: var(--green);
  border-bottom: 2px solid var(--line-strong);
  padding: 6px 2px;
  white-space: nowrap;
  transition: border-color 0.2s;
}
.quiet-link:hover { border-color: var(--green); }
.quiet-link span { margin-left: 6px; }

.hero-promises {
  display: flex;
  gap: 20px;
  margin-top: 18px;
  font-size: 13px;
  font-weight: 600;
  color: var(--muted);
}
.hero-promises span { display: flex; align-items: center; gap: 6px; }
.hero-promises svg { width: 16px !important; height: 16px !important; color: var(--accent-sky); }

/* Interactive Team Preview in Hero */
.team-preview {
  margin-top: 28px;
  background: rgba(255, 255, 255, 0.92);
  border: 1.5px solid var(--line-strong);
  border-radius: 22px;
  padding: 18px 20px;
  box-shadow: 0 14px 36px rgba(37, 99, 235, 0.09);
  backdrop-filter: blur(14px);
}
.preview-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
  font-size: 13px;
  font-weight: 700;
  color: var(--ink-soft);
}
.preview-interaction {
  font-size: 11px;
  font-weight: 600;
  color: var(--accent-sky);
  background: var(--sage);
  padding: 3px 10px;
  border-radius: 999px;
}
.preview-tabs {
  display: flex;
  gap: 8px;
  margin-bottom: 14px;
  background: #f1f5f9;
  padding: 5px;
  border-radius: 14px;
}
.preview-tabs button {
  flex: 1;
  padding: 8px 12px;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 700;
  color: var(--muted);
  background: transparent;
  transition: all 0.2s ease;
}
.preview-tabs button[aria-pressed="true"] {
  background: #ffffff;
  color: var(--green);
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08);
}

.workflow-nodes {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(135px, 1fr));
  gap: 10px;
  align-items: stretch;
}
.workflow-node {
  position: relative;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 12px;
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.workflow-node-badges {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.workflow-node .node-order {
  font-size: 10.5px;
  font-weight: 800;
  color: var(--accent-sky);
  background: var(--sage);
  padding: 2px 7px;
  border-radius: 999px;
  line-height: 1.2;
}
.workflow-node strong {
  font-size: 13px;
  font-weight: 800;
  color: var(--ink);
  margin-top: 2px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.workflow-node p {
  font-size: 11px;
  line-height: 1.45;
  color: var(--muted);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.preview-total {
  margin-top: 12px;
  padding-top: 10px;
  border-top: 1px dashed var(--line-strong);
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}
.preview-total span { font-size: 12px; font-weight: 700; color: var(--muted); }
.preview-total strong { font-size: 20px; font-weight: 800; color: var(--green); }
.preview-total small { font-size: 12px; font-weight: 600; color: var(--muted); }
.preview-disclaimer { font-size: 11px; color: var(--muted); margin-top: 4px; }

.hero-index {
  display: flex;
  align-items: center;
  gap: 20px;
  font-size: 13px;
  font-weight: 600;
  color: var(--muted);
  margin-top: 24px;
}
.hero-index strong {
  font-size: 24px;
  color: var(--green);
  font-weight: 800;
  margin-right: 4px;
}
.hero-index i { height: 22px; width: 1.5px; background: var(--line-strong); }
.hero-index a {
  color: var(--green);
  font-weight: 700;
  border-bottom: 1.5px solid var(--line-strong);
}

/* Right Hero Scene & Blue Atmosphere */
.hero-scene {
  min-width: 0;
  position: relative;
  padding: 28px 12px 16px 12px;
  isolation: isolate;
}
.blue-atmosphere {
  position: absolute;
  inset: -30px -20px -20px -20px;
  z-index: -1;
  pointer-events: none;
  overflow: visible;
}
.blue-orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(28px);
}
.orb-back {
  width: 340px;
  height: 340px;
  top: -20px;
  right: -20px;
  background: radial-gradient(circle, rgba(56, 189, 248, 0.45) 0%, rgba(37, 99, 235, 0.18) 65%, transparent 100%);
}
.orb-front {
  width: 260px;
  height: 260px;
  bottom: 10px;
  left: -20px;
  background: radial-gradient(circle, rgba(96, 165, 250, 0.4) 0%, rgba(14, 165, 233, 0.12) 70%, transparent 100%);
}
.orb-ring {
  position: absolute;
  border-radius: 50%;
  border: 1.5px dashed rgba(59, 130, 246, 0.28);
}
.ring-one { width: 420px; height: 420px; top: -40px; right: -45px; }
.ring-two { width: 280px; height: 280px; bottom: -10px; left: -25px; }
.dot-grid {
  position: absolute;
  inset: 20px;
  background-image: radial-gradient(rgba(37, 99, 235, 0.18) 1.5px, transparent 1.5px);
  background-size: 22px 22px;
  mask-image: radial-gradient(circle at center, black 30%, transparent 75%);
}
.star {
  position: absolute;
  color: #0284c7;
  font-size: 20px;
  opacity: 0.65;
}
.star-one { top: 8px; left: 18px; }
.star-two { bottom: 48px; right: 8px; }

.scene-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #ffffff;
  border: 1px solid var(--line-strong);
  color: var(--green);
  font-size: 12px;
  font-weight: 700;
  padding: 6px 14px;
  border-radius: 999px;
  margin-bottom: 12px;
  box-shadow: 0 6px 18px rgba(37, 99, 235, 0.1);
}
.scene-kicker span {
  width: 8px; height: 8px; border-radius: 50%; background: var(--accent-sky);
}

.glass-panel {
  background: rgba(255, 255, 255, 0.94);
  border: 1.5px solid #ffffff;
  box-shadow: 0 24px 60px rgba(15, 23, 42, 0.1), 0 0 0 1px rgba(147, 197, 253, 0.45);
  backdrop-filter: blur(22px);
}

.diagnosis-widget {
  position: relative;
  border-radius: 28px;
  padding: 32px 30px 26px;
}
.widget-top {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 700;
  color: var(--green);
  margin-bottom: 16px;
}
.small-icon { display: flex; color: var(--accent-sky); }
.small-icon svg { width: 18px !important; height: 18px !important; }
.time-tag {
  margin-left: auto;
  border: 1px solid var(--line-strong);
  background: var(--sage);
  color: var(--green);
  font-size: 12px;
  font-weight: 800;
  padding: 4px 12px;
  border-radius: 999px;
  white-space: nowrap;
}
.diagnosis-widget h2 { font-size: 24px; font-weight: 800; color: var(--ink); }
.widget-caption { font-size: 13px; color: var(--muted); margin-top: 6px; margin-bottom: 22px; }

.field-label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 700;
  margin: 18px 0 8px;
  color: var(--ink);
}
.field-label > span {
  font-size: 11px;
  font-weight: 800;
  color: #ffffff;
  background: var(--accent-grad);
  padding: 2px 8px;
  border-radius: 999px;
}

.select-wrap { display: block; position: relative; min-width: 0; }
.select-wrap select {
  appearance: none;
  background: #f8fbff;
  border: 1.5px solid var(--line-strong);
  border-radius: 14px;
  width: 100%;
  height: 52px;
  padding: 0 40px 0 16px;
  font-size: 14px;
  font-weight: 600;
  color: var(--ink);
  transition: border-color 0.2s, box-shadow 0.2s;
}
.select-wrap select:hover { border-color: var(--green); }
.select-wrap > span:not(.sr-only) {
  position: absolute; right: 16px; top: 12px; pointer-events: none;
  color: var(--green); font-weight: 700;
}

.diagnose-button {
  margin-top: 24px;
  width: 100%;
  border-radius: 16px;
  justify-content: space-between;
  padding: 16px 24px;
  font-size: 15px;
}
.diagnose-button[aria-busy="true"] svg { animation: loading-arrow 0.7s infinite; }

.widget-note {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 600;
  color: var(--muted);
  margin-top: 14px;
}
.widget-note svg { width: 15px !important; height: 15px !important; color: var(--accent-sky); }

.scene-bottom {
  margin-top: 14px;
  background: rgba(255, 255, 255, 0.88);
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 10px 16px;
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 13px;
  font-weight: 700;
  color: var(--ink-soft);
}
.scene-bottom small { display: block; font-size: 11px; font-weight: 500; color: var(--muted); }
.scene-bottom-icon {
  width: 34px; height: 34px; border-radius: 10px;
  background: var(--sage); color: var(--green);
  display: grid; place-items: center; flex-shrink: 0;
}
.scene-bottom-arrow { margin-left: auto; color: var(--accent-sky); font-weight: 800; }

/* Trust Strip */
.trust-strip {
  display: flex;
  justify-content: center;
  gap: 56px;
  padding: 24px 28px;
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 20px;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04);
  font-size: 14px;
  font-weight: 700;
  color: var(--ink-soft);
}
.trust-strip span { display: flex; align-items: center; gap: 10px; }
.trust-strip svg { color: var(--green); }

/* Sections */
.section { padding-top: 88px; padding-bottom: 88px; scroll-margin-top: 20px; }
.section-heading {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 30px;
  margin-bottom: 36px;
}
.section-heading .eyebrow { margin-bottom: 12px; font-size: 12px; }
.section-heading h2 {
  font-size: clamp(26px, 3vw, 34px);
  font-weight: 800;
  line-height: 1.45;
  color: var(--ink);
}
.section-intro {
  font-size: 14px;
  line-height: 1.9;
  color: var(--muted);
  font-weight: 500;
}

.results-caption {
  display: flex;
  gap: 10px;
  align-items: center;
  font-size: 13px;
  font-weight: 600;
  color: var(--muted);
  margin-bottom: 22px;
}
.results-caption:before {
  content: ""; height: 8px; width: 8px; background: var(--green); border-radius: 50%; flex-shrink: 0;
}

/* Recipe Cards */
.recipe-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 28px;
  align-items: start;
}
.recipe-card {
  border: 1.5px solid var(--line);
  border-radius: var(--radius);
  background: #ffffff;
  padding: 28px;
  min-width: 0;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.04);
  transition: transform 0.25s, box-shadow 0.25s, border-color 0.25s;
}
.recipe-card:hover {
  transform: translateY(-2px);
  border-color: var(--line-strong);
  box-shadow: 0 18px 38px rgba(37, 99, 235, 0.09);
}
.recipe-card:first-child {
  background: linear-gradient(155deg, #f5f9ff 0%, #ffffff 50%);
  border-color: #60a5fa;
  box-shadow: 0 16px 38px rgba(37, 99, 235, 0.11);
}
.recipe-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
}
.recipe-number {
  font-size: 14px;
  font-weight: 800;
  color: var(--green);
  letter-spacing: 0.08em;
}
.category-label {
  font-size: 12px;
  font-weight: 700;
  background: var(--sage);
  border: 1px solid var(--line-strong);
  border-radius: 999px;
  padding: 4px 12px;
  color: var(--green);
}
.recipe-card h3 {
  font-size: 21px;
  line-height: 1.5;
  font-weight: 800;
  color: var(--ink);
}
.recipe-goal {
  font-size: 14px;
  color: var(--muted);
  line-height: 1.75;
  margin-top: 8px;
}
.recipe-tools {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin: 16px 0 18px;
}

/* Free Tier Icon Badges - Compact & Uniform */
.free-tier-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 3px;
  height: 22px;
  min-width: 78px;
  padding: 0 8px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: -0.01em;
  border-radius: 999px;
  line-height: 1;
  white-space: nowrap;
  flex-shrink: 0;
  box-sizing: border-box;
}
.free-tier-badge.is-compact {
  height: 20px;
  min-width: 74px;
  padding: 0 7px;
  font-size: 10.5px;
}
.free-tier-badge svg {
  width: 11px !important;
  height: 11px !important;
  stroke-width: 2.6;
  flex-shrink: 0;
}
.free-tier-badge.is-free {
  background: #ecfdf5;
  color: #047857;
  border: 1px solid #6ee7b7;
}
.free-tier-badge.is-paid-only {
  background: #f1f5f9;
  color: #475569;
  border: 1px solid #cbd5e1;
}
.free-tier-badge.is-unconfirmed {
  background: #fffbeb;
  color: #b45309;
  border: 1px solid #fcd34d;
}

.tool-chip-with-badge {
  display: inline-grid;
  grid-template-columns: 24px minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  height: 36px;
  padding: 0 10px 0 7px;
  border-radius: 10px;
  border: 1.5px solid var(--line-strong);
  background: #f8fbff;
}
.tool-chip-with-badge .tool-mark {
  width: 24px;
  height: 24px;
  font-size: 10px;
  border-radius: 6px;
}
.tool-chip-name {
  font-size: 12.5px;
  font-weight: 800;
  color: var(--ink);
  white-space: nowrap;
}

/* Hero Preview Free vs Paid Summary */
.workflow-node-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  margin-bottom: 2px;
}
.preview-tier-summary {
  margin-top: 14px;
  display: grid;
  gap: 8px;
}
.preview-tier-row {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 4px 12px;
  padding: 10px 14px;
  border-radius: 12px;
}
.preview-tier-row.is-free {
  background: #f0fdf4;
  border: 1px solid #bbf7d0;
}
.preview-tier-row.is-paid {
  background: #eff6ff;
  border: 1px solid #bfdbfe;
}
.preview-tier-label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 800;
  color: var(--ink);
}
.preview-tier-row.is-free .preview-tier-label svg { color: #059669; }
.preview-tier-row.is-paid .preview-tier-label svg { color: #1d4ed8; }
.preview-tier-price {
  font-size: 16px;
  font-weight: 800;
}
.preview-tier-row.is-free .preview-tier-price { color: #047857; }
.preview-tier-row.is-paid .preview-tier-price { color: #1d4ed8; }
.preview-tier-sub {
  grid-column: 1 / -1;
  font-size: 11px;
  color: var(--muted);
  line-height: 1.5;
}

/* 2-Step Comparison Inside Recipe Card (Free vs Paid) */
.tier-comparison-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 14px;
}
.tier-box {
  border-radius: 18px;
  padding: 20px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.tier-box-free {
  background: linear-gradient(180deg, #f0fdf4 0%, #f8fafc 100%);
  border: 1.5px solid #86efac;
}
.tier-box-paid {
  background: linear-gradient(180deg, #eff6ff 0%, #f8fbff 100%);
  border: 1.5px solid #93c5fd;
}
.tier-box-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}
.tier-step-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 800;
  padding: 5px 12px;
  border-radius: 999px;
}
.tier-step-badge.is-free {
  background: #059669;
  color: #ffffff;
}
.tier-step-badge.is-paid {
  background: #1d4ed8;
  color: #ffffff;
}
.tier-step-badge svg {
  width: 14px !important;
  height: 14px !important;
}
.tier-price-pill {
  display: flex;
  align-items: baseline;
  gap: 4px;
}
.tier-price-pill small {
  font-size: 11px;
  font-weight: 700;
  color: var(--muted);
}
.tier-price-pill strong {
  font-size: 24px;
  font-weight: 800;
  color: #047857;
}
.tier-price-pill.is-paid-pill strong {
  color: #1d4ed8;
}
.tier-box-lead {
  font-size: 13px;
  font-weight: 700;
  color: var(--ink-soft);
  margin: 12px 0 8px;
  line-height: 1.6;
}
.tier-box-warning {
  margin: 10px 0 6px;
}
.unconfirmed-inline {
  display: inline-block;
  font-size: 12px;
  font-weight: 700;
  color: #b45309;
  background: #fffbeb;
  border: 1px solid #fcd34d;
  padding: 3px 10px;
  border-radius: 8px;
}
.tier-point-list {
  list-style: none;
  padding: 0;
  margin: 6px 0 16px;
  display: grid;
  gap: 10px;
}
.tier-point-list li {
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(148, 163, 184, 0.28);
  border-radius: 12px;
  padding: 12px 14px;
  font-size: 13px;
  line-height: 1.65;
}
.tier-point-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  flex-wrap: nowrap;
  margin-bottom: 4px;
}
.tier-point-head strong {
  font-size: 13.5px;
  font-weight: 800;
  color: var(--ink);
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.mini-free-tag {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  height: 20px;
  font-size: 10.5px;
  font-weight: 800;
  color: #047857;
  background: #d1fae5;
  padding: 0 7px;
  border-radius: 999px;
  white-space: nowrap;
  flex-shrink: 0;
}
.mini-free-tag svg {
  width: 11px !important;
  height: 11px !important;
}
.mini-paid-tag {
  display: inline-flex;
  align-items: center;
  height: 20px;
  font-size: 10.5px;
  font-weight: 800;
  color: #1d4ed8;
  background: #dbeafe;
  padding: 0 7px;
  border-radius: 999px;
  white-space: nowrap;
  flex-shrink: 0;
}
.mini-unconfirmed-tag {
  display: inline-flex;
  align-items: center;
  height: 20px;
  font-size: 10.5px;
  font-weight: 800;
  color: #b45309;
  background: #fef3c7;
  padding: 0 7px;
  border-radius: 999px;
  white-space: nowrap;
  flex-shrink: 0;
}
.tier-point-role {
  font-size: 12px;
  font-weight: 700;
  color: #0369a1;
  margin-bottom: 3px;
}
.tier-point-can-do {
  font-size: 13px;
  color: var(--ink);
  margin-top: 4px;
}
.tier-point-can-do strong {
  color: #1d4ed8;
}
.tier-point-note {
  font-size: 12px;
  color: var(--muted);
  margin-top: 3px;
}
.tier-point-note em {
  font-style: normal;
  font-weight: 700;
  color: #0f172a;
}
.tier-point-caution {
  font-size: 12px;
  font-weight: 700;
  color: #0369a1;
  background: #f0f9ff;
  padding: 6px 10px;
  border-radius: 8px;
  margin-top: 6px;
}
.tier-apply-btn {
  width: 100%;
  min-height: 44px;
  border-radius: 12px;
  font-size: 13px;
  font-weight: 800;
  padding: 10px 14px;
  transition: transform 0.2s, box-shadow 0.2s, background 0.2s;
}
.tier-apply-btn.is-free-btn {
  background: #ffffff;
  color: #047857;
  border: 1.5px solid #10b981;
}
.tier-apply-btn.is-free-btn:hover {
  background: #ecfdf5;
}
.tier-apply-btn.is-paid-btn {
  background: #1d4ed8;
  color: #ffffff;
  border: 1.5px solid #1d4ed8;
  box-shadow: 0 6px 16px rgba(29, 78, 216, 0.2);
}
.tier-apply-btn.is-paid-btn:hover {
  background: #1e40af;
}

.unconfirmed-badge, .budget-note {
  display: inline-block;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.6;
  color: #b45309;
  background: #fffbeb;
  border: 1px solid #fcd34d;
  padding: 4px 10px;
  border-radius: 8px;
  margin-top: 4px;
}

.recipe-details { margin-top: 16px; }
summary { list-style: none; }
summary::-webkit-details-marker { display: none; }
.recipe-details > summary, .tool-details > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  font-size: 13px;
  font-weight: 700;
  min-height: 44px;
  color: var(--green);
  background: var(--sage);
  padding: 8px 14px;
  border-radius: 12px;
}
summary svg { width: 16px !important; height: 16px !important; transition: transform 0.25s; }
details[open] > summary svg { transform: rotate(45deg); }

.step-list { padding: 0; list-style: none; margin: 12px 0 0; }
.step-item { font-size: 13px; padding: 14px 0; border-top: 1px solid var(--line); }
.step-item-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  flex-wrap: nowrap;
}
.step-item strong { font-weight: 700; color: var(--ink); min-width: 0; }
.step-tool-name { font-size: 13px; font-weight: 700; color: var(--green); margin-top: 4px; }
.step-cost, .step-source { font-size: 12px; color: var(--muted); margin-top: 6px; }
.step-tip { font-size: 12px; color: var(--ink-soft); margin-top: 6px; line-height: 1.7; background: #f8fbff; padding: 8px 10px; border-radius: 8px; }
.step-item a, .source-meta a, .footer-meta a {
  color: var(--green); font-weight: 700; text-decoration: underline; text-underline-offset: 3px;
}
.dup-badge {
  color: #0369a1;
  background: #e0f2fe;
  padding: 2px 8px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 700;
}

.method-note {
  border-block: 1px solid var(--line-strong);
  margin-top: 32px;
  font-size: 13px;
  color: var(--muted);
}
.method-note summary {
  display: flex; align-items: center; justify-content: space-between;
  min-height: 60px; font-weight: 700; color: var(--ink-soft);
}
.method-note p { padding: 0 0 22px; max-width: 880px; line-height: 1.9; }

/* Calculator Band */
.calculator-band {
  background: linear-gradient(180deg, #eff6ff 0%, #e0f2fe 100%);
  border-block: 1px solid var(--line-strong);
  position: relative;
  overflow: clip;
}
.calculator-band > .container { position: relative; }
.calculator-layout {
  display: grid;
  grid-template-columns: 360px minmax(0, 1fr);
  gap: 36px;
  align-items: start;
}
.calculator-summary {
  position: sticky;
  top: 100px;
  border-radius: 26px;
  padding: 28px;
  min-width: 0;
}
.summary-heading { display: flex; align-items: center; gap: 12px; margin-bottom: 20px; }
.summary-heading h3 { font-size: 17px; font-weight: 800; }
.summary-heading svg { color: var(--green); }

.cycle-toggle {
  display: flex; border: 0; padding: 5px; margin: 0 0 22px;
  background: #dbeafe; border-radius: 14px;
}
.cycle-toggle label { flex: 1; position: relative; cursor: pointer; }
.cycle-toggle input { position: absolute; opacity: 0; width: 100%; height: 100%; margin: 0; }
.cycle-toggle span {
  display: block; text-align: center; padding: 10px 12px;
  font-size: 13px; font-weight: 700; border-radius: 10px;
  transition: background 0.25s, box-shadow 0.25s, color 0.25s;
}
.cycle-toggle input:checked + span {
  background: #ffffff; color: var(--green);
  box-shadow: 0 3px 10px rgba(37, 99, 235, 0.15);
}

.summary-label { font-size: 13px; font-weight: 700; color: var(--muted); }
.summary-amount {
  display: block;
  font-size: 44px;
  font-weight: 800;
  color: var(--green);
  letter-spacing: -0.02em;
  line-height: 1.3;
  margin-top: 6px;
}
.summary-period { font-size: 13px; font-weight: 600; color: var(--muted); margin: 4px 0 22px; }
.summary-empty { font-size: 13px; line-height: 1.85; color: var(--muted); padding: 6px 0 18px; }

.bundle-items { list-style: none; padding: 0; margin: 18px 0 0; }
.bundle-items li {
  font-size: 13px; font-weight: 600;
  display: flex; gap: 8px; justify-content: space-between; align-items: center;
  padding: 12px 0; border-top: 1px solid var(--line);
}
.bundle-items small { display: block; color: var(--muted); font-size: 12px; font-weight: 500; }
.remove-plan {
  background: var(--sage); color: var(--green);
  border-radius: 50%; min-width: 32px; height: 32px; line-height: 1; font-size: 17px; font-weight: 700;
}
.remove-plan:hover { background: #bfdbfe; }

.warn-box {
  font-size: 12px;
  color: #92400e;
  line-height: 1.75;
  background: #fffbeb;
  border: 1px solid #fcd34d;
  border-radius: 12px;
  padding: 14px;
  margin-top: 16px;
}
.reset-button {
  font-size: 13px; font-weight: 700; background: none; color: var(--green);
  text-decoration: underline; text-underline-offset: 4px; padding: 12px 0; margin-top: 8px; min-height: 44px;
}
.calculator-note {
  border-top: 1px solid var(--line);
  padding-top: 16px; margin-top: 6px;
  font-size: 12px; line-height: 1.75; color: var(--muted);
}

.picker-heading {
  display: flex; justify-content: space-between; align-items: center; gap: 15px; margin: 0 0 14px;
}
.picker-heading h3 { font-size: 18px; font-weight: 800; }
.picker-heading > span {
  font-size: 12px; font-weight: 700; color: var(--green);
  background: #ffffff; padding: 4px 12px; border-radius: 999px; border: 1px solid var(--line-strong);
}

.search-field {
  display: flex; align-items: center; gap: 10px;
  border: 1.5px solid var(--line-strong); border-radius: 14px;
  background: #ffffff; padding: 0 16px; min-height: 50px;
}
.search-field svg { color: var(--green); width: 18px !important; height: 18px !important; }
.search-field input {
  border: 0; background: none; outline: none; width: 100%; font-size: 14px; height: 48px; min-width: 0;
}
.search-field:focus-within { box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.2); border-color: var(--green); }
.search-field input::placeholder { color: var(--muted); }

.plan-group-grid {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 18px; align-items: start;
}
.plan-group {
  background: rgba(255, 255, 255, 0.92);
  border: 1.5px solid var(--line);
  border-radius: 18px;
  overflow: hidden;
  min-width: 0;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.03);
}
.plan-group[open] { background: #ffffff; border-color: var(--line-strong); }
.plan-group > summary {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 13px 14px;
  min-height: 68px;
}
.tool-mark {
  display: grid;
  place-items: center;
  flex-shrink: 0;
  width: 38px;
  height: 38px;
  background: #ffffff;
  border: 1.5px solid var(--line-strong);
  border-radius: 11px;
  color: var(--green);
  font-size: 13px;
  font-weight: 800;
  padding: 5px;
  box-shadow: 0 2px 6px rgba(15, 23, 42, 0.05);
  overflow: hidden;
}
.tool-icon-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  border-radius: 6px;
  display: block;
}
.tool-chip-with-badge .tool-mark {
  padding: 3px;
}
.plan-group-title { min-width: 0; }
.plan-group-title strong {
  display: block;
  font-size: 13.5px;
  font-weight: 800;
  line-height: 1.35;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.plan-group-title small {
  display: block;
  font-size: 11.5px;
  color: var(--muted);
  margin-top: 2px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.plan-group-right {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}
.plan-options { padding: 0 12px 12px; display: grid; gap: 6px; }

.plan-check-card {
  display: flex; align-items: start; gap: 10px; padding: 12px;
  border-radius: 12px; cursor: pointer; border: 1.5px solid transparent;
}
.plan-check-card.is-free-plan-card {
  background: #f0fdf4;
  border-color: #bbf7d0;
}
.plan-check-card:hover { background: var(--sage); }
.plan-check-card:has(input:checked) { background: #dbeafe; border-color: #60a5fa; }
.plan-checkbox {
  appearance: none; width: 18px; height: 18px;
  border: 1.5px solid #60a5fa; border-radius: 5px; background: #fff;
  margin: 3px 0 0; flex-shrink: 0; cursor: pointer;
}
.plan-checkbox:checked {
  background: var(--green); border-color: var(--green);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='m5 10 3 3 7-7' stroke='white' fill='none' stroke-width='2.2'/%3E%3C/svg%3E");
}
.plan-name-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.plan-name { font-size: 13px; font-weight: 800; color: var(--ink); }
.plan-cost { font-size: 12px; font-weight: 700; color: var(--green); line-height: 1.6; display: block; margin-top: 2px; }
.plan-note-inline { font-size: 11px; color: var(--ink-soft); display: block; margin-top: 2px; line-height: 1.55; }
.source-meta {
  font-size: 11px; line-height: 1.7; color: var(--muted); margin-top: 6px;
  display: flex; gap: 10px; flex-wrap: wrap;
}

/* Tool Section */
.tool-filters { display: flex; gap: 15px; margin-bottom: 26px; }
.tool-filters .search-field { flex: 1; }
.tool-filters .select-wrap { width: 240px; }

.tool-grid {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; align-items: start;
}
.tool-card {
  background: #ffffff;
  border: 1.5px solid var(--line);
  border-radius: 22px;
  padding: 22px;
  min-width: 0;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04);
  transition: box-shadow 0.25s, transform 0.25s, border-color 0.25s;
}
.tool-card:hover {
  box-shadow: 0 18px 40px rgba(37, 99, 235, 0.1);
  border-color: var(--line-strong);
  transform: translateY(-3px);
}
.tool-card-heading {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  min-height: 44px;
}
.tool-card-title-wrap { min-width: 0; }
.tool-card h3 {
  font-size: 15.5px;
  font-weight: 800;
  line-height: 1.35;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.tool-card-heading p {
  font-size: 11.5px;
  font-weight: 600;
  color: var(--accent-sky);
  margin-top: 2px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.tool-card-badge-slot {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-shrink: 0;
}
.tool-card .tool-mark { width: 40px; height: 40px; font-size: 13px; border-radius: 12px; }

.tool-free-paid-box {
  margin: 16px 0;
  display: grid;
  gap: 8px;
}
.tool-fp-row {
  padding: 10px 12px;
  border-radius: 12px;
  font-size: 12px;
  line-height: 1.6;
  display: grid;
  gap: 4px;
}
.tool-fp-row.is-free-row {
  background: #f0fdf4;
  border: 1px solid #bbf7d0;
  color: var(--ink);
}
.tool-fp-row.is-paid-row {
  background: #f8fbff;
  border: 1px solid var(--line-strong);
  color: var(--ink);
}
.fp-pill {
  display: inline-block;
  width: fit-content;
  font-size: 11px;
  font-weight: 800;
  padding: 1px 8px;
  border-radius: 999px;
}
.fp-pill.is-free {
  background: #059669;
  color: #ffffff;
}
.fp-pill.is-paid {
  background: #1d4ed8;
  color: #ffffff;
}

.tool-card-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  font-size: 12px;
  color: var(--muted);
}
.tool-meta-link {
  color: var(--green);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.tool-details { border-top: 1px solid var(--line); margin-top: 14px; padding-top: 10px; }
.tool-attr-grid { font-size: 12px; color: var(--muted); margin: 10px 0 16px; line-height: 1.9; }
.pros-cons-grid { font-size: 12px; color: var(--muted); line-height: 1.8; }
.pros-cons-grid strong { color: var(--ink); font-weight: 800; font-size: 13px; }
.compact-list { margin: 6px 0 16px; }

.table-scroll { overflow: auto; margin: 16px -4px 10px; border: 1px solid var(--line-strong); border-radius: 12px; }
.stage-table { width: 620px; border-collapse: collapse; font-size: 12px; text-align: left; }
.stage-table th { background: var(--sage); font-size: 11px; font-weight: 800; color: var(--ink); padding: 12px; vertical-align: top; }
.stage-table td { padding: 12px; border-top: 1px solid var(--line); vertical-align: top; }
.stage-table td:nth-child(1) { width: 16%; }
.stage-table td:nth-child(2), .stage-table td:nth-child(3) { width: 20%; }
.stage-table td small { color: var(--muted); font-size: 11px; }

.show-more { display: flex; margin: 32px auto 0; min-width: 260px; font-size: 14px; }
.empty-state {
  font-size: 14px; font-weight: 600; color: var(--muted);
  padding: 48px 20px; text-align: center; background: var(--sage); border-radius: 20px;
}

/* Closing Banner */
.closing {
  text-align: center;
  position: relative;
  isolation: isolate;
  padding: 72px 24px 84px;
  border-radius: 32px;
  background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 50%, #e0f2fe 100%);
  border: 1.5px solid var(--line-strong);
  margin-bottom: 84px;
  overflow: hidden;
}
.closing-leaf { display: inline-flex; color: var(--green); margin-bottom: 16px; }
.closing-leaf svg { width: 34px !important; height: 34px !important; }
.closing .eyebrow { justify-content: center; margin-bottom: 14px; background: #ffffff; }
.closing h2 { font-size: clamp(24px, 3vw, 32px); line-height: 1.6; font-weight: 800; margin-bottom: 26px; }

/* Footer */
.site-footer { border-top: 1px solid var(--line-strong); background: #f1f5f9; padding: 48px 0 0; }
.footer-top { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 28px; }
.footer-top p { font-size: 13px; font-weight: 600; color: var(--muted); }
.footer-meta { display: flex; flex-wrap: wrap; gap: 12px 28px; font-size: 12px; font-weight: 600; color: var(--muted); margin-bottom: 14px; }
.fine-print { font-size: 12px; line-height: 1.85; color: var(--muted); max-width: 960px; }
.footer-bottom {
  display: flex; justify-content: space-between; gap: 20px;
  border-top: 1px solid #cbd5e1; padding: 22px 0; margin-top: 24px;
  font-size: 12px; font-weight: 600; color: var(--muted);
}

/* PC / Smartphone Device Badges & Guides */
.recipe-top-badges, .step-head-badges {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}
.device-badge {
  display: inline-flex;
  align-items: center;
  height: 20px;
  padding: 0 8px;
  border-radius: 999px;
  font-size: 10.5px;
  font-weight: 800;
  white-space: nowrap;
  flex-shrink: 0;
  line-height: 1;
}
.device-badge.is-device-both {
  background: #e0f2fe;
  color: #0369a1;
  border: 1px solid #7dd3fc;
}
.device-badge.is-device-pc-rec {
  background: #eff6ff;
  color: #1d4ed8;
  border: 1px solid #93c5fd;
}
.device-badge.is-device-pc-only {
  background: #f1f5f9;
  color: #334155;
  border: 1px solid #cbd5e1;
}

.recipe-device-guide {
  background: #f8fbff;
  border: 1.5px solid #dbeafe;
  border-radius: 16px;
  padding: 14px 16px;
  margin: 0 0 14px;
}
.recipe-device-header {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 10px;
}
.recipe-device-summary {
  font-size: 12.5px;
  font-weight: 800;
  color: var(--ink);
}
.device-usage-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.device-usage-card {
  background: #ffffff;
  border: 1px solid #cbd5e1;
  border-radius: 12px;
  padding: 10px 12px;
  font-size: 12px;
  line-height: 1.65;
  color: var(--ink-soft);
}
.device-usage-card.is-mobile-card {
  border-left: 3.5px solid #0284c7;
}
.device-usage-card.is-pc-card {
  border-left: 3.5px solid #2563eb;
}
.device-usage-label {
  display: inline-block;
  font-size: 11.5px;
  font-weight: 800;
  color: var(--ink);
  margin-bottom: 3px;
}
.device-usage-card p {
  margin: 0;
}

.tool-device-strip {
  margin-top: 12px;
  padding: 10px 12px;
  background: #f8fbff;
  border: 1px solid #dbeafe;
  border-radius: 12px;
  display: grid;
  gap: 6px;
}
.tool-device-rows {
  display: grid;
  gap: 4px;
  font-size: 11.5px;
  line-height: 1.55;
  color: var(--ink-soft);
}
.tool-device-row strong {
  color: var(--ink);
  font-weight: 800;
}

/* Floating AI Concierge Chatbot */
.concierge-widget {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 50;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}
.concierge-fab {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 18px 10px 12px;
  border-radius: 999px;
  background: linear-gradient(135deg, #1d4ed8 0%, #0284c7 100%);
  color: #ffffff;
  border: 2px solid #ffffff;
  box-shadow: 0 14px 32px rgba(29, 78, 216, 0.34);
  cursor: pointer;
  transition: transform 0.2s, box-shadow 0.2s;
  text-align: left;
}
.concierge-fab:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 38px rgba(29, 78, 216, 0.42);
}
.concierge-fab-icon {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
  display: grid;
  place-items: center;
  flex-shrink: 0;
}
.concierge-fab-icon svg {
  width: 20px !important;
  height: 20px !important;
}
.concierge-fab-text {
  display: flex;
  flex-direction: column;
  line-height: 1.25;
}
.concierge-fab-text strong {
  font-size: 13.5px;
  font-weight: 800;
}
.concierge-fab-text small {
  font-size: 10.5px;
  opacity: 0.9;
}

.concierge-panel {
  width: min(390px, calc(100vw - 28px));
  max-height: min(600px, calc(100vh - 110px));
  margin-top: 10px;
  background: #ffffff;
  border: 1.5px solid #93c5fd;
  border-radius: 22px;
  box-shadow: 0 24px 56px rgba(15, 23, 42, 0.22);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  order: -1;
  margin-bottom: 10px;
}
.concierge-panel[hidden] {
  display: none !important;
}
.concierge-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 14px 16px;
  background: linear-gradient(135deg, #1d4ed8 0%, #0284c7 100%);
  color: #ffffff;
}
.concierge-header-title {
  display: flex;
  align-items: center;
  gap: 10px;
}
.concierge-avatar {
  width: 34px;
  height: 34px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.2);
  display: grid;
  place-items: center;
  flex-shrink: 0;
}
.concierge-header-title strong {
  display: block;
  font-size: 14px;
  font-weight: 800;
}
.concierge-header-title small {
  display: block;
  font-size: 11px;
  opacity: 0.9;
}
.concierge-close {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.16);
  color: #111111;
  display: grid;
  place-items: center;
}
#concierge-close svg {
  stroke-width: 2.4;
}
.concierge-close:hover {
  background: rgba(255, 255, 255, 0.28);
}

.concierge-messages {
  padding: 14px;
  overflow-y: auto;
  display: grid;
  gap: 10px;
  max-height: 310px;
  background: #f8fbff;
}
.chat-msg {
  display: flex;
}
.chat-msg.is-user {
  justify-content: flex-end;
}
.chat-msg.is-bot {
  justify-content: flex-start;
}
.chat-bubble {
  max-width: 92%;
  padding: 11px 13px;
  border-radius: 14px;
  font-size: 12.5px;
  line-height: 1.65;
}
.chat-msg.is-user .chat-bubble {
  background: #1d4ed8;
  color: #ffffff;
  border-bottom-right-radius: 4px;
  font-weight: 700;
}
.chat-msg.is-bot .chat-bubble {
  background: #ffffff;
  color: var(--ink);
  border: 1px solid #cbd5e1;
  border-bottom-left-radius: 4px;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04);
}
.chat-heading {
  display: block;
  font-size: 13px;
  font-weight: 800;
  color: #1d4ed8;
  margin-bottom: 4px;
}
.chat-bubble p {
  margin: 0;
  white-space: pre-line;
}
.chat-list {
  margin: 8px 0 0;
  padding-left: 16px;
  display: grid;
  gap: 4px;
  font-size: 12px;
  color: var(--ink-soft);
}
.chat-action-btn {
  margin-top: 10px;
  width: 100%;
  padding: 8px 12px;
  border-radius: 10px;
  background: #eff6ff;
  color: #1d4ed8;
  border: 1.5px solid #60a5fa;
  font-size: 12px;
  font-weight: 800;
  text-align: center;
}
.chat-action-btn:hover {
  background: #dbeafe;
}
.chat-scroll-link {
  display: inline-block;
  margin-top: 8px;
  font-size: 12px;
  font-weight: 800;
  color: #1d4ed8;
  text-decoration: underline;
}

.concierge-chips {
  display: flex;
  gap: 6px;
  overflow-x: auto;
  padding: 8px 12px;
  background: #ffffff;
  border-top: 1px solid var(--line);
}
.concierge-chip {
  white-space: nowrap;
  font-size: 11px;
  font-weight: 700;
  padding: 5px 10px;
  border-radius: 999px;
  background: #f0f9ff;
  color: #0369a1;
  border: 1px solid #bae6fd;
  flex-shrink: 0;
}
.concierge-chip:hover {
  background: #e0f2fe;
}

.concierge-form {
  display: flex;
  gap: 8px;
  padding: 10px 12px;
  background: #ffffff;
  border-top: 1px solid var(--line);
}
.concierge-form input {
  flex: 1;
  min-width: 0;
  height: 38px;
  padding: 0 12px;
  border-radius: 10px;
  border: 1.5px solid var(--line-strong);
  font-size: 12.5px;
  outline: none;
}
.concierge-form input:focus {
  border-color: var(--green);
}
.concierge-send {
  width: 38px;
  height: 38px;
  border-radius: 10px;
  background: var(--green);
  color: #ffffff;
  display: grid;
  place-items: center;
  flex-shrink: 0;
}

.toast {
  position: fixed; z-index: 40; bottom: 25px; left: 50%; max-width: calc(100% - 30px);
  transform: translate(-50%, 20px); background: #0f172a; color: #ffffff;
  padding: 12px 26px; border-radius: 999px; font-size: 13px; font-weight: 700;
  pointer-events: none; opacity: 0; transition: opacity 0.25s, transform 0.25s;
  box-shadow: var(--shadow);
}
.toast.is-visible { opacity: 1; transform: translate(-50%, 0); }

/* 3-Tab Page Switcher & Next-Page Banner */
.page-view[hidden] {
  display: none !important;
}
.page-tab-bar {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px;
  background: #eff6ff;
  border: 1.5px solid #bfdbfe;
  border-radius: 16px;
}
.page-tab {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 14px;
  border-radius: 11px;
  background: transparent;
  color: var(--ink-soft);
  font-size: 13px;
  font-weight: 800;
  transition: background 0.2s, color 0.2s, box-shadow 0.2s;
  white-space: nowrap;
}
.page-tab:hover {
  background: rgba(255, 255, 255, 0.7);
  color: var(--green);
}
.page-tab.is-active {
  background: #1d4ed8;
  color: #ffffff;
  box-shadow: 0 6px 16px rgba(29, 78, 216, 0.24);
}
.page-tab-num {
  font-size: 13px;
  font-weight: 800;
}
.page-tab-sub, .page-tab-badge {
  font-size: 10.5px;
  font-weight: 700;
  padding: 2px 7px;
  border-radius: 999px;
  background: rgba(37, 99, 235, 0.1);
  color: #1d4ed8;
}
.page-tab.is-active .page-tab-sub,
.page-tab.is-active .page-tab-badge {
  background: rgba(255, 255, 255, 0.22);
  color: #ffffff;
}
.page-tab-badge.has-selection {
  background: #059669;
  color: #ffffff;
}
.page-tab.is-active .page-tab-badge.has-selection {
  background: #ecfdf5;
  color: #047857;
}

.next-page-banner {
  margin-top: 44px;
  padding: 26px 28px;
  border-radius: 22px;
  background: linear-gradient(135deg, #eff6ff 0%, #e0f2fe 100%);
  border: 1.5px solid #93c5fd;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
}
.next-page-banner.is-white-banner {
  background: #ffffff;
}
.next-page-copy strong {
  display: block;
  font-size: 16px;
  font-weight: 800;
  color: var(--ink);
}
.next-page-copy p {
  margin: 4px 0 0;
  font-size: 13px;
  color: var(--muted);
}
.next-page-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

/* Big 3 AI Premise Page & Visual Charts */
.big3-premise-hero {
  background: linear-gradient(135deg, #ffffff 0%, #eff6ff 55%, #e0f2fe 100%);
  border: 2px solid #93c5fd;
  border-radius: 26px;
  padding: 36px 38px;
  box-shadow: 0 18px 42px rgba(29, 78, 216, 0.08);
  margin-bottom: 32px;
}
.big3-premise-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 14px;
  border-radius: 999px;
  background: #1d4ed8;
  color: #ffffff;
  font-size: 12px;
  font-weight: 800;
  margin-bottom: 14px;
}
.big3-premise-badge .status-dot {
  background: #6ee7b7;
  box-shadow: 0 0 0 3px rgba(110, 231, 183, 0.25);
}
.big3-premise-hero h1 {
  font-size: clamp(26px, 3.4vw, 40px);
  line-height: 1.28;
  font-weight: 900;
  color: var(--ink);
  margin: 0 0 14px;
}
.big3-premise-hero h1 span {
  color: #1d4ed8;
}
.big3-premise-lead {
  font-size: 15px;
  line-height: 1.8;
  color: var(--ink-soft);
  max-width: 860px;
  margin: 0 0 22px;
}
.big3-quick-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.big3-architecture-box {
  background: #ffffff;
  border: 1.5px solid var(--line-strong);
  border-radius: 22px;
  padding: 28px 30px;
  margin-bottom: 30px;
  box-shadow: var(--shadow-soft);
}
.big3-arch-header h2 {
  font-size: 22px;
  font-weight: 800;
  margin: 6px 0 8px;
}
.big3-arch-header p {
  font-size: 14px;
  color: var(--muted);
  margin: 0 0 20px;
}
.big3-arch-diagram {
  display: grid;
  grid-template-columns: 1fr auto 1.15fr;
  align-items: stretch;
  gap: 16px;
}
.big3-arch-step {
  border-radius: 18px;
  padding: 20px 22px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.big3-arch-step.is-main-step {
  background: linear-gradient(180deg, #eff6ff 0%, #f8fbff 100%);
  border: 2px solid #60a5fa;
}
.big3-arch-step.is-sub-step {
  background: linear-gradient(180deg, #f8fafc 0%, #ffffff 100%);
  border: 1.5px dashed #94a3b8;
}
.arch-step-badge {
  display: inline-block;
  align-self: flex-start;
  font-size: 11.5px;
  font-weight: 800;
  padding: 4px 11px;
  border-radius: 999px;
  background: #1d4ed8;
  color: #ffffff;
  margin-bottom: 10px;
}
.arch-step-badge.is-sub {
  background: #334155;
}
.big3-arch-step h3 {
  font-size: 16.5px;
  font-weight: 800;
  margin: 0 0 6px;
  color: var(--ink);
}
.big3-arch-step p {
  font-size: 13px;
  color: var(--ink-soft);
  margin: 0 0 14px;
  line-height: 1.6;
}
.arch-big3-pills {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.arch-pill {
  flex: 1;
  min-width: 110px;
  background: #ffffff;
  border-radius: 12px;
  padding: 10px 12px;
  text-align: center;
  border: 1.5px solid #cbd5e1;
}
.arch-pill.is-chatgpt { border-color: #10a37f; background: #ecfdf5; }
.arch-pill.is-claude { border-color: #d97706; background: #fffbeb; }
.arch-pill.is-gemini { border-color: #2563eb; background: #eff6ff; }
.arch-pill strong {
  display: block;
  font-size: 13.5px;
  font-weight: 800;
  color: var(--ink);
}
.arch-pill small {
  display: block;
  font-size: 11px;
  color: var(--muted);
  margin-top: 2px;
}
.arch-or {
  font-size: 11px;
  font-weight: 800;
  color: var(--muted);
}
.big3-arch-arrow {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  font-weight: 900;
  color: #1d4ed8;
  padding: 0 4px;
  text-align: center;
}
.big3-arch-arrow small {
  font-size: 10.5px;
  font-weight: 700;
  color: var(--muted);
  max-width: 84px;
  line-height: 1.35;
}
.arch-sub-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.arch-sub-chip {
  text-align: left;
  padding: 8px 11px;
  border-radius: 10px;
  background: #ffffff;
  border: 1px solid #cbd5e1;
  transition: border-color 0.2s, background 0.2s, transform 0.15s;
}
.arch-sub-chip:hover {
  border-color: #2563eb;
  background: #eff6ff;
  transform: translateY(-1px);
}
.arch-sub-chip strong {
  font-size: 12.5px;
  font-weight: 800;
  color: var(--ink);
}
.arch-sub-chip span {
  display: block;
  font-size: 11px;
  color: var(--muted);
  margin-top: 1px;
}

.big3-selector-box {
  background: #f8fbff;
  border: 1.5px solid #bfdbfe;
  border-radius: 22px;
  padding: 24px 28px;
  margin-bottom: 36px;
}
.big3-selector-head h2 {
  font-size: 20px;
  font-weight: 800;
  margin: 4px 0 6px;
}
.big3-selector-head p {
  font-size: 13px;
  color: var(--muted);
  margin: 0 0 16px;
}
.big3-selector-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.big3-choice-card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 16px 18px;
  border-radius: 16px;
  background: #ffffff;
  border: 2px solid #cbd5e1;
  text-decoration: none;
  transition: transform 0.2s, box-shadow 0.2s;
}
.big3-choice-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
}
.big3-choice-card.is-chatgpt { border-color: #34d399; }
.big3-choice-card.is-claude { border-color: #fbbf24; }
.big3-choice-card.is-gemini { border-color: #60a5fa; }
.choice-q {
  font-size: 12.5px;
  font-weight: 700;
  color: var(--ink-soft);
  margin-bottom: 8px;
  line-height: 1.5;
}
.big3-choice-card strong {
  font-size: 15px;
  font-weight: 800;
  color: var(--ink);
  margin-bottom: 4px;
}
.big3-choice-card small {
  font-size: 11.5px;
  color: var(--muted);
  line-height: 1.45;
}

.big3-cards-section {
  margin-bottom: 44px;
}
.big3-cards-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}
.big3-card {
  background: #ffffff;
  border-radius: 22px;
  border: 2px solid var(--line-strong);
  padding: 22px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  box-shadow: var(--shadow-soft);
}
.big3-card.is-chatgpt { border-top: 6px solid #10a37f; }
.big3-card.is-claude { border-top: 6px solid #d97706; }
.big3-card.is-gemini { border-top: 6px solid #2563eb; }
.big3-card-ribbon {
  display: inline-block;
  align-self: flex-start;
  font-size: 11.5px;
  font-weight: 800;
  padding: 4px 11px;
  border-radius: 999px;
  margin-bottom: 12px;
}
.big3-card.is-chatgpt .big3-card-ribbon { background: #d1fae5; color: #065f46; }
.big3-card.is-claude .big3-card-ribbon { background: #fef3c7; color: #92400e; }
.big3-card.is-gemini .big3-card-ribbon { background: #dbeafe; color: #1e40af; }

.big3-card-head {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}
.big3-card-title h3 {
  font-size: 19px;
  font-weight: 900;
  margin: 0;
  color: var(--ink);
}
.big3-vendor {
  font-size: 11.5px;
  color: var(--muted);
  margin: 2px 0 0;
  line-height: 1.4;
}
.big3-catch {
  font-size: 13.5px;
  font-weight: 800;
  color: var(--ink);
  line-height: 1.55;
  margin: 6px 0 12px;
}
.big3-illust-box {
  margin-bottom: 14px;
}
.big3-illust-svg {
  width: 100%;
  height: auto;
  display: block;
}
.big3-persona-box {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  padding: 12px 14px;
  margin-bottom: 14px;
}
.big3-persona-box strong {
  display: block;
  font-size: 12.5px;
  font-weight: 800;
  color: var(--ink);
  margin-bottom: 6px;
}
.big3-persona-box ul {
  margin: 0;
  padding-left: 16px;
  font-size: 12px;
  line-height: 1.6;
  color: var(--ink-soft);
}
.big3-tier-compare {
  display: grid;
  gap: 8px;
  margin-bottom: 12px;
}
.big3-tier-item {
  padding: 10px 12px;
  border-radius: 12px;
  font-size: 12px;
  line-height: 1.55;
}
.big3-tier-item.is-free {
  background: #f0fdf4;
  border: 1px solid #bbf7d0;
}
.big3-tier-item.is-paid {
  background: #eff6ff;
  border: 1px solid #bfdbfe;
}
.big3-tier-tag {
  display: inline-block;
  font-size: 11px;
  font-weight: 800;
  margin-bottom: 3px;
}
.big3-tier-item.is-free .big3-tier-tag { color: #047857; }
.big3-tier-item.is-paid .big3-tier-tag { color: #1d4ed8; }
.big3-tier-item p {
  margin: 0;
  color: var(--ink-soft);
}
.big3-device-mini {
  display: grid;
  gap: 4px;
  font-size: 11.5px;
  color: var(--muted);
  background: #f8fafc;
  padding: 9px 11px;
  border-radius: 10px;
  margin-bottom: 14px;
}
.big3-card-actions {
  display: grid;
  gap: 8px;
  margin-bottom: 12px;
}
.big3-action-btn {
  width: 100%;
  font-size: 12.5px;
  padding: 10px 12px;
}
.big3-card-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 11px;
  color: var(--muted);
  border-top: 1px solid var(--line);
  padding-top: 10px;
}
.big3-card-foot a {
  font-weight: 800;
  color: #1d4ed8;
}

/* Visual Charts Section */
.big3-charts-section {
  margin-bottom: 44px;
}
.big3-visual-layout {
  display: grid;
  grid-template-columns: 370px minmax(0, 1fr);
  gap: 24px;
  align-items: start;
}
.big3-radar-panel {
  background: #ffffff;
  border: 1.5px solid var(--line-strong);
  border-radius: 22px;
  padding: 22px;
  box-shadow: var(--shadow-soft);
  position: sticky;
  top: 92px;
}
.big3-radar-panel h3 {
  font-size: 17px;
  font-weight: 800;
  margin: 0 0 10px;
  text-align: center;
}
.big3-radar-legend {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 12px;
  font-size: 12px;
  font-weight: 700;
}
.legend-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.legend-item i {
  width: 12px;
  height: 12px;
  border-radius: 3px;
  display: inline-block;
}
.legend-item.is-chatgpt i { background: #10a37f; }
.legend-item.is-claude i { background: #d97706; }
.legend-item.is-gemini i { background: #2563eb; }
.big3-radar-svg {
  width: 100%;
  height: auto;
  display: block;
}
.radar-caption {
  font-size: 11px;
  color: var(--muted);
  line-height: 1.55;
  margin: 10px 0 0;
}

.big3-bars-panel {
  display: grid;
  gap: 14px;
}
.big3-metric-card {
  background: #ffffff;
  border: 1.5px solid var(--line-strong);
  border-radius: 18px;
  padding: 18px 20px;
  box-shadow: var(--shadow-soft);
}
.big3-metric-head h4 {
  font-size: 15px;
  font-weight: 800;
  margin: 0 0 4px;
  color: var(--ink);
}
.big3-metric-head p {
  font-size: 12px;
  color: var(--muted);
  margin: 0 0 12px;
}
.big3-bars {
  display: grid;
  gap: 10px;
}
.big3-bar-row {
  display: grid;
  grid-template-columns: 128px minmax(80px, 1fr) 1.3fr;
  align-items: center;
  gap: 10px;
}
.big3-bar-label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12.5px;
}
.big3-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  flex-shrink: 0;
}
.big3-dot.is-chatgpt { background: #10a37f; }
.big3-dot.is-claude { background: #d97706; }
.big3-dot.is-gemini { background: #2563eb; }
.big3-bar-track {
  height: 12px;
  background: #f1f5f9;
  border-radius: 999px;
  overflow: hidden;
}
.big3-bar-fill {
  height: 100%;
  border-radius: 999px;
}
.big3-bar-fill.is-chatgpt { background: linear-gradient(90deg, #34d399, #10a37f); }
.big3-bar-fill.is-claude { background: linear-gradient(90deg, #fbbf24, #d97706); }
.big3-bar-fill.is-gemini { background: linear-gradient(90deg, #60a5fa, #2563eb); }
.big3-bar-note {
  font-size: 11.5px;
  font-weight: 700;
  color: var(--ink-soft);
}

.big3-table-section {
  background: #ffffff;
  border: 1.5px solid var(--line-strong);
  border-radius: 22px;
  padding: 24px 26px;
  box-shadow: var(--shadow-soft);
}
.big3-table-section h3 {
  font-size: 18px;
  font-weight: 800;
  margin: 0 0 14px;
}
.big3-compare-table th.th-chatgpt { color: #065f46; background: #ecfdf5; }
.big3-compare-table th.th-claude { color: #92400e; background: #fffbeb; }
.big3-compare-table th.th-gemini { color: #1e40af; background: #eff6ff; }

.mobile-break { display: none; }
main { overflow-x: clip; }

@keyframes ripple { to { transform: translate(-50%, -50%) scale(28); opacity: 0; } }
@keyframes loading-arrow { 50% { transform: translateX(5px); } }

@media (max-width: 1120px) {
  .big3-cards-grid,
  .big3-selector-grid,
  .big3-arch-diagram,
  .big3-visual-layout {
    grid-template-columns: 1fr;
  }
  .big3-radar-panel {
    position: static;
  }
  .big3-arch-arrow {
    padding: 6px 0;
  }
}

@media (max-width: 1024px) {
  .container { width: calc(100% - 48px); }
  .nav-shell { flex-wrap: wrap; padding: 12px 0; gap: 12px; }
  .page-tab-bar { order: 3; width: 100%; justify-content: space-between; overflow-x: auto; }
  .page-tab { flex: 1; justify-content: center; padding: 9px 10px; }
  .hero { grid-template-columns: 1fr; gap: 28px; padding-top: 36px; min-height: 0; }
  .tool-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tier-comparison-grid, .device-usage-grid { grid-template-columns: 1fr; }
  .calculator-layout { grid-template-columns: 1fr; }
  .calculator-summary { position: relative; top: auto; }
}

@media (max-width: 640px) {
  .container { width: calc(100% - 32px); }
  .page-tab-sub { display: none; }
  .page-tab { font-size: 11.5px; padding: 8px 6px; gap: 3px; }
  .page-tab-badge { font-size: 9.5px; padding: 1px 4px; }
  .big3-premise-hero { padding: 24px 20px; }
  .big3-architecture-box, .big3-selector-box, .big3-table-section { padding: 20px 18px; }
  .arch-sub-grid { grid-template-columns: 1fr; }
  .big3-bar-row { grid-template-columns: 1fr; gap: 4px; }
  .trust-strip { flex-direction: column; gap: 14px; align-items: flex-start; }
  .section-heading { display: block; }
  .section-intro { margin-top: 12px; }
  .recipe-grid, .tool-grid, .plan-group-grid, .tier-comparison-grid, .device-usage-grid { grid-template-columns: 1fr; }
  .tool-filters { flex-direction: column; }
  .tool-filters .select-wrap { width: 100%; }
  .next-page-banner { padding: 20px; }
  .next-page-actions { width: 100%; }
  .next-page-actions .button { width: 100%; }
  .mobile-break { display: initial; }
  .concierge-widget { right: 14px; bottom: 14px; }
  .concierge-fab-text small { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  :root { scroll-behavior: auto; }
  *, *:before, *:after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .button:hover, .recipe-card:hover, .tool-card:hover { transform: none; }
}

/* Blue Lab — typography, composition and motion */
:root{--ink:#152b50;--muted:#53657f;--green:#2766ec;--green-dark:#174ed2;--line:#dce5f3;--paper:#fafbff;--sage:#edf3ff;--shadow:0 22px 65px #284d8a12;scroll-padding-top:110px;background:var(--paper);color:var(--ink)}
body{background:var(--paper);letter-spacing:.015em}
.container{width:min(1180px,calc(100% - 72px))}
.site-header{background:#fffffff0;border-bottom:1px solid #e6edf7;position:sticky;top:0;z-index:30;backdrop-filter:blur(20px)}
.nav-shell{min-height:86px;gap:24px}
.brand{font-size:22px;letter-spacing:.025em}.brand-mark{transform:none;color:#326df5;background:#edf3ff;width:40px;height:40px;border-radius:13px}.brand-mark svg{width:25px!important;height:25px!important}.brand small{color:#6a7b92;font-size:9px}
.page-tab-bar{background:#f1f5fc;padding:5px;border:1px solid #e6edf8;border-radius:50px;display:flex;gap:3px;flex:0 1 auto;margin:0}
.page-tab{font:inherit;border:0;background:transparent;padding:10px 16px;border-radius:30px;color:#62718b;min-height:42px;min-width:0;display:block;text-align:center;box-shadow:none;transition:background .25s,color .25s,box-shadow .25s}
.page-tab .page-tab-num,.page-tab .page-tab-sub,.page-tab .page-tab-badge{display:none}.page-tab-label{font-size:12px;font-weight:650;white-space:nowrap}.page-tab.is-active{background:white;color:#205ce2;box-shadow:0 3px 12px #243f7510}.page-tab:hover{background:#fff9}
.button{font-size:13px;border-radius:50px;min-height:52px;padding:15px 24px;font-weight:650;gap:15px}
.button-primary,.button-dark{background:#2867ef;color:#fff;box-shadow:0 9px 22px #2867ef25}
.button-primary:hover,.button-dark:hover{background:#1953d4;box-shadow:0 13px 28px #2867ef35}
.button-outline{color:#2459b9;border-color:#c9d8f1;background:#fff9}.button-outline:hover{background:#eaf1ff}.button-small{min-height:42px;padding:11px 20px;font-size:11px}
:focus-visible{outline:3px solid #6090ff;outline-offset:4px}
.eyebrow{color:#4269a0;font-size:11px;letter-spacing:.09em}.status-dot{background:#3678ff;box-shadow:0 0 0 5px #3879ff0d}
#section-big3{padding-top:52px}
.big3-premise-hero{background:none;border:0;box-shadow:none;padding:0;margin:0;display:grid;grid-template-columns:1.17fr 1fr;gap:60px;align-items:center;position:relative;isolation:isolate}
.big3-premise-hero:before{content:"";position:absolute;inset:-100px -200px -30px;z-index:-1;background:radial-gradient(ellipse at 80% 48%,#e1edff 0,transparent 45%),radial-gradient(ellipse at 15% 15%,#f4f6ff,transparent 60%);pointer-events:none}
.big3-premise-badge{display:inline-flex;align-items:center;gap:12px;font-size:11px;font-weight:600;color:#45618c;background:transparent;padding:0;border:0;letter-spacing:.06em;margin-bottom:22px}
.big3-premise-hero h1{font-size:clamp(38px,4.15vw,56px);font-weight:750;line-height:1.52;letter-spacing:.025em;margin:0}
.big3-premise-hero h1 span{background:linear-gradient(100deg,#2764ed,#537beb 70%,#459dcd);background-clip:text;-webkit-background-clip:text;color:transparent}
.big3-premise-lead{font-size:14px;color:var(--muted);line-height:2.15;margin:23px 0 0;max-width:500px}
.big3-quick-nav{display:flex;gap:14px;flex-wrap:wrap;margin-top:29px}
.big3-quick-nav .quiet-link{font-size:12px;color:#4e6a92}
.hero-meta-line{display:flex;align-items:center;gap:19px;font-size:11px;color:#667b9b;margin-top:24px}
.hero-meta-line span{display:flex;align-items:center;gap:5px}.hero-meta-line svg{width:14px!important;height:14px!important;color:#4478db}
.lab-stats{display:flex;gap:25px;border-top:1px solid #dfe7f5;margin-top:30px;padding-top:21px;font-size:11px;color:#5c7398}.lab-stats strong{font-size:24px;line-height:1.4;margin-right:5px;color:#274e87;font-weight:650;letter-spacing:0}.lab-stats i{height:26px;width:1px;background:#dce5f2}
.mascot-stage{position:relative;min-height:470px;display:flex;flex-direction:column;align-items:center;justify-content:center;isolation:isolate;padding-bottom:20px}
.mascot-halo{position:absolute;inset:20px -35px 0;z-index:-2;border-radius:50%;background:radial-gradient(ellipse at 45% 45%,#e5f4ff,#dce8ff78 44%,transparent 71%)}
.mascot-orbit{position:absolute;width:340px;height:340px;border:1px solid #c9dbf0;border-radius:50%;transform:rotateX(59deg) rotate(-20deg);top:113px;z-index:-1}
.mascot-orbit:after{content:"";position:absolute;inset:-42px;border:1px solid #dce6f7;border-radius:50%}
.character-button{position:relative;display:block;width:270px;height:260px;padding:0;border:0;background:none;cursor:pointer;transform-style:preserve-3d;--look-x:0px;--look-y:0px}
.bot-shadow{position:absolute;width:160px;height:22px;border-radius:50%;left:55px;bottom:3px;background:#315fbd20;filter:blur(9px);animation:shadow-breathe 4.2s ease-in-out infinite}
.bot-body{position:absolute;left:47px;top:51px;width:178px;height:165px;border-radius:55px 55px 58px 58px;background:linear-gradient(145deg,#ecfaff 4%,#bedbff 28%,#6399fa 65%,#3471f0);box-shadow:inset 4px 6px 7px #ffffffb0,inset -7px -10px 13px #3461c238,0 23px 42px #4e7bdd28;transform:translate(var(--look-x),var(--look-y));animation:bot-float 4.2s ease-in-out infinite}
.bot-body:before{content:"";position:absolute;inset:11px;border:1px solid #ffffff70;border-radius:46px;pointer-events:none}
.bot-antenna{position:absolute;width:5px;height:24px;background:#6b9fe9;border-radius:4px;left:86px;top:-22px}
.bot-antenna:before{content:"";position:absolute;width:15px;height:15px;background:linear-gradient(120deg,#bfefff,#548cf1);border:2px solid #e3f2ff;border-radius:50%;top:-7px;left:-5px;box-shadow:0 0 22px #70b6ff70}
.bot-face{position:absolute;inset:37px 21px 26px;background:linear-gradient(145deg,#fff,#ecf6ff);border:1px solid #eef8ff;border-radius:39px;box-shadow:0 6px 14px #1d4e9a10}
.bot-eyes{position:absolute;display:flex;gap:29px;top:25px;left:29px;animation:bot-blink 5.8s infinite;transform-origin:center}
.bot-eye{position:relative;width:17px;height:24px;border-radius:10px;background:#2853a8;box-shadow:inset 2px 2px 4px #183b7c}
.bot-eye:after{content:"";position:absolute;width:5px;height:7px;border-radius:50%;top:3px;left:4px;background:#fff}
.bot-mouth{position:absolute;left:55px;top:56px;width:22px;height:11px;border:2px solid #3767bb;border-top:0;border-radius:0 0 18px 18px}
.bot-cheek{position:absolute;top:54px;width:17px;height:7px;border-radius:50%;background:#b4d4ff99;left:15px}.bot-cheek.right{left:auto;right:15px}
.bot-arm{position:absolute;width:27px;height:54px;border-radius:50%;background:linear-gradient(130deg,#d7edff,#71a3f5);top:83px;box-shadow:inset 3px 1px 4px #ffffff80}
.bot-arm.left{left:-20px;transform:rotate(23deg)}.bot-arm.right{right:-20px;transform-origin:top center;transform:rotate(-28deg);animation:bot-wave 7s ease-in-out infinite}
.bot-foot{position:absolute;bottom:-11px;width:46px;height:22px;border-radius:50%;background:linear-gradient(#9dc2ff,#6697e8);left:29px}.bot-foot.right{left:auto;right:29px}
.bot-emblem{position:absolute;font-size:10px;font-weight:800;letter-spacing:.06em;color:#eaf6ff;bottom:6px;left:79px}
.mascot-speech{max-width:290px;font-size:12px;line-height:1.8;background:#ffffffed;border:1px solid #dce8fa;border-radius:17px;padding:13px 21px;position:relative;box-shadow:0 8px 30px #3d65ac08;min-height:50px;text-align:center;margin-bottom:6px}
.mascot-speech:after{content:"";position:absolute;width:11px;height:11px;bottom:-6px;left:calc(50% - 6px);background:#fff;border:1px solid #dce8fa;border-top:0;border-left:0;transform:rotate(45deg)}
.mascot-caption{font-size:10px;color:#687d9c;margin-top:10px;display:flex;gap:5px;align-items:center}
.floating-chip{position:absolute;font-size:11px;padding:12px 17px;background:#ffffffc9;border:1px solid #fff;border-radius:15px;box-shadow:0 12px 27px #4465a010;backdrop-filter:blur(10px);display:flex;align-items:center;gap:8px;animation:chip-float 6s ease-in-out infinite}
.floating-chip span{display:grid;place-items:center;background:#edf3ff;width:27px;height:27px;border-radius:9px;color:#3e74d7}.floating-chip svg{width:16px!important;height:16px!important}
.chip-writing{top:139px;left:-18px;transform:rotate(-6deg);animation-delay:-2s}.chip-coding{top:183px;right:-12px;transform:rotate(5deg)}.chip-price{bottom:54px;left:7px;transform:rotate(-4deg);animation-delay:-4s}
.motion-toolbar{display:flex;justify-content:flex-end;margin:10px 0 26px}.motion-toggle{font-size:10px;min-height:38px;border:1px solid #dbe5f6;background:#ffffffa8;border-radius:30px;padding:8px 15px;color:#647b9f}
.character-button:hover .bot-body{filter:brightness(1.04)}.character-button:active{transform:scale(.97)}
[data-mood="happy"] .bot-body{animation:bot-celebrate .85s ease-in-out 2}
[data-mood="happy"] .bot-arm.right{animation:bot-wave .6s ease-in-out 3}
[data-mood="thinking"] .bot-mouth{height:7px;width:10px;left:60px;border:2px solid #3767bb;border-radius:50%}
[data-mood="thinking"] .bot-eyes{transform:translateX(4px);animation:none}
.lab-start-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid #dee7f5;border-radius:20px;background:#fff;padding:20px 26px;margin:18px 0 75px;gap:20px}
.lab-start-strip>div{display:flex;gap:15px;align-items:center}.lab-start-strip b{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#edf3ff;color:#4778cb;font-size:11px;flex-shrink:0}.lab-start-strip strong{font-size:12px;font-weight:650;display:block}.lab-start-strip small{font-size:10px;color:#617595;display:block}
.section-heading h2,.lab-section-head h2{font-size:30px;line-height:1.65;letter-spacing:.025em;font-weight:700}
.lab-section-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:28px}.lab-section-head p:not(.eyebrow){font-size:12px;line-height:2;color:#5e7190;max-width:380px}.lab-section-head .eyebrow{margin-bottom:10px}
.lab-comparison-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.lab-ai-card{border:1px solid #dae4f4;border-radius:26px;padding:29px;background:#fff;position:relative;overflow:hidden;min-width:0;transition:transform .25s,box-shadow .25s}
.lab-ai-card:hover{transform:translateY(-5px);box-shadow:0 18px 40px #355c9b12}.lab-ai-card:nth-child(2){background:linear-gradient(145deg,#f3f6ff,#fff);border-color:#cddaf7}
.lab-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.lab-card-number{font-size:12px;letter-spacing:.08em;color:#7b96bb}.lab-ai-card h3{font-size:23px;letter-spacing:0;margin-bottom:5px}.lab-vendor{font-size:10px;color:#667d9d}
.lab-card-summary{font-size:13px;line-height:1.9;margin:22px 0 17px;min-height:73px;color:#3f577b}
.lab-bullets{padding:0;list-style:none;min-height:95px}.lab-bullets li{font-size:11px;color:#5c7192;line-height:1.9;padding:6px 0;border-bottom:1px solid #edf1f8}.lab-bullets li:before{content:"✓";color:#4f85df;margin-right:8px}
.lab-plan{margin:22px 0;border-top:1px solid #e1e9f6;padding-top:19px}.lab-plan>small{display:block;color:#60789c;font-size:10px}.lab-plan strong{font-size:28px;font-weight:650;letter-spacing:-.015em}.lab-plan strong small{font-size:11px;color:#6b7e9a;margin-left:5px;font-weight:400}.lab-plan p{font-size:11px;color:#516d94;margin-top:4px}
.lab-ai-card .button{width:100%;padding:13px 16px;font-size:11px;min-height:46px}.lab-ai-card .source-meta{font-size:9px;margin-top:15px}
.lab-compare-section{padding-top:80px;scroll-margin-top:115px}.chart-controls{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:22px 0}.chart-controls>span{font-size:11px;color:#536d93}.chart-controls button{font-size:11px;padding:9px 17px;min-height:40px;border-radius:25px;background:#edf2fc;border:1px solid transparent;color:#536d93}.chart-controls button[aria-pressed=true]{background:#2d67eb;color:#fff;box-shadow:0 5px 12px #2d67eb20}
.lab-chart-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:25px;align-items:stretch}
.price-chart{background:linear-gradient(135deg,#eef4ff,#fbfdff);border:1px solid #dbe6f7;border-radius:25px;padding:30px;min-width:0}
.price-chart>h3{font-size:16px;margin-bottom:7px}.price-chart>p{font-size:11px;color:#60799d}.price-chart-rows{margin-top:28px}
.price-chart-row{margin-top:23px}.price-chart-label{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:12px;margin-bottom:9px}.price-chart-label strong{font-size:16px;letter-spacing:0;font-weight:650}
.price-track{height:12px;border-radius:20px;background:#dce8fb;overflow:hidden}.price-fill{height:100%;width:var(--bar-width);border-radius:20px;background:linear-gradient(90deg,#71acff,#336de8);transform-origin:left;transition:width .6s cubic-bezier(.22,.8,.3,1)}
.price-chart-row:nth-child(2) .price-fill{background:linear-gradient(90deg,#b0b6ff,#6878d8)}.price-chart-row:nth-child(3) .price-fill{background:linear-gradient(90deg,#7ad3ed,#369ccf)}
.chart-source{font-size:9px;line-height:1.9;color:#607b9f;margin-top:26px}.chart-source a{text-decoration:underline;text-underline-offset:3px}
.capability-panel{border:1px solid #dce6f4;border-radius:25px;padding:28px;background:#fff;min-width:0}.capability-panel h3{font-size:16px;margin-bottom:10px}.capability-panel>p{font-size:11px;line-height:1.9;color:#657c9e}
.feature-grid{display:grid;grid-template-columns:1.3fr repeat(3,.75fr);gap:0;font-size:10px;margin-top:20px}.feature-grid>div{border-bottom:1px solid #e9eff8;min-height:41px;display:flex;align-items:center;justify-content:center;padding:8px 3px}.feature-grid>div:nth-child(4n+1){justify-content:flex-start;font-size:11px}.feature-head{font-weight:650;color:#5b7498}.feature-state{color:#315d9e;font-size:15px}.feature-state.unknown{color:#8090aa;font-size:11px}
.lab-table{margin-top:28px;border:1px solid #dce6f4;background:#fff;border-radius:20px;padding:4px 20px}.lab-table summary{min-height:62px;display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:650}
.lab-table .stage-table{width:100%;min-width:680px;font-size:11px}.lab-table .stage-table th{font-size:11px}.lab-table .stage-table th:first-child{width:18%}.lab-table .stage-table td{font-size:11px}
.next-page-banner{background:#eff4ff;border:1px solid #dce6f7;border-radius:24px;padding:28px;margin-top:45px;display:flex;gap:28px;align-items:center;justify-content:space-between}.next-page-copy strong{font-size:17px;color:#294d84}.next-page-copy p{font-size:12px;color:#5c7499;line-height:1.9;max-width:530px;margin-top:7px}.next-page-actions{display:flex;gap:10px;flex-wrap:wrap}.next-page-actions .button{font-size:11px;padding:12px 18px;min-height:46px}
.funding-roadmap{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:26px 30px;margin-top:25px;border-radius:21px;background:#fff;border:1px dashed #c6d7ee}.funding-roadmap h3{font-size:16px}.funding-roadmap p{font-size:11px;color:#617697;line-height:1.9;margin-top:5px;max-width:700px}.funding-status{font-size:10px;background:#edf3ff;color:#506e9e;border-radius:20px;padding:6px 14px;white-space:nowrap}
.hero{gap:50px;padding-top:65px;min-height:740px}.hero h1{font-size:47px;color:#17365f}.hero h1 span{color:#3972e5}.hero:before{background:radial-gradient(ellipse at 77% 40%,#dfebff90,transparent 60%)}.hero-lead{font-size:13px;color:#587095}
.team-preview{margin-top:27px;border:1px solid #dce7f9;background:#ffffffc9;border-radius:22px;padding:21px}.preview-heading{display:flex;justify-content:space-between;gap:10px;font-size:11px;font-weight:650}.preview-interaction{font-size:9px;color:#6b83a6;font-weight:400}.preview-tabs{display:flex;gap:5px;margin:14px 0}.preview-tabs button{font-size:10px;background:#eef3fd;border-radius:20px;padding:8px 10px;min-height:35px;color:#57719b}.preview-tabs button[aria-pressed=true]{background:#3370ee;color:white}.workflow-nodes{display:flex;gap:16px}.workflow-node{flex:1;min-width:0;position:relative;background:#f5f8ff;border:1px solid #e4ebf8;border-radius:13px;padding:12px}.workflow-node:not(:last-child):after{content:"→";position:absolute;right:-14px;top:20px;color:#8fa8ce;font-size:12px}.workflow-node strong{display:block;font-size:11px;margin-top:5px}.workflow-node p{font-size:9px;color:#7084a3;line-height:1.7;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.node-order{float:right;font-size:9px;color:#839ac0}.preview-total{display:flex;align-items:center;justify-content:space-between;margin-top:14px;font-size:10px;color:#647c9e}.preview-total strong{font-size:19px;color:#2a589e;font-weight:650;letter-spacing:0}.preview-total small{font-size:9px;font-weight:400}.preview-disclaimer{font-size:9px;color:#788ba7;margin-top:4px}
.hero-index{font-size:10px;color:#6c83a3;margin-top:24px}.hero-index strong{color:#2a548c}.hero-index>a{margin-left:auto;color:#4a71ac;font-size:10px}
.hero-scene{padding:45px 0 0;position:relative}.blue-atmosphere{position:absolute;inset:-90px -30px -30px;pointer-events:none;z-index:-1}.blue-orb{position:absolute;border-radius:50%;background:radial-gradient(circle at 33% 28%,#fff,#cdeaff 30%,#7aa7fb 66%,#5b77e7);box-shadow:inset 0 0 35px #ffffff80,0 15px 70px #669dfa20;animation:orb-drift 9s ease-in-out infinite alternate}.orb-back{width:340px;height:340px;right:-35px;top:25px;opacity:.8}.orb-front{width:105px;height:105px;left:-25px;bottom:25px;opacity:.65;animation-delay:-4s}.orb-ring{position:absolute;width:420px;height:420px;border:1px solid #c2d8f8;border-radius:50%;right:-20px;top:15px;transform:rotateX(50deg) rotate(-25deg)}.ring-two{transform:rotateX(20deg) rotate(50deg);width:480px;height:480px;right:-40px;top:-10px;opacity:.5}.dot-grid{position:absolute;inset:0;background-image:radial-gradient(#6c9dde55 .8px,transparent 1px);background-size:18px 18px;mask-image:radial-gradient(ellipse at 70% 50%,black,transparent 65%)}.star{position:absolute;color:#7bb9fa;font-size:30px}.star-one{top:20px;left:20px}.star-two{right:0;bottom:10px;font-size:20px}.scene-kicker{color:#6687b4;font-size:10px;letter-spacing:.12em;margin:0 0 16px 23px;display:flex;align-items:center;gap:9px}.scene-kicker>span{width:6px;height:6px;border-radius:50%;background:#5a8feb}
.diagnosis-widget{background:#ffffffeb;border:1px solid #fff;border-radius:29px;padding:30px 32px;box-shadow:0 30px 75px #305b9d18;margin:0}.diagnosis-widget h2{font-size:23px;letter-spacing:.015em}.widget-caption{font-size:11px;color:#637b9e}.widget-top,.widget-note{color:#6180ab}.time-tag{background:#edf4ff;border-color:#dbe7fa;color:#5879ad}.field-label{font-size:12px}.field-label>span{color:#7e9cc8}.select-wrap select{background:#f8faff;border-color:#dce6f6;color:#385b8a}.select-wrap select:hover{border-color:#9dbbef}.select-wrap>span:not(.sr-only){color:#7496c5}.scene-bottom{display:flex;gap:12px;align-items:center;margin:20px 15px;color:#5377aa;font-size:11px}.scene-bottom small{display:block;color:#8195b4;font-size:9px;margin-top:2px}.scene-bottom-icon{background:#eaf2ff;border:1px solid #d8e7ff;display:grid;place-items:center;width:37px;height:37px;border-radius:12px}.scene-bottom-arrow{margin-left:auto;color:#8fa8cb}
.recipe-card,.tool-card{border-color:#dee7f5;background:#fff}.recipe-card:first-child{background:linear-gradient(140deg,#eaf2ff,#fbfdff);border-color:#c6d9fb}.recipe-number{color:#6388be}.category-label,.tag-chip{background:#edf3ff;color:#5377ad}.recipe-tools{gap:6px}.tool-chip{background:#f3f7ff;border-color:#dde8fa;color:#5b769f}.recipe-price strong{color:#264e8a}.tool-mark{background:#edf3ff;border-color:#dce8fb;color:#537cb5}.recipe-goal,.tool-excerpt{font-size:12px}.tool-card h3{font-size:16px}.tool-details>summary,.recipe-details>summary{color:#3768b5;font-size:12px}.tool-details p,.source-meta{color:#627999}.source-meta a,.step-item a,.footer-meta a{color:#3b68ac}.free-paid-compare{border-color:#dce6f5!important}.calculator-band{background:#f0f5ff}.calculator-band:before{background:radial-gradient(ellipse at 95% 80%,#e5efff,transparent 65%)}.calculator-summary{background:#203f76;color:#fff;border-color:#2d5087;box-shadow:0 22px 55px #1d3f7b20}.calculator-summary .summary-label,.calculator-summary .summary-period,.calculator-summary .summary-empty,.calculator-summary .calculator-note,.calculator-summary .reset-button,.calculator-summary .bundle-items small{color:#ccdaf1}.calculator-summary .summary-amount{color:#fff}.calculator-summary .cycle-toggle{background:#173564}.calculator-summary .cycle-toggle span{color:#d5e2fa}.calculator-summary .cycle-toggle input:checked+span{color:#315da3;background:#fff}.calculator-summary .summary-heading svg{color:#aac9fc}.calculator-summary .bundle-items li,.calculator-summary .calculator-note{border-color:#3a598c}.calculator-summary .remove-plan{background:#385b92;color:white}.calculator-summary .warn-box{background:#fff7e8;color:#795b2b;border-color:#efdfbc}.plan-group{border-color:#dce6f6}.plan-group[open]{border-color:#adc5f3}.plan-check-card:hover{background:#f5f8ff}.plan-check-card:has(input:checked){background:#eaf2ff;border-color:#c3d8fb}.cycle-toggle span{transition:background .25s,color .25s}.search-field{border-color:#dce6f5}.search-field:focus-within{border-color:#9dbcf2;box-shadow:0 0 0 3px #6e9af522}.plan-checkbox{border-color:#b1c7e6}.plan-checkbox:checked{background-color:#3674ee;border-color:#3674ee}.next-page-banner .button-outline{background:#fff}
.site-footer{background:#102a54;border-color:#102a54;color:#fff}.site-footer .brand{color:#fff}.site-footer .brand small,.footer-top>p,.footer-meta,.fine-print,.footer-bottom{color:#b0c3e1}.footer-bottom{border-color:#2a436a}.site-footer .brand-mark{color:#d2e5ff;background:#23477b}.footer-meta a{color:#d7e8ff}
.concierge-toggle{background:#2767ed!important;box-shadow:0 10px 30px #2e69d630!important}.concierge-panel{border-color:#dce6f8!important;border-radius:24px!important}.chat-bubble{font-size:12px!important;line-height:1.9!important}.chat-msg.is-bot .chat-bubble{background:#f1f6ff!important;color:#365a8d!important}.concierge-header{background:#eef4ff!important;color:#31598f!important}
.reveal-ready{opacity:1;transform:none}.motion-enabled .reveal-ready:not(.is-revealed){opacity:0;transform:translateY(22px)}.motion-enabled .reveal-ready{transition:opacity .65s ease,transform .65s cubic-bezier(.2,.7,.2,1);transition-delay:var(--reveal-delay,0ms)}
@keyframes bot-float{0%,100%{translate:0 0;rotate:-3deg}50%{translate:0 -13px;rotate:3deg}}
@keyframes bot-blink{0%,43%,47%,100%{scale:1 1}45%{scale:1 .08}}
@keyframes bot-wave{0%,60%,100%{rotate:0deg}65%,75%{rotate:-30deg}70%,80%{rotate:10deg}}
@keyframes bot-celebrate{0%,100%{translate:0 0;rotate:0deg}35%{translate:0 -24px;rotate:-7deg}65%{translate:0 -8px;rotate:7deg}}
@keyframes shadow-breathe{0%,100%{scale:1;opacity:.8}50%{scale:.78;opacity:.45}}
@keyframes chip-float{0%,100%{translate:0 0}50%{translate:0 -9px}}
@keyframes orb-drift{to{translate:8px -18px}}
html.motion-paused *,html.motion-paused *:before,html.motion-paused *:after{animation-play-state:paused!important;transition:none!important}
html.motion-paused .reveal-ready{opacity:1!important;transform:none!important}
@media(max-width:1100px){.container{width:calc(100% - 48px)}.nav-shell{gap:15px}.page-tab{padding:9px 11px}.page-tab-label{font-size:11px}.big3-premise-hero{gap:30px}.big3-premise-hero h1{font-size:43px}.chip-writing{left:0}.chip-coding{right:-10px}.lab-ai-card{padding:24px}.lab-chart-layout{grid-template-columns:1.1fr 1fr}.hero{gap:30px}.hero h1{font-size:37px}}
@media(max-width:850px){.nav-shell{flex-wrap:wrap;padding-top:17px;gap:15px}.site-header .brand{margin-right:auto}.site-header>.nav-shell>.button{order:1}.page-tab-bar{order:2;width:100%;justify-content:center;margin-bottom:12px;flex:none}.page-tab{flex:1}.big3-premise-hero{gap:20px;grid-template-columns:1.15fr 1fr}.big3-premise-hero h1{font-size:34px}.big3-premise-lead{font-size:12px}.big3-quick-nav .button{font-size:11px;padding:14px 20px}.hero-meta-line{font-size:9px;gap:12px}.mascot-stage{scale:.9;transform-origin:center;min-width:0}.floating-chip{font-size:10px;padding:10px 12px}.chip-writing{left:-15px}.chip-coding{right:-10px;top:225px}.lab-comparison-cards{gap:13px}.lab-ai-card{padding:20px}.lab-ai-card h3{font-size:20px}.lab-card-summary{font-size:12px}.lab-plan strong{font-size:24px}.lab-start-strip{padding:20px;gap:15px}.lab-start-strip small{font-size:9px}.lab-chart-layout{grid-template-columns:1fr}.next-page-banner{display:block}.next-page-actions{margin-top:18px}.hero{gap:20px}.hero h1{font-size:33px}.hero .hero-lead{font-size:12px}.preview-tabs{flex-wrap:wrap}}
@media(max-width:620px){:root{scroll-padding-top:135px}.container{width:calc(100% - 40px)}.nav-shell{padding-top:14px;gap:12px;min-height:0}.brand{font-size:20px}.brand small{font-size:8px}.brand-mark{width:35px;height:35px}.brand-mark svg{width:23px!important;height:23px!important}.button-small{min-height:37px;font-size:10px;padding:10px 15px}.page-tab-bar{padding:4px;gap:0;overflow:visible;border-radius:16px;margin-bottom:10px}.page-tab{padding:9px 4px;border-radius:12px}.page-tab-label{font-size:10px;letter-spacing:0;white-space:nowrap}
#section-big3{padding-top:36px}.big3-premise-hero{display:flex;flex-direction:column;gap:0;text-align:left}.big3-hero-copy{width:100%}.big3-premise-badge{font-size:9px;margin-bottom:18px;gap:9px}.big3-premise-hero h1{font-size:clamp(29px,8.2vw,40px);line-height:1.55;letter-spacing:.025em}.big3-premise-lead{font-size:12px;line-height:2.1;margin-top:18px}.big3-quick-nav{gap:12px;margin-top:24px;align-items:center}.big3-quick-nav .button{font-size:11px;padding:15px 20px;min-height:49px}.big3-quick-nav .quiet-link{font-size:10px}.hero-meta-line{font-size:9px;gap:13px;margin-top:19px}.lab-stats{margin-top:24px;padding-top:18px;font-size:10px;gap:20px}.lab-stats strong{font-size:22px}
.mascot-stage{scale:1;min-height:376px;width:100%;margin-top:29px;padding:0}.mascot-halo{inset:0 -10px}.character-button{width:245px;height:240px;scale:.9;margin-top:-5px}.mascot-speech{font-size:11px;padding:11px 19px;min-height:43px;max-width:260px}.mascot-orbit{width:275px;height:275px;top:112px}.floating-chip{font-size:9px;padding:9px 11px;gap:6px;border-radius:13px}.floating-chip span{width:23px;height:23px}.chip-writing{left:-3px;top:132px}.chip-coding{right:-2px;top:175px}.chip-price{bottom:30px;left:0}.mascot-caption{margin-top:-4px;font-size:9px}.motion-toolbar{margin:4px 0 20px}.motion-toggle{font-size:9px;min-height:35px}.lab-start-strip{grid-template-columns:1fr;padding:21px 23px;gap:17px;border-radius:19px;margin:14px 0 56px}.lab-start-strip b{width:31px;height:31px}.lab-start-strip strong{font-size:12px}.lab-start-strip small{font-size:10px}
.lab-section-head{display:block;margin-bottom:23px}.lab-section-head h2,.section-heading h2{font-size:25px}.lab-section-head .eyebrow{font-size:10px}.lab-section-head p:not(.eyebrow){font-size:11px;margin-top:14px;max-width:none}.lab-comparison-cards{grid-template-columns:1fr;gap:16px}.lab-ai-card{padding:25px}.lab-ai-card h3{font-size:23px}.lab-card-top{margin-bottom:16px}.lab-card-summary{min-height:0;font-size:13px;margin:18px 0 12px}.lab-bullets{min-height:0;margin:0}.lab-bullets li{font-size:11px}.lab-plan{margin:19px 0}.lab-plan strong{font-size:28px}.lab-compare-section{padding-top:58px;scroll-margin-top:150px}.chart-controls{gap:7px}.chart-controls>span{width:100%;font-size:10px}.chart-controls button{font-size:10px;padding:9px 13px}.price-chart,.capability-panel{padding:23px;border-radius:22px}.price-chart h3,.capability-panel h3{font-size:15px}.price-chart-label{font-size:11px}.price-chart-label strong{font-size:15px}.feature-grid{font-size:9px;grid-template-columns:1.3fr repeat(3,.8fr)}.feature-grid>div:nth-child(4n+1){font-size:10px}.lab-table{padding:0 15px}.lab-table summary{font-size:11px;gap:10px}.next-page-banner{padding:25px 22px;border-radius:21px;margin-top:30px}.next-page-copy strong{font-size:16px}.next-page-copy p{font-size:11px}.next-page-actions .button{font-size:10px;width:auto;min-height:44px}.funding-roadmap{display:block;padding:23px}.funding-roadmap h3{font-size:15px}.funding-roadmap p{font-size:11px}.funding-status{display:inline-block;margin-top:13px}
.hero{padding-top:40px;min-height:0}.hero h1{font-size:32px}.hero .hero-lead{font-size:12px}.team-preview{padding:18px;border-radius:20px}.preview-tabs{gap:5px}.preview-tabs button{font-size:9px;padding:7px 9px;min-height:33px}.preview-heading{font-size:10px}.preview-interaction{display:none}.workflow-nodes{gap:12px}.workflow-node{padding:10px 8px;border-radius:11px}.workflow-node:not(:last-child):after{right:-11px}.workflow-node strong{font-size:10px}.workflow-node p{font-size:9px}.hero-index{gap:12px;flex-wrap:wrap}.hero-index>a{font-size:9px;margin-left:0}.hero-scene{margin-top:32px;padding-right:0}.diagnosis-widget{padding:27px 24px}.diagnosis-widget h2{font-size:21px}.blue-atmosphere{inset:-40px -15px -10px}.orb-back{width:280px;height:280px}.orb-ring{width:330px;height:330px;right:0}.ring-two{width:370px;height:370px}.scene-kicker{font-size:9px;margin-left:15px}.scene-bottom{font-size:10px}.recipe-goal,.tool-excerpt{font-size:12px}.tool-filters{display:flex;flex-direction:column;gap:9px}.tool-filters .select-wrap{width:100%;margin:0}.tool-grid{grid-template-columns:1fr}.calculator-summary{border-radius:23px}.calculator-note{font-size:10px}.tool-card .tool-excerpt{font-size:12px}.source-meta{font-size:10px}.site-footer{padding-top:36px}}
@media(max-width:350px){.container{width:calc(100% - 32px)}.page-tab-label{font-size:9px}.big3-premise-hero h1{font-size:28px}.floating-chip{font-size:8px;padding:7px 9px}.floating-chip span{width:20px;height:20px}.mascot-stage{min-height:360px}.mascot-speech{font-size:10px;max-width:240px}.chip-coding{right:-5px}.lab-start-strip{padding:20px}.lab-section-head h2{font-size:23px}.feature-grid{font-size:8px}.feature-grid>div:nth-child(4n+1){font-size:9px}.hero h1{font-size:28px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.motion-enabled .reveal-ready{opacity:1!important;transform:none!important}.bot-body{translate:0 0!important;rotate:0deg!important}.price-fill{transform:none!important}}

.big3-premise-badge .status-dot{background:#397df4;box-shadow:0 0 0 4px #397df415}
.big3-quick-nav button.quiet-link{background:none;border:0;border-bottom:1px solid #a8c1ef;padding:8px 0;font:inherit;font-size:12px;min-height:44px}
.chip-price{bottom:72px}
.concierge-widget{right:22px!important;bottom:20px!important}
.concierge-fab{background:#fff!important;color:#315c98!important;border:1px solid #d6e4f9!important;padding:9px 17px 9px 10px!important;gap:9px!important;box-shadow:0 8px 28px #2e548f20!important;min-width:0!important;border-radius:50px!important}
.concierge-fab-text strong{font-size:11px!important;color:#315c98!important}.concierge-fab-text small{display:none!important}
.mini-guide-face{position:relative;background:linear-gradient(140deg,#eefaff,#96bbff)!important;border:1px solid #bcd7ff;width:35px!important;height:35px!important;border-radius:12px!important;display:block!important;animation:bot-float 4.2s ease-in-out infinite}
.mini-guide-face i{position:absolute;width:4px;height:7px;border-radius:3px;background:#325b9b;left:9px;top:11px}.mini-guide-face i:nth-child(2){left:20px}.mini-guide-face b{position:absolute;left:14px;top:21px;border:1px solid #325b9b;border-top:0;border-radius:0 0 5px 5px;width:7px;height:4px}
.concierge-widget[data-mood=happy] .mini-guide-face{animation:bot-celebrate .65s ease-in-out 2}
html.document-hidden *,html.document-hidden *:before,html.document-hidden *:after{animation-play-state:paused!important}
@media(max-width:620px){.concierge-widget{right:14px!important;bottom:14px!important}.concierge-fab{padding:8px 13px 8px 8px!important}.concierge-fab-text strong{font-size:10px!important}.mini-guide-face{width:30px!important;height:30px!important}.mini-guide-face i{top:9px;left:7px}.mini-guide-face i:nth-child(2){left:18px}.mini-guide-face b{top:19px;left:12px}.chip-price{bottom:53px}}

/* 案内キャラクターの説明と固定ボタンが重ならない配置。 */
.mascot-caption{position:absolute;bottom:12px;left:0;width:100%;justify-content:center;margin:0}
.motion-toolbar{justify-content:flex-start}

/* Illustration edition: crisp linework, editorial spacing, blue with a little lilac. */
:root{--ink:#202f50;--muted:#5c6a83;--paper:#fff;--line:#e2e7f1;--sage:#f5f7ff;--green:#416aeb;--green-dark:#2d51c7;background:#fff}
body{background:#fff;color:var(--ink)}.container{width:min(1180px,calc(100% - 72px))}
.site-header{background:#fffffff2;border-bottom:1px solid #e9edf5}.nav-shell{min-height:88px}.brand{font-size:21px;letter-spacing:.015em}.brand-mark{box-shadow:none;background:#eef2ff;border:1px solid #dce5ff;color:#446df0}.brand small{font-size:9px;color:#78839b}
.page-tab-bar{background:#f8f9fd;border-color:#e9edf5;padding:5px}.page-tab.is-active{color:#4165d6;background:#fff;box-shadow:0 2px 7px #293e6d08}.page-tab-label{font-size:12px;font-weight:600}
.button-primary,.button-dark{background:#416aeb;box-shadow:0 6px 17px #416aeb19}.button-primary:hover,.button-dark:hover{background:#2f55ca;box-shadow:0 9px 22px #416aeb28}.button{border-radius:17px;font-weight:650;letter-spacing:.02em}.button-small{border-radius:13px}.button-outline{border-color:#cfd8ee;color:#4764a1}.quiet-link{border-bottom-color:#c8d3e9!important;color:#637393!important}.button:hover svg{transform:translateX(4px)}
#section-big3{padding-top:59px;padding-bottom:85px}.big3-premise-hero{grid-template-columns:1.05fr 1fr;gap:55px;min-height:510px}.big3-premise-hero:before{inset:-59px -200px -40px;background:linear-gradient(135deg,#fff 20%,#fafbff 69%,#f4f5ff);border-bottom:1px solid #f0f2f8}
.big3-premise-badge{font-size:11px;letter-spacing:.05em;color:#737f98;margin-bottom:22px;line-height:1.8}.big3-premise-badge .status-dot{width:6px;height:6px;background:#7e85e9;box-shadow:none}
.big3-premise-hero h1{font-size:clamp(43px,4.4vw,61px);font-weight:750;line-height:1.48;letter-spacing:.035em;font-feature-settings:"palt"}
.big3-premise-hero h1 span{color:#4167de;background:none;position:relative;display:inline-block;z-index:0}
.big3-premise-hero h1 span:after{content:"";position:absolute;bottom:6px;left:0;right:0;height:12px;background:#e9e5ff;z-index:-1;border-radius:9px 4px 10px 3px;transform:rotate(-1deg)}
.big3-premise-lead{font-size:14px;line-height:2.15;color:#66728c;margin-top:23px;max-width:520px}
.big3-quick-nav{margin-top:28px;gap:24px;align-items:center}.big3-quick-nav .button{min-height:54px;padding:15px 24px;font-size:13px}.big3-quick-nav button.quiet-link{font-size:12px;font-weight:500}
.hero-meta-line{font-size:10px;color:#7b87a0;gap:22px;margin-top:19px}.hero-meta-line svg{color:#8a9dc6}
.lab-stats{border-top:0;margin-top:25px;padding-top:0;gap:24px;color:#7d879a;font-size:10px}.lab-stats strong{font-size:23px;font-weight:600;color:#4b5d80;margin-right:6px}.lab-stats i{height:20px;background:#e2e7f1}
.mascot-stage{min-height:490px;padding:15px 0 28px;isolation:isolate}
.mascot-halo{inset:45px -15px 25px;border-radius:42px;background:radial-gradient(#dce3f1 .85px,transparent .85px);background-size:22px 22px;mask-image:radial-gradient(ellipse,black 20%,transparent 73%);opacity:.72}
.mascot-orbit{display:none}
.character-button{width:300px;height:340px;margin:0;padding:0;scale:1;position:relative;transform:none}
.bot-body.illustrated-bot{left:0;top:0;display:block;width:300px;height:340px;border-radius:0;border:0;background:none;box-shadow:none;filter:none;animation:ink-float 5s ease-in-out infinite}
.bot-body.illustrated-bot:before{display:none}
.illustrated-bot>svg.ink-character{display:block;width:300px!important;height:340px!important;fill:none;stroke:none;overflow:visible}
.ink-eyes{transform-box:fill-box;transform-origin:center;animation:ink-blink 5.5s infinite}
.ink-arm-right{transform-origin:195px 207px;animation:ink-wave 7s ease-in-out infinite}
.character-button:hover .illustrated-bot{filter:none}.character-button:hover .ink-arm-right{animation:ink-wave .95s ease-in-out infinite}
[data-mood=happy] .bot-body.illustrated-bot{animation:ink-celebrate .8s ease-in-out 2}
[data-mood=happy] .ink-arm-right{animation:ink-wave .7s ease-in-out 2}
[data-mood=thinking] .ink-eyes{translate:3px 0}
.mascot-speech{position:relative;top:7px;border:1px solid #dce3f0;background:#fff;border-radius:18px 18px 18px 5px;box-shadow:4px 5px 0 #eef1fa;font-size:11px;color:#5d7093;line-height:1.9;padding:12px 18px;max-width:300px;min-height:45px;margin-bottom:0;z-index:2}
.mascot-speech:after{display:none}.mascot-caption{bottom:13px;font-size:9px;color:#8592ab;letter-spacing:.03em}
.floating-chip{border:1px solid #dce4f2;background:#ffffffed;border-radius:16px;padding:13px 14px;box-shadow:5px 6px 0 #edf1fb;backdrop-filter:none;width:145px;display:block;z-index:-1;animation:ink-panel-float 7s ease-in-out infinite}
.floating-chip .sketch-label{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;height:auto;background:none;border-radius:0;color:#6c7e9d;font-size:10px;font-weight:500}
.sketch-label b{font-weight:500;font-size:9px;color:#a7b1c7;letter-spacing:.03em}
.floating-chip svg.sketch-art{display:block;width:100%!important;height:40px!important;margin-top:11px;stroke-width:1.5}
.chip-writing{left:-8px;top:123px;transform:rotate(-6deg);animation-delay:-2s}
.chip-coding{right:-10px;top:190px;transform:rotate(5deg)}
.chip-price{left:5px;bottom:62px;transform:rotate(-4deg);animation-delay:-4s}
.motion-toolbar{margin:18px 0 32px;justify-content:flex-end}.motion-toggle{font-size:9px;border-color:#e3e8f2;color:#8b96ad;min-height:34px;background:white}
.lab-start-strip{border-radius:19px;background:#fff;border:1px solid #e4e9f2;padding:24px 28px;margin:10px 0 80px;gap:25px;box-shadow:0 6px 18px #25396503}.lab-start-strip>div:not(:last-child){border-right:1px solid #edf0f6}.lab-start-strip b{border-radius:11px;width:36px;height:36px;background:#f1f3ff;color:#7082c3;font-size:11px;box-shadow:none}.lab-start-strip strong{font-size:13px;font-weight:650;color:#435475}.lab-start-strip small{font-size:10px;color:#8893aa;margin-top:3px}
.lab-section-head{margin-bottom:30px}.lab-section-head h2{font-size:31px;letter-spacing:.035em;font-weight:700}.lab-section-head .eyebrow{font-size:10px;letter-spacing:.07em;color:#8a8fc3;background:none;border:0;padding:0;box-shadow:none}.lab-section-head p:not(.eyebrow){color:#8290aa;font-size:12px;line-height:2}
.lab-comparison-cards{gap:23px}.lab-ai-card{padding:29px 28px;border-color:#e0e7f1;border-radius:22px;background:white;box-shadow:none}.lab-ai-card:nth-child(2){background:#fbfaff;border-color:#e2ddf5}.lab-ai-card:nth-child(3){background:#fcfdff}.lab-ai-card:hover{transform:translateY(-5px);box-shadow:0 14px 32px #31466f0a;border-color:#c3d1ee}.lab-card-top{margin-bottom:25px}.lab-card-number{color:#b0bbd0;font-size:11px}.lab-ai-card h3{font-size:24px;font-weight:700;letter-spacing:-.025em}.lab-vendor{font-size:10px;color:#8c98af}.lab-card-summary{font-size:13px;font-weight:500;color:#576783;min-height:67px;margin-top:23px}.lab-bullets li{font-size:11px;color:#7c88a0;border-color:#edf0f6}.lab-bullets li:before{color:#9aabcf}.lab-plan{border-color:#e8ecf5}.lab-plan>small{color:#8b97ae}.lab-plan strong{color:#344e7c;font-size:29px;font-weight:600}.lab-plan p{font-size:10px;color:#8d9ab1}.lab-ai-card .button{border-radius:12px;border-color:#d6dff0;color:#5672aa;background:white;font-size:11px;font-weight:600}
.price-chart{border-color:#dee6f2;background:#f7f9ff;border-radius:22px}.capability-panel{border-radius:22px;border-color:#e1e7f1}.price-fill{background:linear-gradient(90deg,#a4baf8,#5779dd)}.price-chart-row:nth-child(2) .price-fill{background:linear-gradient(90deg,#d2c5f7,#a38cd8)}.price-chart-row:nth-child(3) .price-fill{background:linear-gradient(90deg,#a9cce9,#7aa9cf)}.price-track{height:10px;background:#e6edfa}.chart-controls button{border-radius:12px;color:#7b8cab;background:#edf1fa}.chart-controls button[aria-pressed=true]{background:#5377dc;box-shadow:none}
.feature-grid>div{border-color:#edf0f6}.feature-state{color:#7794ca}.lab-table{border-radius:17px;border-color:#e2e8f2}.chart-source{color:#8594ae}
.recipe-card,.tool-card{border-radius:21px;border-color:#e1e7f2;box-shadow:none}.recipe-card:first-child{background:#f7f9ff;border-color:#d7e2f8}.recipe-number{color:#8b9fca}.category-label,.tag-chip{background:#f1f4fc;color:#8194ba}.recipe-price strong{color:#4b659a}.recipe-goal,.tool-excerpt{color:#71809b}.tool-mark{box-shadow:none;border-color:#e1e7f5;background:#f8faff;border-radius:12px}.tool-chip{background:#f9fbff;border-color:#e3e9f5;border-radius:8px}.next-page-banner{background:#f4f6ff;border-color:#e0e5f3;border-radius:22px}.funding-roadmap{border-color:#dfe5f1;border-radius:20px}
.calculator-band{background:#f5f7fd}.calculator-band:before{background:none}.calculator-summary{background:#263d6b;border-color:#263d6b;border-radius:23px}.plan-group{border-radius:15px;box-shadow:none}.plan-group>summary{min-height:75px}.search-field{border-color:#e0e6f1;border-radius:12px;box-shadow:none}.select-wrap select{border-radius:12px;border-color:#e1e7f2;background:#fbfcff}.diagnosis-widget{box-shadow:8px 10px 0 #e9eefd88;border:1px solid #dce6f7;background:#fffffff5;border-radius:24px}.hero:before{background:#fafbff}.blue-atmosphere{opacity:.35}.blue-orb{box-shadow:none}.hero h1{letter-spacing:.035em;font-feature-settings:"palt"}.hero h1 span{color:#4f72d6}.site-footer{background:#1e3055;border-color:#1e3055}
.concierge-fab{box-shadow:3px 4px 0 #e5ebfa!important;border-color:#d5def0!important}.mini-guide-face{border:1.5px solid #324d80!important;background:#f5f8ff!important;box-shadow:inset 0 -7px 0 #b7ccfb!important;border-radius:10px!important}.concierge-fab-text strong{color:#667b9f!important;font-weight:600!important}
@keyframes ink-float{0%,100%{translate:0 0;rotate:-1.2deg}50%{translate:0 -10px;rotate:1.2deg}}
@keyframes ink-blink{0%,44%,48%,100%{scale:1 1}46%{scale:1 .08}}
@keyframes ink-wave{0%,58%,100%{rotate:0deg}65%,78%{rotate:-12deg}71%,85%{rotate:9deg}}
@keyframes ink-panel-float{0%,100%{translate:0 0}50%{translate:0 -6px}}
@keyframes ink-celebrate{0%,100%{translate:0 0;rotate:0deg}35%{translate:0 -18px;rotate:-4deg}70%{translate:0 -7px;rotate:4deg}}
@media(min-width:1450px){.big3-premise-hero{min-height:535px}}
@media(max-width:1100px){.container{width:calc(100% - 48px)}.big3-premise-hero{gap:30px;grid-template-columns:1.12fr 1fr}.big3-premise-hero h1{font-size:49px}.chip-writing{left:-10px}.chip-coding{right:-10px;width:130px}.chip-price{left:-8px;width:135px}.lab-ai-card{padding:25px}}
@media(max-width:850px){.nav-shell{min-height:0}.big3-premise-hero{grid-template-columns:1.1fr 1fr;gap:17px;min-height:495px}.big3-premise-hero h1{font-size:37px}.big3-premise-badge{font-size:9px}.big3-premise-lead{font-size:12px}.big3-quick-nav{gap:17px}.big3-quick-nav .button{font-size:11px;padding:14px 20px}.mascot-stage{scale:1;min-height:455px}.character-button{scale:.85;margin-top:15px;margin-bottom:0}.mascot-speech{font-size:10px;max-width:245px;padding:10px 14px}.floating-chip{width:112px;padding:10px}.floating-chip .sketch-label{font-size:9px}.floating-chip svg.sketch-art{height:33px!important;margin-top:8px}.chip-writing{left:-12px;top:132px}.chip-coding{right:-6px;top:223px}.chip-price{left:-9px;bottom:67px}.mascot-caption{font-size:8px;bottom:7px}.lab-stats{gap:15px}.lab-start-strip{padding:21px;gap:18px}.lab-start-strip strong{font-size:11px}.lab-start-strip small{font-size:9px}.lab-comparison-cards{gap:15px}.lab-ai-card{padding:21px}.lab-ai-card h3{font-size:22px}.lab-plan strong{font-size:26px}}
@media(max-width:620px){.container{width:calc(100% - 40px)}.brand{font-size:20px}.nav-shell{min-height:0}.page-tab-label{font-size:10px}.button-small{border-radius:12px}.big3-premise-hero{display:flex;gap:0;min-height:0}.big3-premise-hero:before{inset:-37px -20px -25px}.big3-premise-hero h1{font-size:clamp(35px,10vw,46px);line-height:1.48;letter-spacing:.04em}.big3-premise-hero h1 span:after{height:9px;bottom:4px}.big3-premise-badge{font-size:9px;margin-bottom:19px}.big3-premise-lead{font-size:12px;line-height:2.15;margin-top:23px}.big3-quick-nav{margin-top:25px;gap:20px}.big3-quick-nav .button{font-size:11px;min-height:51px;padding:14px 20px;border-radius:14px}.big3-quick-nav button.quiet-link{font-size:10px}.hero-meta-line{font-size:9px;gap:16px}.lab-stats{margin-top:23px;gap:20px}.lab-stats strong{font-size:22px}#section-big3{padding-top:37px;padding-bottom:60px}.mascot-stage{margin-top:27px;min-height:414px;width:100%;padding:7px 0 22px}.character-button{scale:.84;margin-top:0;margin-bottom:-20px}.mascot-speech{top:0;max-width:260px;font-size:10px;padding:10px 15px;min-height:42px}.mascot-caption{bottom:1px;font-size:8px}.floating-chip{width:114px;border-radius:13px;padding:10px;box-shadow:3px 4px 0 #edf1fa}.floating-chip .sketch-label{font-size:8px;gap:5px}.sketch-label b{font-size:8px}.floating-chip svg.sketch-art{height:32px!important;margin-top:8px}.chip-writing{left:-3px;top:119px}.chip-coding{right:-5px;top:198px}.chip-price{left:0;bottom:52px}.motion-toolbar{justify-content:flex-start;margin:18px 0 20px}.motion-toggle{font-size:8px;min-height:32px;padding:6px 12px}.lab-start-strip{grid-template-columns:1fr;gap:19px;padding:23px;border-radius:17px;margin:0 0 57px}.lab-start-strip>div:not(:last-child){border-right:0}.lab-start-strip b{width:33px;height:33px;font-size:10px;border-radius:10px}.lab-start-strip strong{font-size:12px}.lab-start-strip small{font-size:10px}.lab-section-head h2{font-size:26px}.lab-section-head p:not(.eyebrow){font-size:11px;color:#7e8ba6}.lab-comparison-cards{gap:16px}.lab-ai-card{padding:26px;border-radius:20px}.lab-ai-card h3{font-size:25px}.lab-card-summary{font-size:13px;min-height:0;margin:20px 0 15px}.lab-plan strong{font-size:29px}.lab-ai-card .button{font-size:11px}.price-chart,.capability-panel{border-radius:20px}.hero h1{font-size:33px}.recipe-card,.tool-card{border-radius:19px}.next-page-banner{border-radius:18px}.source-meta{font-size:9px}.big3-premise-hero .mascot-halo{inset:36px -10px 16px}}
@media(max-width:350px){.container{width:calc(100% - 32px)}.big3-premise-hero h1{font-size:33px}.big3-premise-badge{font-size:8px}.big3-premise-lead{font-size:11px}.hero-meta-line{font-size:8px}.mascot-stage{min-height:397px}.character-button{scale:.76;margin-bottom:-25px}.mascot-speech{font-size:9px;max-width:243px}.floating-chip{width:96px;padding:8px}.floating-chip .sketch-label{font-size:7px}.floating-chip svg.sketch-art{height:29px!important}.chip-writing{left:-2px;top:118px}.chip-coding{right:-2px;top:194px}.chip-price{left:0;bottom:48px}.page-tab-label{font-size:9px}.lab-section-head h2{font-size:23px}}
@media(prefers-reduced-motion:reduce){.bot-body.illustrated-bot,.ink-eyes,.ink-arm-right,.floating-chip{animation:none!important;translate:none!important;rotate:none!important;scale:1!important}}

/* 小さな注釈も白背景で読める濃さを確保する。 */
.hero-meta-line,.lab-stats,.lab-vendor,.lab-plan>small,.lab-plan p,.lab-bullets li,.lab-section-head p:not(.eyebrow),.lab-start-strip small,.mascot-caption,.motion-toggle,.chart-source,.lab-card-number,.lab-section-head .eyebrow{color:#68758c}
.floating-chip .sketch-label{color:#65728a}.sketch-label b{color:#7b86a1}.category-label,.tag-chip{color:#596e99}.source-meta{color:#68758c}

/* 古い文字グラデーション指定を解除し、強調見出しを確実に表示する。 */
.big3-premise-hero h1 span{-webkit-text-fill-color:#4167de;background-clip:border-box;-webkit-background-clip:border-box}
.big3-premise-hero:before{bottom:0}

@media(min-width:621px) and (max-width:850px){.chip-coding{top:95px;right:-3px}}

/* 診断を最初の画面の主役にする。 */
:root{--quiz-ink:#172747;--quiz-blue:#365fe8;--quiz-muted:#62708a}
body{color:var(--quiz-ink);background:#fafbff}
.container{width:min(1180px,calc(100% - 72px))}
.site-header{background:#ffffffed;border-bottom:1px solid #e6ebf6;backdrop-filter:blur(18px)}
.nav-shell{min-height:88px}.brand{font-size:22px;letter-spacing:-.04em}.brand small{font-size:10px;letter-spacing:.02em;color:#65728b}
.page-tab-bar{border:0;background:#f2f5fc;padding:5px;border-radius:15px;gap:3px}
.page-tab{border:0;border-radius:11px;padding:12px 18px;background:transparent;color:#596882;min-height:44px}
.page-tab-label{font-size:13px;font-weight:600}.page-tab.is-active{background:#fff;box-shadow:0 2px 7px #1b3a7610;color:#365fe8}
.nav-shell>.button-small{font-size:12px;background:#203456;border:0;color:white;min-height:44px;border-radius:13px;padding:12px 18px}
#page-view-diagnosis{background:radial-gradient(ellipse at 93% 12%,#e8edff80,transparent 45%),radial-gradient(ellipse at 3% 30%,#edf4ff90,transparent 40%)}
.quiz-home{padding-top:38px;padding-bottom:0}
.quiz-intro{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:0 9px 30px}
.quiz-kicker{display:flex;align-items:center;gap:9px;color:#4c6494;font-size:12px;font-weight:600;letter-spacing:.055em;margin-bottom:13px}
.quiz-kicker>span{width:7px;height:7px;background:#567be9;border-radius:50%;box-shadow:0 0 0 4px #e7edff}
.quiz-intro h1{font-size:48px;line-height:1.4;font-weight:750;letter-spacing:-.025em;color:var(--quiz-ink);margin:0;background:none}
.quiz-intro h1 span{color:var(--quiz-blue);background:none;-webkit-text-fill-color:var(--quiz-blue);background-clip:border-box;-webkit-background-clip:border-box}
.quiz-lead{font-size:14px;line-height:1.95;color:#566681;margin-top:16px;letter-spacing:.015em}
.quiz-lead .mobile-break{display:none}
.quiz-buddy{width:295px;flex:0 0 295px;align-self:flex-end;padding-bottom:2px}
.quiz-buddy .mascot-stage{display:grid;grid-template-columns:128px 1fr;grid-template-areas:"bot speech";min-height:145px;height:145px;width:100%;margin:0;padding:0;gap:0;scale:1}
.quiz-buddy .character-button{grid-area:bot;width:128px;height:145px;margin:0;scale:1;transform:none}
.quiz-buddy .bot-body.illustrated-bot{width:128px;height:145px;left:0;top:0}
.quiz-buddy svg.ink-character{width:128px!important;height:145px!important}
.quiz-buddy .mascot-speech{grid-area:speech;position:relative;top:0;max-width:162px;min-height:0;margin:0;padding:12px 14px;font-size:12px;line-height:1.8;text-align:left;border-color:#dbe3f5;border-radius:16px 16px 16px 4px;box-shadow:none;background:#fff}
.quiz-buddy .mascot-speech:after{display:none}
.quiz-buddy .mascot-halo,.quiz-buddy .mascot-orbit,.quiz-buddy .floating-chip,.quiz-buddy .mascot-caption{display:none}
.quiz-buddy .motion-toolbar{margin:0;justify-content:flex-end}.quiz-buddy .motion-toggle{font-size:10px;min-height:36px;background:none;border:0;color:#5f6e89;padding:5px 0 5px 12px}
.quiz-panel{position:relative;padding:27px 36px 23px;border:1px solid #d8e1f5;border-radius:30px;background:#fff;box-shadow:0 15px 55px #385ca410,0 3px 6px #2f55a604;scroll-margin-top:110px;isolation:isolate}
.quiz-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:40px}
.quiz-panel-top{grid-column:1;grid-row:1}.quiz-panel .quiz-progress{grid-column:2;grid-row:1;border:0;margin:0;padding:0;align-self:center}
.quiz-question-heading,.quiz-answer-group,.quiz-controls,.quiz-data-fields{grid-column:1/-1}
.quiz-panel .quiz-question-heading{border-top:1px solid #edf0f7;padding-top:20px;margin-top:23px}
.quiz-panel:before{content:"";position:absolute;top:-1px;left:36px;right:36px;height:3px;border-radius:0 0 5px 5px;background:linear-gradient(90deg,#456eea,#b3b9ff 70%,#e5ecff)}
.quiz-panel-top{display:flex;justify-content:space-between;align-items:center;gap:16px}
.quiz-wordmark{display:flex;align-items:center;gap:12px;font-size:24px;font-weight:750;letter-spacing:.015em;line-height:1.4}
.quiz-symbol{display:grid;place-items:center;width:46px;height:46px;background:#edf1ff;color:#4168df;border-radius:14px;flex-shrink:0}
.quiz-symbol svg{width:26px;height:26px}
.quiz-wordmark small{display:block;font-size:11px;color:#68758e;font-weight:400;letter-spacing:.02em;margin-top:3px}
.quiz-free-label{font-size:11px;font-weight:600;color:#5c7198;border:1px solid #dbe5f7;padding:6px 13px;border-radius:20px;background:#fafcff;white-space:nowrap}
.quiz-progress{display:flex;align-items:center;gap:13px;padding:18px 0 19px;margin-top:18px;border-top:1px solid #edf0f7;border-bottom:1px solid #edf0f7}
.quiz-progress button{display:flex;align-items:center;gap:9px;min-height:32px;padding:0 8px 0 0;background:none;border:0;font-size:12px;font-weight:600;color:#78849b}
.quiz-progress button>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#f0f3fa;color:#7182a2;font-size:11px;font-weight:650;font-variant-numeric:tabular-nums}
.quiz-progress button[aria-current]{color:#345edf}.quiz-progress button[aria-current]>span{color:white;background:#4169e3;box-shadow:0 0 0 4px #edf1ff}
.quiz-progress button.is-complete>span{background:#eaf0ff;color:#4265be}.quiz-progress button:disabled{opacity:.65;cursor:default}
.quiz-progress>i{width:68px;height:1px;background:#e4e9f5}
.quiz-question-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:23px 0 20px}
#quiz-question-count{font-size:10px;letter-spacing:.14em;font-weight:650;color:#7182a6;margin-bottom:7px;font-variant-numeric:tabular-nums}
#quiz-question-title{font-size:25px;line-height:1.55;letter-spacing:.015em;font-weight:700;color:var(--quiz-ink);margin:0;outline:0}
#quiz-question-title:focus-visible{outline:2px solid #9bb0ef;outline-offset:5px;border-radius:4px}
#quiz-step-hint{font-size:11px;color:#687791;padding-bottom:5px}
.quiz-answer-group{display:grid;gap:12px;min-height:210px;align-content:stretch}
.quiz-load-error{grid-column:1/-1;padding:28px;border:1px solid #dee5f3;background:#f7f9ff;border-radius:16px;font-size:14px;line-height:1.9;color:#4d6081}
.quiz-goals{grid-template-columns:repeat(4,minmax(0,1fr))}
.quiz-answer{position:relative;min-width:0;color:#273954;background:#fff;border:1px solid #dde4f2;border-radius:17px;text-align:left;transition:border-color .2s,background .2s,box-shadow .2s,transform .2s;cursor:pointer}
.quiz-answer:hover{background:#f7f9ff;border-color:#9cb3f3;box-shadow:0 5px 15px #4268b50b;transform:translateY(-2px)}
.quiz-answer:active{transform:translateY(0) scale(.985)}
.quiz-answer[aria-pressed=true]{border-color:#5d80ec;background:#f0f4ff;box-shadow:inset 0 0 0 1px #5d80ec}
.quiz-answer:focus-visible,.quiz-panel button:focus-visible{outline:3px solid #779afa;outline-offset:3px}
.purpose-answer{display:flex;align-items:center;gap:12px;min-height:99px;padding:17px 16px}
.answer-icon{width:38px;height:38px;flex-shrink:0;border-radius:12px;background:#edf2ff;color:#5374ce;display:grid;place-items:center}
.answer-icon svg{width:23px;height:23px}
.purpose-answer:nth-child(3n+2) .answer-icon{background:#f1eeff;color:#8871cc}.purpose-answer:nth-child(3n) .answer-icon{background:#ecf5ff;color:#4f88bc}
.answer-copy{display:block;min-width:0}.quiz-answer strong{display:block;font-size:15px;font-weight:650;line-height:1.55;letter-spacing:.005em}
.answer-note{display:block;font-size:11px;line-height:1.7;color:#687792;margin-top:4px}
.choice-indicator{position:absolute;right:9px;top:9px;width:16px;height:16px;border:1px solid #e3e8f4;border-radius:50%;color:transparent;display:grid;place-items:center;background:white}
.choice-indicator svg{width:11px;height:11px}.quiz-answer[aria-pressed=true] .choice-indicator{background:#486ce5;border-color:#486ce5;color:white}
.quiz-budgets{grid-template-columns:repeat(4,minmax(0,1fr))}
.budget-answer{padding:26px 22px;display:flex;flex-direction:column;justify-content:center;min-height:210px}
.answer-overline{font-size:12px;color:#667797;margin-bottom:18px}.budget-answer strong{font-size:29px;letter-spacing:-.025em;color:#25457e;font-weight:650;font-variant-numeric:tabular-nums;line-height:1.3}
.budget-answer strong small{display:block;font-size:11px;letter-spacing:.02em;font-weight:400;margin:6px 0 12px;color:#647391}.budget-answer strong.budget-undecided{font-size:18px;line-height:1.7;margin-bottom:21px;letter-spacing:0}
.quiz-devices{grid-template-columns:repeat(3,minmax(0,1fr))}.device-answer{padding:25px 20px;text-align:center;display:flex;align-items:center;justify-content:center;flex-direction:column;min-height:210px}
.device-pictogram{width:38px!important;height:38px!important;color:#5a79c9;margin-bottom:16px}.device-answer strong{font-size:17px}
.quiz-controls{display:flex;align-items:center;gap:20px;justify-content:space-between;margin-top:21px;min-height:48px}
.quiz-choice-help{display:flex;align-items:center;gap:7px;font-size:11px;color:#68768e}.quiz-choice-help svg{width:15px;height:15px;color:#7c93bc}
.quiz-back{font-size:12px;min-height:44px;background:none;border:0;color:#5d7096;padding:8px 0}
.quiz-panel .quiz-next,.quiz-panel .diagnose-button{width:240px;min-height:54px;padding:14px 24px;margin:0;border-radius:14px;background:#365fe8;border:1px solid #365fe8;color:#fff;font-size:15px;font-weight:600;box-shadow:0 7px 16px #365fe824;display:flex;align-items:center;justify-content:space-between;gap:16px}
.quiz-panel .quiz-next:hover,.quiz-panel .diagnose-button:hover{background:#254ed2;box-shadow:0 10px 21px #365fe82e;transform:translateY(-2px)}
.quiz-panel .button svg{width:21px;height:21px}.quiz-panel .diagnose-button:disabled{opacity:.65;cursor:wait}
.quiz-footnote{display:flex;justify-content:space-between;gap:16px;font-size:10px;line-height:1.8;color:#687994;margin:13px 12px 0}
.quiz-context{display:flex;align-items:center;justify-content:center;gap:22px;font-size:12px;color:#63718b;margin-top:29px;padding:20px 0;border-bottom:1px solid #e5eaf5}
.quiz-context strong{font-size:23px;font-weight:600;letter-spacing:-.02em;color:#3f5b93;margin-right:5px}.quiz-context>i{width:1px;height:20px;background:#d9e0ef}
.quiz-context>button{margin-left:25px;background:none;border:0;min-height:44px;font-size:12px;color:#536faf}.quiz-context>button>span{margin-left:15px;font-size:17px}
.quiz-examples{display:grid;grid-template-columns:.85fr 1.6fr;gap:45px;align-items:center;padding:65px 0 80px}
.quiz-examples-copy .eyebrow{font-size:11px;letter-spacing:.04em;color:#5b74ad;background:none;border:0;padding:0;box-shadow:none;margin-bottom:13px}
.quiz-examples-copy h2{font-size:25px;line-height:1.6;letter-spacing:.01em;color:#263c65}
.quiz-examples-copy>p:last-child{font-size:12px;color:#64748e;line-height:2;margin-top:14px}
.quiz-examples .team-preview{margin:0;background:#fff;border-color:#dce4f5;border-radius:23px;padding:23px}
.quiz-examples .preview-tabs{margin:0 0 18px;gap:7px;flex-wrap:wrap}.quiz-examples .preview-tabs button{font-size:11px;border-radius:10px;padding:9px 13px;min-height:39px;color:#526b9b}.quiz-examples .preview-tabs button[aria-pressed=true]{color:#fff;background:#4a6fdf}
.quiz-examples .workflow-node strong{font-size:12px}.quiz-examples .workflow-node p{font-size:10px}.quiz-examples .preview-total{font-size:11px}.quiz-examples .preview-disclaimer{font-size:10px;line-height:1.8}
#section-diagnosis{padding-top:25px;scroll-margin-top:115px}.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
.results-caption{font-size:13px;line-height:1.9}.recipe-card h3{font-size:21px;line-height:1.7}
.result-edit{display:inline-flex;align-items:center;min-height:44px;padding:8px 0;font-size:12px;color:#4e6ab0;margin-bottom:10px}.result-edit:hover{text-decoration:underline;text-underline-offset:4px}
.big3-premise-hero{display:block;min-height:0;padding-bottom:30px}.big3-premise-hero:before{display:none}.big3-premise-hero h1{font-size:40px}.big3-hero-copy{max-width:760px}.big3-premise-lead{font-size:14px}.big3-premise-hero .lab-stats{margin-top:24px}.lab-start-strip{margin-bottom:55px}
[hidden]{display:none!important}
@media(min-width:1500px){.quiz-home{padding-top:45px}.quiz-intro{padding-bottom:37px}.quiz-intro h1{font-size:52px}}
@media(max-width:1100px){.container{width:calc(100% - 48px)}.page-tab{padding:11px 13px}.quiz-intro h1{font-size:42px}.quiz-buddy{width:255px;flex-basis:255px}.quiz-buddy .mascot-stage{grid-template-columns:112px 1fr}.quiz-buddy .character-button{width:112px}.quiz-buddy .bot-body.illustrated-bot,.quiz-buddy svg.ink-character{width:112px!important}.quiz-panel{padding:26px}.purpose-answer{padding:15px 12px;gap:9px}.answer-icon{width:32px;height:32px;border-radius:10px}.answer-icon svg{width:20px;height:20px}.quiz-answer strong{font-size:13px}.answer-note{font-size:10px}.budget-answer{padding:21px 15px}.budget-answer strong{font-size:26px}.budget-answer strong.budget-undecided{font-size:16px}.quiz-examples{gap:30px}.quiz-examples-copy h2{font-size:22px}}
@media(max-width:850px){.nav-shell{min-height:107px;gap:14px}.page-tab-bar{order:3;width:100%;justify-content:space-between}.page-tab{flex:1;padding:8px 12px;min-height:40px}.page-tab-label{font-size:12px}.quiz-home{padding-top:30px}.quiz-intro h1{font-size:38px}.quiz-lead{font-size:12px;max-width:410px}.quiz-buddy{width:200px;flex-basis:200px}.quiz-buddy .mascot-stage{grid-template-columns:100px 1fr;height:132px;min-height:132px}.quiz-buddy .character-button{width:100px;height:132px}.quiz-buddy .bot-body.illustrated-bot,.quiz-buddy svg.ink-character{width:100px!important;height:132px!important}.quiz-buddy .mascot-speech{font-size:10px;padding:10px}.quiz-goals{grid-template-columns:repeat(2,minmax(0,1fr))}.purpose-answer{min-height:82px;padding:16px 20px;gap:13px}.quiz-answer strong{font-size:15px}.answer-note{font-size:11px}.answer-icon{width:38px;height:38px}.quiz-budgets{grid-template-columns:repeat(2,minmax(0,1fr))}.budget-answer{min-height:180px;padding:23px}.budget-answer strong{font-size:27px}.quiz-devices .quiz-answer strong{font-size:15px}#quiz-step-hint{font-size:10px}.quiz-examples{grid-template-columns:1fr;gap:22px;padding:45px 0 60px}.quiz-examples-copy>p:last-child{margin-top:8px}.quiz-examples-copy h2{font-size:25px}.quiz-footnote{font-size:10px;margin-left:5px;margin-right:5px}.quiz-context{gap:15px}.quiz-context>button{margin-left:5px}.recipe-grid{grid-template-columns:1fr}}
@media(max-width:620px){.container{width:calc(100% - 32px)}.nav-shell{min-height:119px;padding-top:12px;padding-bottom:10px;gap:12px}.brand{font-size:20px}.brand small{font-size:9px}.brand-mark{width:36px;height:36px;border-radius:11px}.nav-shell>.button-small{font-size:11px;padding:10px 13px;min-height:40px}.page-tab-bar{margin:0;padding:4px;gap:2px;border-radius:12px}.page-tab{padding:8px 6px;min-height:38px;border-radius:9px}.page-tab-label{font-size:11px}.quiz-home{padding-top:27px}.quiz-intro{display:block;padding:0 6px 22px;position:relative}.quiz-kicker{font-size:10px;letter-spacing:.03em;margin-bottom:13px;gap:8px}.quiz-kicker>span{width:5px;height:5px;box-shadow:0 0 0 3px #e7edff}.quiz-intro h1{font-size:clamp(30px,8.3vw,42px);line-height:1.5;letter-spacing:-.025em}.quiz-lead{font-size:12px;line-height:1.95;margin-top:12px}.quiz-lead .mobile-break{display:block}.quiz-buddy{width:auto;padding:0;margin-top:5px}.quiz-buddy .mascot-stage{display:none}.quiz-buddy .motion-toolbar{position:absolute;right:4px;top:-6px;margin:0}.quiz-buddy .motion-toggle{min-height:30px;font-size:9px;padding:4px 0 4px 10px}.quiz-panel{padding:21px 17px 15px;border-radius:23px;scroll-margin-top:140px;box-shadow:0 12px 30px #385ca40c}.quiz-panel:before{left:22px;right:22px}.quiz-wordmark{font-size:22px;gap:10px}.quiz-symbol{width:40px;height:40px;border-radius:12px}.quiz-symbol svg{width:23px;height:23px}.quiz-wordmark small{font-size:9px;margin-top:2px}.quiz-free-label{font-size:9px;padding:5px 9px}.quiz-progress{gap:9px;margin-top:17px;padding:14px 0}.quiz-progress button{font-size:11px;gap:6px;min-height:30px;padding:0}.quiz-progress button>span{width:24px;height:24px;font-size:9px}.quiz-progress>i{flex:1;width:auto;max-width:45px}.quiz-question-heading{display:block;margin:20px 0 16px}#quiz-question-count{font-size:9px;margin-bottom:6px}#quiz-question-title{font-size:21px;letter-spacing:0;line-height:1.55}#quiz-step-hint{display:block;margin-top:5px;padding:0;font-size:10px}.quiz-answer-group{gap:10px;min-height:0}.purpose-answer{display:flex;align-items:flex-start;flex-direction:column;gap:9px;padding:14px 13px;min-height:115px;border-radius:14px}.answer-icon{width:30px;height:30px;border-radius:9px}.answer-icon svg{width:19px;height:19px}.quiz-answer strong{font-size:13px;letter-spacing:-.02em;line-height:1.5}.answer-note{font-size:10px;margin-top:3px;line-height:1.6}.choice-indicator{width:14px;height:14px;right:10px;top:12px}.choice-indicator svg{width:10px;height:10px}.quiz-controls{margin-top:15px;gap:12px;min-height:43px;flex-wrap:wrap}.quiz-choice-help{font-size:10px;gap:5px}.quiz-choice-help svg{width:13px;height:13px}.budget-answer{min-height:176px;padding:19px 14px;border-radius:14px}.answer-overline{font-size:10px;margin-bottom:14px}.budget-answer strong{font-size:25px}.budget-answer strong small{font-size:10px}.budget-answer strong.budget-undecided{font-size:15px;margin-bottom:18px}.quiz-devices{grid-template-columns:1fr}.device-answer{min-height:87px;display:grid;grid-template-columns:42px 1fr;grid-template-rows:1fr 1fr;text-align:left;padding:17px 20px;column-gap:15px;row-gap:0;border-radius:14px}.device-pictogram{grid-column:1;grid-row:1/3;margin:0;width:32px!important;height:32px!important}.device-answer strong{grid-column:2;align-self:end}.device-answer .answer-note{grid-column:2;align-self:start}.quiz-back{font-size:11px;min-height:42px}.quiz-panel .quiz-next,.quiz-panel .diagnose-button{width:100%;min-height:54px;font-size:15px;border-radius:13px;order:-1}.quiz-footnote{display:block;font-size:9px;margin:13px 6px 0}.quiz-footnote>span{display:block}.quiz-context{flex-wrap:wrap;gap:13px;margin-top:20px;padding:17px 0 13px;font-size:10px}.quiz-context strong{font-size:20px}.quiz-context>button{flex-basis:100%;margin:0;min-height:38px;font-size:11px}.quiz-context>button>span{margin-left:8px}.quiz-examples{padding:38px 0 48px;gap:20px}.quiz-examples-copy .eyebrow{font-size:10px;margin-bottom:7px}.quiz-examples-copy h2{font-size:22px}.quiz-examples-copy>p:last-child{font-size:11px;line-height:1.9}.quiz-examples .team-preview{padding:17px;border-radius:19px}.quiz-examples .preview-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px}.quiz-examples .preview-tabs button{font-size:10px;padding:8px;min-height:38px}.quiz-examples .workflow-nodes{gap:14px}.quiz-examples .workflow-node{padding:10px;min-width:0}.quiz-examples .workflow-node strong{font-size:10px}.quiz-examples .workflow-node p{font-size:9px}.quiz-examples .preview-total{font-size:10px}.quiz-examples .preview-total strong{font-size:18px}.quiz-examples .preview-disclaimer{font-size:9px}.big3-premise-hero h1{font-size:33px}.big3-premise-lead{font-size:12px}#section-diagnosis{scroll-margin-top:145px}.recipe-card h3{font-size:20px}.results-caption{font-size:12px}.concierge-fab{padding:9px!important;min-width:0!important;border-radius:17px!important}.concierge-fab-text{display:none!important}.concierge-widget{right:14px!important;bottom:14px!important}}
@media(max-width:350px){.quiz-intro h1{font-size:28px}.quiz-panel{padding:19px 13px 13px}.quiz-wordmark{font-size:20px}.quiz-wordmark small{font-size:8px}.quiz-free-label{font-size:8px;padding:5px 7px}.purpose-answer{padding:13px 10px;min-height:112px}.quiz-answer strong{font-size:12px}.answer-note{font-size:9px}.quiz-kicker{font-size:9px}.quiz-buddy .motion-toggle{font-size:8px}#quiz-question-title{font-size:19px}}

/* 質問へすぐ手が届くように、案内の高さを抑える。 */
.quiz-home{padding-top:28px}.quiz-intro{padding-bottom:25px}.quiz-intro h1{font-size:44px;line-height:1.35}.quiz-kicker{margin-bottom:9px}.quiz-lead{margin-top:12px}
.quiz-panel .quiz-progress>i{width:36px}.quiz-panel .quiz-controls{min-height:30px;margin-top:16px}
@media(min-width:1500px){.quiz-home{padding-top:35px}.quiz-intro h1{font-size:48px}}
@media(max-width:1100px){.quiz-panel{column-gap:25px}.quiz-progress{gap:9px}.quiz-panel .quiz-progress>i{width:23px}.quiz-free-label{display:none}.quiz-intro h1{font-size:40px}}
@media(max-width:850px){.nav-shell{padding:12px 0 10px;min-height:0;gap:10px}.page-tab-bar{margin-bottom:0;padding:4px}.page-tab{line-height:1.4;padding:10px 12px}.quiz-home{padding-top:25px}.quiz-intro{padding-bottom:22px}.quiz-intro h1{font-size:36px}.quiz-panel{display:block;padding:25px}.quiz-free-label{display:inline-block}.quiz-panel .quiz-progress{margin-top:16px;padding:12px 0;border-top:1px solid #edf0f7;border-bottom:1px solid #edf0f7}.quiz-panel .quiz-progress>i{width:40px}.quiz-panel .quiz-question-heading{border:0;padding-top:0;margin-top:18px}.quiz-panel .quiz-controls{margin-top:15px}}
@media(max-width:620px){.nav-shell{padding:10px 0 9px;gap:9px}.page-tab{padding:9px 5px;min-height:36px}.nav-shell>.button-small{min-height:38px}.quiz-home{padding-top:23px}.quiz-intro{padding-bottom:19px}.quiz-intro h1{font-size:clamp(29px,8.1vw,39px);line-height:1.45}.quiz-kicker{margin-bottom:10px}.quiz-panel{padding:20px 17px 14px}.quiz-panel .quiz-progress{margin-top:13px;padding:10px 0}.quiz-panel .quiz-progress>i{width:auto}.quiz-panel .quiz-question-heading{margin-top:16px;margin-bottom:15px}.purpose-answer{min-height:104px;padding:12px;gap:7px}.quiz-panel .quiz-controls{min-height:30px}.quiz-buddy .motion-toolbar{top:-8px}.quiz-lead{font-size:11px}.quiz-choice-help{font-size:9px}}
@media(max-width:350px){.quiz-panel{padding:18px 13px 13px}.quiz-intro h1{font-size:27px}.quiz-free-label{font-size:8px}.purpose-answer{padding:12px 10px}}

/* 結果は概要から読み、必要な情報を開けるようにする。 */
.quiz-panel,#section-diagnosis{scroll-margin-top:20px}
#section-diagnosis .eyebrow{background:none;border:0;padding:0;border-radius:0;color:#5874b2;font-size:11px;box-shadow:none}
.recipe-card{padding:27px;border-color:#dae3f2;background:#fff}.recipe-card:first-child{background:#fff;border-color:#c7d6f9}
.recipe-card-top{margin-bottom:17px}.recipe-top-badges{gap:6px}.recipe-top-badges .device-badge{display:none}.recipe-number{font-size:13px;color:#7e94be}
.recipe-card h3{font-size:20px;line-height:1.65;letter-spacing:.01em;margin-bottom:12px}.recipe-goal{color:#62718b;font-size:12px;line-height:1.9}.recipe-tools{margin-top:19px;margin-bottom:18px}
.tool-chip-with-badge{background:#f8faff;border-color:#dfe6f6;border-radius:10px;padding:7px 9px;gap:7px}.tool-chip-name{font-size:12px}.recipe-tools .free-tier-badge{display:none}
.recipe-device-details{border-top:1px solid #e7ecf6;border-bottom:1px solid #e7ecf6;margin:19px 0}.recipe-device-details>summary,.tier-breakdown>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;list-style:none;min-height:47px;font-size:12px;color:#5a72a2;font-weight:500}
.recipe-device-details summary::-webkit-details-marker,.tier-breakdown summary::-webkit-details-marker{display:none}.recipe-device-details summary svg,.tier-breakdown summary svg{width:16px!important;height:16px!important;transition:rotate .2s}.recipe-device-details[open]>summary svg,.tier-breakdown[open]>summary svg{rotate:45deg}
.recipe-device-details .recipe-device-guide{margin:0 0 15px;padding:16px;border-radius:13px;background:#f8faff;border-color:#e0e8f8}.recipe-device-summary{font-size:12px;line-height:1.8}.device-badge{color:#5072b9!important;background:#f2f6ff!important;border-color:#dce6fa!important}
.tier-comparison-grid{gap:13px;margin-top:20px}.tier-box{border-radius:16px;padding:18px;box-shadow:none}.tier-box-free{background:#f7faff;border-color:#dce6f7}.tier-box-paid{background:#f5f5ff;border-color:#e0e0f6}
.tier-box-header{display:block}.tier-step-badge.is-free,.tier-step-badge.is-paid{font-size:11px;line-height:1.4;background:none;color:#5776b2;padding:0;border:0;border-radius:0}.tier-step-badge.is-paid{color:#7565b0}
.tier-price-pill,.tier-price-pill.is-paid-pill{margin-top:16px;background:none;padding:0;border:0;box-shadow:none;color:#294f91;display:flex;flex-wrap:wrap;align-items:baseline;justify-content:flex-start;gap:4px}
.tier-price-pill strong{font-size:27px;line-height:1.3;font-weight:650;letter-spacing:-.02em;color:#355a9b}.tier-price-pill small{font-size:10px;color:#647493}.tier-price-pill.is-paid-pill>small:first-child{flex-basis:100%;font-size:9px;color:#736e93;margin-bottom:2px}.tier-price-pill.is-paid-pill strong{color:#6659a4}
.tier-box-lead{font-size:10px;line-height:1.8;color:#647592;min-height:54px;margin-top:12px}.tier-breakdown{margin-top:12px;border-top:1px solid #e0e7f5}.tier-breakdown>summary{font-size:11px;line-height:1.7;min-height:46px}.tier-breakdown .tier-point-list{margin-top:8px}.tier-point-list{font-size:11px}.tier-point-list .tier-point-note{font-size:10px;line-height:1.9}
.tier-apply-btn.is-free-btn,.tier-apply-btn.is-paid-btn{font-size:11px;font-weight:500;line-height:1.7;min-height:46px;border-radius:10px;padding:10px 12px;border:1px solid #d6e1f8;color:#4d70b3;background:#fff;box-shadow:none;margin-top:9px}
.tier-apply-btn.is-paid-btn{border-color:#dcd8f2;color:#6c5caa}.tier-apply-btn:hover{filter:none;background:#edf2ff}.tier-apply-btn.is-paid-btn:hover{background:#eeebfb}
.free-tier-badge.is-free,.mini-free-tag{background:#f0f5ff!important;border-color:#dbe6fa!important;color:#5176b4!important}.preview-tier-row.is-free{background:#f5f9ff;border-color:#dce7f8;color:#4c6fa6}.preview-tier-row.is-free .preview-tier-price{color:#38649d}
.recipe-details>summary{font-size:12px;min-height:47px}.recipe-details{border-color:#e5eaf5;margin-top:18px}
@media(max-width:620px){.quiz-panel,#section-diagnosis{scroll-margin-top:20px}.recipe-card{padding:21px}.recipe-card h3{font-size:19px}.recipe-goal{font-size:11px}.tool-chip-name{font-size:11px}.tier-comparison-grid{grid-template-columns:1fr 1fr;gap:9px}.tier-box{padding:14px 12px}.tier-step-badge.is-free,.tier-step-badge.is-paid{font-size:10px}.tier-price-pill strong{font-size:23px}.tier-breakdown>summary{font-size:10px}.tier-apply-btn.is-free-btn,.tier-apply-btn.is-paid-btn{font-size:10px;padding:9px 7px}.tier-point-list .tier-point-head strong{font-size:11px}.tier-point-list .mini-free-tag,.tier-point-list .mini-paid-tag{font-size:8px}.tier-box-lead{font-size:9px;min-height:72px}}
@media(max-width:350px){.tier-comparison-grid{grid-template-columns:1fr}.tier-box-lead{min-height:0}.recipe-card{padding:18px}}
