/* docs/site/_styles/index.css
 *
 * AXIOM LP index page page-level styles — D197 LP-P1 Batch 3d-1 (2026-04-25)
 *
 * index.html の inline <style> を外出し。reset / typography は _base.css、
 * design tokens は _tokens.css に集約済。本 file は index.html 固有の
 * page-level style (hero / contrast / plans / security / faq / waitlist 等)
 * のみを含む。
 *
 * 使用方法 (index.html <head> 内、cascade 順):
 *   <link rel="stylesheet" href="/_tokens.css">  // tokens
 *   <link rel="stylesheet" href="/_base.css">    // reset + base typography
 *   <link rel="stylesheet" href="/_styles/index.css">  // page-level (本 file)
 *
 * 編集ポイント:
 *   - section / hero / plans / faq 等 component 別 style はすべて本 file 内
 *   - 共通 reset / body 基本 style が必要なら _base.css を編集
 *   - token (color / spacing / radius) は _tokens.css を編集
 */

body{font-size:16px;overflow-x:hidden}

body::before{
  content:'';position:fixed;inset:0;
  background:radial-gradient(ellipse at 50% 30%,var(--blu-a04) 0%,transparent 60%);
  pointer-events:none;z-index:0;
}

.container{max-width:1000px;margin:0 auto;padding:0 32px}
/* P1-5: Section padding 3-tier rhythm.
   primary (Plans / Waitlist) = 120px → emphasis on conversion + decision moments
   default (Hero / Contrast / How / Features / Science) = 96px
   secondary (Security / Stats / FAQ) = 64px → supporting / quick-scan blocks */
section{padding:96px 0}
#plans, #waitlist{padding:120px 0}
#stats, #faq{padding:64px 0}

/* ── NAV ── */
nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  padding:0 32px;height:56px;
  display:flex;align-items:center;justify-content:space-between;
  border-bottom:0.5px solid rgba(45,46,69,0.6);
  background:rgba(5,5,13,0.94);backdrop-filter:blur(10px);
}
.nav-logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--t1)}
/* SSOT design.md §13.2 v1 inline brand mark (ADR-0026 2026-04-24):
   stone-warm palette (LP family) remap per §2.1b — stroke #F2F2F5 / #B0B4C3 */
.nav-logo-mark{width:28px;height:28px;display:block;flex-shrink:0}
.nav-logo span{font-family:var(--display);font-weight:800;font-size:15px;letter-spacing:2px;color:var(--t1)}
.nav-links{display:flex;align-items:center;gap:24px}
.nav-links a{font-size:var(--fs-md);color:var(--t2);text-decoration:none;letter-spacing:0.5px;transition:color .2s,border-color .2s;padding:4px 0;border-bottom:1px solid transparent}
.nav-links a:hover{color:var(--t1)}
/* P1-B scrollspy active state */
.nav-links a.nav-active{color:var(--t1);border-bottom-color:var(--blu)}
.nav-cta{
  padding:9px 22px;border-radius:var(--radius-sm);
  background:var(--blu);color:var(--bg0);
  font-size:var(--fs-md);font-weight:600;text-decoration:none;transition:opacity .2s;
}
.nav-cta:hover{opacity:0.85}

.nav-hamburger{display:none;background:none;border:none;color:var(--t2);font-size:var(--fs-h3);cursor:pointer;padding:10px 12px;min-width:44px;min-height:44px}
/* Nav-only breakpoint widened to 880px so tablets (768px) get the hamburger
   instead of trying to squeeze 7 multi-character JP labels into one row. */
@media(max-width:880px){
  .nav-hamburger{display:block}
  .nav-links{display:none;position:absolute;top:56px;left:0;right:0;background:var(--bg1);border-bottom:0.5px solid var(--bd);flex-direction:column;padding:16px 32px;gap:16px}
  .nav-links.open{display:flex}
  .nav-cta{text-align:center}
}

