/* ============================================================
   RenRaku — Landing Page (v2: matches real product visual)
   ============================================================ */

:root{
  /* Base palette */
  --bg: #faf8f3;
  --bg-2: #ffffff;
  --bg-3: #f4f1ea;
  --ink: #1a2040;
  --ink-2: #4a5380;
  --muted: #8088a8;
  --line: #ece9df;
  --line-2: #f4f1e8;

  /* Brand — navy / blue (matched to real product) */
  --lavender: #bfcfff;
  --lavender-2: #e8eeff;
  --lavender-deep: #1e40af;
  --lavender-btn: #2563eb;
  --teal: #93c5fd;
  --teal-deep: #1e3a8a;
  --teal-soft: #dbeafe;

  --accent: #2563eb;
  --accent-ink: #1e3a8a;

  /* Navy gradient (same as product) */
  --navy-gradient: linear-gradient(135deg, #0f1629 0%, #1e3a8a 25%, #1e40af 60%, #2563eb 100%);

  /* Tag palette (matched to real product) */
  --tag-green: #3fbe82;
  --tag-green-soft: #d2efe0;
  --tag-yellow: #efbe42;
  --tag-yellow-soft: #f9e8b6;
  --tag-pink: #e76d96;
  --tag-pink-soft: #fad0df;
  --tag-blue: #4fa9e8;
  --tag-blue-soft: #cee6f8;
  --tag-orange: #e6915a;
  --tag-orange-soft: #f8d8be;
  --tag-red: #d94a3c;
  --tag-red-soft: #f6cec8;

  --shadow-sm: 0 1px 2px rgba(26,32,64,.05), 0 1px 1px rgba(26,32,64,.03);
  --shadow-md: 0 12px 32px -14px rgba(26,32,64,.16), 0 2px 6px rgba(26,32,64,.04);
  --shadow-lg: 0 50px 90px -40px rgba(60,76,160,.30), 0 16px 32px -16px rgba(26,32,64,.14);

  --radius: 14px;
  --radius-sm: 10px;
  --radius-lg: 24px;
  --font: "Noto Sans JP", system-ui, -apple-system, "Hiragino Kaku Gothic ProN", sans-serif;
  --mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:var(--font);
  font-feature-settings:"palt";
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  line-height:1.7;
}
a{color:inherit;text-decoration:none}
img,svg{display:block;max-width:100%}
button{font:inherit;cursor:pointer;border:0;background:none;padding:0;color:inherit}

.wrap{max-width:1240px;margin:0 auto;padding:0 28px}

/* ============================================================
   Brand mark (recreated from real product icon)
   ============================================================ */
.logo-mark{
  width:38px;height:38px;border-radius:12px;
  background:var(--navy-gradient);
  position:relative;overflow:hidden;
  flex-shrink:0;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.25);
}
.logo-mark::before{
  content:"";position:absolute;
  top:6px;left:6px;width:12px;height:12px;
  border-radius:50%;background:rgba(255,255,255,.9);
}
.logo-mark::after{
  content:"";position:absolute;
  bottom:0;left:0;right:0;height:60%;
  background:
    linear-gradient(135deg, transparent 38%, rgba(255,255,255,.3) 38% 50%, transparent 50% 60%, rgba(255,255,255,.2) 60% 76%, transparent 76%);
}
.logo-mark--sm{width:30px;height:30px;border-radius:9px}
.logo-mark--sm::before{top:5px;left:5px;width:9px;height:9px}

.wordmark{
  display:flex;flex-direction:column;
  line-height:.95;letter-spacing:.005em;
  font-weight:800;color:var(--ink);
}
.wordmark span:first-child{font-size:14px}
.wordmark span:last-child{font-size:14px}

