:root{
  --bg:#f8fafc;
  --bg-soft:#eef4fb;
  --panel:#ffffff;
  --panel-soft:#f8fbff;
  --border:#d8e2f0;
  --border-strong:#bfd0e6;
  --text:#0f172a;
  --muted:#475569;
  --muted-soft:#64748b;
  --primary:#2563eb;
  --primary-strong:#1d4ed8;
  --primary-soft:#dbeafe;
  --success:#16a34a;
  --success-soft:#dcfce7;
  --shadow-sm:0 8px 24px rgba(15,23,42,.06);
  --shadow-md:0 18px 50px rgba(37,99,235,.10);
  --radius-xl:24px;
  --radius-lg:18px;
  --radius-md:14px;
}

*{box-sizing:border-box}
html,body{height:100%}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--text);
  font-family:"Noto Sans JP", "Yu Gothic", "Meiryo", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  background:
    radial-gradient(900px 380px at 0% 0%, rgba(59,130,246,.13), transparent 58%),
    radial-gradient(780px 340px at 100% 10%, rgba(99,102,241,.12), transparent 58%),
    linear-gradient(180deg, #f8fbff 0%, #f2f6fb 100%);
}

a{color:inherit}
img{max-width:100%;height:auto}
button,input,select,textarea{font:inherit}
code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
hr{border:none;border-top:1px solid var(--border);margin:18px 0}

.app{min-height:100%;display:flex;flex-direction:column}
.page{padding:24px 16px 42px}
.container{width:min(1280px,100%);margin:0 auto}