/* ── HERO ── */
#hero{min-height:720px;display:flex;align-items:center;position:relative;padding-top:80px;overflow:hidden}
#hero::after{
  content:'';position:absolute;top:20%;left:50%;transform:translate(-50%,-50%);
  width:800px;height:500px;
  background:radial-gradient(ellipse,var(--blu-a07) 0%,var(--grn-a04) 40%,transparent 70%);
  pointer-events:none;
}
.hero-inner{
  position:relative;z-index:1;
  /* P0: widened from 1000px so the mockup column doesn't crowd the viewport
     edge on 1366-1440px laptops. Larger desktops still center cleanly. */
  max-width:1180px;margin:0 auto;padding:0 32px;
  display:grid;grid-template-columns:1.05fr 0.95fr;gap:64px;align-items:center;
}
.hero-label{
  font-family:var(--mono);font-size:10px;letter-spacing:2px;color:var(--blu);
  text-transform:uppercase;margin-bottom:20px;
  display:flex;align-items:center;gap:8px;
}
.hero-label::before{content:'';display:block;width:24px;height:1px;background:var(--blu)}
.hero-h1{
  font-family:var(--display);font-size:clamp(34px,5vw,50px);
  /* P1-8: -0.02em is the standard tight tracking for Syne display headings.
     Unified with .sect-h2 below so all display-tier headings share rhythm. */
  font-weight:800;line-height:1.15;letter-spacing:-0.02em;margin-bottom:18px;
}
.hero-h1 em{
  font-style:normal;
  background:linear-gradient(90deg,var(--blu),var(--grn));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
/* Pain hook callout */
.pain-hook{margin-bottom:16px;padding:10px 14px;border-radius:var(--radius-sm);background:var(--org-a06);border-left:2px solid var(--org);font-size:var(--fs-sm2);color:var(--t2);font-weight:400}
.pain-hook strong{color:var(--org);font-style:normal;font-weight:500}
.hero-sub{font-size:var(--fs-lg);color:var(--t2);line-height:1.85;margin-bottom:28px;font-weight:400}
.hero-sub strong{color:var(--org);font-weight:600}
.hero-pills{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:28px}
.hero-pill{
  font-family:var(--mono);font-size:var(--fs-sm);letter-spacing:0.5px;
  padding:6px 14px;border-radius:var(--radius-sm);
  border:0.5px solid var(--bd);color:var(--t2);
  display:flex;align-items:center;gap:6px;
}
.hero-pill span{color:var(--grn)}
.hero-cta-row{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap}
.hero-cta-primary-wrap{display:flex;flex-direction:column;align-items:center}
.btn-primary,.btn-secondary{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:0 28px;height:50px;border-radius:var(--radius-md);
  font-size:var(--fs-md);font-weight:600;text-decoration:none;
  box-sizing:border-box;
  transition:opacity .2s,transform .2s,border-color .2s,color .2s;
  font-family:var(--body);
}
.btn-primary{background:var(--blu);color:var(--bg0);border:none}
.btn-primary:hover{opacity:0.88;transform:translateY(-1px)}
.btn-secondary{border:0.5px solid var(--bd);color:var(--t2);background:transparent}
.btn-secondary:hover{border-color:var(--t2);color:var(--t1)}
/* Hero-specific CTA sizing: primary > secondary for visual hierarchy */
.hero-cta-row .btn-primary{
  height:56px;font-size:var(--fs-md2);padding:0 32px;font-weight:700;
  box-shadow:0 8px 24px var(--blu-a25);
}
.hero-cta-row .btn-secondary{
  height:48px;font-size:var(--fs-sm2);padding:0 22px;font-weight:500;
}
.os-note{margin-top:12px;font-family:var(--mono);font-size:var(--fs-xs);color:var(--t3);letter-spacing:0.5px}
.cta-caption{font-size:var(--fs-xs);color:var(--t3);margin-top:6px;text-align:center}

/* ── HERO VISUAL ── */
.hero-visual{position:relative}
.hero-visual-caption{text-align:center;margin-bottom:8px;font-family:var(--mono);font-size:var(--fs-xs);color:var(--t3);letter-spacing:0.5px}
.mock-window{
  background:var(--bg2);border:0.5px solid var(--bd);border-radius:var(--radius-lg);overflow:hidden;
  box-shadow:0 32px 80px rgba(0,0,0,0.6),0 0 0 0.5px var(--bd);
  position:relative;
}
.mock-titlebar{
  padding:10px 14px;background:var(--bg1);border-bottom:0.5px solid var(--bd);
  display:flex;align-items:center;gap:6px;
}
.mock-dot{width:10px;height:10px;border-radius:50%}
.mock-dot-red{background:var(--red)}
.mock-dot-yel{background:var(--yel)}
.mock-dot-grn{background:var(--grn)}
.mock-title{margin-left:8px;font-family:var(--mono);font-size:var(--fs-xs);color:var(--t3)}
.mock-body{padding:20px}
.mock-status-card{
  padding:16px;text-align:center;
  border:0.5px solid var(--grn-a30);background:var(--grn-a04);
  border-radius:var(--radius-md);margin-bottom:14px;
}
.mock-today-label{font-size:var(--fs-xs);color:var(--t3);margin-bottom:6px;letter-spacing:1px;font-family:var(--mono)}
.mock-status-big{
  font-family:var(--display);
  font-size:var(--fs-display-sm);
  font-weight:700;
  color:var(--grn);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  margin-bottom:4px;
}
.mock-state-dot{
  width:10px;height:10px;border-radius:50%;background:var(--grn);display:inline-block;margin-right:6px;
  box-shadow:0 0 8px var(--grn);animation:pulse 2s infinite;
}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.5}}
.mock-status-desc{font-size:var(--fs-xs);color:var(--t2);margin-bottom:10px}
.mock-status-sub{font-size:var(--fs-xs);color:var(--t3);margin-bottom:10px}
.mock-cta-btn{
  display:block;width:100%;margin-top:12px;padding:10px;border-radius:var(--radius-sm);
  background:var(--blu);color:var(--bg0);font-size:var(--fs-sm);font-weight:600;text-align:center;
}
.mock-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}
.mock-metric-card{background:var(--bg3);border-radius:var(--radius-sm);padding:10px;text-align:center;border:0.5px solid var(--bd)}
.mock-metric-label{font-size:var(--fs-xs);color:var(--t3);margin-bottom:4px}
.mock-metric-val{font-family:var(--mono);font-size:var(--fs-lg);font-weight:500;color:var(--t1)}
.mock-metric-val-grn{color:var(--grn)}
.mock-metric-unit{font-size:var(--fs-xs);color:var(--t3)}
.mock-footer-note{margin-top:10px;font-family:var(--mono);font-size:var(--fs-xs);color:var(--t3);text-align:center}

/* ── TRUST BAR ── */
#trustbar{
  padding:22px 0;border-top:0.5px solid var(--bd);border-bottom:0.5px solid var(--bd);
  background:var(--bg1);
}
.trust-inner{
  max-width:1000px;margin:0 auto;padding:0 32px;
  display:flex;align-items:center;justify-content:center;gap:40px;flex-wrap:wrap;
}
.trust-item{display:flex;align-items:center;gap:8px;font-size:var(--fs-sm2);color:var(--t2)}
.trust-icon{font-size:var(--fs-lg)}
.trust-item.highlight{color:var(--grn)}

/* P2-14 + P0 reorder: Chapter dividers — thin gradient line at the top of
   the 4 narrative chapter boundaries:
     Stats    = "credibility" (numbers prove the story)
     Plans    = "offer" (price + value)
     Security = "trust" (only relevant after considering purchase)
     Waitlist = "action" (final commitment) */
#stats, #plans, #security, #waitlist{position:relative}
#stats::before, #plans::before, #security::before, #waitlist::before{
  content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);
  width:80px;height:1px;
  background:linear-gradient(90deg,transparent,var(--blu),transparent);
  opacity:0.5;
}

/* ── SECTION HEADER ── */
.sect-header{text-align:center;margin-bottom:56px}
.sect-eyebrow{font-family:var(--mono);font-size:var(--fs-sm);letter-spacing:2px;color:var(--blu);text-transform:uppercase;margin-bottom:12px}
.sect-h2{font-family:var(--display);font-size:clamp(28px,4.5vw,42px);font-weight:800;letter-spacing:-0.02em;margin-bottom:14px;line-height:1.2}
.sect-h2 .h2-num{font-family:var(--body);font-weight:700;padding:0 2px}
.sect-desc{font-size:var(--fs-lg);color:var(--t2);max-width:580px;margin:0 auto;font-weight:400;line-height:1.8}

/* ── COMPETITOR CONTRAST ── */
#contrast{background:var(--bg2)}
.contrast-intro{
  max-width:620px;margin:0 auto 40px;text-align:center;
  font-size:var(--fs-md);color:var(--t2);line-height:1.85;font-weight:400;
}
.contrast-pain-hook{max-width:620px;margin:0 auto 40px;text-align:center}
.sect-note{font-size:var(--fs-xs);color:var(--t3)}

/* P1-5: Synth one-liner above the comparison table — captures all 6 rows. */
.contrast-synth{
  max-width:760px;margin:0 auto 32px;padding:18px 24px;text-align:center;
  background:linear-gradient(135deg,var(--bg1),var(--bg2));
  border:0.5px solid var(--bd);border-radius:var(--radius-md);
  font-family:var(--mono);font-size:var(--fs-sm2);letter-spacing:0.3px;line-height:1.7;
}
.contrast-synth .vs-them{color:var(--red);font-weight:500}
.contrast-synth .vs-us{color:var(--grn);font-weight:500}
.contrast-synth .vs-sep{color:var(--t3);margin:0 12px}