/* ============================================================
   Buttons
   ============================================================ */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  height:48px;padding:0 22px;
  border-radius:999px;
  font-weight:600;font-size:15px;
  border:1px solid transparent;
  transition:transform .15s ease, background .15s ease, border-color .15s ease, box-shadow .15s ease;
  white-space:nowrap;cursor:pointer;
}
.btn--sm{height:38px;padding:0 16px;font-size:13.5px}
.btn--primary{
  background:var(--navy-gradient);color:#fff;
  box-shadow:0 6px 18px -6px rgba(30,58,138,.5);
}
.btn--primary:hover{transform:translateY(-1px);box-shadow:0 10px 24px -8px rgba(30,58,138,.6)}
.btn--ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.btn--ghost:hover{border-color:var(--ink);background:#fff}
.btn--lavender{background:var(--lavender);color:var(--lavender-deep);font-weight:700}
.btn--lavender:hover{background:#cbd2f3}
.link-quiet{font-size:14px;color:var(--ink-2)}
.link-quiet:hover{color:var(--ink)}

/* ============================================================
   Nav
   ============================================================ */
.nav{
  position:sticky;top:0;z-index:20;
  background:rgba(250,248,243,.85);
  backdrop-filter:saturate(150%) blur(12px);
}
.nav__inner{display:flex;align-items:center;gap:32px;height:76px}
.brand{display:flex;align-items:center;gap:11px}
.nav__links{display:flex;gap:30px;margin-left:24px;flex:1}
.nav__links a{font-size:14.5px;color:var(--ink-2);font-weight:500}
.nav__links a:hover{color:var(--ink)}
.nav__cta{display:flex;align-items:center;gap:18px}

/* ============================================================
   Section heads
   ============================================================ */
.section-head{max-width:760px;margin:0 auto 56px;text-align:center}
.section-head--left{text-align:left;margin-left:0}
#security,#plan-comparison{scroll-margin-top:92px}
.kicker{
  display:inline-flex;align-items:center;gap:8px;
  font-size:12px;letter-spacing:.16em;text-transform:uppercase;
  font-weight:700;color:var(--lavender-deep);
  background:var(--lavender-2);
  padding:6px 14px;border-radius:999px;
  margin-bottom:18px;
}
.kicker::before{
  content:"";width:6px;height:6px;border-radius:50%;
  background:var(--lavender-deep);
}
.h1{
  font-size:clamp(40px, 5.4vw, 68px);
  line-height:1.16;letter-spacing:-.018em;
  font-weight:800;margin:0 0 24px;text-wrap:balance;
}
.h1__hl{
  background:linear-gradient(180deg, transparent 62%, #bfcfff 62%);
  padding:0 4px;
}
.h2{
  font-size:clamp(30px, 3.4vw, 42px);
  line-height:1.22;letter-spacing:-.012em;
  font-weight:800;margin:0 0 18px;text-wrap:balance;
}
.lede{
  font-size:17px;color:var(--ink-2);
  margin:0 0 32px;max-width:540px;text-wrap:pretty;
}
.lede--center{margin-left:auto;margin-right:auto;text-align:center}

/* ============================================================
   Hero
   ============================================================ */
.hero{
  position:relative;
  padding-top:48px;
  overflow:visible;
  background:
    radial-gradient(70% 80% at 100% 0%, rgba(191,207,255,.45), transparent 60%),
    radial-gradient(60% 70% at 0% 30%, rgba(219,234,254,.5), transparent 60%);
}
.hero__inner{
  display:grid;grid-template-columns:minmax(0, .88fr) minmax(0, 1.12fr);
  gap:40px;align-items:center;
  padding-block:32px 88px;
  overflow:visible;
}
.eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-size:13px;color:var(--ink-2);
  background:#fff;border:1px solid var(--line);
  padding:7px 14px;border-radius:999px;
  box-shadow:var(--shadow-sm);
  margin-bottom:24px;
}
.eyebrow .dot{
  width:7px;height:7px;border-radius:50%;
  background:var(--tag-green);
  box-shadow:0 0 0 4px var(--tag-green-soft);
}
.hero__actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:36px}
.hero__meta{
  list-style:none;margin:0;padding:0;
  display:flex;gap:36px;flex-wrap:wrap;
  font-size:13px;color:var(--muted);
}
.hero__meta strong{display:block;color:var(--ink);font-size:18px;font-weight:700;margin-bottom:2px}

.hero__mock{
  position:relative;
  perspective:1400px;
  margin-right:-60px;
  margin-bottom:-30px;
}
.hero__mock::after{
  content:"";
  position:absolute;
  bottom:-10px;left:10%;right:10%;
  height:60px;
  background:radial-gradient(ellipse, rgba(30,58,138,.18), transparent 70%);
  filter:blur(18px);
  z-index:-1;
}
.hero__screenshot{
  border-radius:12px;
  overflow:hidden;
  box-shadow:
    0 30px 70px -14px rgba(15,22,41,.38),
    0 10px 28px -8px rgba(30,58,138,.22),
    0 0 0 1px rgba(30,64,175,.06);
  transform:rotateY(-6deg) rotateX(2deg) scale(1.02);
  transform-origin:center right;
  transition:transform .6s cubic-bezier(.22,1,.36,1), box-shadow .6s ease;
}
.hero__screenshot:hover{
  transform:rotateY(-2deg) rotateX(1deg) scale(1.04);
  box-shadow:
    0 40px 90px -18px rgba(15,22,41,.42),
    0 14px 36px -8px rgba(30,58,138,.28),
    0 0 0 1px rgba(30,64,175,.1);
}
.hero__browser-bar{
  display:flex;align-items:center;gap:7px;
  padding:12px 16px;
  background:linear-gradient(180deg,#f8fafc,#eef1f6);
  border-bottom:1px solid #e2e8f0;
}
.hero__dot{
  width:10px;height:10px;border-radius:50%;
  background:#d1d5db;
}
.hero__dot:first-child{background:#f87171}
.hero__dot:nth-child(2){background:#fbbf24}
.hero__dot:nth-child(3){background:#34d399}
.hero__url{
  margin-left:16px;flex:1;text-align:center;
  font-size:12px;font-weight:500;color:#94a3b8;
  background:#fff;border:1px solid #e2e8f0;
  padding:5px 20px;border-radius:8px;
  font-family:var(--mono);letter-spacing:.03em;
}
.hero__screenshot img{
  display:block;
  width:100%;
  height:auto;
}

/* ============================================================
   Hero App Mock — built at real-app proportions, scaled via zoom
   ============================================================ */
.hmock{
  font-size:12.5px;background:#fff;line-height:1.4;
  overflow:hidden;border-radius:0 0 16px 16px;
  zoom:.52;
}

/* ── Top bar ── */
.hmock__top{
  display:flex;align-items:center;gap:10px;
  padding:10px 18px;
  background:var(--navy-gradient);
}
.hmock__logo{display:flex;align-items:center;gap:8px}
.hmock__logoimg{
  width:115px;height:46px;
  background:url(renrakulogo.png) left center / contain no-repeat;
  flex-shrink:0;display:block;
}
.hmock__all{
  font-size:8.5px;font-weight:800;color:rgba(255,255,255,.6);
  letter-spacing:.1em;margin-top:1px;
}
.hmock__topsp{flex:1}
.hmock__topbtn{
  width:36px;height:36px;border-radius:11px;
  background:rgba(255,255,255,.12);color:rgba(255,255,255,.85);
  display:grid;place-items:center;font-size:16px;flex-shrink:0;
}
.hmock__topbtn--accent{
  width:auto;padding:0 14px;font-size:12px;font-weight:700;
  background:rgba(255,255,255,.22);color:#fff;gap:6px;
  display:inline-flex;align-items:center;
}

/* ── Body grid ── */
.hmock__body{
  display:grid;
  grid-template-columns:54px minmax(0,1fr) minmax(0,1.1fr) 260px;
  height:680px;
  font-size:12.5px;
}

/* ── Left rail ── */
.hmock__rail{
  background:linear-gradient(180deg,#0f1629 0%,#1e3a8a 100%);
  display:flex;flex-direction:column;gap:10px;
  padding:8px 0;align-items:center;
  justify-content:flex-start;
}
.hmock__ri{
  position:relative;width:36px;height:36px;border-radius:10px;
  display:grid;place-items:center;
  font-size:15px;font-weight:800;color:#1e3a8a;
  background:#fff;
}
.hmock__ri--active{
  background:#fff;color:#1e3a8a;
  box-shadow:0 0 0 2.5px rgba(37,99,235,.6);
}
.hmock__ri--active::before{
  content:none;
}
.hmock__ri em{
  position:absolute;top:-4px;right:-6px;
  background:#dc4838;color:#fff;
  font-size:9.5px;font-weight:700;font-style:normal;
  padding:0;min-width:17px;height:17px;
  border-radius:50%;display:grid;place-items:center;
  font-family:var(--mono);border:1.5px solid #fff;
}

/* ── Room list ── */
.hmock__rooms{
  overflow:hidden;background:#ffffff;
  padding:10px 8px 0;
  border-right:1px solid #e5e3dc;
}
.hmock__search{
  padding:9px 16px;margin:0 4px 8px;
  background:#fff;border:0;border-radius:24px;
  font-size:12px;color:#9aa3c4;
  display:flex;align-items:center;gap:8px;
  box-shadow:var(--shadow-sm);
}
.hmock__room{
  display:grid;grid-template-columns:42px 1fr auto;
  gap:10px;padding:12px 14px;
  align-items:flex-start;position:relative;
}
.hmock__room--card{
  background:#fff;border:0;
  border-radius:14px;margin:0 4px 8px;
  box-shadow:var(--shadow-sm);
}
.hmock__room--selected{background:#fefce7}
.hmock__room--new{background:#f4e9f7}
.hmock__room--cream{background:#fefce7}

/* ── Avatar + channel badge ── */
.hmock__ravwrap{position:relative;width:42px;height:42px;flex-shrink:0}
.hmock__rav{
  width:42px;height:42px;border-radius:50%;
  background:radial-gradient(circle at 50% 35%, #f3c194 0%, #d6996c 70%, #b27c52 100%);
  overflow:hidden;position:relative;
}
.hmock__rav::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(circle at 50% 28%, transparent 38%, #4a3220 42%, #4a3220 55%, transparent 56%),
    linear-gradient(180deg, transparent 0%, transparent 25%, #5a3d28 30%, transparent 80%);
  mix-blend-mode:multiply;
}
.hmock__rav::after{
  content:"";position:absolute;
  left:-2px;right:-2px;bottom:-2px;height:38%;
  background:radial-gradient(ellipse 60% 100% at 50% 100%, #5a3d28 0%, #5a3d28 50%, transparent 70%);
}
/* ── Avatar variants: colored initial circles (distinct per user) ── */
.hmock__rav-ini{
  position:absolute;inset:0;
  display:grid;place-items:center;
  font-size:20px;font-weight:700;color:#fff;
  z-index:2;line-height:1;
  letter-spacing:0;
}
/* B: pink (鈴木花子) */
.hmock__rav--b{background:#e85d8a}
.hmock__rav--b::before,.hmock__rav--b::after{display:none}
/* C: teal (佐藤美咲) */
.hmock__rav--c{background:#38a89a}
.hmock__rav--c::before,.hmock__rav--c::after{display:none}
/* D: orange (高橋健太) */
.hmock__rav--d{background:#e88a4a}
.hmock__rav--d::before,.hmock__rav--d::after{display:none}
/* E: purple (渡辺翔太) */
.hmock__rav--e{background:#7c6de8}
.hmock__rav--e::before,.hmock__rav--e::after{display:none}

.hmock__ch{
  position:absolute;left:38px;top:38px;
  width:18px;height:18px;border-radius:50%;
  border:2px solid #fff;
  display:grid;place-items:center;
  font-size:9px;font-weight:800;color:#fff;font-family:var(--mono);
  z-index:1;line-height:1;
}
.hmock__ch--line{background:#06c755}

/* ── Mail icon (blue rounded square with SVG envelope) ── */
.hmock__ravwrap--mail{width:42px;height:42px}
.hmock__mailicon{
  width:42px;height:42px;border-radius:9px;
  background:#5da3e8;
  display:grid;place-items:center;
  font-size:0;color:#fff;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><rect x='4' y='7' width='16' height='12' rx='1.5' fill='none' stroke='white' stroke-width='1.8'/><path d='M5 8.5l7 5 7-5' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  background-repeat:no-repeat;
  background-position:center;
  background-size:26px 26px;
}

/* ── Room content ── */
.hmock__rmain{display:flex;flex-direction:column;gap:2px;min-width:0;padding-top:2px}
.hmock__rname{
  font-size:13px;font-weight:700;color:var(--ink);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4;
}
.hmock__rid{font-size:11px;color:var(--muted);font-weight:400;margin-left:2px}
.hmock__rprev{
  font-size:13px;color:var(--ink);font-weight:600;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  margin-top:2px;line-height:1.4;
}
.hmock__rtags{display:flex;gap:4px;flex-wrap:wrap;margin-top:8px}
.hmock__rtags .tag{font-size:10.5px;padding:3px 10px;border-radius:14px}
.hmock__rmenu{
  position:absolute;top:8px;right:10px;
  color:#9aa3c4;font-size:16px;font-weight:700;letter-spacing:1px;line-height:1;
}

/* ── Room status ── */
.hmock__rstatus{
  display:flex;flex-direction:column;align-items:flex-end;gap:4px;
  position:absolute;bottom:10px;right:14px;
}
.hmock__badge-unreplied{
  font-size:10px;font-weight:600;color:#9a3a5e;
  background:#f5dfea;padding:3px 9px;border-radius:14px;
}
.hmock__badge-action{
  font-size:10px;font-weight:600;color:#86460a;
  background:#fad9c2;padding:3px 9px;border-radius:14px;
}
.hmock__time{font-size:10px;color:var(--muted);font-family:var(--mono);margin-top:2px}

/* ── Chat (blue gradient) ── */
.hmock__chat{
  display:flex;flex-direction:column;
  background:linear-gradient(180deg, #e7f1fb 0%, #e0ecf8 100%);
  overflow:hidden;min-height:0;
}
.hmock__chathead{
  display:flex;align-items:center;gap:10px;
  padding:10px 14px;background:#fff;
  margin:10px 14px 0;border-radius:30px;
  box-shadow:0 1px 3px rgba(0,0,0,.05);
  font-size:12px;overflow:hidden;flex-wrap:nowrap;
}
.hmock__chatdot{
  width:22px;height:22px;border-radius:50%;
  background:#06c755;flex-shrink:0;
}
.hmock__chathead b{font-size:13px;font-weight:700;white-space:nowrap;flex-shrink:0}
.hmock__chathead-sp{flex:1}
.hmock__chathead-btn{
  background:#fff;color:#1e40af;
  padding:5px 11px;border-radius:14px;font-size:10.5px;font-weight:600;
  display:inline-flex;align-items:center;gap:4px;
  border:1px solid #d0d6e8;white-space:nowrap;flex-shrink:0;
}

/* ── Messages ── */
.hmock__messages{
  flex:1;padding:14px 16px;
  display:flex;flex-direction:column;gap:14px;
  overflow:hidden;min-height:0;
}
.hmock__msgdate{font-size:11px;font-weight:600;color:#1e40af;padding:2px 0}
.hmock__msg{display:flex;gap:8px;align-items:flex-end;max-width:78%}
.hmock__msg--me{align-self:flex-end;flex-direction:row-reverse}
.hmock__msgav{
  width:30px;height:30px;border-radius:50%;
  background:radial-gradient(circle at 50% 35%, #f3c194 0%, #d6996c 70%, #b27c52 100%);
  flex-shrink:0;overflow:hidden;position:relative;
}
.hmock__msgav::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(circle at 50% 28%, transparent 38%, #4a3220 42%, #4a3220 55%, transparent 56%);
  mix-blend-mode:multiply;
}
.hmock__bubble{
  padding:10px 14px;border-radius:18px;border-top-left-radius:6px;
  background:#fff;font-size:12px;line-height:1.6;
  color:var(--ink);box-shadow:0 1px 2px rgba(0,0,0,.05);
}
.hmock__msg--me .hmock__bubble{
  background:#316de8;color:#fff;
  border-radius:18px;border-top-right-radius:6px;
  box-shadow:0 1px 2px rgba(49,109,232,.3);
}
.hmock__msgtime{
  font-size:10px;color:#1e40af;font-family:var(--mono);
  align-self:flex-end;font-weight:500;
}

/* ── Route + Compose (floating pills) ── */
.hmock__route{
  background:#fff;margin:8px 14px 6px;
  padding:7px 14px;border-radius:18px;
  font-size:11.5px;color:var(--ink);font-weight:500;
  display:inline-flex;align-items:center;gap:6px;
  box-shadow:0 1px 3px rgba(0,0,0,.05);align-self:flex-start;
}
.hmock__route span{color:#9aa3c4}
.hmock__compose{
  background:#fff;padding:8px 12px;
  display:flex;align-items:center;gap:8px;
  margin:0 14px 12px;border-radius:18px;
  box-shadow:0 1px 3px rgba(0,0,0,.05);
}
.hmock__attach{
  width:28px;height:28px;color:#9aa3c4;font-size:14px;
  display:grid;place-items:center;flex-shrink:0;
}
.hmock__composeinput{
  flex:1;border:0;padding:7px 12px;font-size:11.5px;color:#9aa3c4;
}
.hmock__aibtn{
  width:32px;height:32px;border-radius:50%;
  background:radial-gradient(circle at 30% 30%, #6aa6ff, #3d8aff 70%);
  color:#fff;display:grid;place-items:center;font-size:13px;flex-shrink:0;
  box-shadow:0 2px 6px rgba(61,138,255,.4);
}
.hmock__sendbtn{
  width:32px;height:32px;border-radius:50%;
  background:#3ebf82;color:#fff;
  display:grid;place-items:center;font-size:13px;flex-shrink:0;
  box-shadow:0 2px 6px rgba(62,191,130,.35);
}

/* ── Right panel ── */
.hmock__right{
  background:#fff;padding:0;overflow-y:auto;overflow-x:hidden;
  display:flex;flex-direction:column;
  border-left:1px solid #e5e7eb;
}

/* Panel sections (ルーム選択, タグ) */
.hmock__rpanel{
  display:flex;flex-direction:column;gap:8px;
  padding:12px 14px;
  border-bottom:1px solid #f0f0f0;
}
.hmock__rhead{
  display:flex;align-items:center;gap:6px;
  font-size:13px;color:var(--ink);font-weight:700;white-space:nowrap;
}
.hmock__rhead--sub{font-size:12px;margin-top:4px}
.hmock__ricon{flex-shrink:0;color:#6b7280;fill:currentColor}
.hmock__rchev{color:#9ca3af;font-size:11px;margin-left:1px}
.hmock__gear{margin-left:auto;color:#9ca3af;display:flex;align-items:center}
.hmock__rselect{
  background:#fff;border:1px solid #e5e7eb;
  border-radius:24px;padding:8px 12px;
  font-size:11.5px;color:var(--ink);font-weight:500;
  display:flex;justify-content:space-between;align-items:center;
}
.hmock__rselect span{color:#9ca3af;font-size:10px}
.hmock__rsearch{
  background:#fff;border:1px solid #e5e7eb;
  border-radius:24px;padding:7px 12px;
  font-size:11px;color:#9ca3af;display:flex;align-items:center;gap:6px;
}

/* Tag box (設定済みタグ) */
.hmock__rtagbox{
  border:2.5px solid #5dc18e;background:#fff;
  border-radius:12px;padding:9px;
  display:flex;flex-direction:column;gap:6px;
}
.hmock__rtaglabel{
  display:flex;align-items:center;gap:5px;
  font-size:11px;color:var(--ink);font-weight:700;
}
.hmock__rtagcheck{
  width:16px;height:16px;border-radius:50%;flex-shrink:0;
  background:#1a2040;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M6 12l4 4 8-9' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  background-size:11px;background-position:center;background-repeat:no-repeat;
}
.hmock__rtagcount{
  background:#5dc18e;color:#fff;
  font-size:9.5px;padding:1px 6px;border-radius:50%;
  font-family:var(--mono);font-weight:700;
}
.hmock__rtagset{display:flex;gap:4px;flex-wrap:wrap}
.hmock__rtagset .tag{padding:2px 8px;font-size:10px}

/* Tag creation sub-section */
.hmock__rpanel-sub{
  display:flex;flex-direction:column;gap:6px;
  margin-top:4px;
  padding-top:8px;border-top:1px solid #f0f0f0;
}
.hmock__rtaginput{
  font-size:11px;color:#9ca3af;
  padding:7px 10px;
  border:1px solid #e5e7eb;border-radius:10px;background:#fff;
}
.hmock__rtagcolors{
  display:flex;align-items:center;gap:5px;
  font-size:9.5px;color:#64748b;padding:2px 0;
}
.hmock__colorswatch{
  width:18px;height:18px;border-radius:5px;
  display:inline-grid;place-items:center;font-size:9px;color:#fff;
}
.hmock__colorswatch--dark{background:#1a2040}
.hmock__colorswatch--light{background:#e2e8f0}
.hmock__colorswatch--accent{background:#8b5cf6}
.hmock__rtagaddbtn{
  background:#4f6ef7;color:#fff;
  font-size:11px;font-weight:700;
  padding:7px 0;border-radius:10px;
  text-align:center;
}
.hmock__rtagtotal{
  font-size:10px;color:#9ca3af;
  text-align:right;font-family:var(--mono);
}

/* Drawer accordion rows (メモ, ノート, etc.) */
.hmock__drawer-row{
  display:flex;align-items:center;gap:10px;
  padding:14px 14px;
  border-bottom:1px solid #f0f0f0;
  font-size:13px;font-weight:600;color:var(--ink);
}
.hmock__drawer-row:last-child{border-bottom:0}
.hmock__dicon{flex-shrink:0;color:#6b7280;fill:currentColor}
.hmock__dlabel{white-space:nowrap}
.hmock__dchev{
  color:#9ca3af;font-size:13px;font-weight:700;
  margin-left:2px;
}
.hmock__daction{
  margin-left:auto;flex-shrink:0;
  color:#9ca3af;fill:currentColor;
}
.hmock__dadd{
  margin-left:auto;
  background:#4f6ef7;color:#fff;
  font-size:10px;font-weight:700;
  padding:5px 12px;border-radius:7px;
  white-space:nowrap;
}

/* ============================================================
   Product mock (legacy — kept for other sections)
   ============================================================ */
.app{
  background:#ffffff;
  border-radius:16px;
  box-shadow:var(--shadow-lg);
  overflow:hidden;
  border:1px solid #e5e3dc;
}
.app__top{
  display:flex;align-items:flex-start;gap:14px;
  padding:12px 18px 10px;
  background:#ffffff;
}
.app__top .brand{gap:1px;flex-direction:column;align-items:center;line-height:1;width:46px}
.app__top .brand .logo-mark{margin-bottom:3px;width:32px;height:32px;border-radius:10px}
.app__top .brand .logo-mark::before{top:5px;left:5px;width:9px;height:9px}
.app__top .wordmark{flex-direction:column;gap:0}
.app__top .wordmark span{color:#1e3a8a;font-size:10.5px;font-weight:800;line-height:1.05}
.app__top .brand::after{
  content:"ALL";
  font-size:8.5px;font-weight:800;color:#1e3a8a;
  letter-spacing:.1em;margin-top:2px;
}
.app__top-spacer{flex:1}
.app__top-actions{display:flex;gap:6px;align-items:center}
.app__icon-btn{
  width:36px;height:36px;border-radius:11px;
  background:#2563eb;
  color:#fff;
  display:grid;place-items:center;
  font-size:14px;
}
.app__icon-btn--primary{
  background:#1e40af;
  padding:0 14px;width:auto;gap:6px;height:36px;
  font-size:12px;font-weight:700;color:#fff;
  border-radius:11px;
}

.app__body{
  display:grid;
  grid-template-columns:54px minmax(0, 1fr) minmax(0, 1.1fr) 220px;
  height:580px;
  font-size:12.5px;
  background:#ffffff;
}

/* Left rail */
.rail{
  padding:8px 0 8px 12px;
  display:flex;flex-direction:column;gap:10px;
  align-items:center;
  background:linear-gradient(180deg, #0f1629 0%, #1e3a8a 100%);
  border:0;
  border-radius:0 0 0 14px;
}
.rail__item{
  position:relative;
  width:36px;height:36px;border-radius:10px;
  display:grid;place-items:center;
  font-weight:800;font-size:15px;color:#fff;
  background:rgba(255,255,255,.15);
  box-shadow:none;
}
.rail__item.is-active{
  background:rgba(255,255,255,.25);
  color:#fff;
}
.rail__item.is-active::before{
  content:"";position:absolute;inset:-2px;
  border-radius:11px;
  border:2px solid rgba(255,255,255,.5);
}
.rail__item .count{
  position:absolute;top:-4px;right:-6px;
  background:#dc4838;color:#fff;
  font-size:9.5px;font-weight:700;
  padding:0;min-width:17px;height:17px;
  border-radius:50%;
  display:grid;place-items:center;
  font-family:var(--mono);
  border:1.5px solid #fff;
  z-index:1;
}

/* Message list column */
.msgs{
  background:transparent;
  display:flex;flex-direction:column;
  padding:10px 8px 0;
}
.msgs__search{
  padding:0 4px 10px;
}
.msgs__search-input{
  display:flex;align-items:center;gap:8px;
  background:#fff;
  border:0;
  border-radius:24px;padding:9px 16px;
  color:#9aa3c4;font-size:12px;
  box-shadow:var(--shadow-sm);
}
.msgs__list{
  flex:1;overflow:hidden;
  display:flex;flex-direction:column;gap:8px;
  padding:4px 4px;
}

.card{
  background:#fff;border:0;
  border-radius:14px;padding:12px 14px;
  display:grid;grid-template-columns:42px 1fr auto;gap:10px;
  position:relative;align-items:flex-start;
  cursor:default;
  box-shadow:var(--shadow-sm);
}
.card--new{background:#f4e9f7}
.card--selected{background:#fefce7}
.card--cream{background:#fefce7}
.card__avatar{
  width:42px;height:42px;border-radius:50%;
  background:radial-gradient(circle at 50% 35%, #f3c194 0%, #d6996c 70%, #b27c52 100%);
  position:relative;overflow:hidden;
  flex-shrink:0;
}
.card__avatar::before{
  /* hair frame around face */
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(circle at 50% 28%, transparent 38%, #4a3220 42%, #4a3220 55%, transparent 56%),
    linear-gradient(180deg, transparent 0%, transparent 25%, #5a3d28 30%, transparent 80%);
  mix-blend-mode:multiply;
}
.card__avatar::after{
  /* shoulders */
  content:"";position:absolute;
  left:-2px;right:-2px;bottom:-2px;height:38%;
  background:radial-gradient(ellipse 60% 100% at 50% 100%, #5a3d28 0%, #5a3d28 50%, transparent 70%);
}
.card__ch{
  position:absolute;left:38px;top:38px;
  width:18px;height:18px;border-radius:50%;
  border:2px solid #fff;
  display:grid;place-items:center;
  font-size:9px;font-weight:800;color:#fff;font-family:var(--mono);
  z-index:1;
  line-height:1;
}
.card__ch--line{background:#06c755}
.card--mail .card__avatar{display:none}
.card--mail .card__ch{
  position:static;width:42px;height:42px;
  background:#5da3e8;border:0;
  border-radius:9px;
  display:grid;place-items:center;
  flex-shrink:0;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><rect x='4' y='7' width='16' height='12' rx='1.5' fill='none' stroke='white' stroke-width='1.8'/><path d='M5 8.5l7 5 7-5' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  background-repeat:no-repeat;
  background-position:center;
  background-size:26px 26px;
}
.card--mail .card__ch::after{content:none}
.card__main{min-width:0;padding-top:2px}
.card__name{
  font-size:13px;color:var(--ink);font-weight:700;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  line-height:1.4;
}
.card__name em{color:var(--muted);font-style:normal;font-weight:400;font-size:11px;margin-left:2px}
.card__preview{
  color:var(--ink);font-size:13px;font-weight:600;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  margin-top:2px;line-height:1.4;
}
.card__tags{display:flex;gap:4px;margin-top:8px;flex-wrap:wrap}
.card__menu{
  position:absolute;top:8px;right:10px;
  color:#9aa3c4;font-size:16px;font-weight:700;
  letter-spacing:1px;line-height:1;
  cursor:default;
}
.card__status{
  display:flex;flex-direction:column;gap:4px;align-items:flex-end;
  margin-top:18px;flex-shrink:0;
}
.card__time{
  font-size:10px;color:var(--muted);font-family:var(--mono);
  margin-top:2px;
}

/* Tag pills (matches real product colors — sampled from product) */
.tag{
  display:inline-flex;align-items:center;gap:5px;
  font-size:10.5px;font-weight:600;
  padding:3px 10px;border-radius:14px;
  color:#fff;letter-spacing:.02em;
  line-height:1.4;
  border:1.5px solid transparent;
}
.tag--green{background:#5dc18e;border-color:#2fa974}
.tag--yellow{background:#fce394;color:#9c5a14;border:1.5px dashed #d99a3a}
.tag--pink{background:#e85ba0}
.tag--blue{background:#5ba8e8}
.tag--orange{background:#e6915a}
.tag--red{background:#e73526}
.tag--ghost{background:transparent;border:1px solid var(--line);color:var(--ink-2)}
.tag .x{font-size:11px;opacity:.9;font-weight:700;
  background:rgba(0,0,0,.18);color:#fff;
  width:14px;height:14px;border-radius:50%;
  display:inline-grid;place-items:center;line-height:1;
}
.tag--yellow .x{background:#d99a3a;color:#fff}

.status{
  font-size:10px;font-weight:600;
  padding:3px 9px;border-radius:14px;
}
.status--unreplied{background:#f5dfea;color:#9a3a5e}
.status--needsaction{background:#fad9c2;color:#86460a}

/* Conversation column */
.conv{
  display:flex;flex-direction:column;
  background:linear-gradient(180deg, #e7f1fb 0%, #e0ecf8 100%);
}
.conv__head{
  display:flex;align-items:center;gap:10px;
  padding:10px 16px;
  background:#fff;
  font-size:12px;
  margin:10px 14px 0;
  border-radius:24px;
  box-shadow:0 1px 3px rgba(0,0,0,.05);
}
.conv__head{
  display:flex;align-items:center;gap:8px;
  padding:10px 14px;
  background:#fff;
  font-size:12px;
  margin:10px 14px 0;
  border-radius:30px;
  box-shadow:0 1px 3px rgba(0,0,0,.05);
  flex-wrap:nowrap;
  overflow:hidden;
}
.conv__head .card__ch{
  position:static;border:0;width:22px;height:22px;
  font-size:9px;flex-shrink:0;background:#06c755;
}
.conv__head b{font-weight:700;font-size:13px;color:var(--ink);flex-shrink:0;white-space:nowrap}
.conv__head-spacer{flex:1}
.conv__head-btn{
  background:#fff;color:#1e40af;
  padding:5px 11px;border-radius:14px;font-size:10.5px;font-weight:600;
  display:inline-flex;align-items:center;gap:4px;
  border:1px solid #d0d6e8;
  white-space:nowrap;flex-shrink:0;
}
.conv__scroll{
  flex:1;padding:14px 16px;
  display:flex;flex-direction:column;gap:14px;
  overflow:hidden;
}
.bubble-row{display:flex;gap:8px;align-items:flex-end;max-width:78%}
.bubble-row--me{align-self:flex-end;flex-direction:row-reverse}
.bubble-row__av{
  width:30px;height:30px;border-radius:50%;
  background:radial-gradient(circle at 50% 35%, #f3c194 0%, #d6996c 70%, #b27c52 100%);
  flex-shrink:0;overflow:hidden;position:relative;
}
.bubble-row__av::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(circle at 50% 28%, transparent 38%, #4a3220 42%, #4a3220 55%, transparent 56%);
  mix-blend-mode:multiply;
}
.bubble-row__av::after{
  content:"";position:absolute;
  left:-2px;right:-2px;bottom:-2px;height:38%;
  background:radial-gradient(ellipse 60% 100% at 50% 100%, #5a3d28 0%, #5a3d28 50%, transparent 70%);
}
.bubble{
  background:#fff;
  padding:10px 14px;border-radius:18px;border-top-left-radius:6px;
  font-size:12px;line-height:1.6;
  color:var(--ink);
  box-shadow:0 1px 2px rgba(0,0,0,.05);
}
.bubble-row--me .bubble{
  background:#316de8;
  color:#fff;border-radius:18px;border-top-right-radius:6px;
  box-shadow:0 1px 2px rgba(49,109,232,.3);
}
.bubble-row__time{
  font-size:10px;color:#1e40af;font-family:var(--mono);
  align-self:flex-end;font-weight:500;
}

.conv__route{
  background:#fff;
  margin:8px 14px 6px;
  padding:7px 14px;
  border-radius:18px;
  font-size:11.5px;color:var(--ink);font-weight:500;
  display:inline-flex;align-items:center;gap:6px;
  box-shadow:0 1px 3px rgba(0,0,0,.05);
  align-self:flex-start;
}
.conv__route .arrow{color:#9aa3c4}

.conv__compose{
  background:#fff;padding:8px 12px;
  display:flex;align-items:center;gap:8px;
  margin:0 14px 12px;
  border-radius:18px;
  box-shadow:0 1px 3px rgba(0,0,0,.05);
}
.conv__compose-input{
  flex:1;
  border:0;
  padding:7px 12px;font-size:11.5px;color:#9aa3c4;
}
.conv__attach{
  width:28px;height:28px;color:#9aa3c4;font-size:14px;
  display:grid;place-items:center;flex-shrink:0;
}
.conv__ai{
  width:32px;height:32px;border-radius:50%;
  background:radial-gradient(circle at 30% 30%, #6aa6ff, #3d8aff 70%);
  color:#fff;display:grid;place-items:center;
  font-size:13px;flex-shrink:0;
  box-shadow:0 2px 6px rgba(61,138,255,.4);
}
.conv__send{
  width:32px;height:32px;border-radius:50%;
  background:#3ebf82;color:#fff;
  display:grid;place-items:center;font-size:13px;flex-shrink:0;
  box-shadow:0 2px 6px rgba(62,191,130,.35);
}

/* Right panel: tags */
.tags{
  background:#ffffff;
  padding:14px 14px 14px;
  display:flex;flex-direction:column;gap:14px;
  overflow:hidden;
  border-left:1px solid #ece9df;
}
.tags__group{
  display:flex;flex-direction:column;gap:8px;
}
.tags__head{
  display:flex;align-items:center;gap:6px;
  font-size:13px;color:var(--ink);font-weight:700;
  white-space:nowrap;
}
.tags__head .gear{margin-left:auto;color:#9aa3c4;font-size:14px}
.tags__head .chev{color:var(--ink);font-size:11px;margin-left:2px}
.tags__set{
  border:2.5px solid #5dc18e;
  background:#fff;
  border-radius:14px;padding:10px;
  display:flex;flex-direction:column;gap:8px;
}
.tags__set-head{
  display:flex;align-items:center;gap:6px;
  font-size:11.5px;color:var(--ink);font-weight:700;
}
.tags__set-head::before{
  content:"";width:16px;height:16px;border-radius:50%;
  background:#1a2040;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M6 12l4 4 8-9' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  background-size:12px;background-position:center;background-repeat:no-repeat;
}
.tags__set-count{
  background:#5dc18e;color:#fff;
  font-size:10px;padding:1px 7px;border-radius:50%;font-family:var(--mono);
  font-weight:700;
}
.tags__set-list{display:flex;gap:5px;flex-wrap:wrap}
.tags__pick{display:flex;gap:5px;flex-wrap:wrap}
.tags__pick .tag{padding:3px 10px;font-size:10.5px}
.tags__select{
  background:#fff;border:1px solid #ece9df;
  border-radius:24px;padding:9px 14px;
  font-size:12px;color:var(--ink);font-weight:500;
  display:flex;justify-content:space-between;align-items:center;
}
.tags__search{
  background:#fff;
  border:1px solid #ece9df;
  border-radius:24px;padding:8px 14px;
  font-size:11.5px;color:#9aa3c4;
  display:flex;align-items:center;gap:8px;
}

/* ============================================================
   Logos
   ============================================================ */
.logos{
  background:#fff;border-top:1px solid var(--line-2);
  border-bottom:1px solid var(--line-2);
}
.logos__inner{
  display:flex;align-items:center;gap:48px;
  padding:28px 0;flex-wrap:wrap;
}
.logos__label{
  font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--muted);font-weight:700;
}
.logos__row{
  display:flex;gap:40px;flex-wrap:wrap;
  font-family:var(--mono);font-size:13.5px;color:#b0ab9a;
  letter-spacing:.04em;
}
.logos__row span{filter:saturate(0)}

/* ============================================================
   Value props
   ============================================================ */
.vps{padding:120px 0 100px}
.vps__grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:24px;
  margin-top:40px;
}
.vp{
  background:#fff;border:1px solid var(--line);
  border-radius:var(--radius-lg);padding:32px 28px;
  box-shadow:var(--shadow-sm);
  position:relative;
}
.vp__num{
  font-family:var(--mono);font-size:12px;
  color:var(--lavender-deep);font-weight:600;
  margin-bottom:16px;
  display:flex;align-items:center;gap:10px;
}
.vp__num::after{content:"";flex:1;height:1px;background:var(--line)}
.vp h3{font-size:21px;font-weight:700;margin:0 0 10px;letter-spacing:-.005em}
.vp p{margin:0;color:var(--ink-2);font-size:14.5px;line-height:1.8}
.vp__demo{
  margin-top:20px;
  background:var(--bg);border:1px solid var(--line);
  border-radius:12px;padding:14px;
  font-size:11.5px;
}

/* ============================================================
   Features
   ============================================================ */
.features{padding:120px 0;background:linear-gradient(180deg,#fff 0%,#f8fafc 100%)}

/* Hero feature card (full width) */
.feat--hero{
  background:#fff;border:1px solid #e5e7eb;
  border-radius:20px;padding:40px;
  box-shadow:0 1px 3px rgba(0,0,0,.04),0 4px 24px rgba(0,0,0,.03);
  margin-bottom:20px;
}
.feat--hero__inner{
  display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center;
}
.feat--hero__text{max-width:600px}

/* 3-col uniform grid */
.features__grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}
.feat{
  background:#fff;border:1px solid #e5e7eb;
  border-radius:16px;
  padding:28px;
  display:flex;flex-direction:column;
  transition:transform .2s ease, box-shadow .2s ease;
}
.feat:hover{transform:translateY(-3px);box-shadow:0 4px 24px rgba(0,0,0,.08)}
.feat__icon{
  display:inline-grid;place-items:center;
  width:48px;height:48px;border-radius:14px;
  background:var(--lavender-2);color:var(--lavender-deep);
  margin-bottom:20px;
}
.feat__icon--teal{background:var(--teal-soft);color:var(--teal-deep)}
.feat__icon--green{background:var(--tag-green-soft);color:#2a7a4f}
.feat__icon--yellow{background:var(--tag-yellow-soft);color:#7a5d10}
.feat__icon--pink{background:var(--tag-pink-soft);color:#9c3963}
.feat__icon--orange{background:var(--tag-orange-soft);color:#8a4c14}
.feat h3{font-size:17px;font-weight:700;margin:0 0 10px;letter-spacing:-.01em;color:#0f172a}
.feat p{margin:0;color:#64748b;font-size:14px;line-height:1.75}
.feat__chips{
  list-style:none;margin:16px 0 0;padding:0;
  display:flex;gap:6px;flex-wrap:wrap;
}
.feat__chips li{
  font-size:11px;padding:4px 10px;border-radius:999px;
  background:#f1f5f9;border:1px solid #e2e8f0;
  color:#475569;font-weight:500;
}

/* Stat block (inside hero) */
.feat__stat{
  background:#0f172a;color:#fff;
  border-radius:18px;padding:32px 28px;
  text-align:center;min-width:160px;
}
.feat__stat-num{
  font-size:56px;font-weight:800;letter-spacing:-.03em;line-height:1;
}
.feat__stat-num span{font-size:28px;font-weight:600;opacity:.7}
.feat__stat-label{font-size:13px;color:#94a3b8;margin-top:8px;line-height:1.5}

/* Bottom highlight card (full width) */
.feat--bottom{
  background:#fff;border:1px solid #e5e7eb;
  border-radius:20px;padding:40px;
  box-shadow:0 1px 3px rgba(0,0,0,.04),0 4px 24px rgba(0,0,0,.03);
  margin-top:16px;
}
.feat--bottom__inner{max-width:640px}

.feat__demo-tags{
  background:#f8fafc;border:1px solid #e2e8f0;
  border-radius:12px;padding:16px;
  display:flex;flex-direction:column;gap:8px;
  margin-top:20px;
}
.feat__demo-row{display:flex;gap:5px;flex-wrap:wrap;align-items:center}
.feat__demo-row b{font-size:11.5px;color:#94a3b8;font-weight:500;min-width:64px}
.feat__demo-tags .tag{padding:3px 9px;font-size:10.5px}

/* ============================================================
   How it works
   ============================================================ */
.how{padding:100px 0;background:linear-gradient(180deg, transparent, rgba(221,227,252,.25) 50%, transparent)}
.steps{
  list-style:none;margin:0;padding:0;
  display:flex;flex-direction:column;gap:24px;
  max-width:1080px;margin:0 auto;
}
.step{
  display:grid;
  grid-template-columns:72px 1fr 1.2fr;
  gap:32px;align-items:center;
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  padding:32px;
  box-shadow:var(--shadow-sm);
}
.step__num{
  width:56px;height:56px;border-radius:50%;
  background:var(--lavender);color:var(--lavender-deep);
  display:grid;place-items:center;
  font-family:var(--mono);font-size:20px;font-weight:700;
}
.step__body h3{font-size:21px;font-weight:700;margin:0 0 10px}
.step__body p{margin:0;color:var(--ink-2);font-size:14.5px;line-height:1.75}
.step__vis{
  background:var(--bg);border:1px dashed var(--line);
  border-radius:14px;padding:16px;
  min-height:180px;
  display:flex;flex-direction:column;gap:8px;
}

.vis-channel{
  display:flex;align-items:center;gap:10px;
  background:#fff;border:1px solid var(--line);
  padding:9px 12px;border-radius:10px;
  font-size:12.5px;
}
.vis-channel__ic{
  width:24px;height:24px;border-radius:7px;
  display:grid;place-items:center;
  font-size:11px;font-weight:800;color:#fff;
}
.vis-channel__ic--line{background:#06c755}
.vis-channel__ic--mail{background:#5db4eb}
.vis-channel__ic--form{background:var(--lavender-deep)}
.vis-channel__body{flex:1;display:flex;flex-direction:column;line-height:1.3}
.vis-channel__body b{font-size:12px;font-weight:600}
.vis-channel__body em{color:var(--muted);font-style:normal;font-size:10.5px}
.vis-channel__ok{color:var(--tag-green);font-weight:700}
.vis-channel__spin{
  width:14px;height:14px;border:2px solid var(--line);
  border-top-color:var(--lavender-deep);border-radius:50%;
  animation:spin 1s linear infinite;
}
@keyframes spin{to{transform:rotate(360deg)}}

.vis-taggrid{
  background:#fff;border:1px solid var(--line);
  border-radius:10px;padding:12px;
  display:grid;grid-template-columns:1fr 1fr;gap:10px;
}
.vis-taggrid__col{display:flex;flex-direction:column;gap:6px}
.vis-taggrid__col b{font-size:10.5px;color:var(--muted);font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.vis-taggrid__col .tag{padding:3px 8px;font-size:11px;align-self:flex-start}

.vis-ai{
  background:#fff;border:1px solid var(--lavender-deep);
  border-radius:10px;padding:12px;
}
.vis-ai__head{
  display:flex;align-items:center;gap:8px;
  color:var(--lavender-deep);font-size:11.5px;font-weight:700;
  margin-bottom:8px;
}
.vis-ai__icon{
  width:18px;height:18px;border-radius:5px;
  background:linear-gradient(135deg,#6a9eff,#4a8bff);
  color:#fff;display:grid;place-items:center;font-size:11px;
}
.vis-ai p{margin:0 0 10px;font-size:12.5px;line-height:1.7;color:var(--ink)}
.vis-ai__actions{display:flex;gap:6px}
.vis-ai__actions .btn{height:30px;padding:0 12px;font-size:11.5px}

/* ============================================================
   Quote
   ============================================================ */
.quote{padding:80px 0;background:var(--ink);color:#fff;position:relative;overflow:hidden}
.quote::before{
  content:"";position:absolute;
  top:-40%;right:-10%;width:600px;height:600px;
  background:radial-gradient(circle, rgba(221,227,252,.12), transparent 60%);
}
.quote__inner{max-width:920px;position:relative}
.quote blockquote{margin:0}
.quote p{
  font-size:clamp(22px, 2.4vw, 32px);
  line-height:1.55;font-weight:500;
  letter-spacing:-.005em;
  margin:0 0 32px;text-wrap:pretty;
}
.quote mark{
  background:transparent;color:#a8d3da;
  border-bottom:2px solid #a8d3da;padding-bottom:2px;
}
.quote footer{display:flex;align-items:center;gap:14px;color:#aeb7d4}
.quote__avatar{
  width:48px;height:48px;border-radius:50%;
  background:linear-gradient(135deg,#f0b78a,#d18a64);
  position:relative;overflow:hidden;flex-shrink:0;
}
.quote__avatar::after{
  content:"";position:absolute;
  inset:auto -4px -4px -4px;height:60%;
  background:linear-gradient(135deg,#6e5848,#4a3a2c);
  border-radius:50% 50% 0 0 / 80% 80% 0 0;
}
.quote footer b{display:block;color:#fff;font-weight:600}
.quote footer em{font-style:normal;font-size:13px;color:#8088a8}

/* ============================================================
   Pricing
   ============================================================ */
.pricing{padding:120px 0;position:relative;overflow:hidden}
.pricing::before{
  content:"";position:absolute;top:60px;left:50%;transform:translateX(-62%);
  width:920px;height:640px;border-radius:50%;
  background:radial-gradient(closest-side, rgba(37,99,235,.08), transparent 72%);
  pointer-events:none;
}
.pricing::after{
  content:"";position:absolute;top:220px;left:50%;transform:translateX(18%);
  width:720px;height:560px;border-radius:50%;
  background:radial-gradient(closest-side, rgba(124,58,237,.06), transparent 72%);
  pointer-events:none;
}
.pricing .wrap{position:relative;z-index:1}
.plans{
  display:grid;grid-template-columns:repeat(3,1fr);gap:22px;
  align-items:stretch;
}
.plan{
  background:rgba(255,255,255,.85);
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  border:1px solid rgba(26,32,64,.07);
  border-radius:28px;
  padding:36px 30px 30px;
  display:flex;flex-direction:column;
  position:relative;
  box-shadow:0 1px 2px rgba(26,32,64,.04), 0 12px 32px -20px rgba(26,32,64,.12);
  transition:transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s cubic-bezier(.2,.8,.2,1);
}
.plan:hover{transform:translateY(-6px);box-shadow:0 2px 4px rgba(26,32,64,.05), 0 28px 56px -24px rgba(26,32,64,.22)}
.plan--featured{
  background:var(--navy-gradient);color:#fff;
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 30px 64px -24px rgba(30,58,138,.55), inset 0 1px 0 rgba(255,255,255,.12);
  transform:translateY(-10px);
}
.plan--featured:hover{transform:translateY(-15px);box-shadow:0 38px 72px -26px rgba(30,58,138,.6), inset 0 1px 0 rgba(255,255,255,.12)}
.plan--premium{
  border:1.5px solid transparent;
  background:
    linear-gradient(rgba(255,255,255,.94),rgba(255,255,255,.94)) padding-box,
    linear-gradient(135deg,#7c3aed 0%,#2563eb 55%,#22d3ee 100%) border-box;
}
.plan--featured .plan__list li{color:#dbe3fb}
.plan--featured .plan__tag{color:#b7c4ef}
.plan__ribbon{
  position:absolute;top:-13px;left:50%;transform:translateX(-50%);
  background:var(--lavender);color:var(--lavender-deep);
  font-size:11px;font-weight:800;letter-spacing:.08em;
  padding:6px 16px;border-radius:999px;
  box-shadow:0 4px 12px rgba(30,64,175,.25);
  white-space:nowrap;
}
.plan__ribbon--premium{
  background:linear-gradient(135deg,#7c3aed,#2563eb);color:#fff;
  box-shadow:0 4px 14px rgba(124,58,237,.35);
}
.plan__head h3{font-size:20px;font-weight:800;margin:0 0 4px;letter-spacing:.01em}
.plan__tag{font-size:12.5px;color:var(--muted);margin:0}
.plan__price{
  margin:22px 0 16px;
  display:flex;align-items:baseline;gap:4px;
  font-weight:800;letter-spacing:-.04em;
}
.plan__cur{font-size:22px;font-weight:700;opacity:.85}
.plan__num{font-size:54px;line-height:1;font-variant-numeric:tabular-nums}
.plan--premium .plan__num{
  background:linear-gradient(135deg,#6d28d9 0%,#2563eb 70%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.plan__per{font-size:13px;color:var(--muted);font-weight:600;margin-left:6px;letter-spacing:0}
.plan__per em{font-style:normal;font-size:10.5px;font-weight:700;color:var(--muted);background:var(--bg-3);border-radius:999px;padding:3px 9px;margin-left:6px;vertical-align:2px}
.plan--featured .plan__per{color:#b7c4ef}
.plan--featured .plan__per em{color:#dbe3fb;background:rgba(255,255,255,.14)}
.plan__quota{display:flex;gap:8px;margin:0 0 22px;flex-wrap:wrap}
.quota-chip{
  display:inline-flex;align-items:center;gap:7px;
  padding:7px 14px;border-radius:999px;
  background:var(--bg-3);border:0;
  font-size:12.5px;font-weight:800;color:var(--ink-2);
  font-variant-numeric:tabular-nums;
}
.quota-chip svg{opacity:.6;flex-shrink:0}
.plan--featured .quota-chip{background:rgba(255,255,255,.14);color:#fff}
.plan--premium .quota-chip{background:#f3efff;color:#5b21b6}
.plan__list{
  list-style:none;margin:0 0 20px;padding:0;
  display:flex;flex-direction:column;gap:13px;
  font-size:13.5px;color:var(--ink-2);
  flex:1;
}
.plan__list li{
  display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;
  border:0;padding:0;
}
.plan__list li small{display:block;flex-basis:100%;margin-left:28px;margin-top:-4px;font-size:11px;color:var(--muted);font-weight:500}
.plan__list li::before{
  content:"✓";
  display:inline-flex;align-items:center;justify-content:center;
  width:18px;height:18px;border-radius:999px;
  background:rgba(63,190,130,.15);color:#1c7a4f;
  font-weight:800;flex-shrink:0;font-size:10px;
  align-self:center;
}
.plan--featured .plan__list li::before{background:rgba(255,255,255,.16);color:#8ee7b6}
.plan--featured .plan__list li small{color:#93a5d6}
.plan__li--ai::before{content:"✦" !important;background:rgba(124,58,237,.12) !important;color:#6d28d9 !important}
.plan--featured .plan__li--ai::before{background:rgba(255,255,255,.16) !important;color:#c4b5fd !important}
.plan__li--ai b{
  margin-left:auto;
  background:rgba(124,58,237,.1);color:#6d28d9;
  font-size:11px;font-weight:800;
  padding:3px 11px;border-radius:999px;
  white-space:nowrap;font-variant-numeric:tabular-nums;
}
.plan--featured .plan__li--ai b{background:rgba(255,255,255,.16);color:#ddd6fe}
.plan__li--premium::before{content:"◆" !important;background:rgba(124,58,237,.12) !important;color:#6d28d9 !important;font-size:9px}
.plan__li--premium small{color:#7c3aed !important;font-weight:700 !important}
.plan__addon{
  margin:0 0 22px;padding:12px 16px;
  background:var(--bg-3);border:0;
  border-radius:14px;
  font-size:11.5px;font-weight:600;color:var(--ink-2);line-height:1.7;
}
.plan--featured .plan__addon{background:rgba(255,255,255,.1);color:#dbe3fb}
.plan--premium .plan__addon{background:#f3efff;color:#5b21b6}
.plan__addon--none{color:var(--muted)}
.plan__addon-sub{display:inline-block;margin-top:3px;font-size:10.5px;font-weight:600;color:var(--muted);opacity:.85}
.plan__cta{justify-content:center;width:100%}
.plans__foot{
  display:flex;justify-content:center;gap:10px;flex-wrap:wrap;
  margin-top:32px;
}
.plans__foot span{
  display:inline-flex;align-items:center;gap:7px;
  font-size:12.5px;font-weight:700;color:var(--ink-2);
  background:rgba(255,255,255,.8);border:1px solid rgba(26,32,64,.06);border-radius:999px;
  padding:9px 17px;
}
.plans__foot span b{color:var(--tag-green)}

/* ============================================================
   FAQ
   ============================================================ */
.faq{padding:100px 0}
.faq__inner{
  display:grid;grid-template-columns:340px 1fr;
  gap:64px;align-items:start;max-width:1080px;margin:0 auto;
}
.faq .section-head{margin:0}
.faq__list{display:flex;flex-direction:column}
.faq__list details{border-bottom:1px solid var(--line);padding:20px 0}
.faq__list details:first-child{border-top:1px solid var(--line)}
.faq__list summary{
  list-style:none;cursor:pointer;
  font-weight:600;font-size:16px;color:var(--ink);
  display:flex;justify-content:space-between;align-items:center;gap:16px;
}
.faq__list summary::-webkit-details-marker{display:none}
.faq__list summary::after{
  content:"";flex-shrink:0;
  width:22px;height:22px;border-radius:50%;
  background:var(--lavender-2);
  background-image:
    linear-gradient(var(--lavender-deep),var(--lavender-deep)),
    linear-gradient(var(--lavender-deep),var(--lavender-deep));
  background-size:10px 1.5px, 1.5px 10px;
  background-position:center;
  background-repeat:no-repeat;
  transition:transform .25s ease;
}
.faq__list details[open] summary::after{
  background-size:10px 1.5px, 0 0;
  transform:rotate(180deg);
}
.faq__list p{
  margin:14px 0 0;color:var(--ink-2);font-size:15px;line-height:1.85;
  max-width:64ch;
}
.faq__list a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}

/* ============================================================
   Final CTA
   ============================================================ */
.cta{padding:140px 0 120px;position:relative;overflow:hidden}
.cta::before,.cta::after{
  content:"";position:absolute;border-radius:50%;
  filter:blur(40px);z-index:0;
}
.cta::before{
  top:-100px;left:10%;width:400px;height:400px;
  background:radial-gradient(circle, rgba(191,207,255,.5), transparent 70%);
}
.cta::after{
  bottom:-200px;right:5%;width:500px;height:500px;
  background:radial-gradient(circle, rgba(219,234,254,.5), transparent 70%);
}
.cta__inner{max-width:780px;margin:0 auto;text-align:center;position:relative;z-index:1}
.cta__deco{display:flex;justify-content:center;gap:8px;margin-bottom:32px;flex-wrap:wrap}
.cta__deco .tag{padding:6px 14px;font-size:12px;font-weight:600}
.cta__actions{display:flex;justify-content:center;gap:12px;margin:32px 0 20px;flex-wrap:wrap}
.cta__fine{font-size:13px;color:var(--muted);margin:0}

/* ============================================================
   Footer
   ============================================================ */
.foot{background:#fff;border-top:1px solid var(--line)}
.foot__inner{
  display:grid;grid-template-columns:1.2fr 3fr;gap:64px;
  padding-block:64px 48px;
}
.foot__brand p{
  font-size:14px;color:var(--muted);
  margin:14px 0 0;max-width:280px;
}
.foot__cols{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}
.foot__cols h4{
  font-size:12px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ink);font-weight:700;margin:0 0 14px;
}
.foot__cols a{
  display:block;font-size:14px;color:var(--ink-2);
  padding:5px 0;
}
.foot__cols a:hover{color:var(--accent)}
.foot__base{border-top:1px solid var(--line);background:var(--bg)}
.foot__base-inner{
  display:flex;justify-content:space-between;
  padding-block:20px;font-size:12.5px;color:var(--muted);
  font-family:var(--mono);
}

/* ============================================================
   Responsive
   ============================================================ */

/* ============================================================
   Feature Spotlight (Tabs: Task / Survey / Memo / Chat)
   ============================================================ */
.spot{
  padding:120px 0;
  background:linear-gradient(180deg, #fff 0%, #f7f4eb 50%, #fff 100%);
  position:relative;overflow:hidden;
}
.spot__tabs{position:relative;margin-top:40px}
.spot__tabs > input{position:absolute;opacity:0;pointer-events:none}

.spot__nav{
  display:grid;grid-template-columns:repeat(4,1fr);gap:10px;
  background:#fff;border:1px solid var(--line);
  border-radius:18px;padding:8px;
  box-shadow:var(--shadow-sm);
  margin-bottom:32px;
}
.spot__tab{
  display:flex;flex-direction:column;gap:3px;
  padding:14px 18px;border-radius:12px;
  cursor:pointer;transition:all .2s ease;
}
.spot__tab:hover{background:var(--bg)}
.spot__tab-num{
  font-family:var(--mono);font-size:11px;color:var(--lavender-deep);
  font-weight:700;letter-spacing:.06em;
}
.spot__tab-name{font-size:16px;font-weight:700;color:var(--ink);letter-spacing:-.005em}
.spot__tab-sub{font-size:12px;color:var(--muted);font-weight:500}

#spot-task:checked ~ .spot__nav label[for="spot-task"],
#spot-survey:checked ~ .spot__nav label[for="spot-survey"],
#spot-memo:checked ~ .spot__nav label[for="spot-memo"],
#spot-chat:checked ~ .spot__nav label[for="spot-chat"]{background:var(--ink);box-shadow:0 10px 26px -10px rgba(37,99,235,.5)}
.spot__tab{position:relative;border:1px solid transparent}
.spot__tab:hover{background:var(--bg);border-color:var(--line)}
.spot__hint{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:700;color:#2563eb;background:#eef4ff;border-radius:999px;padding:6px 14px;margin-bottom:14px}
/* PDF attachment chip */
.pdf-chip{display:inline-flex;align-items:center;gap:12px;background:#2f6bff;border-radius:14px;padding:11px 16px;margin-top:12px;box-shadow:0 8px 20px -8px rgba(47,107,255,.6)}
.pdf-chip__ico{width:42px;height:32px;border-radius:7px;background:rgba(255,255,255,.2);display:grid;place-items:center;font-size:11px;font-weight:800;color:#fff;letter-spacing:.06em;flex-shrink:0}
.pdf-chip__body b{display:block;color:#fff;font-size:13.5px;font-weight:700;line-height:1.35}
.pdf-chip__dl{display:inline-flex;align-items:center;gap:5px;color:rgba(255,255,255,.92);font-size:12px;margin-top:3px}
#spot-task:checked ~ .spot__nav label[for="spot-task"] .spot__tab-num,
#spot-survey:checked ~ .spot__nav label[for="spot-survey"] .spot__tab-num,
#spot-memo:checked ~ .spot__nav label[for="spot-memo"] .spot__tab-num,
#spot-chat:checked ~ .spot__nav label[for="spot-chat"] .spot__tab-num{color:#a8b8e8}
#spot-task:checked ~ .spot__nav label[for="spot-task"] .spot__tab-name,
#spot-survey:checked ~ .spot__nav label[for="spot-survey"] .spot__tab-name,
#spot-memo:checked ~ .spot__nav label[for="spot-memo"] .spot__tab-name,
#spot-chat:checked ~ .spot__nav label[for="spot-chat"] .spot__tab-name{color:#fff}
#spot-task:checked ~ .spot__nav label[for="spot-task"] .spot__tab-sub,
#spot-survey:checked ~ .spot__nav label[for="spot-survey"] .spot__tab-sub,
#spot-memo:checked ~ .spot__nav label[for="spot-memo"] .spot__tab-sub,
#spot-chat:checked ~ .spot__nav label[for="spot-chat"] .spot__tab-sub{color:#aeb7d4}

.spot__slide{
  display:none;
  grid-template-columns:minmax(0, 0.85fr) minmax(0, 1.15fr);
  gap:48px;align-items:center;
  background:#fff;border:1px solid var(--line);
  border-radius:24px;padding:48px;
  box-shadow:var(--shadow-md);
  min-height:520px;
}
#spot-task:checked ~ .spot__slide--task,
#spot-survey:checked ~ .spot__slide--survey,
#spot-memo:checked ~ .spot__slide--memo,
#spot-chat:checked ~ .spot__slide--chat{display:grid}

.spot__copy{display:flex;flex-direction:column;gap:18px}
.spot__badge{
  align-self:flex-start;
  font-size:12px;font-weight:700;
  padding:6px 14px;border-radius:999px;
  background:#e2eef9;color:#1c5b94;
}
.spot__badge--survey{background:var(--lavender-2);color:var(--lavender-deep)}
.spot__badge--memo{background:#fefce7;color:#8a6614}
.spot__badge--chat{background:var(--lavender-2);color:var(--lavender-deep)}
.spot__copy h3{font-size:30px;font-weight:800;letter-spacing:-.015em;line-height:1.3;margin:0;text-wrap:balance}
.spot__copy p{font-size:15.5px;color:var(--ink-2);line-height:1.85;margin:0;text-wrap:pretty}
.spot__bullets{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}
.spot__bullets li{display:flex;align-items:flex-start;gap:10px;font-size:14px;color:var(--ink-2);padding-left:22px;position:relative}
.spot__bullets li::before{
  content:"";position:absolute;left:0;top:8px;
  width:10px;height:10px;border-radius:50%;
  background:#5dc18e;
  box-shadow:0 0 0 3px rgba(93,193,142,.18);
}
.spot__vis{position:relative}

/* Task mock */
.taskmock{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:var(--shadow-lg);font-size:12px}
.taskmock__head{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--line)}
.taskmock__icon{width:24px;height:24px;border-radius:5px;background:#5da3e8;color:#fff;display:grid;place-items:center;font-size:13px;font-weight:700}
.taskmock__head b{font-size:15px;font-weight:700;flex:1}
.taskmock__close{color:var(--muted);font-size:17px}
.taskmock__form{background:var(--bg);padding:16px 18px}
.taskmock__form-head{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--ink);margin-bottom:10px}
.taskmock__input{background:#fff;border:1px solid var(--line);border-radius:9px;padding:9px 12px;font-size:11.5px;color:var(--muted);margin-bottom:10px}
.taskmock__input--sm{padding:7px 10px;margin-bottom:0}
.taskmock__input--ph{color:var(--muted-2)}
.taskmock__row{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:8px;margin-bottom:10px}
.taskmock__field label{display:block;font-size:10px;color:var(--ink-2);font-weight:600;margin-bottom:4px}
.taskmock__check{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--ink-2);margin-bottom:10px}
.taskmock__btn{background:var(--line-2);color:var(--muted);padding:8px 14px;border-radius:8px;font-size:11.5px;font-weight:600;border:0;cursor:default}
.taskmock__filters{display:flex;gap:6px;flex-wrap:wrap;padding:14px 18px 6px}
.taskmock__filter{font-size:11px;padding:5px 12px;border-radius:999px;background:#fff;border:1px solid var(--line);color:var(--ink-2)}
.taskmock__filter--on{background:#3a6cf3;color:#fff;border-color:transparent}
.taskmock__list{list-style:none;margin:0;padding:8px 18px 16px;display:flex;flex-direction:column;gap:8px}
.taskmock__list li{display:flex;gap:10px;padding:10px 12px;border-radius:10px;background:var(--bg)}
.taskmock__cb{width:18px;height:18px;border-radius:4px;background:#3a6cf3;color:#fff;display:grid;place-items:center;font-size:10px;font-weight:700;flex-shrink:0;margin-top:1px}
.taskmock__title{font-size:11.5px;color:var(--muted-2);text-decoration:line-through;text-decoration-color:var(--muted);margin-bottom:4px;line-height:1.4}
.taskmock__assign{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--muted)}
.chip-assign{background:#fff;border:1px solid var(--line);padding:2px 8px;border-radius:6px;font-size:10.5px}
.chip-assign--on{background:var(--lavender-2);color:var(--lavender-deep);border-color:transparent}

/* Survey mock */
.surveymock{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:var(--shadow-lg);font-size:12px}
.surveymock__head{display:flex;align-items:center;gap:12px;padding:12px 16px;background:linear-gradient(180deg, #1e40af, #1e3a8a);color:#fff}
.surveymock__back{font-size:18px;opacity:.85}
.surveymock__icon{width:30px;height:30px;border-radius:8px;background:rgba(255,255,255,.2);display:grid;place-items:center;font-size:14px}
.surveymock__head b{display:block;font-size:13px;font-weight:700}
.surveymock__head em{display:block;font-style:normal;font-size:10.5px;color:#cdd3ea}
.surveymock__head > div:nth-child(3){flex:1}
.surveymock__action{background:rgba(255,255,255,.15);padding:5px 10px;border-radius:8px;font-size:10.5px;font-weight:600}
.surveymock__action--primary{background:rgba(255,255,255,.3)}
.surveymock__body{display:grid;grid-template-columns:200px 1fr;height:380px}
.surveymock__list{background:#fafaf7;border-right:1px solid var(--line);padding:14px;overflow:hidden;display:flex;flex-direction:column;gap:8px}
.surveymock__list-head{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:700;margin-bottom:4px}
.surveymock__list-head span{background:var(--lavender);color:var(--lavender-deep);padding:1px 8px;border-radius:999px;font-size:10px;font-weight:700}
.surveymock__new{background:#1e40af;color:#fff;padding:9px;border-radius:9px;font-size:11.5px;font-weight:700;border:0}
.surveymock__item{background:#fff;border:1px solid var(--line);padding:8px 10px;border-radius:8px;font-size:10.5px}
.surveymock__item b{display:block;font-size:11px;font-weight:700;margin-bottom:2px}
.surveymock__item em{font-style:normal;color:var(--muted);font-size:10px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.surveymock__main{padding:14px;overflow:hidden;display:flex;flex-direction:column;gap:12px}
.surveymock__card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px}
.surveymock__card-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.surveymock__card-icon{width:32px;height:32px;border-radius:9px;background:var(--lavender-2);color:var(--lavender-deep);display:grid;place-items:center;font-size:13px}
.surveymock__card-head small{display:block;color:var(--muted);font-size:10px}
.surveymock__card-head b{display:block;font-size:13px}
.surveymock__input{background:#fff;border:1px solid var(--line);padding:7px 10px;border-radius:7px;font-size:11px;color:var(--muted-2);margin-bottom:6px}
.surveymock__input--tall{padding-bottom:18px}
.surveymock__empty{background:#fafaf7;border:1.5px dashed var(--line-2);border-radius:10px;padding:18px;display:flex;flex-direction:column;align-items:center;gap:4px}
.surveymock__empty-icon{width:36px;height:36px;border-radius:9px;background:var(--lavender-2);color:var(--lavender-deep);display:grid;place-items:center;font-size:16px;margin-bottom:4px}
.surveymock__empty b{font-size:12px;font-weight:700}
.surveymock__empty em{font-style:normal;color:var(--muted);font-size:10.5px;text-align:center}
.surveymock__palette{display:flex;gap:5px;flex-wrap:wrap}
.surveymock__chip{background:#fff;border:1px solid var(--line);padding:5px 10px;border-radius:7px;font-size:10.5px;font-weight:600;color:var(--ink-2)}

/* Memo mock */
.memomock{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:var(--shadow-lg);font-size:12px}
.memomock__head{background:linear-gradient(180deg, #3a73f0, #2c5ed0);color:#fff;padding:10px 14px;display:flex;align-items:center;gap:14px}
.memomock__brand{display:flex;align-items:center;gap:6px;font-weight:800;font-size:13px}
.memomock__logo{width:24px;height:24px;border-radius:7px;background:#fff;color:#3a73f0;display:grid;place-items:center;font-size:13px;font-weight:800}
.memomock__search{flex:1;background:rgba(255,255,255,.2);padding:5px 12px;border-radius:7px;font-size:11px;color:rgba(255,255,255,.85)}
.memomock__body{display:grid;grid-template-columns:170px 200px 1fr;height:340px}
.memomock__folders{background:#fafaf7;border-right:1px solid var(--line);padding:12px 10px;overflow:hidden}
.memomock__folder-head{display:flex;justify-content:space-between;align-items:center;font-size:11px;font-weight:700;color:var(--ink-2);margin-bottom:8px;padding:0 4px}
.memomock__plus{color:var(--lavender-deep);font-size:14px}
.memomock__folder{padding:6px 8px;border-radius:7px;font-size:11.5px;color:var(--ink);display:flex;justify-content:space-between;align-items:center;margin-bottom:1px}
.memomock__folder--root{background:var(--lavender-2);color:var(--lavender-deep);font-weight:600}
.memomock__folder--open{font-weight:600}
.memomock__folder--sub{padding-left:18px;font-size:11px}
.memomock__folder--active{background:#e2eef9;color:#1c5b94}
.chip-pill{background:var(--lavender);color:var(--lavender-deep);font-size:9.5px;font-weight:700;padding:1px 6px;border-radius:999px;font-family:var(--mono)}
.memomock__list{background:#fff;border-right:1px solid var(--line);padding:12px;overflow:hidden}
.memomock__list-head{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:700;color:var(--ink);margin-bottom:10px}
.memomock__list-head span{color:var(--muted);font-size:14px}
.memomock__note{background:#f1faec;border-left:3px solid #7ec882;padding:8px 10px;border-radius:7px;margin-bottom:6px}
.memomock__note--active{background:#e2eef9;border-left-color:#3a73f0}
.memomock__note b{display:block;font-size:11px;font-weight:700;color:var(--ink);margin-bottom:3px}
.memomock__note em{font-style:normal;font-size:10px;color:var(--muted);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.memomock__editor{padding:14px;display:flex;flex-direction:column;gap:10px;overflow:hidden}
.memomock__editor-head{font-size:14px;font-weight:700;color:var(--ink)}
.memomock__editor-meta{font-size:10.5px;color:var(--muted);font-family:var(--mono)}
.memomock__editor-body{font-size:11.5px;color:var(--ink);line-height:1.6;flex:1;overflow:hidden}
.memomock__editor-body p{margin:0 0 8px;font-size:11px;line-height:1.6}
.memomock__editor-body p b{font-weight:700;background:#fefce7;padding:0 3px;border-radius:3px}
.memomock__table{
  width:100%;border-collapse:collapse;font-size:10px;
  margin:8px 0 10px;
}
.memomock__table th{
  background:var(--ink);color:#fff;
  padding:4px 6px;text-align:left;font-weight:700;font-size:9.5px;
  border:1px solid var(--ink);
}
.memomock__table td{
  padding:4px 6px;border:1px solid var(--line);
  font-size:10px;background:#fff;
}
.memomock__table tbody tr:nth-child(even) td{background:#fafaf7}
.memomock__image{margin-top:6px}
.memomock__image-ph{
  background:linear-gradient(135deg, #e2eef9 0%, #d3eaee 100%);
  border:1px dashed #a8c8e8;
  border-radius:7px;padding:14px 10px 8px;
  text-align:center;
  font-size:9.5px;color:#1c5b94;
  font-family:var(--mono);
  position:relative;
}
.memomock__image-ph-figure{
  width:42px;height:32px;margin:0 auto 6px;
  background:#fff;border:1px solid #a8c8e8;border-radius:5px;
  position:relative;
}
.memomock__image-ph-figure::before{
  content:"";position:absolute;
  left:6px;top:14px;
  width:8px;height:8px;border-radius:50%;
  background:#f5b594;
}
.memomock__image-ph-figure::after{
  content:"";position:absolute;
  left:18px;top:18px;right:4px;bottom:4px;
  background:linear-gradient(135deg, #a8d8c2, #7ec88a);
  clip-path:polygon(0 100%, 30% 60%, 50% 80%, 100% 30%, 100% 100%);
}
.memomock__tb-sep{
  width:1px;height:14px;background:var(--line);
  display:inline-block;margin:0 2px;
}
.memomock__tb-active{color:var(--lavender-deep);font-weight:700}

/* Chat mock */
.chatmock{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:var(--shadow-lg);font-size:12px}
.chatmock__head{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--line)}
.chatmock__icon{width:24px;height:24px;border-radius:6px;background:var(--lavender);color:var(--lavender-deep);display:grid;place-items:center;font-size:13px}
.chatmock__head b{font-size:15px;font-weight:700;flex:1}
.chatmock__body{display:grid;grid-template-columns:200px 1fr;height:380px}
.chatmock__list{border-right:1px solid var(--line);padding:12px;overflow:hidden;display:flex;flex-direction:column;gap:4px}
.chatmock__list-head{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:700;color:var(--ink);margin-bottom:6px}
.chatmock__list-head span{background:#3a6cf3;color:#fff;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:700}
.chatmock__item{display:grid;grid-template-columns:32px 1fr auto;gap:8px;align-items:center;padding:8px;border-radius:8px}
.chatmock__item--active{background:#e2eef9}
.chatmock__av{width:32px;height:32px;border-radius:50%;background:var(--lavender);color:var(--lavender-deep);display:grid;place-items:center;font-size:12px;font-weight:700}
.chatmock__av--g{background:#d2efe0;color:#2a7a4f}
.chatmock__txt{min-width:0}
.chatmock__txt b{display:block;font-size:11.5px;font-weight:700;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chatmock__txt em{display:block;font-style:normal;font-size:10.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}
.chatmock__time{font-size:9.5px;color:var(--muted);font-family:var(--mono)}
.chatmock__conv{display:flex;flex-direction:column}
.chatmock__conv-head{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line)}
.chatmock__conv-head b{display:block;font-size:13px;font-weight:700}
.chatmock__conv-head em{display:block;font-style:normal;font-size:10.5px;color:var(--muted)}
.chatmock__scroll{flex:1;padding:14px 16px;display:flex;flex-direction:column;gap:8px;overflow:hidden}
.chatmock__line{font-size:10.5px;color:var(--muted);font-weight:600}
.chatmock__bubble{align-self:flex-start;background:var(--lavender-2);padding:8px 12px;border-radius:14px;font-size:11.5px;color:var(--ink);max-width:78%;line-height:1.5}
.chatmock__bubble span{display:block;font-size:9.5px;color:var(--muted);margin-top:4px;font-family:var(--mono)}
.chatmock__bubble--me{align-self:flex-end;background:#3a6cf3;color:#fff}
.chatmock__bubble--me span{color:rgba(255,255,255,.7)}
.chatmock__compose{border-top:1px solid var(--line);padding:10px 14px;display:flex;align-items:center;gap:8px}
.chatmock__compose span:first-child{flex:1;font-size:11.5px;color:var(--muted)}
.chatmock__send{width:28px;height:28px;border-radius:50%;background:#3a6cf3;color:#fff;display:grid;place-items:center;font-size:12px}

/* ============================================================
   Duality (mail-as-chat)
   ============================================================ */
.duality{padding:120px 0;background:linear-gradient(180deg,#fff,#f7f4eb 50%,#fff)}
.duality__compare{
  display:grid;grid-template-columns:1fr auto 1fr;gap:24px;
  align-items:stretch;margin-top:48px;
}
.duality__side{display:flex;flex-direction:column;gap:14px}
.duality__side-head{
  display:flex;flex-direction:column;gap:4px;
  padding:0 4px;
}
.duality__label{
  display:inline-flex;align-self:flex-start;
  font-size:12px;font-weight:700;
  padding:5px 12px;border-radius:999px;
  background:var(--lavender-2);color:var(--lavender-deep);
}
.duality__label--cust{background:#fefce7;color:#8a6614}
.duality__side-head em{font-style:normal;font-size:12.5px;color:var(--muted);font-weight:500}
.duality__arrow{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;
  padding:24px 8px;
}
.duality__arrow-circle{
  width:56px;height:56px;border-radius:50%;
  background:var(--ink);color:#fff;
  display:grid;place-items:center;font-size:22px;
  box-shadow:var(--shadow-md);
}
.duality__arrow em{
  font-style:normal;font-size:11.5px;color:var(--muted);
  font-family:var(--mono);text-align:center;writing-mode:horizontal-tb;
}

/* Dualmail (operator side — chat-like email) */
.dualmail{
  background:#fff;border:1px solid var(--line);
  border-radius:14px;overflow:hidden;
  box-shadow:var(--shadow-lg);font-size:12px;
}
.dualmail__head{
  display:flex;align-items:center;gap:10px;
  padding:12px 16px;border-bottom:1px solid var(--line);
}
.dualmail__icon{
  width:34px;height:34px;border-radius:9px;
  background:#5da3e8;color:#fff;
  display:grid;place-items:center;font-size:14px;flex-shrink:0;
}
.dualmail__head b{display:block;font-size:14px;font-weight:700}
.dualmail__head em{display:block;font-style:normal;font-size:11px;color:var(--muted);font-family:var(--mono)}
.dualmail__scroll{
  background:linear-gradient(180deg, #e7f1fb, #dce8f6);
  padding:14px;
  display:flex;flex-direction:column;gap:12px;
  min-height:300px;
}
.dualmail__date{
  align-self:center;
  background:#fff;border-radius:999px;
  padding:3px 14px;
  font-size:10.5px;color:var(--ink-2);font-weight:600;
  box-shadow:var(--shadow-sm);
}
.dualmail__row{
  display:flex;gap:8px;align-items:flex-end;max-width:88%;
}
.dualmail__row--me{align-self:flex-end;flex-direction:row-reverse;text-align:right}
.dualmail__av{
  width:28px;height:28px;border-radius:7px;
  background:#5da3e8;color:#fff;
  display:grid;place-items:center;font-size:12px;flex-shrink:0;
}
.dualmail__bubble{
  background:#fff;border-radius:14px;border-top-left-radius:6px;
  padding:10px 14px;
  font-size:11.5px;color:var(--ink);line-height:1.6;
  box-shadow:var(--shadow-sm);
}
.dualmail__bubble--me{
  background:#316de8;color:#fff;
  border-top-left-radius:14px;border-top-right-radius:6px;
}
.dualmail__bubble p{margin:0 0 6px;font-size:11.5px;line-height:1.6}
.dualmail__bubble p:last-child{margin-bottom:0}
.dualmail__subj{
  font-size:10.5px;font-weight:700;
  padding-bottom:6px;margin-bottom:6px;
  border-bottom:1px solid rgba(0,0,0,.08);
  opacity:.85;
}
.dualmail__bubble--me .dualmail__subj{border-color:rgba(255,255,255,.2)}
.dualmail__file{
  background:rgba(255,255,255,.18);
  border-radius:7px;padding:6px 10px;
  font-size:10.5px;margin-top:6px;
}
.dualmail__bubble:not(.dualmail__bubble--me) .dualmail__file{background:#e2eef9;color:var(--ink-2)}
.dualmail__more{
  margin-top:6px;font-size:10.5px;
  color:var(--lavender-deep);font-weight:600;
}
.dualmail__time{
  font-size:10px;color:var(--muted);font-family:var(--mono);
  flex-shrink:0;line-height:1.4;
}
.dualmail__time em{display:block;font-style:normal;font-size:10px;color:var(--muted)}
.dualmail__compose{
  background:#fff;padding:8px 12px;
  border-top:1px solid var(--line);
}
.dualmail__toolbar{
  display:flex;gap:10px;
  font-size:11.5px;color:var(--ink-2);
  padding:4px 0;border-bottom:1px solid var(--line-2);
  margin-bottom:6px;
}
.dualmail__field{
  background:#fff;
  padding:8px 0;font-size:11px;color:var(--muted);
  min-height:30px;
}
.dualmail__actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center;justify-content:flex-end}
.dualmail__act{
  background:#fff;border:1px solid var(--line);
  padding:5px 10px;border-radius:8px;
  font-size:10.5px;font-weight:600;color:var(--ink-2);
}
.dualmail__act--ai{background:linear-gradient(135deg,#6aa6ff,#3d8aff);color:#fff;border:0}
.dualmail__act--send{background:var(--navy-gradient);color:#fff;border:0;padding:5px 14px}

/* Custmail (customer side — actual email view) */
.custmail{
  background:#fff;border:1px solid var(--line);
  border-radius:14px;overflow:hidden;
  box-shadow:var(--shadow-lg);font-size:12px;
}
.custmail__head{background:#f4f3ed;padding:8px 14px;border-bottom:1px solid var(--line)}
.custmail__head-row{display:flex;gap:6px;align-items:center}
.custmail__star{color:var(--muted-2);font-size:14px;margin-right:auto}
.custmail__btn{
  font-size:11px;font-weight:600;color:var(--ink-2);
  padding:4px 10px;border-radius:6px;background:#fff;border:1px solid var(--line);
}
.custmail__body{padding:18px 20px}
.custmail__body h4{font-size:18px;font-weight:700;margin:0 0 14px;letter-spacing:-.005em}
.custmail__meta{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px;gap:12px}
.custmail__from{display:flex;gap:10px;align-items:center}
.custmail__avatar{
  width:36px;height:36px;border-radius:50%;
  background:linear-gradient(135deg,#7e9bcd,#4a6db8);color:#fff;
  display:grid;place-items:center;font-weight:700;font-size:14px;
}
.custmail__from b{display:block;font-size:13px;font-weight:700}
.custmail__from em{display:block;font-style:normal;font-size:11px;color:var(--muted)}
.custmail__from em span{color:var(--muted-2)}
.custmail__time{font-size:11px;color:var(--muted);white-space:nowrap}
.custmail__content p{margin:0 0 10px;font-size:12px;line-height:1.8;color:var(--ink)}
.custmail__attach{
  display:flex;align-items:center;gap:10px;
  background:var(--bg);
  border:1px solid var(--line);border-radius:9px;
  padding:8px 12px;margin-top:10px;
  font-size:11.5px;
}
.custmail__attach-icon{font-size:18px;flex-shrink:0}
.custmail__attach > div{flex:1;min-width:0}
.custmail__attach b{display:block;font-size:12px;font-weight:600}
.custmail__attach em{display:block;font-style:normal;font-size:10.5px;color:var(--muted);font-family:var(--mono)}
.custmail__dl{color:var(--lavender-deep);font-size:16px}

/* Duality points */
.duality__points{
  list-style:none;margin:40px 0 0;padding:0;
  display:grid;grid-template-columns:repeat(4,1fr);gap:14px;
}
.duality__points li{
  background:#fff;border:1px solid var(--line);
  border-radius:14px;padding:18px 20px;
  font-size:13.5px;color:var(--ink-2);
  text-align:center;
  box-shadow:var(--shadow-sm);
}
.duality__points li b{display:block;color:var(--ink);font-size:14.5px;margin-bottom:4px}

/* ============================================================
   Customer Suite (right-panel features)
   ============================================================ */
.suite{padding:120px 0;background:#fff}
.suite__grid{
  display:grid;grid-template-columns:repeat(6,1fr);gap:18px;
  margin-top:48px;
}
.suite__card{
  background:#fff;border:1px solid var(--line);
  border-radius:20px;padding:28px;
  display:flex;flex-direction:column;gap:18px;
  box-shadow:var(--shadow-sm);
  grid-column:span 3;
  transition:transform .2s ease, box-shadow .2s ease;
}
.suite__card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.suite__card--lg{grid-column:span 6}
.suite__card--md{grid-column:span 3}
.suite__head{display:flex;gap:14px;align-items:flex-start}
.suite__icon{
  width:42px;height:42px;border-radius:11px;
  display:grid;place-items:center;font-size:18px;flex-shrink:0;
}
.suite__icon--lav{background:var(--lavender-2);color:var(--lavender-deep)}
.suite__icon--green{background:#d2efe0;color:#2a7a4f}
.suite__icon--pink{background:#fcd5e0;color:#9a3a5e}
.suite__icon--blue{background:#e2eef9;color:#1c5b94}
.suite__icon--teal{background:#dbeafe;color:#1e40af}
.suite__icon--orange{background:#fad9c2;color:#86460a}
.suite__head h3{font-size:18px;font-weight:700;margin:0 0 4px;letter-spacing:-.005em}
.suite__head p{font-size:13.5px;color:var(--ink-2);line-height:1.7;margin:0}
.suite__vis{
  background:var(--bg);
  border-radius:14px;padding:14px;
  flex:1;min-height:200px;
  display:flex;align-items:stretch;
}
.suite__vis > *{flex:1}

/* Template mock */
.tplmock{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;font-size:12px}
.tplmock__head{
  background:#1a2040;color:#fff;
  padding:10px 14px;
  display:flex;justify-content:space-between;align-items:center;
}
.tplmock__head b{font-size:13px;font-weight:700}
.tplmock__head span{opacity:.6}
.tplmock__body{display:grid;grid-template-columns:1.4fr 1fr;height:240px}
.tplmock__list{padding:12px;display:flex;flex-direction:column;gap:8px;overflow:hidden;border-right:1px solid var(--line)}
.tplmock__search{background:#fff;border:1px solid var(--line);padding:8px 12px;border-radius:8px;font-size:11px;color:var(--muted)}
.tplmock__filter{
  display:flex;justify-content:space-between;align-items:center;
  background:#fff;border:1px solid var(--line);
  padding:6px 10px;border-radius:8px;
  font-size:10px;color:var(--ink-2);
}
.tplmock__filter span{font-size:11px;font-weight:600;color:var(--ink)}
.tplmock__item{
  background:#fff;padding:8px;border-radius:7px;
  border:1px solid var(--line);
}
.tplmock__cat{display:block;font-size:9.5px;color:var(--muted);margin-bottom:3px}
.tplmock__item b{display:block;font-size:11px;font-weight:700;color:var(--ink);margin-bottom:2px}
.tplmock__item em{
  display:block;font-style:normal;font-size:10px;color:var(--muted);line-height:1.4;
  display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;
}
.tplmock__new{
  background:#fff;border:1.5px dashed var(--line-2);
  padding:8px;border-radius:8px;
  font-size:11px;color:var(--muted);font-weight:600;
}
.tplmock__preview{display:flex;flex-direction:column;background:#fafaf7}
.tplmock__preview-head{background:#1a2040;color:#fff;padding:6px 14px;font-size:11px;font-weight:700;opacity:.85}
.tplmock__preview-body{
  flex:1;display:flex;align-items:center;justify-content:center;gap:6px;
  font-size:11px;color:var(--muted);text-align:center;
}
.tplmock__preview-icon{
  width:28px;height:28px;border-radius:50%;
  background:#fff;border:1px solid var(--line);
  display:grid;place-items:center;color:var(--muted-2);
}

/* Tag mock */
.tagmock{display:flex;flex-direction:column;gap:10px;font-size:12px}
.tagmock__create{
  background:#fff;border:1.5px solid var(--lavender);
  border-radius:11px;padding:10px;
}
.tagmock__create-head{font-size:11px;font-weight:700;color:var(--ink);margin-bottom:6px}
.tagmock__create-input{
  background:#fafaf7;border:1px solid var(--line);
  padding:6px 10px;border-radius:7px;
  font-size:10.5px;color:var(--muted);margin-bottom:8px;
}
.tagmock__create-row{display:flex;align-items:flex-end;gap:10px}
.tagmock__create-row small{display:block;font-size:9.5px;color:var(--muted-2);margin-bottom:2px}
.tagmock__swatch{width:22px;height:22px;border-radius:5px}
.tagmock__swatch--ink{background:#1a2040}
.tagmock__swatch--white{background:#fff;border:1px solid var(--line)}
.tagmock__ok{
  margin-left:auto;
  width:32px;height:24px;border-radius:6px;
  background:var(--lavender);color:#fff;
  display:grid;place-items:center;font-size:13px;font-weight:700;
}
.tagmock__add{
  background:#fff;border:2px solid #1e40af;
  border-radius:11px;padding:10px;
}
.tagmock__add-head{
  font-size:11.5px;font-weight:700;color:var(--ink);
  margin-bottom:8px;display:flex;align-items:center;gap:6px;
}
.tagmock__add-head span{
  background:#1e40af;color:#fff;
  font-size:10px;padding:1px 7px;border-radius:999px;font-family:var(--mono);
}
.tagmock__add-list{display:flex;flex-wrap:wrap;gap:5px}
.tagmock__add-list .tag{padding:3px 9px;font-size:10.5px}

/* Customer memo mock */
.memocust{display:flex;flex-direction:column;gap:8px;font-size:12px}
.memocust__head{
  display:flex;justify-content:space-between;align-items:center;
  font-size:13px;font-weight:700;white-space:nowrap;gap:8px;
}
.memocust__input{
  background:#fff;border:1px solid var(--line);
  padding:10px 12px;border-radius:8px;font-size:11px;color:var(--muted-2);
  min-height:50px;
}
.memocust__save{
  align-self:flex-end;
  background:#5dc18e;color:#fff;
  padding:5px 12px;border-radius:7px;
  font-size:11px;font-weight:600;border:0;cursor:default;
  display:inline-flex;align-items:center;gap:4px;
}
.memocust__saved{
  background:#fff;border:1px solid var(--line);
  border-radius:9px;padding:10px 12px;
}
.memocust__saved header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}
.memocust__saved b{font-size:11.5px;font-weight:700}
.memocust__saved em{font-size:10px;color:var(--muted);font-style:normal;font-family:var(--mono)}
.memocust__saved p{margin:0;font-size:10.5px;color:var(--ink-2);line-height:1.6}

/* Survey result mock */
.surveyres{display:flex;flex-direction:column;gap:10px;font-size:12px}
.surveyres__badge{
  display:inline-block;
  background:#5dc18e;color:#fff;
  font-size:11px;font-weight:700;
  padding:3px 12px;border-radius:999px;
}
.surveyres ul{
  list-style:none;margin:0;padding:10px 12px;
  background:#fff;border:1px solid var(--line);border-radius:9px;
  display:flex;flex-direction:column;gap:6px;
}
.surveyres ul li{display:flex;justify-content:space-between;gap:10px;font-size:10.5px;align-items:baseline}
.surveyres ul li b{font-weight:700;color:var(--ink-2);flex-shrink:0;font-size:10.5px}
.surveyres ul li em{font-style:normal;color:var(--ink);text-align:right;font-size:10.5px}
.surveyres__select{
  background:#fff;border:1px solid var(--line);
  padding:8px 12px;border-radius:8px;
  font-size:11px;color:var(--ink-2);
  display:flex;justify-content:space-between;align-items:center;
}
.surveyres__btn{
  background:#e8eaf7;color:var(--muted);
  padding:8px;border-radius:8px;
  font-size:11px;font-weight:600;border:0;cursor:default;
}

/* Customer info mock */
.custinfo{display:flex;flex-direction:column;gap:8px;font-size:12px}
.custinfo header{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:700;margin-bottom:2px;white-space:nowrap;gap:8px}
.custinfo header b{white-space:nowrap}
.custinfo__row{display:flex;flex-direction:column;gap:3px}
.custinfo__row label,.custinfo__grid label{font-size:10px;color:var(--ink-2);font-weight:600}
.custinfo__field{
  background:#fff;border:1px solid var(--line);
  padding:6px 10px;border-radius:7px;
  font-size:10.5px;color:var(--ink);
}
.custinfo__field--empty{color:var(--muted-2)}
.custinfo__grid{display:grid;grid-template-columns:1fr 1.4fr;gap:8px}
.custinfo__grid > div{display:flex;flex-direction:column;gap:3px}

/* Links + Knowledge mock */
.linksmock{display:flex;flex-direction:column;gap:10px;font-size:12px}
.linksmock header{
  display:flex;justify-content:space-between;align-items:center;
  font-size:12.5px;font-weight:700;
  white-space:nowrap;gap:8px;
}
.linksmock header b{white-space:nowrap}
.linksmock__add{
  background:#3a73f0;color:#fff;
  font-size:10.5px;font-weight:600;
  padding:3px 10px;border-radius:6px;
  white-space:nowrap;flex-shrink:0;
}
.linksmock__count{
  background:#3a73f0;color:#fff;
  width:20px;height:20px;border-radius:50%;
  display:grid;place-items:center;font-size:10.5px;font-weight:700;
}
.linksmock__empty{
  background:#fff;border:1px dashed var(--line-2);
  border-radius:9px;padding:14px;
  text-align:center;font-size:10.5px;color:var(--muted);line-height:1.6;
}
.linksmock__icon{
  display:block;width:36px;height:36px;margin:0 auto 6px;border-radius:50%;
  background:var(--bg);display:grid;place-items:center;font-size:16px;color:var(--muted-2);
}
.linksmock__note{
  background:#fff;border:1px solid var(--line);
  border-radius:9px;padding:10px;
  display:flex;gap:8px;align-items:flex-start;flex-wrap:wrap;
}
.linksmock__note-icon{
  width:24px;height:24px;border-radius:5px;
  background:#e2eef9;color:#1c5b94;
  display:grid;place-items:center;font-size:11px;flex-shrink:0;
}
.linksmock__note > div{flex:1;min-width:0}
.linksmock__note b{display:block;font-size:11px;font-weight:700;color:var(--ink);line-height:1.4;margin-bottom:3px}
.linksmock__note em{font-style:normal;font-size:10px;color:var(--muted);font-family:var(--mono)}
.linksmock__open{
  width:100%;
  background:#3a73f0;color:#fff;
  padding:6px;border-radius:7px;
  font-size:11px;font-weight:600;border:0;
  margin-top:4px;
}

/* ============================================================
   Pain point ("Before/After")
   ============================================================ */
.pain{
  background:linear-gradient(180deg,#fff 0%,#f8fafc 100%);
  padding:120px 0 80px;
}

/* 3-card pain grid */
.pain__cards{
  display:grid;grid-template-columns:repeat(3,1fr);gap:20px;
  margin-top:56px;
}
.pain__card{
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:20px;padding:36px 32px;
  display:flex;flex-direction:column;
  box-shadow:0 1px 3px rgba(0,0,0,.04),0 8px 32px rgba(0,0,0,.03);
  transition:transform .2s ease,box-shadow .2s ease;
}
.pain__card:hover{transform:translateY(-3px);box-shadow:0 8px 40px rgba(0,0,0,.08)}

/* Big stat number */
.pain__card-num{
  font-size:18px;font-weight:700;color:#94a3b8;
  letter-spacing:-.01em;line-height:1.1;
  margin-bottom:20px;
}
.pain__card-num span{
  font-size:40px;font-weight:800;
  color:#0f172a;letter-spacing:-.03em;
}

.pain__card h3{
  font-size:20px;font-weight:800;margin:0 0 14px;
  color:#0f172a;letter-spacing:-.02em;line-height:1.4;
}
.pain__card p{
  margin:0;color:#64748b;font-size:14px;line-height:1.8;
}
.pain__card p strong{color:#0f172a;font-weight:600}

/* ---- Pain figures ---- */
.pain__fig{
  background:#f8fafc;border:1px solid #e2e8f0;
  border-radius:14px;padding:24px 20px;
  margin:16px 0 18px;
}

/* Fig 1: Relay */
.pain__fig--relay{
  display:flex;align-items:flex-start;justify-content:center;gap:0;
  overflow:hidden;
}
.pain__fig-person{
  display:flex;flex-direction:column;align-items:center;gap:6px;
  flex-shrink:0;
}
.pain__fig-person span{font-size:10px;color:#94a3b8;font-weight:600}
.pain__fig-av{
  width:36px;height:36px;border-radius:50%;
}
.pain__fig-av--a{background:linear-gradient(135deg,#93c5fd,#3b82f6)}
.pain__fig-av--b{background:linear-gradient(135deg,#86efac,#22c55e)}
.pain__fig-av--c{background:linear-gradient(135deg,#fde68a,#f59e0b)}
.pain__fig-av--gone{
  background:#e2e8f0;position:relative;
}
.pain__fig-av--gone::after{
  content:"";position:absolute;inset:0;
  border:2px solid #ef4444;border-radius:50%;
  background:
    linear-gradient(45deg,transparent 44%,#ef4444 44%,#ef4444 56%,transparent 56%);
}
.pain__fig-arrow{
  display:flex;flex-direction:column;align-items:center;gap:4px;
  padding:4px 6px 0;flex-shrink:1;min-width:0;
}
.pain__fig-q{
  font-size:10px;color:#64748b;font-weight:500;
  background:#fff;border:1px solid #e2e8f0;
  border-radius:8px;padding:3px 8px;
  white-space:nowrap;
}

/* Fig 2: Memory hub */
.pain__fig--memory{
  display:flex;align-items:center;justify-content:center;gap:16px;
}
.pain__fig-state{
  display:flex;flex-direction:column;align-items:center;gap:8px;
}
.pain__fig-state-label{
  font-size:10px;font-weight:700;color:#22c55e;
  letter-spacing:.06em;
}
.pain__fig-state-label--red{color:#ef4444}
.pain__fig-state-arrow{flex-shrink:0;color:#94a3b8}
.pain__fig-hub{
  display:flex;align-items:center;gap:12px;
}
.pain__fig-lines{
  display:flex;flex-direction:column;gap:4px;
}
.pain__fig-node{
  font-size:10px;font-weight:600;color:#475569;
  background:#fff;border:1px solid #cbd5e1;
  border-radius:6px;padding:3px 10px;
  position:relative;
}
.pain__fig-node::before{
  content:"";position:absolute;left:-12px;top:50%;
  width:10px;height:1px;background:#cbd5e1;
}
.pain__fig-lines--broken .pain__fig-node::before{
  background:none;
  border-top:1px dashed #e2e8f0;
  height:0;
}
.pain__fig-node--lost{
  opacity:.35;border-style:dashed;border-color:#e2e8f0;
  color:#94a3b8;
}

/* Fig 3: Inbox */
.pain__fig--inbox{
  display:flex;flex-direction:column;gap:6px;
  padding:16px;
}
.pain__fig-msg{
  display:flex;align-items:center;gap:10px;
  font-size:12px;font-weight:500;color:#475569;
  padding:8px 12px;border-radius:8px;
  background:#fff;border:1px solid #e2e8f0;
}
.pain__fig-msg-dot{
  width:7px;height:7px;border-radius:50%;
  background:#cbd5e1;flex-shrink:0;
}
.pain__fig-msg-name{flex:1}
.pain__fig-msg-time{
  font-size:10px;color:#94a3b8;font-family:var(--mono);
}
.pain__fig-msg-badge{
  font-size:9px;font-weight:700;color:#fff;
  background:#ef4444;border-radius:6px;padding:2px 8px;
  letter-spacing:.02em;
}
.pain__fig-msg--danger{
  background:#fef2f2;border-color:#fecaca;
}
.pain__fig-msg--danger .pain__fig-msg-dot{
  background:#ef4444;box-shadow:0 0 6px rgba(239,68,68,.4);
}
.pain__fig-msg--danger .pain__fig-msg-name{color:#991b1b;font-weight:700}
.pain__fig-msg--warn{
  background:#fffbeb;border-color:#fde68a;
}
.pain__fig-msg--warn .pain__fig-msg-dot{background:#f59e0b}
.pain__fig-msg--warn .pain__fig-msg-time{color:#b45309}
.pain__fig-msg--fade{opacity:.5}
.pain__fig-msg--fade2{opacity:.25}

/* Bottom closer */
.pain__bottom{
  margin-top:32px;text-align:center;
}
.pain__bottom-text{
  display:inline-block;
  font-size:15px;color:#64748b;line-height:1.7;
  padding:16px 32px;
  background:#f1f5f9;border-radius:12px;
  border:1px solid #e2e8f0;
}
.pain__bottom-text strong{color:#0f172a;font-weight:700}

/* ============================================================
   Channels
   ============================================================ */
.channels{padding:120px 0;background:#fff}
.channels__grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:18px;
  margin-top:48px;
}
.ch-card{
  background:#fff;border:1px solid var(--line);
  border-radius:18px;padding:24px 22px;
  display:flex;align-items:center;gap:14px;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s;
  position:relative;
}
.ch-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--line-2)}
.ch-card--line{
  background:linear-gradient(135deg, #ecfbf1 0%, #fff 60%);
  border-color:#bce8cf;
}
.ch-card--line::before{
  content:none;
  position:absolute;top:12px;right:14px;
  font-size:9.5px;font-weight:700;letter-spacing:.1em;
  color:#06c755;
  background:rgba(6,199,85,.12);
  padding:2px 8px;border-radius:999px;
}
.ch-card__logo{
  width:54px;height:54px;border-radius:14px;
  display:grid;place-items:center;
  color:#fff;font-size:20px;font-weight:800;letter-spacing:.02em;
  flex-shrink:0;
}
.ch-card__logo--line{background:#06c755}
.ch-card__logo--gmail{background:linear-gradient(135deg,#ea4335 0%,#c5221f 100%)}
.ch-card__logo--outlook{background:#0078d4}
.ch-card__logo--m365{background:linear-gradient(135deg,#d83b01 0%,#e85c2c 50%,#f5b400 100%)}
.ch-card__logo--icloud{background:linear-gradient(135deg,#5d9eea,#306eb8)}
.ch-card__logo--yahoo{background:#7100c4;font-size:18px}
.ch-card__logo--domain{background:#1a2040;font-family:var(--mono)}
.ch-card__logo--form{background:#2563eb}
.ch-card__name{
  font-size:15px;font-weight:700;color:var(--ink);
  line-height:1.3;
  margin-bottom:3px;
}
.ch-card__desc{
  font-size:11.5px;color:var(--muted);
  font-family:var(--mono);letter-spacing:.01em;
}

/* ============================================================
   No-Flow (既読しても流れない)
   ============================================================ */
.noflow{padding:120px 0;background:linear-gradient(180deg,#fff 0%,#f8fafc 100%)}

.noflow__grid{
  display:grid;grid-template-columns:1fr 1fr;gap:32px;
  max-width:960px;margin:56px auto 0;
}
.noflow__card{
  border-radius:16px;padding:0;overflow:hidden;
  background:#fff;border:1px solid #e5e7eb;
  box-shadow:0 4px 24px rgba(0,0,0,.04);
}
.noflow__card--after{border-color:#c7d2fe;box-shadow:0 4px 24px rgba(37,99,235,.08)}

.noflow__card-head{
  padding:24px 28px 16px;display:flex;align-items:center;gap:14px;
  border-bottom:1px solid #f1f5f9;
}
.noflow__card-head h3{font-size:17px;font-weight:700;color:#0f172a;margin:0}
.noflow__badge{
  font-size:11px;font-weight:700;letter-spacing:.06em;
  padding:4px 12px;border-radius:6px;text-transform:uppercase;
}
.noflow__badge--before{background:#fef2f2;color:#dc2626}
.noflow__badge--after{background:#eff6ff;color:#2563eb}

.noflow__inbox{padding:20px 28px}
.noflow__msg{
  display:flex;align-items:center;gap:12px;
  padding:14px 16px;border-radius:10px;margin-bottom:10px;
  background:#f9fafb;border:1px solid #f1f5f9;
}
.noflow__msg:last-child{margin-bottom:0}
.noflow__msg-dot{
  width:8px;height:8px;border-radius:50%;
  background:#cbd5e1;flex-shrink:0;
}
.noflow__msg-dot--on{background:#2563eb;box-shadow:0 0 8px rgba(37,99,235,.3)}
.noflow__msg-body{flex:1;min-width:0}
.noflow__msg-body b{display:block;font-size:13px;color:#1e293b;font-weight:600}
.noflow__msg-body span{display:block;font-size:12px;color:#94a3b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.noflow__msg-time{font-size:11px;color:#94a3b8;flex-shrink:0}
.noflow__msg-tag{flex-shrink:0;font-size:10px;padding:2px 8px}

.noflow__msg--fading{opacity:.4}
.noflow__msg--gone{opacity:.12}
.noflow__msg--active{background:#f8fafc;border-color:#e0e7ff}

.noflow__caption{
  padding:20px 28px 12px;
  font-size:14px;font-weight:600;line-height:1.6;text-align:center;
}
.noflow__caption--before{color:#dc2626}
.noflow__caption--after{color:#2563eb}

.noflow__explain{
  padding:0 28px;margin-bottom:16px;
  font-size:12px;color:#64748b;text-align:center;line-height:1.6;
}

.noflow__stat{
  padding:0 28px 24px;text-align:center;
  font-size:13px;color:#64748b;
}
.noflow__stat-num{font-weight:800;font-size:18px}
.noflow__stat--before .noflow__stat-num{color:#dc2626}
.noflow__stat--after .noflow__stat-num{color:#2563eb}

.noflow__bottom{
  display:flex;justify-content:center;gap:64px;
  margin-top:56px;
}
.noflow__metric{text-align:center}
.noflow__metric-num{
  font-size:56px;font-weight:800;color:#0f172a;
  line-height:1;letter-spacing:-.02em;
}
.noflow__metric-num span{font-size:28px;color:#94a3b8}
.noflow__metric-label{
  font-size:14px;color:#64748b;margin-top:8px;
  font-weight:500;
}

/* ============================================================
   Tag wall (industries)
   ============================================================ */
.tagwall{padding:120px 0;background:linear-gradient(180deg,#fff 0%,#f8fafc 50%,#fff 100%)}
.tagwall__grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:20px;
  margin-top:48px;
}
.tw-card{
  background:#fff;border:1px solid #e5e7eb;
  border-radius:16px;padding:24px 24px 20px;
  display:flex;flex-direction:column;gap:16px;
  box-shadow:0 1px 3px rgba(0,0,0,.04),0 4px 16px rgba(0,0,0,.03);
  transition:transform .2s ease, box-shadow .2s ease;
  position:relative;
}
.tw-card::before{
  content:"";position:absolute;top:0;left:24px;right:24px;height:2px;
  border-radius:0 0 2px 2px;opacity:0;
  transition:opacity .2s ease;
}
.tw-card:hover{transform:translateY(-3px);box-shadow:0 4px 24px rgba(0,0,0,.08)}
.tw-card:hover::before{opacity:1}
.tw-card__head{
  display:flex;align-items:center;gap:12px;
}
.tw-card__icon{
  width:40px;height:40px;border-radius:12px;
  display:grid;place-items:center;
  flex-shrink:0;
}
.tw-card__icon svg{display:block}
.tw-card__icon--ec{background:#f3e8ff;color:#7c3aed}
.tw-card__icon--clinic{background:#dbeafe;color:#2563eb}
.tw-card__icon--school{background:#fef9c3;color:#a16207}
.tw-card__icon--realestate{background:#e0f2fe;color:#0284c7}
.tw-card__icon--consult{background:#dcfce7;color:#16a34a}
.tw-card__icon--studio{background:#ffedd5;color:#ea580c}
.tw-card:nth-child(1)::before{background:#7c3aed}
.tw-card:nth-child(2)::before{background:#2563eb}
.tw-card:nth-child(3)::before{background:#a16207}
.tw-card:nth-child(4)::before{background:#0284c7}
.tw-card:nth-child(5)::before{background:#16a34a}
.tw-card:nth-child(6)::before{background:#ea580c}
.tw-card__name{font-size:15px;font-weight:700;margin:0;letter-spacing:-.01em;color:#0f172a}
.tw-card__sub{font-size:11px;color:#94a3b8;margin:0;font-family:var(--mono);letter-spacing:.02em}
.tw-card__tags{display:flex;gap:5px;flex-wrap:wrap;min-height:0}

/* ============================================================
   Stats / Impact
   ============================================================ */
.stats{padding:100px 0;background:#0f1629;color:#fff;position:relative;overflow:hidden}
.stats::before{
  content:"";position:absolute;top:-30%;left:-10%;width:600px;height:600px;
  background:radial-gradient(circle, rgba(37,99,235,.3), transparent 70%);
  filter:blur(40px);
}
.stats::after{
  content:"";position:absolute;bottom:-30%;right:-10%;width:600px;height:600px;
  background:radial-gradient(circle, rgba(93,193,142,.20), transparent 70%);
  filter:blur(40px);
}
.stats__inner{position:relative;z-index:1}
.stats .kicker{background:rgba(37,99,235,.2);color:#93c5fd}
.stats .h2{color:#fff}
.stats__grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:0;
  margin-top:48px;
  background:rgba(255,255,255,.05);
  border-radius:24px;padding:8px;
}
.stat-cell{
  padding:36px 28px;
  border-right:1px solid rgba(255,255,255,.08);
  text-align:left;
}
.stat-cell:last-child{border-right:0}
.stat-cell__label{
  font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;
  font-family:var(--mono);font-weight:600;
  color:#a8b8e8;margin-bottom:14px;
}
.stat-cell__num{
  font-size:64px;font-weight:800;letter-spacing:-.04em;line-height:1;
  margin-bottom:10px;
  display:flex;align-items:baseline;gap:2px;
}
.stat-cell__num span{font-size:28px;font-weight:600;opacity:.7}
.stat-cell__num em{font-style:normal;color:#5dc18e}
.stat-cell__desc{font-size:13px;color:#aeb7d4;line-height:1.65}

/* ============================================================
   Quotes — 3-column testimonials
   ============================================================ */
.quotes{padding:120px 0}
.quotes__grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:20px;
  margin-top:48px;
}
.q-card{
  background:#fff;border:1px solid var(--line);
  border-radius:18px;padding:30px 26px;
  display:flex;flex-direction:column;gap:18px;
  box-shadow:var(--shadow-sm);
  position:relative;
}
.q-card::before{
  content:"\201C";position:absolute;
  top:18px;right:24px;
  font-family:"Instrument Serif", serif;
  font-size:64px;line-height:.8;
  color:var(--line-2);
}
.q-card__badge{
  display:inline-flex;align-self:flex-start;
  font-size:10.5px;font-weight:700;
  padding:3px 10px;border-radius:999px;
  font-family:var(--mono);
}
.q-card__badge--ec{background:#f4e9f7;color:#7a3a90}
.q-card__badge--clinic{background:#dbeafe;color:#1e40af}
.q-card__badge--studio{background:#fad9c2;color:#86460a}
.q-card p{
  font-size:15px;line-height:1.85;color:var(--ink);
  margin:0;
  flex:1;
  text-wrap:pretty;
}
.q-card p mark{
  background:linear-gradient(180deg, transparent 60%, #fefce7 60%);
  color:inherit;padding:0 2px;
}
.q-card footer{
  display:flex;align-items:center;gap:12px;
  padding-top:18px;border-top:1px solid var(--line-2);
}
.q-card__avatar{
  width:42px;height:42px;border-radius:50%;flex-shrink:0;
  background:radial-gradient(circle at 50% 35%, #f3c194 0%, #d6996c 70%, #b27c52 100%);
}
.q-card__who b{display:block;font-weight:700;font-size:14px}
.q-card__who em{font-style:normal;font-size:12px;color:var(--muted)}

/* ============================================================
   Pricing comparison
   ============================================================ */
.compare{
  margin-top:76px;
  background:#fff;border:0;
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 1px 2px rgba(26,32,64,.04), 0 20px 48px -28px rgba(26,32,64,.16);
}
.compare__head{
  display:grid;grid-template-columns:2.2fr 1fr 1fr 1fr;
  background:#fff;
  padding:22px 26px;
  font-size:13.5px;font-weight:800;
  border-bottom:1px solid var(--line-2);
  align-items:center;
}
.compare__head > div{text-align:center}
.compare__head > div:first-child{text-align:left}
.compare__head em{display:block;font-style:normal;font-size:10.5px;font-weight:700;color:var(--muted);margin-top:3px;font-variant-numeric:tabular-nums}
.compare__head .featured{
  background:var(--navy-gradient);color:#fff;
  margin:-14px -6px;padding:14px 6px;
  border-radius:14px;
  box-shadow:0 10px 24px -12px rgba(30,58,138,.45);
}
.compare__head .featured em{color:#c7d2fe}
.compare__head .premium-col{
  background:linear-gradient(135deg,#6d28d9,#2563eb);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.compare__head .premium-col em{color:#8b5cf6;-webkit-text-fill-color:#8b5cf6}
.compare__group{
  padding:26px 26px 10px;
  background:transparent;
  font-size:10.5px;font-weight:800;letter-spacing:.14em;
  color:var(--muted);
  border:0;border-bottom:1px solid var(--line-2);
  display:flex;align-items:center;gap:9px;
}
.compare__group::before{
  content:"";width:7px;height:7px;border-radius:999px;flex-shrink:0;
  background:linear-gradient(135deg,#2563eb,#7c3aed);
}
.compare__group small{font-size:10.5px;font-weight:600;color:var(--muted);letter-spacing:.02em;opacity:.8}
.compare__row{
  display:grid;grid-template-columns:2.2fr 1fr 1fr 1fr;
  padding:13px 26px;
  border-bottom:1px solid var(--line-2);
  font-size:13.5px;
  align-items:center;
  transition:background .15s;
}
.compare__row:hover{background:var(--bg)}
.compare__row:last-child{border-bottom:0}
.compare__row > div{text-align:center}
.compare__row > div:first-child{text-align:left;color:var(--ink-2);font-weight:600}
.compare__row > div:first-child small{display:block;font-size:11px;color:var(--muted);font-weight:500;margin-top:2px}
.compare__row > div:nth-child(3){background:rgba(37,99,235,.05);border-radius:10px;padding-block:7px;margin-block:-7px}
.compare__row .check{font-size:0;line-height:0}
.compare__row .check::before{
  content:"✓";
  display:inline-flex;align-items:center;justify-content:center;
  width:21px;height:21px;border-radius:999px;
  background:rgba(63,190,130,.16);color:#1c7a4f;
  font-size:11px;font-weight:800;line-height:1;
}
.compare__row .dash{color:var(--muted-2);opacity:.4;font-weight:600}
.compare__row .val{font-weight:800;color:var(--ink);font-size:12.5px;font-variant-numeric:tabular-nums}
.compare__row .val--ai{color:#6d28d9}

/* ============================================================
   Responsive
   ============================================================ */
@media (max-width: 1080px){
  .hero__inner{grid-template-columns:1fr;gap:36px}
  .hero__mock{perspective:none;margin-right:0;margin-bottom:0}
  .hero__screenshot{transform:none}
  .hero__screenshot:hover{transform:none}
  .hmock{zoom:.45}
  .hmock__right{display:none}
  .hmock__body{grid-template-columns:54px minmax(0,1fr) minmax(0,1.3fr)}
  .app__body{grid-template-columns:48px minmax(0, 1fr) minmax(0, 1.05fr) 220px}
}
@media (max-width: 720px){
  .hmock{zoom:.4}
  .hmock__rooms{display:none}
  .hmock__body{grid-template-columns:54px minmax(0,1fr)}
  .hmock__body{height:500px}
}
@media (max-width: 980px){
  .vps__grid{grid-template-columns:1fr;gap:16px}
  .features__grid{grid-template-columns:repeat(2,1fr)}
  .feat--hero__inner{grid-template-columns:1fr;gap:24px}
  .feat--hero,.feat--bottom{padding:28px}
  .step{grid-template-columns:56px 1fr;gap:24px;padding:28px}
  .step__num{width:48px;height:48px;font-size:17px}
  .step__vis{grid-column:1 / -1}
  .plans{grid-template-columns:1fr;gap:16px}
  .plan--featured{transform:none}
  .faq__inner{grid-template-columns:1fr;gap:32px}
  .foot__inner{grid-template-columns:1fr;gap:40px}
  .pain__cards{grid-template-columns:1fr 1fr;gap:16px}
  .pain__cards .pain__card:last-child{grid-column:span 2}
  .pain__card{padding:28px 24px}
  .noflow__grid{grid-template-columns:1fr;gap:24px}
  .noflow__bottom{gap:40px}
  .tagwall__grid{grid-template-columns:repeat(2,1fr)}
  .quotes__grid{grid-template-columns:1fr;gap:16px}
  .compare__head,.compare__row{grid-template-columns:1.5fr 1fr 1fr 1fr;padding-inline:14px;font-size:12px}
}
@media (max-width: 1100px){
  .channels__grid{grid-template-columns:repeat(2,1fr)}
  .stats__grid{grid-template-columns:repeat(2,1fr)}
  .stat-cell:nth-child(2){border-right:0}
  .stat-cell:nth-child(1),.stat-cell:nth-child(2){border-bottom:1px solid rgba(255,255,255,.08)}
}
@media (max-width: 820px){
  .app__body{grid-template-columns:48px minmax(0, 1fr) minmax(0, 1.05fr);height:auto}
  .tags{display:none}
  .channels__grid{grid-template-columns:repeat(3,1fr)}
}
@media (max-width: 720px){
  .nav__links{display:none}
  .nav__cta .link-quiet{display:none}
  .hero__inner{padding-block:16px 56px;gap:32px}
  .h1{font-size:38px}
  .lede{font-size:15.5px}
  .app__body{grid-template-columns:1fr;height:auto}
  .rail,.msgs{display:none}
  .vps,.features,.how,.pricing,.faq,.cta,.pain,.channels,.tagwall,.noflow,.stats,.quotes,.spot,.suite,.duality,.contact{padding:64px 0}
  .duality__compare{grid-template-columns:1fr;gap:32px}
  .duality__arrow{transform:rotate(90deg);padding:0}
  .duality__points{grid-template-columns:1fr 1fr;gap:10px}
  .suite__grid{grid-template-columns:1fr}
  .suite__card,.suite__card--lg,.suite__card--md{grid-column:span 1}
  .tplmock__body{grid-template-columns:1fr;height:auto}
  .tplmock__preview{display:none}
  .spot__nav{grid-template-columns:1fr 1fr;gap:6px}
  .spot__tab{padding:10px 12px}
  .spot__tab-name{font-size:14px}
  .spot__tab-sub{display:none}
  .spot__slide{grid-template-columns:1fr;gap:32px;padding:28px}
  .spot__copy h3{font-size:24px}
  .spot__vis{margin:0 -8px}
  .surveymock__body,.memomock__body,.chatmock__body{grid-template-columns:1fr;height:auto}
  .surveymock__list,.memomock__folders,.memomock__list,.chatmock__list{display:none}
  .features__grid{grid-template-columns:1fr;gap:14px}
  .feat--hero,.feat--bottom{padding:24px}
  .feat--hero__inner{grid-template-columns:1fr;gap:20px}
  .feat__stat{min-width:auto;padding:24px}
  .feat__stat-num{font-size:48px}
  .foot__cols{grid-template-columns:1fr 1fr;gap:24px}
  .quote p{font-size:21px}
  .plan{padding:28px 24px}
  .step{padding:24px}
  .step__body h3{font-size:18px}
  .logos__inner{gap:20px}
  .logos__row{gap:24px;font-size:13px}
  .channels__grid{grid-template-columns:repeat(2,1fr)}
  .tagwall__grid{grid-template-columns:1fr}
  .stats__grid{grid-template-columns:1fr}
  .stat-cell{border-right:0;border-bottom:1px solid rgba(255,255,255,.08);padding:24px}
  .stat-cell:last-child{border-bottom:0}
  .stat-cell__num{font-size:48px}
  .pain__cards{grid-template-columns:1fr;gap:14px}
  .pain__cards .pain__card:last-child{grid-column:span 1}
  .pain__card{padding:24px 20px}
  .pain__card-num span{font-size:32px}
  .pain__card h3{font-size:18px}
  .compare{overflow-x:auto}
  .compare__head,.compare__row{min-width:540px}
  .contact__row{grid-template-columns:1fr}
  .contact__form{padding:32px 24px}
}

/* ============================================================
   Contact Form
   ============================================================ */
.contact{padding:120px 0;background:var(--bg)}
.contact__form{
  max-width:720px;margin:48px auto 0;
  background:#fff;border:1px solid var(--line);
  border-radius:20px;padding:48px;
  box-shadow:var(--shadow-sm);
}
.contact__row{
  display:grid;grid-template-columns:1fr 1fr;gap:18px;
  margin-bottom:18px;
}
.contact__field{display:flex;flex-direction:column;gap:6px}
.contact__field--full{margin-bottom:18px}
.contact__field label{
  font-size:14px;font-weight:600;color:var(--ink);
}
.contact__req{
  font-size:11px;font-weight:600;
  color:#fff;background:var(--accent);
  padding:1px 6px;border-radius:4px;
  margin-left:4px;vertical-align:middle;
}
.contact__field input,
.contact__field select,
.contact__field textarea{
  padding:12px 14px;
  border:1px solid var(--line);border-radius:10px;
  font-size:15px;font-family:inherit;color:var(--ink);
  background:#fafafa;
  transition:border-color .15s ease,box-shadow .15s ease;
}
.contact__field input:focus,
.contact__field select:focus,
.contact__field textarea:focus{
  outline:none;border-color:var(--accent);
  box-shadow:0 0 0 3px rgba(74,139,149,.15);
  background:#fff;
}
.contact__field input::placeholder,
.contact__field textarea::placeholder{color:#a0a5b8}
.contact__field select{cursor:pointer;appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236b7280' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;
  padding-right:36px;
}
.contact__field textarea{resize:vertical;min-height:120px}
.contact__submit{text-align:center;margin-top:28px}
.btn--lg{padding:16px 48px;font-size:16px}
.contact__note{
  margin-top:12px;font-size:13px;color:var(--sub);
}

/* ============================================================
   Demo movie
   ============================================================ */
.demo{padding:120px 0;background:linear-gradient(180deg,#ffffff 0%,#f6f8fc 100%)}
.demo__frame{
  max-width:1000px;margin:48px auto 0;
  border-radius:22px;overflow:hidden;line-height:0;
  background:#0b1220;
  box-shadow:0 44px 110px -34px rgba(8,18,40,.5),0 0 0 1px rgba(15,30,60,.06);
}
.demo__video{display:block;width:100%;height:auto;border-radius:22px;background:#0b1220}
.demo__note{text-align:center;color:var(--muted);font-size:13.5px;margin-top:18px}
@media (max-width: 720px){
  .demo{padding:64px 0}
  .demo__frame{margin-top:28px;border-radius:14px}
  .demo__video{border-radius:14px}
}

/* ===== Room / status assignment board ===== */
.rooms-sec{padding:120px 0;background:linear-gradient(180deg,#f6f8fc 0%,#ffffff 100%)}
.board{
  display:grid;grid-template-columns:repeat(4,1fr);gap:16px;
  max-width:1100px;margin:52px auto 0;
}
.board__col{
  background:#f1f5fb;border:1px solid #e6ecf5;border-radius:16px;
  padding:14px;display:flex;flex-direction:column;gap:10px;min-height:230px;
}
.board__head{
  display:flex;align-items:center;gap:8px;
  font-weight:800;font-size:15px;color:#0f172a;
}
.board__dot{width:11px;height:11px;border-radius:50%;flex-shrink:0}
.board__count{
  margin-left:auto;font-size:12px;font-weight:800;color:#5b6b86;
  background:#fff;border:1px solid #e2e8f0;border-radius:999px;
  min-width:24px;height:22px;display:grid;place-items:center;padding:0 7px;
}
.board__assignee{
  font-size:11.5px;color:#7b879c;font-weight:600;
  padding-bottom:8px;border-bottom:1px dashed #d8e0ec;letter-spacing:.01em;
}
.board__card{
  background:#fff;border:1px solid #e6ecf5;border-radius:11px;
  padding:10px 12px;display:flex;align-items:center;gap:10px;
  box-shadow:0 2px 6px rgba(15,30,60,.04);
}
.board__card b{display:block;font-size:13px;font-weight:800;color:#0f172a;line-height:1.3}
.board__card em{font-style:normal;font-size:11px;color:#94a3b8}
.board__av{width:30px;height:30px;border-radius:50%;flex-shrink:0;background:linear-gradient(135deg,#cdd9f5,#9db6ee)}
.board__av--a{background:linear-gradient(135deg,#93c5fd,#3b82f6)}
.board__av--b{background:linear-gradient(135deg,#cbd5e1,#94a3b8)}
.board__av--c{background:linear-gradient(135deg,#c4b5fd,#8b5cf6)}
.board__av--d{background:linear-gradient(135deg,#fcd34d,#f59e0b)}
.board__av--e{background:linear-gradient(135deg,#fbcfe8,#ec4899)}
.board__av--f{background:linear-gradient(135deg,#86efac,#22c55e)}
.board__card--ghost{
  justify-content:center;color:#94a3b8;font-size:12px;font-weight:700;
  background:transparent;border:1px dashed #cdd6e4;box-shadow:none;
}
.board__points{
  list-style:none;margin:40px auto 0;padding:0;max-width:920px;
  display:grid;grid-template-columns:repeat(3,1fr);gap:20px;
}
.board__points li{
  position:relative;padding-left:30px;font-size:14px;line-height:1.7;color:var(--ink-2);
}
.board__points li::before{
  content:"";position:absolute;left:0;top:6px;width:18px;height:18px;border-radius:50%;
  background:#e8efff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24'><path d='M5 13l4 4L19 7' fill='none' stroke='%232563eb' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/12px no-repeat;
}
.board__points b{color:#0f172a;font-weight:700}
@media (max-width: 980px){
  .board{grid-template-columns:repeat(2,1fr)}
  .board__points{grid-template-columns:1fr;gap:14px;max-width:560px}
}
@media (max-width: 720px){
  .rooms-sec{padding:64px 0}
  .board{grid-template-columns:1fr;gap:12px;margin-top:32px}
  .board__col{min-height:0}
}


/* ── pricing responsive (2026 refresh) ── */
@media (max-width: 720px){
  .compare__group{min-width:540px}
  .plan--featured{transform:none}
  .plan--featured:hover{transform:translateY(-4px)}
  .plan__num{font-size:42px}
  .plans__foot{gap:8px}
  .plans__foot span{font-size:11.5px;padding:8px 13px}
}

/* ============================================================
   MOBILE OVERHAUL (≤720px) — 2026-07 full pass
   Appended last so these rules win the cascade.
   PC (>720px) is not affected.
   ============================================================ */
@media (max-width: 720px){
  /* ── global guard: no page-level horizontal scroll ── */
  html,body{overflow-x:clip}
  .wrap{padding-inline:20px}

  /* ── nav ── */
  .nav__inner{height:64px;gap:16px}
  .nav__inner .btn--sm{padding:10px 18px;font-size:13px}

  /* ── hero ── */
  .hero__lang{padding:20px 20px 0}
  .hero__copy{padding:0 20px;margin-top:150px}
  .hero .h1{font-size:34px;line-height:1.32}
  .hero__sub{font-size:13.5px}
  .hero__actions{flex-direction:column;gap:10px;margin-bottom:28px}
  .hero__actions .btn{width:100%;justify-content:center;text-align:center}
  .hero__meta{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;font-size:11px}
  .hero__meta strong{font-size:15px}
  .hero__badges{gap:10px 14px;padding-bottom:30px}

  /* hero app mock: end cleanly, hide route bar */
  .hmock{zoom:.4}
  .hmock__route{display:none}
  .hmock__body{height:470px}
  .hero__screenshot{border-radius:14px}

  /* ── logos ── */
  .logos__inner{flex-direction:column;align-items:flex-start;gap:12px;padding:20px 20px}
  .logos__row{gap:10px 20px;font-size:11.5px;letter-spacing:.03em}

  /* ── channels: stack cards (inline style needs !important) ── */
  .channels__grid{grid-template-columns:1fr !important;gap:12px;max-width:360px;margin-inline:auto}
  .ch-card{padding:18px 20px;border-radius:16px}
  .ch-card__logo{width:46px;height:46px;border-radius:12px}
  .ch-card__name{font-size:15px}
  .ch-card__desc{font-size:12px}

  /* ── duality: keep caption horizontal, rotate only the circle ── */
  .duality__arrow{transform:none;flex-direction:column;gap:10px;padding:6px 0 2px}
  .duality__arrow-circle{transform:rotate(90deg);width:48px;height:48px;font-size:19px}
  .duality__arrow em{writing-mode:horizontal-tb;transform:none;font-size:11px}
  .duality__points{grid-template-columns:1fr;gap:10px}
  .duality__side-head{flex-wrap:wrap;gap:8px}

  /* ── pain figures: compress diagrams ── */
  .pain__fig{padding:14px 10px}
  .pain__fig--relay{gap:4px}
  .pain__fig-arrow svg{width:44px}
  .pain__fig-q{font-size:9px}
  .pain__fig-av{width:30px;height:30px}

  /* ── spot mocks ── */
  .taskmock__row{grid-template-columns:1fr;gap:8px}
  .taskmock__filters{flex-wrap:wrap;gap:6px}
  .spot__vis{margin:0}

  /* ── section rhythm / type scale ── */
  .section-head{margin-bottom:36px}
  .h2{font-size:28px}
  .lede{font-size:14.5px}
  .lede--center{font-size:14px}

  /* ── pricing compare: scroll hint pinned while table scrolls ── */
  .compare::before{
    content:"← 左右にスクロールして比較できます →";
    display:block;position:sticky;left:0;
    text-align:center;font-size:11px;font-weight:700;color:var(--muted);
    padding:12px 0 4px;
  }

  /* ── contact form: fix cascade-order bug (base CSS was overriding) ── */
  .contact__row{grid-template-columns:1fr;gap:16px;margin-bottom:16px}
  .contact__form{padding:28px 20px;margin-top:32px;border-radius:16px}
  .contact__submit .btn--lg{width:100%;padding:16px 20px}

  /* ── final CTA ── */
  .cta__actions{flex-direction:column;align-items:center;gap:10px}
  .cta__actions .btn{width:100%;max-width:340px;justify-content:center;text-align:center}
  .cta__points span{font-size:12.5px !important;padding:8px 14px !important}

  /* ── footer ── */
  .foot__base-inner{flex-direction:column;gap:6px;align-items:center;text-align:center}
}

@media (max-width: 480px){
  .hero .h1{font-size:30px}
  .hmock{zoom:.34}
  .hmock__body{height:430px}
  .h2{font-size:25px}
  .plan{padding:26px 20px 24px}
  .plan__num{font-size:40px}
  .suite__card{padding-inline:18px}
  .spot__slide{padding:22px 18px}
  .quotes .q-card{padding:22px 18px}
}

/* ============================================================
   MOBILE POLISH (≤720px) — 2026-08
   Touch targets, vertical rhythm and comparison-table usability.
   Appended last; desktop styles remain unchanged.
   ============================================================ */
@media (max-width: 720px){
  /* Comfortable mobile canvas and reliable anchor positions */
  .wrap{padding-inline:18px}
  section[id]{scroll-margin-top:76px}
  .nav__inner .btn--sm{min-height:44px;padding:10px 16px}

  /* Hero: remove the oversized blank band above the message */
  .hero{padding-top:16px}
  .hero__inner{padding-block:8px 46px;gap:24px}
  .hero__lang{padding:12px 18px 0}
  .hero__copy{padding:0;margin-top:72px}
  .hero .h1{line-height:1.27;margin-bottom:18px}
  .hero .lede{line-height:1.85;margin-bottom:24px}
  .hero__actions{margin-bottom:22px}
  .hero__meta{gap:8px}
  .hero__meta li{min-width:0}
  .hero__badges{padding-bottom:18px}
  .hero__mock{margin-bottom:-10px}

  /* Natural wrapping avoids forced three-line / one-character lines */
  .section-head{max-width:100%;margin-bottom:28px}
  .section-head .h2 br,
  .section-head .lede br{display:none}
  .h2{font-size:26px;line-height:1.36;margin-bottom:14px;text-wrap:pretty}
  .lede--center{line-height:1.85;text-wrap:pretty}
  .kicker{margin-bottom:14px}

  /* Tighter, consistent section rhythm */
  .demo,.rooms-sec,.vps,.features,.how,.pricing,.pain,.channels,
  .tagwall,.noflow,.stats,.quotes,.spot,.suite,.duality,.contact{padding:52px 0}
  .faq{padding:56px 0}
  .cta{padding:68px 0}

  /* Dense card sections: retain all content without excessive scrolling */
  .pain__cards,.channels__grid,.tagwall__grid,.quotes__grid{margin-top:28px}
  .pain__card{padding:20px 18px}
  .pain__card-num{margin-bottom:14px}
  .pain__fig{margin:12px 0 14px}
  .pain__bottom{margin-top:22px}
  .pain__bottom-text{padding:14px 18px}

  .board{margin-top:28px}
  .board__col{padding:12px}
  .board__points{margin-top:28px;gap:12px}

  .noflow__grid{margin-top:28px;gap:18px}
  .noflow__card-head{padding:18px 18px 14px}
  .noflow__inbox{padding:16px 14px}
  .noflow__msg{padding:12px 10px;gap:8px}
  .noflow__caption{padding:16px 16px 10px}
  .noflow__explain{padding-inline:16px}
  .noflow__stat{padding:0 16px 18px}
  .noflow__bottom{gap:28px;margin-top:32px}
  .noflow__metric-num{font-size:44px}

  .feat--hero,.feat--bottom{padding:20px;margin-bottom:12px}
  .features__grid{gap:12px}
  .feat{padding:20px}
  .feat__icon{width:44px;height:44px;margin-bottom:14px}
  .feat__stat{padding:20px}
  .feat__stat-num{font-size:44px}

  .spot__tabs{margin-top:28px}
  .spot__nav{margin-bottom:18px}
  .spot__tab{min-height:50px;padding:9px 10px}
  .spot__slide{min-height:0;gap:22px;padding:22px 18px}
  .spot__copy{gap:12px}
  .spot__copy h3{font-size:23px}
  .spot__copy p{font-size:14px;line-height:1.8}
  .spot__bullets{gap:8px;margin-top:2px}
  .taskmock__head,.taskmock__filters{padding-inline:12px}
  .taskmock__form{padding:12px}
  .taskmock__list{padding:8px 12px 12px}

  .suite__grid{gap:12px;margin-top:28px}
  .suite__card,.suite__card--lg,.suite__card--md{padding:20px 18px;gap:14px}
  .suite__head{gap:12px}
  .suite__icon{width:38px;height:38px}
  .suite__vis{min-height:160px;max-height:235px;padding:10px;overflow:hidden}

  .steps{gap:14px}
  .step{grid-template-columns:44px 1fr;gap:16px;padding:20px 18px}
  .step__num{width:42px;height:42px;font-size:15px}
  .step__body h3{margin-bottom:6px}
  .step__vis{min-height:150px;padding:12px}

  .stats__grid{margin-top:28px}
  .stat-cell{padding:20px}
  .stat-cell__num{font-size:44px}
  .q-card{padding:22px 18px;gap:14px}
  .q-card p{font-size:14px;line-height:1.8}

  .plan{padding:26px 20px 22px;border-radius:22px}
  .plan__price{margin:18px 0 14px}
  .plan__quota{margin-bottom:18px}
  .plan__list{gap:11px}
  .plans__foot{margin-top:22px}

  /* Feature comparison stays readable: swipeable with a sticky label column */
  .compare{
    margin-top:44px;border-radius:18px;
    overflow-x:auto;overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;
    scrollbar-width:thin;scrollbar-color:#8da2d8 #edf1f8;
    box-shadow:0 12px 34px -24px rgba(15,30,60,.35);
  }
  .compare:focus-visible{outline:3px solid rgba(37,99,235,.35);outline-offset:3px}
  .compare::-webkit-scrollbar{height:7px}
  .compare::-webkit-scrollbar-track{background:#edf1f8;border-radius:999px}
  .compare::-webkit-scrollbar-thumb{background:#8da2d8;border-radius:999px}
  .compare::before{
    padding:12px 0 8px;background:#fff;
    border-bottom:1px solid var(--line-2);z-index:5;
  }
  .compare__head,.compare__row{
    grid-template-columns:210px repeat(3,110px);
    min-width:564px;padding-inline:12px;
  }
  .compare__head{padding-block:18px}
  .compare__row{padding-block:12px}
  .compare__group{min-width:564px;padding:20px 14px 9px}
  .compare__head > div:first-child,
  .compare__row > div:first-child{
    position:sticky;left:0;z-index:3;background:#fff;
    padding-right:12px;
    box-shadow:12px 0 16px -18px rgba(15,30,60,.9);
  }
  .compare__head > div:first-child{z-index:4}

  /* Forms: 16px prevents iOS focus zoom; controls meet touch-target sizing */
  .contact__field input,
  .contact__field select,
  .contact__field textarea{font-size:16px;min-height:48px}
  .contact__field textarea{min-height:120px}
  .contact__form{margin-top:28px}

  /* Avoid hover-only movement on touch devices */
  .pain__card:hover,.feat:hover,.suite__card:hover,.plan:hover,
  .plan--featured:hover,.tw-card:hover{transform:none}
}

@media (max-width: 480px){
  .hero .h1{font-size:30px}
  .h2{font-size:24px}
  .hero__copy{margin-top:58px}
  .noflow__bottom{display:grid;grid-template-columns:1fr 1fr;gap:20px 10px}
  .plan__num{font-size:38px}
}