.topbar{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,.88);
  backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(191,208,230,.65);
}
.topbar__inner{
  width:min(1280px,100%);
  margin:0 auto;
  padding:14px 16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.brand{display:flex;align-items:center;gap:14px;min-width:0}
.brand__logo{
  width:154px;
  min-width:154px;
  height:52px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
}
.brand__logoimg{max-height:48px;width:auto;display:block}
.brand__text{min-width:0}
.brand__title{font-size:15px;font-weight:900;letter-spacing:.02em}
.brand__subtitle{font-size:12px;color:var(--muted-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.topbar__meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}

.btn,
button.btn,
a.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:46px;
  padding:12px 18px;
  border-radius:16px;
  border:1px solid var(--border-strong);
  background:#fff;
  color:var(--text);
  text-decoration:none;
  font-weight:800;
  line-height:1.2;
  cursor:pointer;
  box-shadow:var(--shadow-sm);
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
}
.btn:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(15,23,42,.12);border-color:#93c5fd}
.btn:active{transform:translateY(0)}
.btn.primary,
button.btn.primary,
a.btn.primary{
  background:linear-gradient(135deg, var(--primary) 0%, #4f46e5 100%);
  color:#fff;
  border-color:transparent;
  box-shadow:0 18px 40px rgba(37,99,235,.22);
}
.btn.secondary,
button.btn.secondary,
a.btn.secondary{
  background:#f8fbff;
  border-color:var(--border);
  color:#1e293b;
}
.btn--sm{min-height:40px;padding:9px 14px;border-radius:999px;font-size:13px}
.toplink .ico{width:16px;height:16px}

.pill{
  display:inline-flex;
  align-items:center;
  gap:9px;
  max-width:min(460px,65vw);
  padding:10px 14px;
  border-radius:999px;
  border:1px solid var(--border);
  background:rgba(255,255,255,.92);
  color:#1e293b;
  font-weight:700;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  box-shadow:var(--shadow-sm);
}
.pill__dot{
  width:9px;height:9px;border-radius:50%;
  background:linear-gradient(135deg,var(--primary),#4f46e5);
  box-shadow:0 0 0 4px rgba(37,99,235,.12);
  flex:0 0 auto;
}
.pill--muted{color:var(--muted)}

.pagehead{
  position:relative;
  overflow:hidden;
  margin-top:4px;
  padding:24px 26px;
  border-radius:28px;
  border:1px solid rgba(191,208,230,.55);
  background:
    radial-gradient(550px 220px at 10% 0%, rgba(59,130,246,.17), transparent 60%),
    radial-gradient(500px 220px at 90% 0%, rgba(99,102,241,.14), transparent 60%),
    linear-gradient(135deg, #0f172a 0%, #1e3a5f 45%, #1e293b 100%);
  color:#fff;
  box-shadow:0 24px 60px rgba(15,23,42,.20);
}
.pagehead::after{
  content:"";
  position:absolute;
  inset:auto -80px -90px auto;
  width:260px;height:260px;
  background:radial-gradient(circle at center, rgba(255,255,255,.18), transparent 68%);
  pointer-events:none;
}
.pagehead__eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 14px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
  color:#bfdbfe;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.14);
}
.pagehead__title{margin-top:14px;font-size:30px;line-height:1.25;font-weight:900;letter-spacing:.01em}
.pagehead__subtitle{margin-top:10px;color:rgba(255,255,255,.82);font-size:14px;line-height:1.7;max-width:920px}
.pagehead__meta{margin-top:18px;display:flex;gap:10px;flex-wrap:wrap}
.pagehead__chip{
  display:inline-flex;align-items:center;gap:8px;
  padding:9px 14px;border-radius:999px;
  background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.14);
  font-size:12px;font-weight:700;color:#e2e8f0;
}

.stepper{
  margin-top:16px;
  border-radius:24px;
  background:rgba(255,255,255,.86);
  border:1px solid rgba(191,208,230,.60);
  box-shadow:var(--shadow-sm);
  padding:14px;
}
.stepper__summary{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin-bottom:14px;
}
.stepper__summaryTitle{font-size:15px;font-weight:900;color:#0f172a}
.stepper__summarySub{font-size:12px;color:var(--muted-soft);margin-top:2px}
.stepper__summaryBadge{
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 12px;border-radius:999px;
  background:var(--primary-soft);color:var(--primary-strong);
  font-size:12px;font-weight:800;
}
.stepper__track{
  display:grid;
  grid-template-columns:repeat(10,minmax(0,1fr));
  gap:10px;
}
.step{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  text-align:center;
  gap:8px;
  padding:14px 10px 12px;
  text-decoration:none;
  border-radius:18px;
  border:1px solid var(--border);
  background:#fff;
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
  position:relative;
}
.step:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm);border-color:#93c5fd}
.step__iconwrap{
  width:42px;height:42px;border-radius:14px;
  display:flex;align-items:center;justify-content:center;
  background:#eff6ff;color:#2563eb;border:1px solid #dbeafe;
}
.step__meta{display:flex;align-items:center;gap:6px;justify-content:center;flex-wrap:wrap}
.step__num{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:24px;height:24px;padding:0 7px;border-radius:999px;
  background:#e2e8f0;color:#334155;font-size:12px;font-weight:900;
}
.step__label{font-size:12px;line-height:1.35;font-weight:800;color:#334155;word-break:keep-all}
.step__state{font-size:10px;font-weight:800;letter-spacing:.03em;color:#64748b}
.step--done{background:linear-gradient(180deg,#f0fdf4 0%, #ffffff 100%);border-color:#bbf7d0}
.step--done .step__iconwrap{background:var(--success);color:#fff;border-color:transparent}
.step--done .step__num{background:var(--success-soft);color:#166534}
.step--done .step__state{color:#15803d}
.step--active{
  background:linear-gradient(135deg,#2563eb 0%, #4f46e5 100%);
  border-color:transparent;
  box-shadow:0 18px 40px rgba(37,99,235,.24);
}
.step--active .step__iconwrap{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.18);color:#fff}
.step--active .step__num{background:rgba(255,255,255,.18);color:#fff}
.step--active .step__label,.step--active .step__state{color:#fff}
.step--todo{background:#fff}

.card{
  margin-top:16px;
  padding:22px;
  border-radius:24px;
  border:1px solid rgba(191,208,230,.62);
  background:rgba(255,255,255,.92);
  box-shadow:var(--shadow-sm);
}
.card + .card{margin-top:14px}
.card h2,.card h3{margin:0 0 10px;line-height:1.4}
.card h2{font-size:22px;font-weight:900;color:#0f172a}
.card h3{font-size:17px;font-weight:800;color:#0f172a}
.card p:last-child{margin-bottom:0}

.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}

label{display:block;margin:12px 0 7px;font-size:13px;font-weight:800;color:#0f172a}
input,select,textarea{
  width:100%;
  padding:13px 14px;
  border-radius:16px;
  border:1px solid var(--border-strong);
  background:#fff;
  color:var(--text);
  outline:none;
  transition:border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
textarea{min-height:112px;resize:vertical}
input::placeholder,textarea::placeholder{color:#94a3b8}
input:focus,select:focus,textarea:focus{border-color:#60a5fa;box-shadow:0 0 0 4px rgba(37,99,235,.12)}
input[type="checkbox"]{width:auto;min-height:auto;margin-right:8px;accent-color:var(--primary)}

.btnline,.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:14px}
.actions{justify-content:flex-end}

.muted{color:var(--muted);font-size:13px;line-height:1.7}
.small{color:var(--muted-soft);font-size:12px;line-height:1.6}

/* tables */
table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--border);border-radius:18px;overflow:hidden;background:#fff}
th,td{padding:12px 12px;border-bottom:1px solid var(--border);vertical-align:top}
th{background:#f8fbff;color:#334155;text-align:left;font-size:13px;font-weight:800}
tr:last-child td{border-bottom:none}
tr:hover td{background:#f8fbff}

canvas{max-width:100%}
pre{max-width:100%;overflow:auto}
.use-code-view{
  display:block;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:12px;line-height:1.6;
  padding:12px 14px;
  border-radius:16px;
  border:1px solid #dbeafe;
  background:#eff6ff;
  color:#1d4ed8;
}

.footer{margin-top:22px;padding:18px 4px 0;border-top:1px solid rgba(191,208,230,.75)}

.step__icon{
  width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;opacity:.95;
}
.step__icon .ico,
.toplink .ico{
  width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;
}
.brand__logoimg{display:block}
.step__num{font-variant-numeric:tabular-nums}
.use-set{position:relative}
.use-set[hidden]{display:none!important}
.add-set-wrap{display:flex;justify-content:flex-start;margin-top:12px}

.hero-card{
  position:relative;
  overflow:hidden;
  border-radius:28px;
  padding:32px;
  margin-top:16px;
  background:
    radial-gradient(600px 240px at 10% 0%, rgba(59,130,246,.18), transparent 60%),
    radial-gradient(540px 220px at 90% 10%, rgba(99,102,241,.16), transparent 60%),
    linear-gradient(135deg, #0f172a 0%, #1e3a5f 45%, #111827 100%);
  color:#fff;
  box-shadow:0 24px 60px rgba(15,23,42,.18);
}
.hero-card__badge{
  display:inline-flex;align-items:center;gap:8px;
  padding:9px 14px;border-radius:999px;
  background:rgba(59,130,246,.18);
  border:1px solid rgba(147,197,253,.28);
  color:#bfdbfe;font-size:12px;font-weight:800;
}
.hero-card__grid{display:grid;grid-template-columns:1.2fr .9fr;gap:22px;align-items:center}
.hero-card__title{margin:16px 0 10px;font-size:38px;line-height:1.25;font-weight:900}
.hero-card__lead{color:rgba(255,255,255,.84);font-size:15px;line-height:1.9;max-width:720px}
.hero-card__points{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.hero-card__point{
  display:inline-flex;align-items:center;gap:8px;
  padding:10px 14px;border-radius:999px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.14);
  font-size:12px;font-weight:800;color:#e2e8f0;
}
.hero-panel{
  border-radius:24px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.14);
  padding:22px;
  backdrop-filter:blur(8px);
}
.hero-panel h2{font-size:20px;margin:0 0 12px;color:#fff}
.hero-panel .muted{color:rgba(255,255,255,.72)}
.hero-panel label{color:#e2e8f0}
.hero-panel input{background:rgba(255,255,255,.95);border-color:rgba(255,255,255,.22)}
.hero-panel .btn.secondary{background:rgba(255,255,255,.16);color:#fff;border-color:rgba(255,255,255,.24)}

.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.project-item{
  display:flex;flex-direction:column;gap:14px;
  padding:18px;
  border-radius:22px;
  border:1px solid var(--border);
  background:linear-gradient(180deg,#fff 0%, #f8fbff 100%);
  box-shadow:var(--shadow-sm);
}
.project-item__top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.project-item__icon{
  width:46px;height:46px;border-radius:16px;
  display:flex;align-items:center;justify-content:center;
  background:var(--primary-soft);color:var(--primary-strong);font-weight:900;font-size:14px;
}
.project-item__name{font-size:18px;line-height:1.45;font-weight:900;color:#0f172a}
.project-item__addr{font-size:13px;color:var(--muted);line-height:1.7}
.project-item__meta{display:flex;flex-wrap:wrap;gap:8px}
.project-item__chip{
  display:inline-flex;align-items:center;gap:6px;
  padding:7px 10px;border-radius:999px;background:#eef6ff;color:#1d4ed8;font-size:11px;font-weight:800;border:1px solid #dbeafe;
}
.project-item__actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:auto}

.stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px}
.stat-card{
  padding:18px;border-radius:22px;background:rgba(255,255,255,.92);border:1px solid var(--border);box-shadow:var(--shadow-sm)
}
.stat-card__label{font-size:12px;font-weight:800;color:var(--muted-soft)}
.stat-card__value{margin-top:8px;font-size:28px;font-weight:900;color:#0f172a}
.stat-card__sub{margin-top:6px;font-size:12px;color:var(--muted)}

.info-banner{
  margin-top:16px;
  padding:14px 16px;
  border-radius:18px;
  background:#eef6ff;
  border:1px solid #dbeafe;
  color:#1e40af;
  font-size:13px;
  line-height:1.8;
}

@media (max-width:1180px){
  .stepper__track{grid-template-columns:repeat(5,minmax(0,1fr))}
  .project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:980px){
  .grid{grid-template-columns:1fr}
  .hero-card__grid{grid-template-columns:1fr}
  .stat-grid{grid-template-columns:1fr 1fr}
  .topbar__inner{align-items:flex-start;flex-direction:column}
  .topbar__meta{justify-content:flex-start}
  .pagehead__title{font-size:26px}
}
@media (max-width:760px){
  .page{padding:18px 12px 34px}
  .pagehead,.hero-card,.card{padding:18px}
  .hero-card__title{font-size:28px}
  .hero-panel{padding:16px}
  .stepper{padding:12px}
  .stepper__summary{align-items:flex-start;flex-direction:column}
  .stepper__track{
    display:flex;gap:10px;overflow-x:auto;overflow-y:hidden;padding-bottom:2px;
    scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;
  }
  .step{flex:0 0 120px;scroll-snap-align:start}
  .project-grid,.stat-grid{grid-template-columns:1fr}
  .project-item__actions .btn{flex:1 1 auto}
  .pill{max-width:100%}
  .brand__logo{width:136px;min-width:136px;height:46px}
}
@media (max-width:560px){
  .brand__subtitle{white-space:normal;overflow:visible;text-overflow:clip}
  .pagehead__title{font-size:22px}
  .btn,.btn--sm{width:100%}
  .btnline,.actions,.project-item__actions{flex-direction:column;align-items:stretch}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition:none!important}
}


.step-hero{
  position:relative;
  overflow:hidden;
  border-radius:28px;
  padding:24px;
  margin-top:16px;
  background:
    radial-gradient(520px 220px at 0% 0%, rgba(59,130,246,.16), transparent 60%),
    radial-gradient(520px 220px at 100% 0%, rgba(99,102,241,.14), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(247,250,255,.96) 100%);
  border:1px solid rgba(191,208,230,.82);
  box-shadow:var(--shadow-sm);
}
.step-hero__grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:18px;align-items:start}
.step-hero__eyebrow{font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#2563eb}
.step-hero__title{margin:8px 0 10px;font-size:30px;line-height:1.3;font-weight:900;color:#0f172a}
.step-hero__lead{margin:0;color:#475569;font-size:14px;line-height:1.9;max-width:760px}
.step-hero__chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.step-hero__chip{display:inline-flex;align-items:center;padding:9px 13px;border-radius:999px;background:#eff6ff;border:1px solid #dbeafe;color:#1d4ed8;font-size:12px;font-weight:800}
.step-hero__aside{display:flex;justify-content:flex-end}
.step-hero__stats{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.step-stat{padding:14px 15px;border-radius:20px;background:rgba(255,255,255,.86);border:1px solid #dbeafe;box-shadow:0 8px 20px rgba(37,99,235,.06)}
.step-stat__label{font-size:11px;font-weight:800;letter-spacing:.04em;color:#64748b;text-transform:uppercase}
.step-stat__value{margin-top:7px;font-size:18px;font-weight:900;color:#0f172a;line-height:1.5;word-break:break-word}
.step-hero__ghost{width:100%;padding:18px;border-radius:20px;background:linear-gradient(135deg,#eff6ff 0%, #eef2ff 100%);border:1px solid #dbeafe;color:#334155;font-size:13px;line-height:1.8;font-weight:700}

.section-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(300px,.88fr);gap:16px;align-items:start}
.stack{display:flex;flex-direction:column;gap:16px}
.info-card,.soft-card,.result-card,.canvas-shell,.metric-card,.json-card,.note-card{
  border-radius:22px;
  border:1px solid #dbeafe;
  background:linear-gradient(180deg,#ffffff 0%, #f8fbff 100%);
  box-shadow:0 8px 24px rgba(15,23,42,.04);
}
.info-card,.soft-card,.result-card,.json-card,.note-card{padding:18px}
.note-card{background:linear-gradient(180deg,#f8fbff 0%, #eef6ff 100%)}
.info-card h3,.soft-card h3,.result-card h3,.json-card h3,.note-card h3{margin:0 0 10px;font-size:16px;font-weight:900}
.info-card p,.soft-card p,.result-card p,.json-card p,.note-card p{margin:0}
.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field-grid--triple{grid-template-columns:repeat(3,1fr)}
.metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.metric-card{padding:16px}
.metric-card__label{font-size:12px;font-weight:800;color:#64748b}
.metric-card__value{margin-top:8px;font-size:22px;font-weight:900;color:#0f172a;line-height:1.4}
.metric-card__sub{margin-top:4px;font-size:12px;color:#64748b}
.status-box{margin:12px 0;padding:12px 14px;border-radius:16px;border:1px solid #dbeafe;background:#eff6ff;color:#1d4ed8;font-size:13px;font-weight:800}
.status-box ul{margin:0;padding-left:18px}
.status-box--success{border-color:#bbf7d0;background:#f0fdf4;color:#166534}
.status-box--warn{border-color:rgba(245,158,11,.28);background:rgba(255,251,235,.92);color:#92400e}
.status-box--error{border-color:rgba(239,68,68,.25);background:#fef2f2;color:#b91c1c}
.code-panel, .json-panel{
  margin-top:10px;
  padding:14px;
  border-radius:18px;
  border:1px solid #dbeafe;
  background:#f8fbff;
  overflow:auto;
}
.code-panel pre,.json-panel pre{margin:0;white-space:pre-wrap}
.canvas-shell{padding:16px;background:linear-gradient(180deg,#eff6ff 0%, #f8fbff 100%)}
.canvas-toolbar{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:10px;flex-wrap:wrap}
.kv-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}
.kv-item{padding:12px 14px;border-radius:16px;border:1px solid #dbeafe;background:#fff}
.kv-item__label{font-size:11px;font-weight:800;color:#64748b;text-transform:uppercase;letter-spacing:.04em}
.kv-item__value{margin-top:6px;font-size:15px;font-weight:900;color:#0f172a;line-height:1.5}
.clean-list{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.clean-list li{padding:12px 14px;border-radius:16px;border:1px solid #dbeafe;background:#fff;line-height:1.7}
.step-section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.step-section-title__text{font-size:18px;font-weight:900;color:#0f172a}
.step-section-title__sub{font-size:12px;color:#64748b}
.card .card{margin-top:14px;padding:18px;border-radius:20px;border-color:#dbeafe;background:linear-gradient(180deg,#ffffff 0%, #f8fbff 100%);box-shadow:none}
.card details{margin-top:14px;padding:12px 14px;border-radius:16px;border:1px solid #dbeafe;background:#f8fbff}
.card summary{cursor:pointer;font-weight:800;color:#334155}
.card ul{padding-left:20px}
.card li{margin:6px 0}
.error-text{color:#b91c1c;font-weight:800}

@media (max-width: 1080px){
  .step-hero__grid,.section-grid{grid-template-columns:1fr}
  .step-hero__aside{justify-content:stretch}
}
@media (max-width: 720px){
  .step-hero{padding:20px}
  .step-hero__title{font-size:24px}
  .step-hero__stats,.field-grid,.metric-grid,.kv-list{grid-template-columns:1fr}
}

.use-code-view--pill{display:inline-flex;align-items:center;min-height:44px;padding:10px 14px;border-radius:16px;border:1px solid #dbeafe;background:#eff6ff;color:#1d4ed8;font-size:13px;font-weight:900}


/* ===== Design density unification pass ===== */
:root{
  --container-max:1320px;
  --section-gap:20px;
  --card-pad:24px;
  --input-h:52px;
  --hero-pad:30px;
}

.container,
.topbar__inner{width:min(var(--container-max),100%)}
.page{padding:26px 18px 44px}
.page > .container{display:flex;flex-direction:column;gap:18px}
.footer{margin-top:26px;padding-top:20px}

.pagehead,
.hero-card,
.step-hero{
  border-radius:30px;
  padding:var(--hero-pad);
}
.pagehead__title,
.hero-card__title,
.step-hero__title{
  letter-spacing:.01em;
}
.pagehead__title{font-size:32px}
.hero-card__title{font-size:36px;line-height:1.22}
.step-hero__title{font-size:31px;line-height:1.28}
.pagehead__subtitle,
.hero-card__lead,
.step-hero__lead{font-size:14px;line-height:1.9;max-width:900px}
.hero-card__grid,
.step-hero__grid{gap:20px}
.hero-panel,
.step-hero__ghost,
.step-stat,
.stat-card{
  border-radius:24px;
}
.hero-panel,
.stat-card,
.metric-card,
.kv-item,
.clean-list li,
.info-card,
.soft-card,
.result-card,
.json-card,
.note-card,
.canvas-shell{
  box-shadow:0 10px 28px rgba(15,23,42,.05);
}

.stepper{
  margin-top:0;
  padding:16px;
  border-radius:26px;
}
.stepper__summary{margin-bottom:16px}
.stepper__summaryTitle{font-size:16px}
.step{padding:16px 10px 14px;border-radius:20px;min-height:122px}
.step__iconwrap{width:44px;height:44px;border-radius:15px}
.step__label{font-size:12px;line-height:1.45}
.step__state{font-size:11px}

.card,
.info-card,
.soft-card,
.result-card,
.json-card,
.note-card,
.canvas-shell{
  border-radius:26px;
}
.card{
  margin-top:0;
  padding:var(--card-pad);
}
.card + .card{margin-top:0}
.section-grid{gap:var(--section-gap)}
.stack{gap:var(--section-gap)}
.grid,
.field-grid,
.metric-grid,
.kv-list,
.project-grid,
.stat-grid{gap:18px}
.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}

.step-section-title{gap:14px;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid rgba(219,234,254,.9)}
.step-section-title__text{font-size:19px;line-height:1.4}
.step-section-title__sub{font-size:12px;line-height:1.7}

.card > form,
.hero-panel > form,
.soft-card > form,
.note-card > form{
  display:block;
}
.card > form + form,
.soft-card > form + form,
.note-card > form + form{
  margin-top:18px;
  padding-top:18px;
  border-top:1px solid rgba(219,234,254,.95);
}
.card form > .grid:first-of-type,
.card form > .field-grid:first-of-type,
.hero-panel form > .grid:first-of-type,
.hero-panel form > .field-grid:first-of-type{
  margin-top:4px;
}

label{
  margin:0 0 8px;
  font-size:13px;
  font-weight:900;
  color:#0f172a;
}
input,
select,
textarea{
  min-height:var(--input-h);
  padding:14px 16px;
  border-radius:18px;
  border:1px solid var(--border-strong);
  background:linear-gradient(180deg,#ffffff 0%, #fbfdff 100%);
}
select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#64748b 50%),linear-gradient(135deg,#64748b 50%,transparent 50%),linear-gradient(180deg,#ffffff 0%, #fbfdff 100%);background-position:calc(100% - 20px) calc(50% - 3px),calc(100% - 14px) calc(50% - 3px),0 0;background-size:6px 6px,6px 6px,100% 100%;background-repeat:no-repeat;padding-right:40px}
textarea{min-height:132px}
input:focus,select:focus,textarea:focus{border-color:#60a5fa;box-shadow:0 0 0 4px rgba(37,99,235,.12),0 10px 22px rgba(37,99,235,.08)}
input[type="file"]{padding:12px 14px;min-height:unset}
input[type="checkbox"],input[type="radio"]{min-height:auto;padding:0}

.btnline,.actions{margin-top:18px;gap:12px}
.btn,
button.btn,
a.btn{
  min-height:48px;
  padding:12px 20px;
  border-radius:18px;
}
.btn.secondary,
a.btn.secondary,button.btn.secondary{background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%)}
.btnline .btn,
.actions .btn{min-width:158px}

.status-box{margin:0 0 16px;padding:14px 16px;border-radius:18px;line-height:1.75}
.code-panel,.json-panel{margin-top:12px;border-radius:20px;padding:16px}
.canvas-toolbar{margin-bottom:12px}
.canvas-frame{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:18px;overflow:hidden}
.canvas-frame--padded{padding:4px}
.canvas-note{margin-top:10px}
.mt-14{margin-top:14px}
.mt-12{margin-top:12px}
.mb-12{margin-bottom:12px}
.full-top{margin-top:0!important}
.section-grid--top{align-items:start}
.project-item__head{display:flex;gap:12px;align-items:flex-start;min-width:0;flex:1}
.project-item__body{min-width:0;flex:1}
.stat-card__value--compact{font-size:18px;line-height:1.6}
.section-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}
.use-other-wrap{display:none}
.use-other-wrap.is-visible{display:block}

.card p,
.soft-card p,
.note-card p,
.info-card p,
.result-card p,
.json-card p{line-height:1.8}
.muted{font-size:13px;line-height:1.8}
.small{font-size:12px;line-height:1.7}

@media (max-width:980px){
  .pagehead,
  .hero-card,
  .step-hero{padding:24px}
  .pagehead__title{font-size:28px}
  .hero-card__title{font-size:31px}
  .step-hero__title{font-size:27px}
}
@media (max-width:760px){
  .page{padding:18px 12px 34px}
  .page > .container{gap:14px}
  .pagehead,
  .hero-card,
  .step-hero,
  .card{padding:18px}
  .btnline .btn,
  .actions .btn{min-width:0}
}

.volume-canvas{width:100%;height:360px;border-radius:12px;display:block}


/* ===== Top page refresh / copy cleanup ===== */
body.landing-page{
  background:#eef2f7;
}

.topbar--site{
  position:sticky;
  top:0;
  z-index:60;
  background:linear-gradient(180deg, rgba(8,22,53,.96) 0%, rgba(10,28,63,.94) 100%);
  border-bottom:1px solid rgba(148,163,184,.18);
  backdrop-filter:blur(14px);
}
.topbar--site .topbar__inner{
  padding:12px 18px;
  gap:18px;
}
.brand--link{
  text-decoration:none;
  min-width:0;
}
.brand__mark{
  width:32px;
  height:32px;
  border-radius:10px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg,#60a5fa 0%, #2563eb 100%);
  color:#fff;
  font-size:15px;
  font-weight:900;
  box-shadow:0 10px 24px rgba(37,99,235,.30);
  flex:0 0 auto;
}
.brand__mark--sm{width:28px;height:28px;font-size:13px;border-radius:9px}
.brand__text{display:flex;flex-direction:column;gap:2px;min-width:0}
.brand__title{font-size:18px;font-weight:900;color:#fff;line-height:1.1}
.brand__subtitle{font-size:11px;color:rgba(255,255,255,.74);line-height:1.2}
.topbar__nav{display:flex;align-items:center;gap:18px;flex:1;justify-content:center}
.topbar__nav a{
  color:rgba(255,255,255,.78);
  text-decoration:none;
  font-size:13px;
  font-weight:700;
}
.topbar__nav a:hover{color:#fff}
.topbar__actions,.topbar__meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.plan-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  color:#fff;
  font-size:11px;
  font-weight:800;
  border:1px solid rgba(255,255,255,.14);
}
.btn.ghost,
a.btn.ghost,
button.btn.ghost{
  background:rgba(255,255,255,.06);
  color:#fff;
  border-color:rgba(255,255,255,.12);
  box-shadow:none;
}
.btn.ghost:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.2)}
.topbar--site .pill{
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.12);
  color:#fff;
  box-shadow:none;
}
.topbar--site .pill--muted{color:rgba(255,255,255,.74)}
.page--landing{padding-top:0}
.page--landing > .container{gap:28px;width:min(1420px,100%)}

.pagehead{
  margin-top:4px;
  background:linear-gradient(135deg,#0f172a 0%, #163254 100%);
}
.pagehead__subtitle{max-width:760px}

.landing-hero{
  margin:0 -18px;
  padding:42px 18px 46px;
  background:
    radial-gradient(860px 320px at 50% -10%, rgba(59,130,246,.26), transparent 58%),
    linear-gradient(180deg,#0a1635 0%, #10284f 46%, #132646 100%);
  color:#fff;
}
.landing-hero__inner{
  width:min(1100px,100%);
  margin:0 auto;
  text-align:center;
}
.landing-hero__badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 16px;
  border-radius:999px;
  background:rgba(59,130,246,.16);
  border:1px solid rgba(147,197,253,.28);
  color:#bfdbfe;
  font-size:12px;
  font-weight:800;
}
.landing-hero__title{
  margin:18px 0 14px;
  font-size:58px;
  line-height:1.15;
  font-weight:900;
  letter-spacing:.01em;
}
.landing-hero__title span{
  background:linear-gradient(180deg,#7dd3fc 0%, #60a5fa 45%, #3b82f6 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.landing-hero__lead{
  width:min(860px,100%);
  margin:0 auto;
  color:rgba(255,255,255,.82);
  font-size:15px;
  line-height:1.9;
}
.landing-hero__stats,
.landing-hero__roles{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px;
  margin-top:20px;
}
.landing-pill,
.role-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:0 14px;
  border-radius:999px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.14);
  color:#e2e8f0;
  font-size:12px;
  font-weight:800;
}
.landing-search{
  width:min(760px,100%);
  margin:22px auto 0;
  padding:20px;
  border-radius:18px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.16);
  backdrop-filter:blur(10px);
  text-align:left;
  box-shadow:0 24px 60px rgba(2,6,23,.24);
}
.landing-search__head{margin-bottom:14px}
.landing-search__title{font-size:22px;font-weight:900;color:#fff}
.landing-search__sub{margin-top:6px;color:rgba(255,255,255,.72);font-size:13px;line-height:1.7}
.landing-search__body{display:grid;grid-template-columns:minmax(0,1fr) 170px;gap:12px;align-items:center}
.landing-search__body input{
  min-height:56px;
  background:rgba(255,255,255,.94);
  border-color:rgba(255,255,255,.24);
  border-radius:14px;
}
.landing-search__btn{min-height:56px;border-radius:14px;font-size:16px}
.landing-search__foot{margin-top:10px;color:rgba(255,255,255,.70);font-size:12px;line-height:1.7}

.landing-section{display:flex;flex-direction:column;gap:22px}
.landing-section--tight{margin-top:4px}
.landing-section__header{display:flex;flex-direction:column;gap:8px}
.landing-section__header--center{text-align:center;align-items:center}
.landing-section__header h2{margin:0;font-size:40px;line-height:1.2;font-weight:900;color:#0f172a}
.landing-section__header p{margin:0;color:#475569;font-size:14px;line-height:1.8;max-width:760px}
.section-mini-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:0 14px;
  border-radius:999px;
  background:#dbeafe;
  color:#1d4ed8;
  font-size:12px;
  font-weight:800;
}
.section-mini-badge--dark{background:#dbeafe;color:#1d4ed8}
.card-shell{
  padding:24px;
  border-radius:22px;
  background:#fff;
  border:1px solid rgba(203,213,225,.9);
  box-shadow:0 18px 40px rgba(15,23,42,.06);
}
.audience-compare__header{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:18px}
.audience-compare__title{font-size:18px;font-weight:900;color:#0f172a}
.audience-compare__note{font-size:12px;color:#64748b}
.audience-compare__grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.audience-compare__pane{
  position:relative;
  border-radius:20px;
  border:1px solid rgba(226,232,240,.92);
  padding:20px;
  background:#fff;
}
.audience-compare__pane--warm{box-shadow:inset 0 0 0 1px rgba(248,113,113,.18)}
.audience-compare__pane--cool{box-shadow:inset 0 0 0 1px rgba(59,130,246,.18)}
.audience-compare__tag{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  background:#fee2e2;
  color:#b91c1c;
  font-size:11px;
  font-weight:800;
}
.audience-compare__pane--cool .audience-compare__tag{background:#dbeafe;color:#1d4ed8}
.audience-compare__pane h3{margin:12px 0 8px;font-size:17px;font-weight:900;color:#0f172a}
.audience-compare__pane p{margin:10px 0 0;color:#475569;line-height:1.8;font-size:13px}
.audience-icons{display:flex;flex-wrap:wrap;gap:8px}
.audience-icons span{display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border-radius:999px;background:#f8fafc;border:1px solid #e2e8f0;font-size:12px;font-weight:700;color:#334155}
.audience-compare__cta{margin-top:18px;display:flex;flex-direction:column;align-items:center;gap:10px}
.audience-compare__cta-note{font-size:12px;color:#64748b;text-align:center}

.audience-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.audience-card{
  padding:22px;
  border-radius:22px;
  border:1px solid rgba(203,213,225,.9);
  background:#fff;
  box-shadow:0 16px 36px rgba(15,23,42,.05);
  display:flex;
  flex-direction:column;
  gap:14px;
}
.audience-card__top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.audience-card__top h3{margin:0;font-size:24px;font-weight:900;color:#0f172a}
.audience-card__badge{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;font-size:11px;font-weight:800}
.audience-card p{margin:0;color:#475569;line-height:1.8;font-size:13px}
.audience-card ul{margin:0;padding-left:18px;color:#334155;font-size:13px;line-height:1.8}
.audience-card li{margin:0 0 4px}
.audience-card__metrics{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.audience-card__metrics span{
  display:flex;align-items:center;justify-content:center;
  min-height:56px;border-radius:16px;background:#f8fafc;border:1px solid #e2e8f0;
  font-weight:900;color:#0f172a
}
.audience-card__btn{margin-top:auto;width:100%}
.audience-card--owner{background:linear-gradient(180deg,#f0fdf4 0%, #ffffff 100%);border-color:#bbf7d0}
.audience-card--owner .audience-card__badge{background:#dcfce7;color:#166534}
.audience-card--owner .audience-card__btn{background:#16a34a;color:#fff;border-color:#16a34a}
.audience-card--maker{background:linear-gradient(180deg,#fffbeb 0%, #ffffff 100%);border-color:#fde68a}
.audience-card--maker .audience-card__badge{background:#fef3c7;color:#b45309}
.audience-card--maker .audience-card__btn{background:#d97706;color:#fff;border-color:#d97706}
.audience-card--developer{background:linear-gradient(180deg,#eff6ff 0%, #ffffff 100%);border-color:#bfdbfe}
.audience-card--developer .audience-card__badge{background:#dbeafe;color:#1d4ed8}
.audience-card--developer .audience-card__btn{background:#2563eb;color:#fff;border-color:#2563eb}
.audience-card--design{background:linear-gradient(180deg,#faf5ff 0%, #ffffff 100%);border-color:#e9d5ff}
.audience-card--design .audience-card__badge{background:#ede9fe;color:#7c3aed}
.audience-card--design .audience-card__btn{background:#9333ea;color:#fff;border-color:#9333ea}
.audience-card--gc{background:linear-gradient(180deg,#f8fafc 0%, #ffffff 100%);border-color:#cbd5e1}
.audience-card--gc .audience-card__badge{background:#e2e8f0;color:#334155}
.audience-card--gc .audience-card__btn{background:#475569;color:#fff;border-color:#475569}

.feature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.feature-card{
  padding:24px;
  border-radius:22px;
  background:#fff;
  border:1px solid rgba(226,232,240,.9);
  box-shadow:0 16px 36px rgba(15,23,42,.04);
  text-align:center;
}
.feature-card__icon{
  width:56px;height:56px;border-radius:18px;margin:0 auto 14px;
  display:flex;align-items:center;justify-content:center;
  background:#eff6ff;font-size:24px;
}
.feature-card h3{margin:0 0 8px;font-size:20px;font-weight:900;color:#0f172a}
.feature-card p{margin:0;color:#475569;font-size:13px;line-height:1.8}

.cta-strip{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:center;
  padding:22px 26px;
  border-radius:22px;
  background:linear-gradient(135deg,#16a34a 0%, #15803d 100%);
  color:#fff;
  box-shadow:0 20px 44px rgba(22,163,74,.22);
}
.cta-strip__title{font-size:28px;font-weight:900;line-height:1.2}
.cta-strip__text{margin-top:6px;font-size:14px;line-height:1.8;color:rgba(255,255,255,.86)}
.cta-strip .btn.secondary{background:#fff;color:#166534;border-color:#fff}

.text-link{font-weight:800;color:#2563eb;text-decoration:none}
.text-link:hover{text-decoration:underline}
.recent-empty h3{margin:0 0 8px;font-size:22px;font-weight:900}
.recent-empty p{margin:0;color:#475569;line-height:1.8}
.recent-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.recent-card{
  padding:20px;
  border-radius:22px;
  background:linear-gradient(180deg,#24324d 0%, #18243b 100%);
  color:#fff;
  box-shadow:0 18px 42px rgba(15,23,42,.16);
}
.recent-card__head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.recent-card__title{font-size:22px;font-weight:900;line-height:1.35;color:#fff}
.recent-card__addr{margin-top:6px;color:rgba(255,255,255,.72);font-size:13px;line-height:1.7}
.recent-card__id{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0 10px;border-radius:999px;background:rgba(59,130,246,.20);color:#bfdbfe;font-size:11px;font-weight:800}
.recent-card__meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.recent-card__chip{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;background:rgba(34,197,94,.16);color:#bbf7d0;font-size:11px;font-weight:800}
.recent-card__chip--ghost{background:rgba(255,255,255,.10);color:#e2e8f0}
.recent-card__progress{margin-top:14px;height:8px;border-radius:999px;background:rgba(255,255,255,.10);overflow:hidden}
.recent-card__progress span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#38bdf8 0%, #22c55e 100%)}
.recent-card__steps{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:6px;margin-top:16px}
.recent-step{display:flex;align-items:center;justify-content:center;min-height:22px;border-radius:7px;font-size:11px;font-weight:900;background:rgba(255,255,255,.08);color:rgba(255,255,255,.62)}
.recent-step--done{background:#22c55e;color:#fff}
.recent-step--active{background:#3b82f6;color:#fff}
.recent-card__foot{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:16px}
.recent-card__updated{font-size:12px;color:rgba(255,255,255,.68)}
.recent-card__link{color:#93c5fd;text-decoration:none;font-weight:800}
.recent-card__link:hover{text-decoration:underline}

.footer{
  margin-top:4px;
  padding:26px 0 0;
  border-top:none;
}
.footer__inner{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:center;
  padding:18px 22px;
  border-radius:20px;
  background:linear-gradient(180deg,#0a1635 0%, #101d37 100%);
  color:#fff;
}
.footer__brand{display:flex;align-items:center;gap:10px}
.footer__title{font-size:16px;font-weight:900}
.footer__sub{font-size:12px;color:rgba(255,255,255,.68)}
.footer__copy{font-size:12px;color:rgba(255,255,255,.72)}

@media (max-width:1180px){
  .landing-hero__title{font-size:48px}
  .audience-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .recent-grid{grid-template-columns:1fr}
}
@media (max-width:980px){
  .topbar__nav{display:none}
  .landing-hero{margin:0 -12px;padding:30px 12px 34px}
  .landing-hero__title{font-size:40px}
  .landing-search__body{grid-template-columns:1fr}
  .audience-compare__grid,
  .cta-strip{grid-template-columns:1fr;display:flex;flex-direction:column;align-items:stretch}
}
@media (max-width:760px){
  .topbar--site .topbar__inner{padding:10px 12px;align-items:center}
  .topbar__actions{width:100%;justify-content:space-between}
  .landing-hero__title{font-size:32px}
  .landing-hero__lead{font-size:14px}
  .landing-section__header h2{font-size:30px}
  .audience-grid,
  .feature-grid{grid-template-columns:1fr}
  .audience-card__top h3,
  .cta-strip__title,
  .recent-card__title{font-size:20px}
  .footer__inner{flex-direction:column;align-items:flex-start}
}

.topbar__nav a.is-active{color:#73f29b}
.footer__sub--center{color:rgba(255,255,255,.72)}
.content-shell{max-width:1180px;margin:0 auto;padding:30px 0 60px}
.narrow-shell{max-width:820px}
.section-title-xl{font-size:48px;line-height:1.1;margin:0 0 8px;font-weight:900;color:#0d1b3d}
.page-tools{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px}
.searchbar{display:flex;gap:12px;align-items:center;background:#fff;border:1px solid #d9e2f2;border-radius:18px;padding:12px 14px;box-shadow:0 12px 28px rgba(15,23,42,.06);margin-bottom:24px}
.searchbar input{margin:0;border:0;background:transparent;flex:1;padding:8px 4px;outline:none;font-size:15px}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.stack-form{display:grid;gap:18px}
.btn-block{display:block;width:100%;text-align:center}
.btn.success{background:#17a34a;color:#fff;border-color:#17a34a}
.btn.success:hover{filter:brightness(.97)}
.btn.premium{background:#eda739;color:#fff;border-color:#eda739}
.align-center{text-align:center}

.form-card-lg,.firm-detail-card{background:#fff;border:1px solid #dbe3ef;border-radius:24px;box-shadow:0 16px 40px rgba(15,23,42,.06);padding:28px}
.form-card-lg__header{display:flex;gap:18px;align-items:flex-start;margin-bottom:20px}
.form-card-lg__header h1,.firm-detail-card h1{margin:0 0 6px;font-size:24px;color:#0e1b3d}
.form-card-lg__header p,.firm-detail-card p{margin:0;color:#64748b}
.form-card-lg__icon{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:#dff5e8;color:#15a04c;font-weight:900;font-size:20px}
.checkline{display:flex;gap:24px;flex-wrap:wrap;color:#334155}
.guest-box{padding:18px;border-radius:18px;border:1px solid #efd47a;background:#fff8e6;display:grid;gap:14px}
.guest-box__title{font-weight:800;color:#b56a00}
.backlink{display:inline-flex;align-items:center;gap:8px;color:#64748b;text-decoration:none;margin-bottom:18px;font-weight:700}

.hero-simple{padding:72px 20px;background:linear-gradient(180deg,#0d1d42 0%,#19335e 100%);color:#fff;text-align:center;margin:0 -24px 24px}
.hero-simple--firms{padding-top:56px;padding-bottom:56px}
.hero-simple__badge{display:inline-block;background:rgba(34,197,94,.22);border:1px solid rgba(134,239,172,.28);color:#9df5bb;padding:10px 18px;border-radius:999px;font-weight:800;margin-bottom:20px}
.hero-simple h1{font-size:56px;line-height:1.08;margin:0 0 18px}
.hero-simple p{max-width:860px;margin:0 auto;color:rgba(255,255,255,.82);font-size:22px;line-height:1.6}
.hero-simple__actions{display:flex;justify-content:center;gap:16px;margin-top:28px;flex-wrap:wrap}
.flow-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px}
.flow-step{padding:24px;border-radius:24px;background:#fff;border:1px solid #e1e8f2;box-shadow:0 12px 28px rgba(15,23,42,.04);text-align:center}
.flow-step__icon{width:56px;height:56px;border-radius:16px;background:#eaf1ff;display:grid;place-items:center;margin:0 auto 16px;color:#3367ea;font-size:22px;font-weight:900}
.flow-step h3{margin:0 0 8px;font-size:22px}
.flow-step p{margin:0;color:#64748b;line-height:1.7}

.firm-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.firm-card-v2{position:relative;background:#fff;border:1px solid #dbe3ef;border-radius:24px;padding:24px;box-shadow:0 14px 34px rgba(15,23,42,.05)}
.firm-card-v2__link{position:absolute;inset:0;border-radius:24px;z-index:1}
.firm-card-v2 .btn{position:relative;z-index:2}
.firm-card-v2__top{display:flex;gap:16px;align-items:flex-start;margin-bottom:12px}
.firm-card-v2__symbol{width:56px;height:56px;border-radius:16px;background:#dfe9ff;color:#2b63ea;display:grid;place-items:center;font-size:28px;font-weight:900;flex:none}
.firm-card-v2__symbol--lg{width:80px;height:80px;font-size:40px}
.firm-card-v2__meta h3{margin:6px 0 4px;font-size:28px;line-height:1.2;color:#0d1b3d}
.firm-card-v2__meta p{margin:0;color:#64748b;font-weight:600}
.firm-card-v2__badges{display:flex;gap:8px;flex-wrap:wrap}
.badge{display:inline-flex;align-items:center;padding:7px 12px;border-radius:999px;font-size:12px;font-weight:800}
.badge--gold{background:#fff3ca;color:#c77e00}
.badge--green{background:#e7fbe9;color:#189649}
.firm-card-v2__desc{color:#475569;line-height:1.8;min-height:82px}
.firm-tags{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}
.firm-tags span{background:#eef4ff;color:#3f67cf;padding:8px 12px;border-radius:999px;font-size:13px;font-weight:700}
.firm-card-v2__stats{display:flex;justify-content:space-between;gap:12px;color:#64748b;font-weight:700;margin-bottom:10px}
.firm-detail-card__top{display:flex;gap:22px;align-items:flex-start;margin-bottom:20px}
.firm-detail-card__desc{font-size:18px;line-height:1.9;color:#334155;margin:22px 0}
.firm-metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:24px 0}
.firm-metrics-grid>div{padding:20px;border-radius:20px;background:#f4f8ff;text-align:center}
.firm-metrics-grid strong{display:block;font-size:24px;color:#2b63ea;margin-bottom:6px}
.firm-metrics-grid span{color:#64748b;font-weight:700}
.rating-line{display:flex;gap:10px;align-items:center;color:#64748b;font-size:18px;font-weight:700;margin-top:12px}
.portfolio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:16px}
.portfolio-card{border:1px solid #e2e8f0;border-radius:20px;padding:20px;background:#fff}
.portfolio-card h3{margin:0 0 8px;color:#0f1c3e}
.portfolio-card p{margin:10px 0 0;color:#475569;line-height:1.8}

.analysis-shell{padding-top:10px}
.analysis-summary-box{display:flex;gap:16px;align-items:center;background:#fff;border:1px solid #dbe3ef;border-radius:20px;padding:18px 22px;margin-bottom:22px;box-shadow:0 10px 24px rgba(15,23,42,.05)}
.analysis-summary-box__icon{width:54px;height:54px;border-radius:16px;background:#e9f0ff;display:grid;place-items:center;font-size:24px}
.analysis-summary-box h2{margin:0 0 6px;color:#0f1c3e}
.analysis-summary-box p{margin:0;color:#64748b}
.plan-grid-v2{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:28px}
.plan-card-v2{background:#fff;border:1px solid #dbe3ef;border-radius:22px;padding:22px;box-shadow:0 16px 36px rgba(15,23,42,.04);display:flex;flex-direction:column;gap:14px}
.plan-card-v2.is-recommended{border-color:#efd47a;background:#fffdf4}
.plan-card-v2.is-locked{background:#fcfcff}
.plan-card-v2__head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.plan-card-v2__tag{display:inline-flex;background:#fff1c6;color:#ba7a00;padding:5px 10px;border-radius:999px;font-size:12px;font-weight:800;margin-bottom:8px}
.plan-card-v2__head h3{margin:0;color:#0f1c3e;font-size:26px;line-height:1.3}
.plan-card-v2__score{font-weight:900;color:#64748b;white-space:nowrap}
.plan-card-v2__summary{margin:0;color:#475569;line-height:1.8;min-height:54px}
.plan-card-v2__list{margin:0;padding-left:18px;color:#475569;line-height:1.8}
.plan-card-v2__notice{padding:14px;border-radius:14px;background:#fff7e6;border:1px solid #f5d897;color:#c57a00;font-size:14px;line-height:1.6}
.advisor-banner{display:flex;justify-content:space-between;gap:18px;align-items:center;background:linear-gradient(90deg,#2f6fed 0%, #8a29d4 100%);border-radius:20px;padding:22px 24px;color:#fff;margin:8px 0 24px}
.advisor-banner h3{margin:0 0 6px}
.advisor-banner p{margin:0 0 12px;color:rgba(255,255,255,.86)}
.advisor-banner__chips{display:flex;flex-wrap:wrap;gap:8px}.advisor-banner__chips span{background:rgba(255,255,255,.12);padding:7px 11px;border-radius:999px;font-size:13px}
.big-cta-card{background:#f5f8ff;border:1px solid #d7e1f2;border-radius:24px;padding:34px 24px;text-align:center;margin-bottom:34px}
.big-cta-card h2{margin:0 0 10px;font-size:36px;color:#0f1c3e}.big-cta-card p{margin:0 0 18px;color:#64748b}.big-cta-card__actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}

.project-cards-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.project-card-v2{background:#fff;border:1px solid #dbe3ef;border-radius:22px;box-shadow:0 14px 30px rgba(15,23,42,.05);overflow:hidden}
.project-card-v2__head{padding:20px;background:linear-gradient(135deg,#1d2b45,#394c6a);color:#fff;display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.project-card-v2__head h3{margin:0 0 8px;font-size:22px;line-height:1.35}.project-card-v2__address{color:rgba(255,255,255,.75);font-weight:600}
.project-card-v2__id{background:rgba(255,255,255,.12);padding:7px 10px;border-radius:12px;font-size:12px;font-weight:800}
.project-card-v2__body{padding:18px 20px 20px}
.chip-outline{display:inline-flex;padding:8px 12px;border-radius:999px;border:1px solid #c7d7f4;background:#f5f8ff;color:#3567d9;font-size:13px;font-weight:800;margin-bottom:16px}
.project-progress-row{display:flex;justify-content:space-between;gap:12px;align-items:center;font-weight:700;color:#334155;margin-bottom:10px}
.project-progress-row strong{color:#0d1b3d}
.mini-progress{height:8px;border-radius:999px;background:#e6ebf4;overflow:hidden;margin-bottom:14px}.mini-progress span{display:block;height:100%;background:#3b82f6;border-radius:999px}
.step-badges{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.step-badge{min-width:28px;height:22px;border-radius:6px;background:#f0f2f7;color:#94a3b8;display:grid;place-items:center;font-size:12px;font-weight:800}.step-badge.is-done{background:#22c55e;color:#fff}
.project-card-v2__foot{display:flex;justify-content:space-between;align-items:center;color:#94a3b8;font-weight:700}.project-card-v2__foot a{text-decoration:none;color:#2f6fed}

.hero-simple + .content-shell,.analysis-hero + .content-shell{margin-top:-8px}
.bottom-cta{max-width:980px;margin:28px auto 0;padding:38px 24px;border-radius:24px;text-align:center}
.bottom-cta h2{margin:0 0 8px;font-size:42px;color:#0f1c3e}.bottom-cta p{margin:0 0 18px;color:#64748b}.bottom-cta--light{background:#f7f7f8}.bottom-cta--success{background:#12a14a;color:#fff}.bottom-cta--success h2,.bottom-cta--success p{color:#fff}
.landing-hero__inner--wide{max-width:980px}
.audience-grid--five{grid-template-columns:repeat(5,minmax(0,1fr))}
.cta-strip--single{display:flex;justify-content:space-between;align-items:center}
.section-link{text-decoration:none;color:#2f6fed;font-weight:800}
.firms-shell{padding-top:12px}

@media (max-width:1180px){
  .firm-grid,.project-cards-grid,.plan-grid-v2,.audience-grid--five{grid-template-columns:repeat(2,minmax(0,1fr))}
  .flow-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:860px){
  .hero-simple h1{font-size:40px}.hero-simple p{font-size:18px}
  .advisor-banner,.cta-strip--single,.page-tools,.firm-detail-card__top{flex-direction:column;align-items:flex-start}
  .firm-metrics-grid,.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .portfolio-grid,.plan-grid-v2,.firm-grid,.project-cards-grid,.flow-grid,.audience-grid--five{grid-template-columns:1fr}
  .grid-2{grid-template-columns:1fr}
  .section-title-xl{font-size:38px}.bottom-cta h2,.big-cta-card h2{font-size:28px}
}
@media (max-width:560px){
  .searchbar{flex-direction:column;align-items:stretch}
  .firm-metrics-grid{grid-template-columns:1fr}
  .hero-simple{margin:0 -12px 16px;padding:42px 12px}
}

/* ===== 2026-04-21 top page fidelity refresh ===== */
.landing-hero__inner--wide{max-width:1080px}
.landing-hero__lead br{display:block}
.landing-search__title{font-size:18px}
.landing-search{width:min(780px,100%);padding:22px 22px 18px;border-radius:20px}
.landing-search__body{grid-template-columns:minmax(0,1fr) 176px}
.landing-search__body input{font-size:15px;padding:0 16px}
.landing-search__btn{font-size:15px;font-weight:900}

.audience-compare{
  padding:26px;
  border-radius:22px;
  background:#fff;
  border:1px solid #e2e8f0;
  box-shadow:0 16px 38px rgba(15,23,42,.05);
}
.audience-compare__grid{margin-bottom:18px}
.audience-compare__pane{
  border-radius:18px;
  border:1px solid #f3c6c6;
  background:linear-gradient(180deg,#fffafa 0%,#ffffff 100%);
  padding:18px 18px 16px;
}
.audience-compare__pane--cool{border-color:#f4c8c8;background:linear-gradient(180deg,#fffaf9 0%,#ffffff 100%)}
.audience-compare__sub{font-size:12px;color:#ef4444;font-weight:700;margin-bottom:10px}
.audience-icons--soft{justify-content:center;gap:12px;margin:14px 0 12px}
.audience-icons--soft span{min-height:54px;padding:10px 14px;border-radius:16px;background:#fff;border:1px solid #f1d9d9;box-shadow:0 8px 18px rgba(15,23,42,.04)}
.audience-compare__footnote{
  padding:9px 12px;
  border-radius:999px;
  background:#fff7f7;
  border:1px solid #f4d5d5;
  color:#b45309;
  font-size:11px;
  line-height:1.5;
}
.audience-compare__pane--cool .audience-compare__tag{background:#fee2e2;color:#dc2626}
.audience-compare__cta{margin-top:12px}
.audience-compare__cta-btn{min-width:280px}
.audience-compare__cta-stats{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;font-size:12px;color:#64748b;font-weight:700}

.audience-grid--detailed{align-items:stretch}
.audience-card{
  gap:12px;
  padding:20px 18px 18px;
  border-radius:20px;
  min-height:100%;
}
.audience-card__top h3{font-size:16px;line-height:1.3}
.audience-card__subtitle{margin-top:4px;color:#64748b;font-size:11px;line-height:1.5}
.audience-card ul{padding-left:16px;font-size:12px;line-height:1.65}
.audience-card li{margin-bottom:4px}
.audience-card__chips{display:flex;flex-wrap:wrap;gap:6px}
.audience-card__chips span{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:24px;padding:0 10px;border-radius:999px;
  background:rgba(255,255,255,.86);border:1px solid rgba(148,163,184,.25);
  font-size:10px;font-weight:700;color:#475569;
}
.audience-card__metrics--compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.audience-metric{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  min-height:62px;border-radius:14px;border:1px solid #e2e8f0;background:rgba(255,255,255,.86);
}
.audience-metric strong{font-size:22px;line-height:1;font-weight:900;color:#0f172a}
.audience-metric span{margin-top:6px;font-size:11px;font-weight:700;color:#64748b}
.audience-card__note{font-size:11px;color:#64748b;line-height:1.55;margin-top:auto}
.audience-card__btn{min-height:44px;border-radius:12px;font-size:14px;box-shadow:none}
.audience-card--owner .audience-card__chips span{background:#f0fdf4;border-color:#bbf7d0;color:#15803d}
.audience-card--maker .audience-card__chips span{background:#fff7ed;border-color:#fed7aa;color:#b45309}
.audience-card--developer .audience-card__chips span{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}
.audience-card--design .audience-card__chips span{background:#faf5ff;border-color:#ddd6fe;color:#7c3aed}
.audience-card--gc .audience-card__chips span{background:#f8fafc;border-color:#cbd5e1;color:#475569}

.feature-card__icon--blue{background:#e0ebff}
.feature-card__icon--violet{background:#efe3ff}
.feature-card__icon--green{background:#def7e7}
.feature-card__icon--orange{background:#ffedd5}
.cta-strip__sub{margin-top:6px;font-size:14px;line-height:1.7;color:rgba(255,255,255,.86)}
.section-link{display:inline-flex;align-items:center;gap:6px}
.section-link::after{content:'→'}
.project-card-v2__head h3{font-size:18px}
.project-card-v2__address{font-size:12px;line-height:1.5}
.project-card-v2__foot{font-size:12px}

@media (max-width:1180px){
  .audience-grid--five{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:860px){
  .landing-hero__title{font-size:38px}
  .landing-hero__lead br{display:none}
  .landing-search__body{grid-template-columns:1fr}
  .audience-compare{padding:18px}
  .audience-compare__grid{grid-template-columns:1fr}
  .audience-grid--five{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:560px){
  .landing-hero__title{font-size:30px}
  .audience-grid--five{grid-template-columns:1fr}
  .landing-search__btn{width:100%}
}

/* ===== 2026-04-21 visual polish pass ===== */
html{font-size:16px}
body{
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  line-height:1.72;
}
.page--landing > .container{
  display:flex;
  flex-direction:column;
  gap:48px;
  width:min(1240px,calc(100% - 32px));
}
body:not(.landing-page) .page > .container{
  width:min(1240px,calc(100% - 32px));
  gap:22px;
}
.topbar--site .topbar__inner{
  padding:14px 24px;
  gap:22px;
}
.topbar__nav{gap:26px}
.topbar__nav a{
  font-size:14px;
  font-weight:800;
  line-height:1;
}
.topbar__actions{gap:12px}
.plan-badge{min-height:30px;font-size:12px}
.btn--sm{min-height:42px;padding:10px 16px}

.landing-hero{
  padding:58px 18px 66px;
}
.landing-hero__badge{
  min-height:36px;
  padding:0 16px;
  font-size:13px;
}
.landing-hero__title{
  margin:20px 0 18px;
  font-size:64px;
  line-height:1.08;
  letter-spacing:-.02em;
}
.landing-hero__lead{
  max-width:900px;
  font-size:18px;
  line-height:1.9;
}
.landing-hero__stats,
.landing-hero__roles{
  gap:12px;
  margin-top:24px;
}
.landing-pill,
.role-pill{
  min-height:40px;
  padding:0 16px;
  font-size:13px;
}
.landing-search{
  width:min(860px,100%);
  margin-top:28px;
  padding:26px 26px 22px;
  border-radius:22px;
}
.landing-search__title{font-size:24px;line-height:1.35}
.landing-search__sub{font-size:14px;line-height:1.8}
.landing-search__body{grid-template-columns:minmax(0,1fr) 184px;gap:14px}
.landing-search__body input{
  min-height:58px;
  font-size:16px;
  padding:0 18px;
}
.landing-search__btn{
  min-height:58px;
  font-size:16px;
  border-radius:16px;
}
.landing-search__foot{margin-top:12px;font-size:12px;line-height:1.8}

.landing-section{gap:26px}
.landing-section__header{gap:10px}
.landing-section__header h2{
  font-size:48px;
  letter-spacing:-.02em;
}
.landing-section__header p{
  font-size:16px;
  line-height:1.9;
}
.section-mini-badge{min-height:36px;padding:0 16px;font-size:12px}
.card-shell,
.audience-compare{
  padding:30px;
  border-radius:24px;
}
.audience-compare__header{margin-bottom:20px}
.audience-compare__title{font-size:20px}
.audience-compare__grid{gap:20px;margin-bottom:20px}
.audience-compare__pane{
  padding:22px 22px 18px;
  border-radius:20px;
}
.audience-compare__pane h3{
  font-size:19px;
  line-height:1.45;
}
.audience-compare__sub{font-size:13px;margin-bottom:12px}
.audience-icons--soft{gap:14px;margin:16px 0 14px}
.audience-icons--soft span{
  min-height:62px;
  padding:12px 16px;
  font-size:12px;
}
.audience-compare__footnote{
  padding:11px 14px;
  font-size:12px;
  line-height:1.6;
}
.audience-compare__cta{gap:12px}
.audience-compare__cta-btn{min-width:320px}
.audience-compare__cta-note{font-size:13px;line-height:1.7}
.audience-compare__cta-stats{gap:16px;font-size:12px}

.audience-grid{gap:20px}
.audience-card{
  gap:16px;
  padding:24px 22px 22px;
  border-radius:22px;
}
.audience-card__top{gap:14px}
.audience-card__top h3{font-size:18px;line-height:1.35}
.audience-card__subtitle{font-size:12px;line-height:1.65}
.audience-card ul{padding-left:18px;font-size:13px;line-height:1.82}
.audience-card li{margin-bottom:6px}
.audience-card__chips{gap:8px}
.audience-card__chips span{min-height:28px;padding:0 12px;font-size:11px}
.audience-card__metrics--compact{gap:12px}
.audience-metric{min-height:74px;border-radius:16px}
.audience-metric strong{font-size:24px}
.audience-metric span{font-size:12px;margin-top:7px}
.audience-card__note{font-size:12px;line-height:1.75}
.audience-card__btn{min-height:48px;border-radius:14px;font-size:14px}

.feature-grid{gap:22px}
.feature-card{
  padding:28px 24px;
  border-radius:24px;
}
.feature-card__icon{
  width:64px;
  height:64px;
  border-radius:18px;
  font-size:26px;
  margin-bottom:18px;
}
.feature-card h3{font-size:22px;margin:0 0 10px}
.feature-card p{font-size:14px;line-height:1.82}

.cta-strip{
  padding:24px 26px;
  border-radius:24px;
}
.cta-strip__title{font-size:24px}
.cta-strip__sub{font-size:14px;line-height:1.8}
.cta-strip .btn.secondary{min-width:188px}

.project-cards-grid{gap:22px}
.project-card-v2{border-radius:24px}
.project-card-v2__head{padding:22px 22px 20px}
.project-card-v2__head h3{font-size:20px;line-height:1.4}
.project-card-v2__address{font-size:13px;line-height:1.6}
.project-card-v2__id{padding:7px 10px;border-radius:12px}
.project-card-v2__body{padding:20px 22px 22px}
.chip-outline{font-size:12px;padding:8px 12px;margin-bottom:18px}
.project-progress-row{font-size:14px;margin-bottom:10px}
.step-badges{gap:7px;margin-bottom:16px}
.step-badge{min-width:30px;height:24px;border-radius:7px;font-size:12px}
.project-card-v2__foot{font-size:12px}
.section-link{font-size:14px}

.hero-simple{
  padding:78px 22px 82px;
}
.hero-simple--firms{padding-top:64px;padding-bottom:64px}
.hero-simple__badge{margin-bottom:22px}
.hero-simple h1{
  font-size:60px;
  line-height:1.08;
  letter-spacing:-.02em;
}
.hero-simple p{
  font-size:20px;
  line-height:1.75;
}
.hero-simple__actions{gap:14px;margin-top:30px}
.flow-grid{gap:24px}
.flow-step{padding:26px 22px;border-radius:24px}
.flow-step h3{font-size:20px;line-height:1.4}
.flow-step p{font-size:14px;line-height:1.8}
.firm-grid{gap:24px}
.firm-card-v2{padding:26px;border-radius:24px}
.firm-card-v2__meta h3{font-size:24px;line-height:1.35}
.firm-card-v2__meta p{font-size:14px;line-height:1.6}
.firm-card-v2__desc{font-size:14px;line-height:1.8;min-height:94px}
.firm-tags{gap:9px;margin:16px 0}
.firm-tags span{font-size:12px;padding:8px 12px}
.firm-card-v2__stats{font-size:13px;margin-bottom:12px}
.rating-line{font-size:16px}
.firm-detail-card__desc{font-size:17px;line-height:1.9}
.portfolio-card{padding:22px;border-radius:22px}
.portfolio-card h3{font-size:20px;line-height:1.4}
.portfolio-card p{font-size:14px;line-height:1.85}

.analysis-summary-box{padding:20px 24px;border-radius:24px;margin-bottom:24px}
.analysis-summary-box h2{font-size:26px;line-height:1.35}
.analysis-summary-box p{font-size:14px;line-height:1.8}
.plan-grid-v2{gap:22px;margin-bottom:30px}
.plan-card-v2{padding:24px;border-radius:24px;gap:16px}
.plan-card-v2__head h3{font-size:22px;line-height:1.4}
.plan-card-v2__summary{font-size:14px;line-height:1.8;min-height:60px}
.plan-card-v2__list{font-size:14px;line-height:1.85}
.plan-card-v2__notice{font-size:13px;line-height:1.7}
.advisor-banner{padding:24px 26px;border-radius:24px;margin-bottom:28px}
.advisor-banner h3{font-size:22px;line-height:1.4}
.advisor-banner p{font-size:14px;line-height:1.8}
.big-cta-card{padding:40px 28px;border-radius:26px;margin-bottom:38px}
.big-cta-card h2{font-size:38px;line-height:1.25}
.big-cta-card p{font-size:15px;line-height:1.8}
.big-cta-card__actions{gap:14px}

.step-hero{padding:28px;border-radius:30px}
.step-hero__grid{gap:22px}
.step-hero__title{font-size:32px;line-height:1.25;letter-spacing:-.01em}
.step-hero__lead{font-size:15px;line-height:1.9}
.step-hero__chips{gap:10px;margin-top:18px}
.step-hero__chip{min-height:38px;padding:0 14px;font-size:12px}
.step-hero__ghost{padding:20px;font-size:13px;line-height:1.8}
.step-stat{padding:16px 16px;border-radius:20px}
.step-stat__label{font-size:11px}
.step-stat__value{font-size:19px;line-height:1.5}
.stepper{padding:18px;border-radius:28px}
.stepper__summaryTitle{font-size:17px}
.stepper__summarySub{font-size:12px;line-height:1.7}
.step{min-height:126px;padding:16px 10px 14px}
.card{padding:26px;border-radius:28px}
label{font-size:13px;margin-bottom:9px}
input,select,textarea{font-size:16px}
textarea{min-height:144px}
.step-section-title{margin-bottom:18px;padding-bottom:16px}
.step-section-title__text{font-size:20px}
.card p,.soft-card p,.note-card p,.info-card p,.result-card p,.json-card p{font-size:14px;line-height:1.85}
.footer{margin-top:46px}

@media (max-width:1180px){
  .page--landing > .container,
  body:not(.landing-page) .page > .container{width:min(100%,calc(100% - 28px))}
  .landing-hero__title{font-size:54px}
  .landing-section__header h2{font-size:42px}
  .hero-simple h1{font-size:50px}
  .feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:860px){
  .topbar--site .topbar__inner{padding:12px 14px;gap:14px}
  .topbar__nav{gap:14px;overflow:auto;justify-content:flex-start;width:100%;padding-bottom:2px}
  .landing-hero{padding:42px 14px 48px}
  .landing-hero__title{font-size:42px;line-height:1.14}
  .landing-hero__lead{font-size:15px;line-height:1.8}
  .landing-search{padding:20px 18px 18px}
  .landing-search__title{font-size:20px}
  .landing-section__header h2{font-size:34px}
  .landing-section__header p{font-size:14px}
  .card-shell,.audience-compare{padding:20px}
  .audience-card{padding:20px 18px}
  .audience-compare__cta-btn{min-width:0;width:100%}
  .feature-card{padding:24px 20px}
  .project-card-v2__head h3{font-size:18px}
  .hero-simple{padding:50px 14px 56px;margin:0 -14px 18px}
  .hero-simple h1{font-size:38px}
  .hero-simple p{font-size:16px}
  .step-hero{padding:22px}
  .step-hero__title{font-size:26px}
  .card{padding:20px}
}
@media (max-width:560px){
  .page{padding:18px 12px 34px}
  .page--landing > .container,
  body:not(.landing-page) .page > .container{width:min(100%,calc(100% - 16px));gap:32px}
  .landing-hero{margin:0 -12px;padding:34px 12px 40px}
  .landing-hero__badge{min-height:32px;padding:0 12px;font-size:11px}
  .landing-hero__title{font-size:32px}
  .landing-hero__lead{font-size:14px}
  .landing-search{padding:18px 14px 16px;border-radius:18px}
  .landing-search__title{font-size:18px}
  .landing-search__sub{font-size:13px}
  .landing-search__body{grid-template-columns:1fr}
  .landing-search__body input,.landing-search__btn{min-height:52px;font-size:15px}
  .landing-section__header h2{font-size:28px}
  .section-mini-badge{min-height:32px;padding:0 12px;font-size:11px}
  .card-shell,.audience-compare,.feature-card,.cta-strip,.project-card-v2,.firm-card-v2,.plan-card-v2,.big-cta-card{border-radius:20px}
  .audience-compare__pane{padding:16px}
  .audience-card{padding:18px 16px}
  .feature-grid{grid-template-columns:1fr}
  .feature-card__icon{width:56px;height:56px;border-radius:16px;font-size:24px}
  .feature-card h3{font-size:20px}
  .cta-strip{padding:20px 18px}
  .project-card-v2__head,.project-card-v2__body{padding-left:18px;padding-right:18px}
  .hero-simple h1{font-size:30px}
  .hero-simple p{font-size:14px}
  .step-hero{padding:18px;border-radius:24px}
  .step-hero__title{font-size:22px}
  .step-hero__lead{font-size:14px}
  .step-hero__chip{min-height:34px;padding:0 12px}
  .card{padding:18px;border-radius:24px}
}