/* Sync with .contrast-mobile data — keep the rows in sync when editing */
.contrast-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:2px;
  background:var(--bd);
  border-radius:var(--radius-lg);
  overflow:hidden;
  border:0.5px solid var(--bd);
}
.contrast-col{background:var(--bg2);display:grid;grid-template-rows:auto repeat(6,1fr)}
.contrast-header{
  padding:14px 20px;font-size:var(--fs-sm);font-weight:500;letter-spacing:0.5px;
  border-bottom:0.5px solid var(--bd);
}
.contrast-header.theirs{color:var(--t3);background:var(--bg1)}
.contrast-header.ours{color:var(--grn);background:var(--grn-a20)}
.contrast-header .ch-sub{display:block;margin-top:4px;font-size:var(--fs-xs);color:var(--t3);font-weight:400;letter-spacing:0.3px;text-transform:none}
.contrast-row{
  display:flex;align-items:flex-start;gap:12px;
  padding:14px 20px;border-bottom:0.5px solid var(--bd);font-size:var(--fs-md);
  min-height:77px;
}
.contrast-row:last-child{border-bottom:none}
.contrast-row.theirs{color:var(--t3)}
/* P0-1: stronger ❌ / ✓ markers. Enlarged for visual punch. */
.contrast-row.theirs::before{
  content:'\2716';color:var(--red);font-family:var(--mono);font-size:var(--fs-xl);
  flex-shrink:0;margin-top:1px;line-height:1;font-weight:900;
}
.contrast-row.ours{color:var(--t2);box-shadow:inset 3px 0 0 var(--grn);background:var(--grn-a10)}
.contrast-row.ours::before{
  content:'\2714';color:var(--grn);font-family:var(--mono);font-size:var(--fs-xl);
  flex-shrink:0;margin-top:1px;line-height:1;font-weight:900;
}
/* P0-2: bold headline + small sub format inside each row (was full sentence). */
.contrast-row .row-head{display:block;font-weight:600;color:inherit;font-size:var(--fs-md);margin-bottom:3px}
.contrast-row.theirs .row-head{color:var(--t2)}
.contrast-row.ours .row-head{color:var(--t1)}
.contrast-row .row-sub{display:block;font-size:var(--fs-xs);color:var(--t3);line-height:1.55;margin-top:2px}
/* P1-4: showcase rows — visually elevate the 2 most important differences. */
.contrast-row.showcase{background:linear-gradient(180deg,transparent,var(--bg1) 80%);position:relative}
.contrast-row.showcase.ours{background:linear-gradient(180deg,transparent,var(--grn-a20) 80%)}
.contrast-row.showcase::after{
  content:'KEY';position:absolute;top:6px;right:8px;
  font-family:var(--mono);font-size:9px;letter-spacing:1px;
  color:var(--blu);background:var(--bg0);padding:1px 6px;border-radius:3px;border:0.5px solid var(--blu-a25);
}

/* P2-6: Timeline diagram below the table — visualizes "事後 vs 介入前" timing. */
.contrast-timeline{
  max-width:880px;margin:48px auto 0;padding:24px;
  background:linear-gradient(180deg,var(--bg1),var(--bg2));
  border:0.5px solid var(--bd);border-radius:var(--radius-lg);
}
.contrast-timeline-caption{
  text-align:center;font-family:var(--mono);font-size:var(--fs-xs);
  color:var(--t3);letter-spacing:0.5px;margin-bottom:14px;
}
.contrast-timeline svg{display:block;width:100%;height:auto;max-width:840px;margin:0 auto}

/* ── HOW IT WORKS ── */
#how{background:var(--bg0)}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}
.step{
  padding:32px 28px;border:0.5px solid var(--bd);background:var(--bg2);
  position:relative;transition:border-color .3s;
}
.step:first-child{border-radius:var(--radius-lg) 0 0 var(--radius-lg)}
.step:last-child{border-radius:0 var(--radius-lg) var(--radius-lg) 0}
.step:hover{border-color:var(--t3)}
.step-num{font-family:var(--mono);font-size:var(--fs-sm);color:var(--t3);margin-bottom:20px;letter-spacing:1px}
.step-icon{width:48px;height:48px;border-radius:var(--radius-md);border:0.5px solid var(--bd);display:flex;align-items:center;justify-content:center;font-size:var(--fs-h3);margin-bottom:16px;background:var(--bg3)}
.step h3{font-size:var(--fs-xl);font-weight:600;margin-bottom:10px}
.step p{font-size:var(--fs-md);color:var(--t2);line-height:1.8;font-weight:400}
.step-time{margin-top:14px;font-family:var(--mono);font-size:var(--fs-sm);color:var(--grn);letter-spacing:0.5px}

/* monitor vs train callout */
.monitor-train-note{
  margin-top:28px;padding:16px 20px;
  border-radius:var(--radius-md);border:0.5px solid var(--bd);
  background:var(--bg2);
  display:flex;align-items:center;gap:20px;flex-wrap:wrap;
}
.mtn-item{font-size:var(--fs-sm);color:var(--t2);display:flex;align-items:center;gap:8px}
.mtn-label{font-family:var(--mono);font-size:var(--fs-xs);letter-spacing:0.5px;padding:2px 8px;border-radius:var(--radius-sm)}
.mtn-axiom{background:var(--grn-a10);color:var(--grn)}
.mtn-spacer{flex:1}
.mtn-note{font-size:var(--fs-xs);color:var(--t3)}
.mtn-note strong{color:var(--t1)}

/* ── WHY AXIOM (4 reasons + PVT lineage) ── */
#why{background:var(--bg0);position:relative;overflow:hidden}
#why::before{
  content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);
  width:720px;height:360px;
  background:radial-gradient(ellipse,var(--pur-a10) 0%,transparent 70%);
  pointer-events:none;z-index:0;
}
#why .container{position:relative;z-index:1}
.why-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:16px;
  margin-bottom:48px;
}
.why-card{
  padding:28px 26px;
  background:var(--bg2);
  border:1px solid var(--bg3);
  border-radius:var(--radius-lg);
  display:flex;flex-direction:column;gap:10px;
  position:relative;
  transition:border-color .2s,transform .2s;
}
.why-card:hover{border-color:var(--bd);transform:translateY(-2px)}
.why-card-head{display:flex;align-items:center;gap:12px;margin-bottom:4px}
.why-num{
  font-family:var(--mono);font-size:var(--fs-xs);letter-spacing:2px;
  color:var(--t3);
}
.why-icon{
  width:40px;height:40px;border-radius:var(--radius-md);
  display:flex;align-items:center;justify-content:center;
  border:0.5px solid var(--bd);background:var(--bg3);
  flex-shrink:0;
}
.why-icon-blu{color:var(--blu);background:var(--blu-a08)}
.why-icon-grn{color:var(--grn);background:var(--grn-a08)}
.why-icon-pur{color:var(--pur);background:var(--pur-a10)}
.why-icon-yel{color:var(--yel);background:var(--yel-a10)}
.why-h3{
  font-family:var(--display);font-size:var(--fs-xl);
  font-weight:700;letter-spacing:-0.01em;line-height:1.35;
  color:var(--t1);
}
.why-body{
  font-size:var(--fs-md);color:var(--t2);
  line-height:1.8;font-weight:400;
}
.why-body strong{color:var(--t1);font-weight:500}

/* PVT lineage compare strip */
.pvt-compare{
  padding:32px 28px;
  background:var(--bg1);
  border:0.5px solid var(--bd);
  border-radius:var(--radius-lg);
}
.pvt-compare-header{
  text-align:center;margin-bottom:24px;
  max-width:680px;margin-left:auto;margin-right:auto;
}
.pvt-compare-header .sect-eyebrow{margin-bottom:10px}
.pvt-compare-title{
  font-family:var(--display);font-size:clamp(20px,2.6vw,26px);
  font-weight:700;letter-spacing:-0.01em;line-height:1.3;margin-bottom:10px;
  color:var(--t1);
}
.pvt-compare-intro{
  font-size:var(--fs-md);color:var(--t2);line-height:1.8;
}
.pvt-compare-intro strong{color:var(--t1);font-weight:500}
.pvt-compare-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:1px;
  background:var(--bd);border-radius:var(--radius-md);overflow:hidden;
  border:0.5px solid var(--bd);
}
.pvt-col{background:var(--bg2);padding:0;display:flex;flex-direction:column}
.pvt-col-header{
  padding:14px 20px;
  font-family:var(--mono);font-size:var(--fs-sm);letter-spacing:1px;
  font-weight:600;text-transform:uppercase;
  background:var(--bg3);border-bottom:0.5px solid var(--bd);
}
.pvt-col-them .pvt-col-header{color:var(--t3)}
.pvt-col-us .pvt-col-header{color:var(--blu);background:var(--blu-a08)}
.pvt-row{
  padding:14px 20px;
  border-bottom:0.5px solid var(--bg3);
  display:flex;flex-direction:column;gap:4px;
  flex:1;
}
.pvt-row:last-child{border-bottom:none}
.pvt-row-label{
  font-family:var(--mono);font-size:var(--fs-xs);color:var(--t3);
  letter-spacing:0.5px;
}
.pvt-col-them .pvt-row-val{font-size:var(--fs-sm);color:var(--t3);line-height:1.6}
.pvt-col-us .pvt-row-val{font-size:var(--fs-sm);color:var(--t2);line-height:1.6}
.pvt-col-us .pvt-row-val strong{color:var(--t1);font-weight:500}
.pvt-compare-footnote{
  margin-top:16px;text-align:center;
  font-family:var(--mono);font-size:var(--fs-xs);color:var(--t3);
  letter-spacing:0.3px;line-height:1.7;
}
.pvt-compare-footnote a{color:var(--t2);text-decoration:underline;text-decoration-color:var(--bd)}
.pvt-compare-footnote a:hover{color:var(--t1);text-decoration-color:var(--blu)}

/* ── STATS ── */
#stats{position:relative;overflow:hidden}
#stats::before{
  content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:600px;height:300px;
  background:radial-gradient(ellipse,var(--grn-a06) 0%,transparent 70%);
  pointer-events:none;
}
.stats-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:1px;
  background:var(--bd);border-radius:var(--radius-lg);overflow:hidden;border:0.5px solid var(--bd);
}
.stat-block{padding:36px 24px;background:var(--bg1);text-align:center}
.stat-val{font-family:var(--mono);font-size:var(--fs-display-lg);font-weight:500;color:var(--t1);line-height:1;margin-bottom:6px}
.stat-val span{font-size:var(--fs-h3);color:var(--grn)}
.stat-label{font-size:var(--fs-md);color:var(--t2);font-weight:400}
.stat-sub{font-family:var(--mono);font-size:var(--fs-xs);color:var(--t3);margin-top:6px;letter-spacing:0.3px}

/* ── FEATURES ── */
#features{background:var(--bg1)}
.features-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:16px;
  background:transparent;border:none;
  margin-bottom:16px;
}
.feat{
  padding:28px 26px;
  background:var(--bg2);
  border:1px solid var(--bg3);
  border-radius:var(--radius-lg);
  transition:background .2s,border-color .2s;
}
.feat:hover{background:var(--bg3);border-color:var(--bd)}
.feat-tag{
  display:inline-flex;align-items:center;gap:6px;
  padding:3px 12px;border-radius:var(--radius-sm);font-family:var(--mono);font-size:10px;font-weight:600;
  letter-spacing:0.8px;margin-bottom:14px;
}
/* Unified tag colors (consolidated from .tag-* and .ptag-*) */
.tag{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:var(--radius-sm);font-family:var(--mono);font-size:var(--fs-xs);letter-spacing:0.5px}
.tag-grn{background:var(--grn-a10);color:var(--grn)}
.tag-blu{background:var(--blu-a10);color:var(--blu)}
.tag-yel{background:var(--yel-a10);color:var(--yel)}
.tag-org{background:var(--org-a10);color:var(--org)}
.tag-pur{background:var(--pur-a10);color:var(--pur)}
.feat h3{font-size:var(--fs-xl);font-weight:600;margin-bottom:10px}
.feat p{font-size:var(--fs-md);color:var(--t2);line-height:1.8;font-weight:400}
.feat-diff{
  margin-top:12px;padding:10px 12px;border-radius:var(--radius-sm);
  background:var(--bg3);font-size:var(--fs-sm);color:var(--t3);
  font-family:var(--mono);letter-spacing:0.3px;
}
.feat-diff em{font-style:normal;color:var(--t2)}

/* privacy block */
.privacy-block{
  padding:28px 32px;
  border:0.5px solid var(--grn-a25);border-radius:var(--radius-lg);
  background:var(--grn-a03);
  display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center;
}
.privacy-block h3{font-family:var(--display);font-size:var(--fs-xl);font-weight:600;margin-bottom:10px}
.privacy-block p{font-size:var(--fs-md);color:var(--t2);font-weight:400;line-height:1.85}
.privacy-facts{display:flex;flex-direction:column;gap:10px}
.privacy-fact{
  display:flex;align-items:flex-start;gap:10px;font-size:var(--fs-md);color:var(--t2);font-weight:400;
}
.privacy-fact::before{content:'✓';color:var(--grn);font-family:var(--mono);font-size:var(--fs-xs);flex-shrink:0;margin-top:2px}
.privacy-stat{
  display:inline-flex;align-items:center;gap:6px;
  margin-top:14px;padding:8px 12px;border-radius:var(--radius-sm);
  background:var(--grn-a08);border:0.5px solid var(--grn-a20);
  font-family:var(--mono);font-size:var(--fs-xs);color:var(--grn);letter-spacing:0.5px;
}

/* ── PLANS ── */
/* P2-H: stronger visual weight — featured plan is now visibly elevated
   (scale + translate) so the "default choice" is read first. Card padding
   bumped 26→32 for breathing room around price + features. */
#plans{}
.plans-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch}
.plan-card{
  padding:32px 26px;border-radius:var(--radius-lg);border:0.5px solid var(--bd);
  background:var(--bg2);position:relative;
  display:flex;flex-direction:column;
  transition:transform .25s ease,border-color .25s ease;
}
.plan-card:not(.featured):hover{border-color:var(--blu-a25);transform:translateY(-2px)}
.plan-card.featured{
  border:2px solid var(--blu);
  background:linear-gradient(160deg,var(--blu-a08) 0%,var(--bg2) 60%);
  box-shadow:0 12px 48px var(--blu-a25),0 0 0 1px var(--blu-a15);
  transform:translateY(-8px) scale(1.015);
  z-index:1;
}
.plan-badge{
  position:absolute;top:-1px;left:50%;transform:translateX(-50%);
  background:var(--blu);color:var(--bg0);
  font-family:var(--mono);font-size:var(--fs-xs);font-weight:600;letter-spacing:1px;
  padding:3px 12px;border-radius:0 0 var(--radius-sm) var(--radius-sm);
}
.plan-name{font-family:var(--display);font-size:var(--fs-h3);font-weight:700;letter-spacing:0.5px;margin-bottom:6px}
.plan-sub{font-size:var(--fs-xs);color:var(--t3);margin-bottom:18px}
.plan-price{font-family:var(--mono);font-size:var(--fs-price);font-weight:500;margin-bottom:2px;color:var(--t1)}
.plan-price small{font-size:var(--fs-sm);color:var(--t2)}
.plan-price-note{font-size:var(--fs-sm);color:var(--t3);margin-bottom:18px}
.plan-divider{height:0.5px;background:var(--bd);margin-bottom:18px}
.plan-features{list-style:none;display:flex;flex-direction:column;gap:8px;margin-bottom:22px;flex:1}
.plan-features li{display:flex;align-items:flex-start;gap:8px;font-size:var(--fs-sm);color:var(--t2);font-weight:400;line-height:1.6}
.plan-features li::before{content:'—';color:var(--t3);font-family:var(--mono);font-size:var(--fs-xs);flex-shrink:0}
.plan-features li.active{color:var(--t1)}
.plan-features li.active::before{content:'✓';color:var(--grn)}
.plan-features li.locked{color:var(--t3)}
.plan-features li.locked::before{content:'○';color:var(--t3)}
.plan-features li.highlight{color:var(--yel)}
.plan-features li.highlight::before{content:'★';color:var(--yel)}
.plan-cta{
  display:flex;align-items:center;justify-content:center;
  width:100%;text-align:center;box-sizing:border-box;
  height:46px;padding:0 12px;border-radius:var(--radius-sm);
  font-size:var(--fs-sm2);font-weight:600;text-decoration:none;transition:opacity .2s;
  border:1px solid transparent;
}
.plan-cta-primary,.plan-cta-secondary,.plan-cta-elite{background:var(--blu);color:var(--bg0);border:none}
.plan-cta:hover{opacity:0.85}
.plan-trial-note{text-align:center;margin-top:18px;font-size:var(--fs-sm);color:var(--t3);font-family:var(--mono);letter-spacing:0.3px}
.plan-trial-note strong{color:var(--grn)}

/* ── SCIENCE TABS ── */
#science{background:var(--bg0)}
.tab-bar{
  display:flex;gap:2px;background:var(--bg2);border:0.5px solid var(--bd);
  border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:6px;overflow-x:auto;
}
.tab-btn{
  display:flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--radius-sm);
  font-size:var(--fs-sm);color:var(--t2);cursor:pointer;white-space:nowrap;
  border:none;background:transparent;font-family:var(--body);
  transition:background .15s,color .15s;flex-shrink:0;
}
.tab-btn:hover{background:var(--bg3);color:var(--t1)}
.tab-btn.active{background:var(--bg3);color:var(--t1)}
.tab-btn .tab-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}
.tab-btn .tab-count{
  font-family:var(--mono);font-size:var(--fs-xs);background:var(--bg4);
  color:var(--t3);padding:1px 6px;border-radius:var(--radius-sm);
}
.tab-btn.active .tab-count{background:var(--blu-a12);color:var(--blu)}
.tab-panels{
  border:0.5px solid var(--bd);border-top:none;border-radius:0 0 var(--radius-lg) var(--radius-lg);
  background:var(--bg1);min-height:340px;
}
.tab-panel{display:none;padding:26px}
.tab-panel.active{display:block}
.paper-card{
  padding:18px 20px;border:0.5px solid var(--bd);border-radius:var(--radius-md);
  background:var(--bg2);margin-bottom:10px;transition:border-color .2s;position:relative;
  cursor:pointer;
}
.paper-card + .paper-card{border-top:1px solid var(--bg3);padding-top:24px;margin-top:20px}
.paper-card:hover{border-color:var(--t3)}
.paper-card:focus-visible{outline:2px solid var(--blu);outline-offset:2px}
.paper-card:last-child{margin-bottom:0}
.paper-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:0;padding-right:100px}
.paper-card.open .paper-header{margin-bottom:6px}
.paper-tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}
.paper-title{font-size:var(--fs-sm2);font-weight:500;line-height:1.5;flex:1}
.paper-year{font-family:var(--mono);font-size:var(--fs-xs);color:var(--t3);flex-shrink:0;margin-top:2px}
.paper-detail{display:none}
.paper-card.open .paper-detail{display:block}
.paper-authors{font-size:var(--fs-xs);color:var(--t3);margin-bottom:6px;font-weight:400}
.paper-journal{font-size:var(--fs-xs);color:var(--blu);font-style:italic;margin-bottom:10px}
.paper-relevance{
  font-size:var(--fs-sm);color:var(--t2);line-height:1.7;
  padding:10px 12px;background:var(--bg3);border-radius:var(--radius-sm);
  border-left:2px solid var(--bd);font-weight:400;
}
.paper-relevance strong{color:var(--t1);font-weight:500}
.paper-link{
  display:inline-flex;align-items:center;gap:4px;margin-top:10px;
  font-family:var(--mono);font-size:var(--fs-xs);color:var(--t3);text-decoration:none;transition:color .15s;
}
.paper-link:hover{color:var(--blu)}
.axiom-use{
  position:absolute;top:14px;right:14px;
  font-family:var(--mono);font-size:var(--fs-xs);letter-spacing:0.5px;
  padding:2px 8px;border-radius:var(--radius-sm);
  background:var(--grn-a08);color:var(--grn);
  border:0.5px solid var(--grn-a20);
}
.spec-card{
  padding:16px 18px;border:0.5px solid var(--bd);border-radius:var(--radius-md);
  background:var(--bg2);margin-bottom:8px;
  display:grid;grid-template-columns:160px 1fr;gap:16px;align-items:start;
}
.spec-key{font-family:var(--mono);font-size:var(--fs-sm2);color:var(--t3);padding-top:2px}
.spec-val{font-size:var(--fs-md);color:var(--t1);font-weight:400;line-height:1.7}
.spec-val small{font-size:var(--fs-sm);color:var(--t2);display:block;margin-top:3px;font-weight:400}
.panel-intro{
  font-size:var(--fs-sm);color:var(--t2);line-height:1.8;font-weight:400;
  padding:0 0 18px;border-bottom:0.5px solid var(--bd);margin-bottom:18px;
}
.panel-intro strong{color:var(--grn);font-weight:500}
.science-disclaimer{
  margin-top:14px;padding:12px 16px;border-radius:var(--radius-sm);
  background:var(--org-a05);border:0.5px solid var(--org-a20);
  font-size:var(--fs-xs);color:var(--t3);line-height:1.7;
}

/* ── FAQ ── */
#faq{background:var(--bg2)}
.faq-list{max-width:700px;margin:0 auto}
.faq-item{
  border-bottom:0.5px solid var(--bd);overflow:hidden;
}
.faq-item:first-child{border-top:0.5px solid var(--bd)}
.faq-q{
  width:100%;padding:20px 0;text-align:left;
  display:flex;align-items:center;justify-content:space-between;
  background:none;border:none;cursor:pointer;
  font-size:var(--fs-lg);font-weight:500;color:var(--t1);font-family:var(--body);
}
.faq-q .faq-icon{
  font-family:var(--mono);font-size:var(--fs-xl);color:var(--t3);
  flex-shrink:0;margin-left:16px;
}
.faq-item.open .faq-icon{color:var(--blu)}
.faq-a{
  display:none;padding-bottom:20px;
  font-size:var(--fs-md2);color:var(--t2);line-height:1.85;font-weight:400;
}
.faq-item.open .faq-a{display:block}
.faq-a strong{color:var(--t1);font-weight:500}

/* ── WAITLIST / DOWNLOAD ── */
#waitlist{background:var(--bg2);position:relative;overflow:hidden}
#waitlist::before{
  content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:700px;height:400px;
  background:radial-gradient(ellipse,var(--blu-a07) 0%,transparent 70%);
  pointer-events:none;
}
.download-inner{position:relative;z-index:1;text-align:center}
#waitlist .sect-h2{font-size:var(--fs-h2);margin-bottom:14px}
.download-desc{font-size:var(--fs-md);color:var(--t2);margin-bottom:32px;font-weight:400}
.download-btn{
  display:inline-flex;align-items:center;gap:12px;
  padding:15px 36px;border-radius:var(--radius-md);background:var(--blu);color:var(--bg0);
  font-size:var(--fs-md2);font-weight:700;text-decoration:none;
  transition:opacity .2s,transform .2s;font-family:var(--body);
  box-shadow:0 0 40px var(--blu-a20);
  border:none;cursor:pointer;
}
.download-btn:hover{opacity:0.88;transform:translateY(-2px)}
.download-btn-full{width:100%;justify-content:center}
.download-os{margin-top:12px;font-family:var(--mono);font-size:var(--fs-xs);color:var(--t3);letter-spacing:0.5px}
.download-os-waitlist{margin-top:16px}
.download-trust{display:flex;align-items:center;justify-content:center;gap:22px;flex-wrap:wrap;margin-top:14px}
.download-trust-item{font-family:var(--mono);font-size:var(--fs-xs);color:var(--t3);letter-spacing:0.3px;display:flex;align-items:center;gap:4px}
.download-trust-item span{color:var(--grn)}
.beta-flow-box{
  max-width:460px;margin:20px auto 0;
  padding:20px 24px;border-radius:var(--radius-lg);
  border:1px solid var(--bg3);background:var(--bg2);
  font-size:var(--fs-sm);color:var(--t3);line-height:1.75;text-align:left;
  border-left:3px solid var(--teal);
}
.beta-flow-box strong{color:var(--t2);display:block;margin-bottom:6px}
.beta-flow-box ol{list-style:none;padding:0;margin:10px 0 0;counter-reset:beta-step}
.beta-flow-box li{padding:6px 0 6px 32px;position:relative}
.beta-flow-box li::before{
  content:counter(beta-step);counter-increment:beta-step;
  position:absolute;left:0;top:6px;
  width:22px;height:22px;border-radius:50%;
  background:var(--teal);color:#fff;
  font-family:var(--mono);font-size:var(--fs-xs);font-weight:700;
  display:flex;align-items:center;justify-content:center;
}
.waitlist-fallback{margin-top:12px;font-size:var(--fs-xs);color:var(--t3);text-align:center}
.waitlist-fallback a{color:var(--blu);text-decoration:none}

/* ── INLINE FORM ── */
#waitlist-form{max-width:400px;margin:0 auto;display:flex;flex-direction:column;gap:10px}
#waitlist-form input,#waitlist-form select{
  padding:12px 14px;border-radius:var(--radius-md);border:0.5px solid var(--bd);
  background:var(--bg2);color:var(--t1);font-size:var(--fs-md);font-family:var(--body);
  outline:none;transition:border-color .2s;
}
#waitlist-form input:focus,#waitlist-form select:focus{border-color:var(--blu)}
#waitlist-form select{appearance:none;cursor:pointer}
#wl-success{
  display:none;
  max-width:400px;margin:16px auto 0;padding:16px 20px;border-radius:var(--radius-md);
  background:var(--grn-a08);border:0.5px solid var(--grn-a30);
  font-size:var(--fs-md);color:var(--grn);text-align:center;
}
#wl-success .wl-success-hint{font-size:var(--fs-xs);color:var(--t3);margin-top:8px}
#wl-success .wl-success-hint a{color:var(--blu)}

/* ── CTA BAND (shared mid-band CTA) ── */
.cta-band{
  padding:28px 0;
  text-align:center;
  border-top:0.5px solid var(--bd);
  border-bottom:0.5px solid var(--bd);
  background:var(--bg1);
}
.cta-band .container{
  max-width:800px;
  padding:16px 32px;
  border-radius:var(--radius-lg);
  background:var(--bg2);
  border:1px solid var(--bg3);
  display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;
}
.cta-band-text{font-size:var(--fs-md);color:var(--t2)}
.cta-band .btn-primary{padding:0 28px;height:50px;font-size:var(--fs-md)}

/* ── FOOTER ── */
footer{
  padding:28px 32px;border-top:0.5px solid var(--bd);
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;
}
.footer-logo{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--t2)}
.footer-logo-icon{
  width:22px;height:22px;border-radius:var(--radius-sm);
  background:linear-gradient(135deg,var(--blu),var(--teal));
  display:flex;align-items:center;justify-content:center;
  font-family:var(--mono);font-size:var(--fs-xs);font-weight:600;color:#fff;
}
.footer-logo span{font-family:var(--display);font-weight:800;font-size:13px;letter-spacing:2px;color:var(--t2)}
.footer-note{font-size:var(--fs-xs);color:var(--t3)}
.footer-legal{display:flex;align-items:center;gap:20px;flex-wrap:wrap;justify-content:center;margin-top:16px;padding-top:16px;border-top:0.5px solid var(--bd);width:100%}
.footer-legal a{font-size:var(--fs-xs);color:var(--t2);text-decoration:underline;text-decoration-color:var(--bd);text-underline-offset:3px;letter-spacing:0.3px;transition:color .2s,text-decoration-color .2s}
.footer-legal a:hover{color:var(--blu);text-decoration-color:var(--blu)}
.footer-disclaimer{font-size:var(--fs-xs);color:var(--t3);line-height:1.7;max-width:640px;text-align:center;margin-top:10px}

/* ── ANIMATIONS ── */
.fade-in{opacity:0;transform:translateY(20px);transition:opacity .3s ease,transform .3s ease}
.fade-in.visible{opacity:1;transform:none}

/* ── RESPONSIVE ── */
@media(max-width:760px){
  #hero{min-height:auto;padding-top:80px}
  .hero-inner{grid-template-columns:1fr;gap:40px}
  .hero-visual .mock-window{transform:scale(0.85);transform-origin:top center}
  .steps{grid-template-columns:1fr}
  .step:first-child,.step:last-child{border-radius:0}
  .step:first-child{border-radius:var(--radius-lg) var(--radius-lg) 0 0}
  .step:last-child{border-radius:0 0 var(--radius-lg) var(--radius-lg)}
  .stats-grid{grid-template-columns:1fr 1fr}
  .features-grid{grid-template-columns:1fr}
  .contrast-grid{grid-template-columns:1fr}
  .why-grid{grid-template-columns:1fr}
  .pvt-compare-grid{grid-template-columns:1fr}
  .pvt-col-them .pvt-col-header,
  .pvt-col-us .pvt-col-header{text-align:center}
  .plans-grid{grid-template-columns:1fr}
  .plan-features{min-height:auto}
  .privacy-block{grid-template-columns:1fr;gap:20px}
  .spec-card{grid-template-columns:1fr;gap:4px}
  footer{flex-direction:column;text-align:center}
  .monitor-train-note{flex-direction:column;gap:10px}
  .paper-header{flex-direction:column;align-items:flex-start;padding-right:0}
  .paper-card .axiom-use{position:static;display:inline-block;margin-bottom:8px}
  .footer-legal a,.paper-year,.os-note,.footer-disclaimer,.privacy-stat,.plan-trial-note,.download-trust-item,.footer-note{font-size:var(--fs-sm)}
}
@media(max-width:500px){
  .stats-grid{grid-template-columns:1fr}
}
@media(max-width:400px){
  .container{padding:0 16px}
  section{padding:var(--section-pad-mobile) 0}
  .hero-h1{font-size:28px}
  .hero-pills{gap:4px}
  .hero-pill{font-size:var(--fs-sm);padding:4px 10px}
  .hero-cta-row{flex-direction:column;gap:8px;align-items:stretch}
  .hero-cta-primary-wrap{width:100%}
  .btn-primary,.btn-secondary{width:100%}
  .hero-cta-row .btn-primary{width:100%;height:56px}
  .hero-cta-row .btn-secondary{width:100%;height:44px}
  .stat-val{font-size:var(--fs-display-sm)}
  .plan-card{padding:20px 16px}
  .sect-h2{font-size:var(--fs-h3)}
  nav{padding:0 16px}
  .tab-bar{flex-direction:row;overflow-x:auto;gap:4px}
  .tab-btn{min-height:44px;flex-shrink:0}
  .download-btn{font-size:var(--fs-md);padding:14px 20px}
}
/* Accessibility: focus indicators */
a:focus-visible,button:focus-visible{outline:2px solid var(--blu);outline-offset:2px;border-radius:var(--radius-sm)}
/* sr-only utility for accessible labels */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Skip-link for screen-reader/keyboard users */
.skip-link{position:absolute;left:-9999px}
.skip-link:focus{left:32px;top:10px;z-index:1000;padding:8px 16px;background:var(--blu);color:var(--bg0);border-radius:var(--radius-sm)}

/* ── B3: CTA glow pulse (Hero のみに限定) ── */
@keyframes ctaGlow{0%,100%{box-shadow:0 0 0 0 var(--blu-a40)}50%{box-shadow:0 0 20px 4px var(--blu-a15)}}
.hero-cta-row .btn-primary,#hero-waitlist-form .btn-primary{animation:ctaGlow 3s ease-in-out infinite 300ms} /* Q6 fix 2026-04-22: fade-in delay */

/* ── B5: select arrow + form validation UI ── */
#wl-role{
  appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238B8FA3' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 14px center;
  padding-right:36px;
}
#waitlist-form input:invalid:not(:placeholder-shown){border-color:var(--org)}
#waitlist-form input:valid:not(:placeholder-shown){border-color:var(--grn)}

/* ── B1: Contrast mobile (keep in sync with .contrast-grid rows above) ── */
.contrast-mobile{display:none}
@media(max-width:760px){
  .contrast-grid{display:none}
  .contrast-mobile{display:flex;flex-direction:column;gap:12px}
  .contrast-pair{border:0.5px solid var(--bd);border-radius:var(--radius-md);overflow:hidden}
  .contrast-pair-theirs{padding:12px 16px;background:var(--bg1);color:var(--t3);font-size:var(--fs-sm2);border-bottom:0.5px solid var(--bd)}
  .contrast-pair-theirs::before{content:'— ';color:var(--t3);font-family:var(--mono)}
  .contrast-pair-ours{padding:12px 16px;background:var(--grn-a04);color:var(--t2);font-size:var(--fs-sm2)}
  .contrast-pair-ours::before{content:'\2713 ';color:var(--grn);font-family:var(--mono)}
}

/* ── Hero inline waitlist form ── */
#hero-waitlist-form{display:flex;flex-direction:column;gap:10px;margin-top:24px;max-width:500px}
.hero-form-row{display:flex;gap:8px;align-items:stretch;flex-wrap:wrap}
.hero-form-row input[type=email]{
  flex:1;min-width:200px;
  padding:0 18px;height:56px;border-radius:var(--radius-md);
  background:var(--bg2);border:1px solid var(--bd);color:var(--t1);
  font-size:var(--fs-md);font-family:var(--body);outline:none;
  transition:border-color .2s;
}
.hero-form-row input[type=email]:focus{border-color:var(--blu)}
.hero-form-row .btn-primary{flex-shrink:0;height:56px}
.hero-form-caption{font-size:var(--fs-xs);color:var(--t3);line-height:1.6}
.hero-wl-success{padding:14px 18px;border-radius:var(--radius-md);background:var(--grn-a08);border:1px solid var(--grn-a20);color:var(--grn);font-size:var(--fs-sm);text-align:center}
.hero-secondary-row{margin-top:10px}
.hero-secondary-row a{font-size:var(--fs-sm);color:var(--t3);text-decoration:none;letter-spacing:0.3px;border-bottom:0.5px dashed var(--bd);padding-bottom:1px;transition:color .2s,border-color .2s}
.hero-secondary-row a:hover{color:var(--t1);border-bottom-color:var(--t2)}
@media(max-width:500px){
  .hero-form-row{flex-direction:column}
  .hero-form-row .btn-primary{width:100%}
}

/* ── C3: prefers-reduced-motion ── */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  .fade-in{opacity:1!important;transform:none!important;transition:none!important}
  .fade-in.visible{animation:none!important}
  .mock-state-dot{animation:none}
  .hero-cta-row .btn-primary,#hero-waitlist-form .btn-primary{animation:none}
  .phase-pill .pulse{animation:none}
  *{transition-duration:0.01ms!important;animation-duration:0.01ms!important}
}

/* ============================================================
   Round 7: 41項目改修 (心理/競合/FUD/モバイル/専門家)
   ============================================================ */

/* C1: Hero diff badge — "PC で今すぐ・ハードウェア不要" */
.hero-diff-badge{
  display:flex;flex-wrap:wrap;align-items:center;gap:10px;
  margin:4px 0 18px;
  font-family:var(--mono);font-size:var(--fs-sm);letter-spacing:0.3px;
  line-height:1.7;
}
.hero-diff-badge .key{color:var(--blu);font-weight:500}
.hero-diff-badge .sep{color:var(--bd)}

/* M1: Trust Bar 2 層分離 (Trust 信号 と Disclaimer 信号) */
.trust-row{
  display:flex;align-items:center;justify-content:center;
  gap:32px;flex-wrap:wrap;width:100%;
}
.trust-row + .trust-row{
  margin-top:10px;padding-top:10px;
  border-top:0.5px dashed var(--bd);
}
.trust-row.disclaimer .trust-item{
  color:var(--t3);font-size:var(--fs-xs);font-weight:400;
  /* P2-12: prevent legal disclaimer from clipping at narrow viewports.
     Allows text to wrap onto multiple lines while staying readable. */
  max-width:60ch;text-align:center;line-height:1.55;
}
@media(max-width:760px){
  .trust-row{gap:16px}
}

/* C3+H7+H8+M9: Security/Trust 新セクション */
/* P1-5: Security tier-2 (supporting block, scan-fast). 80px → 64px. */
#security{
  background:var(--bg1);padding:64px 0;
  border-top:0.5px solid var(--bd);border-bottom:0.5px solid var(--bd);
}
.security-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:14px;
  max-width:900px;margin:0 auto;
}
.security-card{
  padding:22px 24px;border-radius:var(--radius-lg);
  border:0.5px solid var(--bd);background:var(--bg2);
}
.security-card .sec-head{
  display:flex;align-items:center;gap:10px;margin-bottom:12px;
}
.security-card .sec-icon{
  display:inline-flex;align-items:center;justify-content:center;
  width:32px;height:32px;border-radius:var(--radius-sm);
  background:var(--blu-a08);color:var(--blu);flex-shrink:0;
}
.security-card h3{
  font-size:var(--fs-md2);font-weight:600;color:var(--t1);
  font-family:var(--body);
}
.security-card p{
  font-size:var(--fs-sm);color:var(--t2);line-height:1.75;font-weight:400;
}
.security-card .sec-tag{
  display:inline-block;margin-top:8px;
  font-family:var(--mono);font-size:var(--fs-xs);letter-spacing:0.5px;
  padding:2px 8px;border-radius:var(--radius-sm);
  background:var(--grn-a08);color:var(--grn);
}
.security-card .sec-tag.warn{background:var(--org-a06);color:var(--org)}
@media(max-width:760px){
  .security-grid{grid-template-columns:1fr}
}

/* C4: Plans 参考指標バッジ */
.plan-disclaimer-badge{
  display:flex;align-items:center;justify-content:center;
  margin-top:14px;padding:8px 10px;
  font-family:var(--mono);font-size:var(--fs-xs);color:var(--t3);
  border-top:0.5px dashed var(--bd);
  letter-spacing:0.3px;text-align:center;line-height:1.5;
}

/* H10: Hero モック モバイル — scale 削除、max-width で制約 */
@media(max-width:760px){
  .hero-visual .mock-window{
    transform:none;
    max-width:360px;
    margin:0 auto;
  }
}

/* H9: モバイル CTA gap 拡大 (誤タップ防止) */
@media(max-width:500px){
  .hero-form-row{gap:14px}
}

/* M11: Waitlist フォーム min-height:48px (WCAG) */
#waitlist-form input,#waitlist-form select{min-height:48px}

/* M12: Tab Bar mobile padding 圧縮 (横スクロール解消) */
@media(max-width:400px){
  .tab-btn{padding:8px 10px;font-size:var(--fs-xs);min-height:48px}
  .tab-btn .tab-count{display:none}
}

/* R8-H1: Tab Bar touch target 48px 保証 (デスクトップ/タブレット幅でも) */
.tab-btn{min-height:48px}

/* R8-L10: phase-pill pulse 固定幅 (CLS 予防) */
.phase-pill .pulse{width:8px;height:8px;flex-shrink:0}

/* M13: CTA Band mobile column (片手操作対応) */
@media(max-width:500px){
  .cta-band .container{flex-direction:column;gap:14px}
  .cta-band .btn-primary{width:100%}
}

/* L4: Hamburger 48x48 (タッチターゲット強化) */
.nav-hamburger{min-width:48px;min-height:48px;padding:12px 14px}

/* L5: Footer mobile 余白拡大 */
@media(max-width:760px){
  .footer-legal{gap:24px;line-height:1.7}
}

/* H4-H6: Contrast row 強化用サブテキスト */
.contrast-row .row-sub{
  display:block;font-size:var(--fs-xs);color:var(--t3);
  margin-top:6px;font-weight:400;line-height:1.5;
}
.contrast-pair-theirs .row-sub,.contrast-pair-ours .row-sub{
  display:block;font-size:var(--fs-xs);color:var(--t3);
  margin-top:4px;
}

/* B1: Phase 1 status pill (50名枠 → 時間アンカーなし、ステータス表示) */
.phase-pill{
  display:inline-flex;align-items:center;gap:8px;
  padding:6px 14px;border-radius:var(--radius-sm);
  background:var(--grn-a08);border:0.5px solid var(--grn-a25);
  font-family:var(--mono);font-size:var(--fs-xs);color:var(--grn);
  letter-spacing:0.5px;margin-bottom:18px;
}
.phase-pill .pulse{
  width:8px;height:8px;border-radius:50%;background:var(--grn);
  box-shadow:0 0 6px var(--grn);animation:pulse 2s infinite;
}
