:root {
  --ink: #101527;
  --ink-soft: #50566d;
  --paper: #f7f8fc;
  --white: #ffffff;
  --line: rgba(16, 21, 39, 0.12);
  --blue: #4860ce;
  --blue-deep: #263caa;
  --violet: #7a5cff;
  --cyan: #42d6ff;
  --lime: #c9ff67;
  --night: #090c18;
  --max: 1240px;
  --radius: 28px;
  --shadow: 0 26px 80px rgba(31, 43, 102, 0.16);
}

* { box-sizing: border-box; letter-spacing: 0 !important; }
html { scroll-behavior: smooth; overflow-x: hidden; overflow-x: clip; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: "Pretendard Variable", Pretendard, "Noto Sans KR", "Apple SD Gothic Neo", Inter, system-ui, sans-serif;
  font-size: 16px;
  line-height: 1.65;
  word-break: keep-all;
  width: 100%;
  max-width: 100vw;
  overflow-x: hidden;
  overflow-x: clip;
}
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
img { display: block; max-width: 100%; }
.container { width: min(calc(100% - 40px), var(--max)); margin-inline: auto; }
.skip-link { position: fixed; top: -60px; left: 16px; z-index: 999; padding: 12px 18px; background: #fff; border-radius: 12px; }
.skip-link:focus { top: 16px; }

.site-header {
  position: fixed; z-index: 100; top: 16px; left: 0; right: 0;
  transition: .3s ease;
}
.site-header.scrolled .nav-shell { background: rgba(255,255,255,.88); color: var(--ink); border-color: rgba(16,21,39,.1); box-shadow: 0 12px 36px rgba(16,21,39,.1); }
.nav-shell {
  width: min(calc(100% - 32px), 1320px); height: 68px; margin: auto; padding: 0 10px 0 20px;
  display: flex; align-items: center; gap: 28px; border: 1px solid rgba(255,255,255,.18);
  border-radius: 22px; background: rgba(10,13,27,.62); color: white; backdrop-filter: blur(18px);
}
.brand { display: inline-flex; align-items: center; gap: 10px; font-weight: 700; font-size: 1.25rem; }
.nav-links { margin-left: auto; display: flex; align-items: center; gap: 4px; }
.nav-links a { padding: 10px 14px; border-radius: 12px; font-size: .92rem; font-weight: 700; opacity: .88; }
.nav-links a:hover, .nav-links a[aria-current="page"] { background: rgba(110,126,255,.14); opacity: 1; }
.nav-cta { margin-left: 4px; padding: 12px 18px !important; background: var(--lime) !important; color: #111827 !important; }
.menu-button { display: none; margin-left: auto; width: 44px; height: 44px; border: 0; border-radius: 13px; background: rgba(255,255,255,.12); color: inherit; }

.button { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 52px; padding: 0 22px; border: 1px solid transparent; border-radius: 15px; font-weight: 700; cursor: pointer; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.button:hover { transform: translateY(-2px); }
.button-primary { background: var(--blue); color: #fff; box-shadow: 0 14px 30px rgba(72,96,206,.28); }
.button-lime { background: var(--lime); color: #111827; }
.button-ghost { border-color: rgba(255,255,255,.22); color: white; background: rgba(255,255,255,.06); }
.button-light { border-color: var(--line); background: white; color: var(--ink); }
.arrow { transition: transform .2s ease; }
.button:hover .arrow, .text-link:hover .arrow { transform: translateX(4px); }

.eyebrow { display: inline-flex; align-items: center; gap: 9px; margin-bottom: 18px; color: var(--blue); font-size: .8rem; font-weight: 700; text-transform: uppercase; }
.eyebrow::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 6px rgba(72,96,206,.1); }
.eyebrow.light { color: var(--cyan); }
.display { margin: 0; font-size: clamp(3.4rem, 7vw, 5.9rem); line-height: 1; font-weight: 700; }
.page-title { margin: 0; max-width: 1000px; font-size: clamp(2.8rem, 5.6vw, 5.1rem); line-height: 1.06; font-weight: 700; }
.section-title { margin: 0; font-size: clamp(2rem, 3.2vw, 2.625rem); line-height: 1.08; font-weight: 700; }
.lede { max-width: 720px; margin: 24px 0 0; color: var(--ink-soft); font-size: clamp(1.05rem, 1.8vw, 1.3rem); line-height: 1.75; }
.gradient-text { color: transparent; background: linear-gradient(100deg, #fff 18%, #9eeeff 50%, #a895ff 78%, #fff); background-size: 220% auto; background-clip: text; animation: shimmer 7s linear infinite; }
@keyframes shimmer { to { background-position: -220% center; } }

.hero { position: relative; min-height: 100svh; padding: 150px 0 80px; display: flex; align-items: center; color: white; background: var(--night); overflow: hidden; }
.hero::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at var(--mx, 68%) var(--my, 28%), rgba(93,114,255,.34), transparent 28%), radial-gradient(circle at 14% 82%, rgba(66,214,255,.16), transparent 27%); }
.hero-grid { position: absolute; inset: 0; opacity: .24; background-image: linear-gradient(rgba(255,255,255,.07) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.07) 1px, transparent 1px); background-size: 76px 76px; mask-image: linear-gradient(to bottom, black, transparent 90%); }
.hero-inner { position: relative; z-index: 2; display: grid; grid-template-columns: 1.13fr .87fr; align-items: center; gap: 60px; }
.hero-inner > *, .intro-grid > *, .sodam-grid > *, .contact-grid > *, .article-layout > * { min-width: 0; }
.hero-copy p { max-width: 680px; margin: 28px 0 34px; color: rgba(255,255,255,.7); font-size: 1.12rem; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.hero-proof { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 38px; color: rgba(255,255,255,.58); font-size: .86rem; font-weight: 700; }
.hero-proof span { display: inline-flex; align-items: center; gap: 8px; }
.hero-proof i { width: 6px; height: 6px; border-radius: 50%; background: var(--cyan); }

.signal-stage { position: relative; width: 100%; min-width: 0; min-height: 560px; perspective: 1200px; }
.glass-panel { position: absolute; border: 1px solid rgba(255,255,255,.14); background: linear-gradient(150deg, rgba(255,255,255,.13), rgba(255,255,255,.035)); box-shadow: 0 30px 80px rgba(0,0,0,.38); backdrop-filter: blur(22px); }
.dashboard { inset: 45px 0 45px 36px; padding: 22px; border-radius: 30px; transform: rotateY(-7deg) rotateX(4deg); animation: float 7s ease-in-out infinite; }
@keyframes float { 50% { transform: rotateY(-4deg) rotateX(2deg) translateY(-14px); } }
.dash-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 24px; }
.dash-title { font-weight: 700; }.status { display: inline-flex; gap: 7px; align-items: center; color: #b8ffcf; font-size: .75rem; }.status::before { content:""; width: 7px; height: 7px; border-radius:50%; background:#56e683; box-shadow:0 0 15px #56e683; }
.chart { height: 170px; display: flex; align-items: flex-end; gap: 8px; padding: 18px 10px 0; border-bottom: 1px solid rgba(255,255,255,.14); }
.chart i { flex: 1; height: var(--h); min-height: 12px; border-radius: 8px 8px 2px 2px; background: linear-gradient(180deg, var(--cyan), rgba(72,96,206,.35)); transform-origin: bottom; animation: bars 1.2s cubic-bezier(.2,.8,.2,1) both; animation-delay: calc(var(--n) * .07s); }
@keyframes bars { from { transform: scaleY(0); } }
.metric-row { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; margin-top: 16px; }
.metric { padding: 15px; border-radius: 17px; background: rgba(255,255,255,.07); }
.metric small { display:block; color:rgba(255,255,255,.5); font-size:.72rem; }.metric strong { display:block; margin-top:5px; font-size:1.15rem; }
.ai-alert { right: -38px; bottom: 22px; width: 280px; padding: 18px; border-radius: 21px; animation: float2 6s ease-in-out infinite; }
@keyframes float2 { 50% { transform: translateY(12px) rotate(1deg); } }
.ai-label { color: var(--cyan); font-size: .7rem; font-weight: 700; }.ai-alert strong { display:block; margin:8px 0; }.ai-alert p { margin:0; color:rgba(255,255,255,.62); font-size:.82rem; }
.scroll-cue { position:absolute; bottom:28px; left:50%; width:1px; height:48px; background:rgba(255,255,255,.2); overflow:hidden; }.scroll-cue::after { content:""; position:absolute; inset:0; background:white; animation:scrollcue 2s ease-in-out infinite; transform:translateY(-100%); }@keyframes scrollcue { 60%,100% { transform:translateY(100%); } }

.ticker { overflow: hidden; border-block: 1px solid var(--line); background: white; }
.ticker-track { width: max-content; display: flex; gap: 56px; padding: 19px 0; animation: marquee 25s linear infinite; color: #3f4762; font-size: .84rem; font-weight: 700; }
.ticker-track span::before { content:"✦"; margin-right: 18px; color:var(--blue); }
@keyframes marquee { to { transform: translateX(-50%); } }

section { padding: 130px 0; }
.intro-section { background: white; }
.intro-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:100px; align-items:start; }
.sticky-copy { position: sticky; top: 120px; }
.statement { margin:0; font-size:clamp(2rem,4vw,4.3rem); line-height:1.16; font-weight:700; }
.statement .muted { color:#c0c4d0; }
.issue-list { border-top:1px solid var(--line); }
.issue { display:grid; grid-template-columns:64px 1fr; gap:18px; padding:28px 0; border-bottom:1px solid var(--line); }
.issue b { color:var(--blue); font-size:.78rem; }.issue h3 { margin:0 0 8px; font-size:1.28rem; }.issue p { margin:0; color:var(--ink-soft); }

.dark-section { color:white; background:#0b0e1b; }
.section-head { display:flex; align-items:end; justify-content:space-between; gap:28px; margin-bottom:62px; }
.section-head p { max-width:540px; margin:0; color:var(--ink-soft); }.dark-section .section-head p { color:rgba(255,255,255,.58); }
.platform-grid { display:grid; grid-template-columns:repeat(12,1fr); gap:18px; }
.platform-card { position:relative; min-height:370px; padding:34px; border-radius:var(--radius); overflow:hidden; border:1px solid rgba(255,255,255,.1); background:#121728; transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s ease,border-color .4s ease; }
.platform-card:hover { transform:translateY(-10px) scale(1.012); border-color:rgba(113,94,255,.48); box-shadow:0 32px 76px rgba(72,76,134,.22); }
.platform-card:hover .card-number { color:var(--blue); transform:translateX(4px); }
.platform-card .card-number { display:inline-block; transition:color .3s ease,transform .35s cubic-bezier(.2,.8,.2,1); }
.platform-card:hover .mini-flow span { animation:miniFlowGlow 1.2s ease-in-out infinite; }
.platform-card:hover .mini-flow span:nth-of-type(2) { animation-delay:.4s; }
.platform-card:hover .mini-flow span:nth-of-type(3) { animation-delay:.8s; }
@keyframes miniFlowGlow { 0%,100% { box-shadow:none; } 50% { box-shadow:0 0 0 3px rgba(113,94,255,.22); color:var(--blue); } }
@media (prefers-reduced-motion:reduce) { .platform-card:hover { transform:none; }.platform-card:hover .mini-flow span { animation:none; } }
.platform-card::after { content:""; position:absolute; width:260px; height:260px; right:-90px; bottom:-130px; border-radius:50%; background:var(--glow,rgba(72,96,206,.5)); filter:blur(45px); opacity:.5; transition:.4s ease; }
.platform-card:hover::after { transform:scale(1.35); }
.platform-card.large { grid-column:span 7; }.platform-card.medium { grid-column:span 5; }.platform-card.half { grid-column:span 6; }
.card-number { color:rgba(255,255,255,.38); font-size:.78rem; font-weight:700; }
.platform-card h3 { position:relative; z-index:1; margin:70px 0 12px; font-size:clamp(1.8rem,2.5vw,2rem); line-height:1.12; }
.platform-card p { position:relative; z-index:1; max-width:490px; margin:0 0 24px; color:rgba(255,255,255,.58); }
.text-link { position:relative; z-index:1; display:inline-flex; gap:8px; align-items:center; color:var(--cyan); font-weight:700; }
.mini-flow { position:absolute; top:30px; right:28px; display:flex; align-items:center; gap:7px; }
.mini-flow span { padding:7px 10px; border:1px solid rgba(255,255,255,.11); border-radius:10px; color:rgba(255,255,255,.65); font-size:.68rem; background:rgba(255,255,255,.05); }
.mini-flow i { width:18px; height:1px; background:rgba(255,255,255,.22); }

.flow-section { background:linear-gradient(180deg,#f7f8fc,#fff); }
.flow-line { margin-top:70px; display:grid; grid-template-columns:repeat(4,1fr); }
.flow-step { position:relative; padding:30px 28px 34px; border-top:2px solid #dfe3f0; }
.flow-step::before { content:""; position:absolute; top:-8px; left:28px; width:14px; height:14px; border-radius:50%; background:var(--blue); box-shadow:0 0 0 7px #e8ebfa; }
.flow-step small { color:var(--blue); font-weight:700; }.flow-step h3 { margin:38px 0 9px; font-size:1.42rem; }.flow-step p { margin:0; color:var(--ink-soft); }

.sales-stage { margin-top:60px; padding:28px; border-radius:34px; background:#0d1120; color:white; box-shadow:var(--shadow); }
.sales-toolbar { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:4px 5px 26px; }
.channel-pills { display:flex; gap:8px; flex-wrap:wrap; }.channel-pills span { padding:8px 12px; border-radius:999px; background:rgba(255,255,255,.08); color:rgba(255,255,255,.65); font-size:.76rem; }.channel-pills .active { background:var(--lime); color:#111827; }
.sales-grid { display:grid; grid-template-columns:1.25fr .75fr; gap:14px; }
.sales-panel { min-height:350px; padding:24px; border:1px solid rgba(255,255,255,.1); border-radius:22px; background:rgba(255,255,255,.045); }
.line-chart { height:220px; margin-top:24px; position:relative; background:repeating-linear-gradient(to bottom,transparent 0,transparent 54px,rgba(255,255,255,.08) 55px); overflow:hidden; }
.line-chart svg { width:100%; height:100%; }.line-chart path { fill:none; stroke:var(--cyan); stroke-width:4; stroke-linecap:round; stroke-dasharray:900; animation:draw 2.8s ease both; }.line-chart .area { fill:url(#area); stroke:none; }
@keyframes draw { from { stroke-dashoffset:900; } to { stroke-dashoffset:0; } }
.rank-list { margin-top:18px; display:grid; gap:13px; }.rank-item { display:grid; grid-template-columns:28px 1fr auto; align-items:center; gap:12px; padding-bottom:12px; border-bottom:1px solid rgba(255,255,255,.08); }.rank-item small { color:rgba(255,255,255,.45); }.up { color:#76ed9b; }

.sodam-section { background:#dde4ff; }
.sodam-grid { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; }
.phone-stage { position:relative; min-height:600px; }
.phone { position:absolute; left:50%; top:50%; width:290px; height:570px; padding:14px; border:8px solid #11162a; border-radius:45px; background:#11162a; transform:translate(-50%,-50%) rotate(-6deg); box-shadow:0 40px 70px rgba(20,29,78,.28); }
.phone-screen { height:100%; padding:24px 18px; border-radius:31px; background:#f7f8fc; overflow:hidden; }
.phone-top { display:flex; justify-content:space-between; align-items:center; font-weight:700; }.phone-chip { padding:5px 8px; border-radius:8px; background:#dfe5ff; color:var(--blue); font-size:.65rem; }
.order-card { margin-top:22px; padding:18px; border-radius:19px; background:white; box-shadow:0 12px 28px rgba(34,50,110,.1); }.order-card.accent { color:white; background:linear-gradient(145deg,var(--blue),var(--violet)); }.order-card small { color:#7a8195; }.order-card.accent small { color:rgba(255,255,255,.65); }.order-card strong { display:block; margin:6px 0; font-size:1.2rem; }.order-line { margin-top:15px; height:7px; border-radius:5px; background:#e7e9f1; overflow:hidden; }.order-line i { display:block; width:74%; height:100%; background:var(--lime); }
.float-chip { position:absolute; padding:12px 16px; border-radius:15px; background:white; box-shadow:var(--shadow); font-weight:700; font-size:.84rem; }.float-chip.one { left:2%; top:21%; }.float-chip.two { right:0; top:58%; }.float-chip.three { left:7%; bottom:7%; }
.feature-list { margin:34px 0; display:grid; grid-template-columns:1fr 1fr; gap:12px; }.feature-list span { padding:15px; border-top:1px solid rgba(16,21,39,.15); font-weight:700; }

.cta-section { padding:80px 0; color:white; background:var(--blue); }
.cta-box { display:flex; align-items:center; justify-content:space-between; gap:50px; }.cta-box h2 { margin:0; font-size:clamp(2rem,3.5vw,3.4rem); line-height:1.08; }.cta-box p { margin:18px 0 0; color:rgba(255,255,255,.72); }

.site-footer { padding:54px 0 28px; color:#c2c6d5; background:#090b12; }
.footer-grid { display:grid; grid-template-columns:1.25fr repeat(3,.75fr); gap:50px; }.footer-brand p { max-width:330px; color:#777e95; }.footer-col strong { display:block; margin-bottom:14px; color:#fff; }.footer-col a { display:block; margin:8px 0; color:#868da2; font-size:.9rem; }.footer-bottom { margin-top:48px; padding-top:22px; border-top:1px solid rgba(255,255,255,.08); display:flex; justify-content:space-between; color:#636a7f; font-size:.78rem; }

/* SEO long-form pages */
.sub-hero { padding:165px 0 96px; color:white; background:#0a0d19; position:relative; overflow:hidden; }
.sub-hero::after { content:""; position:absolute; width:650px; height:650px; right:-170px; top:-270px; border-radius:50%; background:radial-gradient(circle,rgba(91,112,255,.55),rgba(91,112,255,0) 65%); }
.sub-hero .lede { position:relative; z-index:1; color:rgba(255,255,255,.68); }.sub-hero .page-title { position:relative; z-index:1; }.sub-actions { position:relative; z-index:1; margin-top:34px; display:flex; gap:12px; flex-wrap:wrap; }
.answer-card { position:relative; z-index:2; margin-top:68px; padding:30px; display:grid; grid-template-columns:190px 1fr; gap:28px; border:1px solid rgba(255,255,255,.13); border-radius:24px; background:rgba(255,255,255,.065); backdrop-filter:blur(18px); }.answer-card strong { color:var(--cyan); }.answer-card p { margin:0; color:rgba(255,255,255,.78); font-size:1.05rem; }
.article-layout { display:grid; grid-template-columns:250px minmax(0,850px); gap:90px; align-items:start; }
.toc { position:sticky; top:116px; padding:22px; border:1px solid var(--line); border-radius:20px; background:white; }.toc strong { display:block; margin-bottom:12px; font-size:.8rem; }.toc a { display:block; padding:9px 0; color:#6e7488; font-size:.86rem; border-bottom:1px solid #edf0f6; }.toc a:hover { color:var(--blue); }
.article section { padding:0 0 100px; scroll-margin-top:110px; }.article h2 { margin:0 0 24px; font-size:clamp(1.7rem,3vw,2.625rem); line-height:1.18; }.article h3 { margin:32px 0 11px; font-size:clamp(1.15rem,1.6vw,1.36rem); }.article p { color:#52596e; font-size:1.03rem; }.definition { padding:28px; border-left:5px solid var(--blue); border-radius:0 20px 20px 0; background:#eef1ff; }.definition p { margin:0; color:#29345f; }
.fact-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:15px; margin-top:32px; }.fact-card { padding:25px; border:1px solid var(--line); border-radius:20px; background:white; }.fact-card b { display:block; margin-bottom:9px; color:var(--blue); }.fact-card p { margin:0; font-size:.93rem; }
.capability-list { display:grid; gap:12px; }.capability { padding:24px; display:grid; grid-template-columns:52px 1fr; gap:18px; border:1px solid var(--line); border-radius:20px; background:white; }.capability-icon { width:48px; height:48px; display:grid; place-items:center; border-radius:15px; background:#e9edff; color:var(--blue); font-weight:700; }.capability h3 { margin:0 0 7px; }.capability p { margin:0; font-size:.93rem; }
.process { counter-reset:step; }.process-row { position:relative; display:grid; grid-template-columns:95px 1fr; gap:22px; padding:25px 0; border-top:1px solid var(--line); }.process-row::before { counter-increment:step; content:"0" counter(step); color:var(--blue); font-weight:700; font-size:.8rem; }.process-row h3 { margin:0 0 8px; }.process-row p { margin:0; }
.note { margin-top:28px; padding:22px; border-radius:18px; background:#fff8e8; color:#694e14; }.note strong { display:block; color:#8c6511; }.note p { color:#694e14; margin:7px 0 0; font-size:.91rem; }
.faq { border-top:1px solid var(--line); }.faq details { border-bottom:1px solid var(--line); }.faq summary { padding:22px 38px 22px 0; cursor:pointer; font-weight:700; list-style:none; position:relative; }.faq summary::after { content:"+"; position:absolute; right:4px; font-size:1.3rem; color:var(--blue); }.faq details[open] summary::after { content:"-"; }.faq details p { margin:0; padding:0 0 24px; }
.workflow-band { margin:35px 0; display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--line); border-radius:22px; background:white; overflow:hidden; }.workflow-band div { min-height:150px; padding:22px; border-right:1px solid var(--line); }.workflow-band div:last-child { border:0; }.workflow-band b { display:block; color:var(--blue); font-size:.75rem; }.workflow-band strong { display:block; margin-top:35px; }

.product-visual { margin-top:40px; }
.product-visual .sales-stage { margin-top:0; }
.kpi-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin:26px 0 34px; }
.kpi-card { padding:24px; border:1px solid var(--line); border-radius:20px; background:white; }
.kpi-card small { display:block; color:var(--ink-soft); }
.kpi-card strong { display:block; margin-top:10px; color:var(--blue); font-size:1.8rem; font-weight:700; }
.channel-group { margin-top:26px; padding:22px 26px; border:1px solid var(--line); border-radius:20px; background:white; }
.channel-group + .channel-group { margin-top:14px; }
.channel-group-head { display:flex; align-items:baseline; gap:12px; margin-bottom:16px; }
.channel-group-head b { color:var(--blue); font-size:.78rem; font-weight:700; }
.channel-group-head span { color:#8a8ea2; font-size:.86rem; }
.channel-tags { display:flex; flex-wrap:wrap; gap:9px; }
.channel-tags span { padding:9px 15px; border:1px solid var(--line); border-radius:100px; color:#4e5369; font-size:.86rem; background:#f9f9fd; }
.channel-tag-more { color:#8a8ea2 !important; border-style:dashed !important; background:transparent !important; }
.channel-expand { margin-top:22px; padding:26px; border-radius:20px; background:#eef1ff; }
.channel-expand strong { display:block; margin-bottom:8px; color:#29345f; }
.channel-expand p { margin:0 0 14px; color:#4e5990; font-size:.93rem; }
.channel-expand .text-link { color:var(--blue); font-weight:700; }
.store-split { display:grid; grid-template-columns:.9fr 1.1fr; gap:34px; align-items:center; margin:34px 0; padding:34px; border-radius:28px; background:#e9edff; }
.store-split .phone-stage { min-height:540px; }
.order-workflow { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-top:30px; }
.order-step { position:relative; min-height:170px; padding:22px; border:1px solid var(--line); border-radius:20px; background:white; }
.order-step b { color:var(--blue); font-size:.78rem; }
.order-step strong { display:block; margin-top:38px; }
.order-step p { margin:8px 0 0; font-size:.88rem; }

/* Contact */
.contact-page { min-height:100vh; padding:150px 0 90px; background:#0a0d19; color:white; }
.contact-grid { display:grid; grid-template-columns:.82fr 1.18fr; gap:80px; align-items:start; }.contact-copy { position:sticky; top:130px; }.contact-copy h1 { margin:0; font-size:clamp(3rem,5.6vw,5.1rem); line-height:1.06; font-weight:700; }.contact-copy > p { color:rgba(255,255,255,.62); font-size:1.08rem; }.contact-points { margin-top:40px; display:grid; gap:20px; }.contact-point { display:grid; grid-template-columns:36px 1fr; gap:12px; }.contact-point i { width:30px;height:30px;display:grid;place-items:center;border-radius:10px;background:rgba(109,129,255,.18);color:var(--cyan);font-style:normal;font-size:.78rem;font-weight:700;}.contact-point p { margin:2px 0 0; color:rgba(255,255,255,.48); font-size:.88rem; }
.contact-form { padding:38px; border:1px solid rgba(255,255,255,.13); border-radius:30px; background:white; color:var(--ink); box-shadow:0 35px 100px rgba(0,0,0,.3); }.form-title { margin:0 0 8px; font-size:2rem; }.form-note { margin:0 0 28px; color:var(--ink-soft); }.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }.field.full { grid-column:1/-1; }.field label { display:block; margin-bottom:8px; font-size:.84rem; font-weight:700; }.field input,.field select,.field textarea { width:100%; border:1px solid #dfe3ee; border-radius:13px; padding:14px 15px; background:#f9faff; color:var(--ink); outline:none; }.field input:focus,.field select:focus,.field textarea:focus { border-color:var(--blue); box-shadow:0 0 0 4px rgba(72,96,206,.1); }.field textarea { min-height:130px; resize:vertical; }.attribution-note { margin:18px 0 0; padding:12px 14px; border-radius:12px; color:#686f84; background:#f2f4fb; font-size:.78rem; line-height:1.55; }.check { display:flex; align-items:flex-start; gap:10px; margin:18px 0 22px; color:#646b7e; font-size:.82rem; }.check input { margin-top:5px; }.submit { width:100%; border:0; }.form-success { display:none; margin-top:18px; padding:16px; border-radius:13px; background:#e9fbef; color:#147537; font-weight:700; }.form-success.show { display:block; }

.reveal { opacity:0; transform:translateY(28px); transition:opacity .7s ease, transform .7s ease; }.reveal.is-visible { opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce) { *,*::before,*::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; scroll-behavior:auto !important; }.reveal { opacity:1; transform:none; } }

@media (max-width: 960px) {
  .nav-links { position:absolute; display:none; top:78px; left:16px; right:16px; padding:14px; flex-direction:column; align-items:stretch; border-radius:20px; background:#fff; color:var(--ink); box-shadow:var(--shadow); }.nav-links.open { display:flex; }.nav-links a { padding:13px 15px; }.menu-button { display:block; }
  .hero-inner,.intro-grid,.sodam-grid,.contact-grid,.store-split { grid-template-columns:1fr; }.hero { min-height:auto; }.hero-copy { padding-top:50px; }.signal-stage { min-height:500px; }.dashboard { left:0; }
  .sticky-copy,.contact-copy { position:static; }.platform-card.large,.platform-card.medium,.platform-card.half { grid-column:span 12; }.flow-line,.order-workflow { grid-template-columns:1fr 1fr; }.sales-grid { grid-template-columns:1fr; }.article-layout { grid-template-columns:1fr; }.toc { position:static; }.footer-grid { grid-template-columns:1fr 1fr; }.answer-card { grid-template-columns:1fr; }.contact-grid { gap:45px; }.kpi-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width: 640px) {
  .container { width:calc(100vw - 26px); max-width:var(--max); }.site-header { top:8px; }.nav-shell { width:calc(100vw - 16px); max-width:calc(100vw - 16px); height:60px; border-radius:18px; }.brand { font-size:1.08rem; }
  section { padding:90px 0; }.hero { padding:120px 0 65px; }.display { font-size:clamp(2.8rem,12vw,4.4rem); }.hero-actions .button { width:100%; }.signal-stage { min-height:430px; }.dashboard { inset:30px 4px; padding:16px; transform:none; }.ai-alert { right:0; width:235px; }.metric-row { grid-template-columns:1fr 1fr; }.metric:last-child { display:none; }
  .section-head,.cta-box { align-items:flex-start; flex-direction:column; }.issue { grid-template-columns:44px 1fr; }.platform-card { min-height:330px; padding:27px; }.platform-card h3 { margin-top:76px; }.mini-flow { left:27px; right:auto; }.mini-flow span:nth-of-type(3),.mini-flow i:nth-of-type(2){display:none;}
  .flow-line,.feature-list,.fact-grid,.form-grid,.kpi-grid,.order-workflow { grid-template-columns:1fr; }.flow-step { min-height:190px; }.sales-stage { padding:16px; }.sales-toolbar { align-items:flex-start; flex-direction:column; }.phone-stage { min-height:540px; }.phone { width:260px; height:520px; }.float-chip.one { left:0; }.float-chip.two { right:0; }.float-chip.three { display:none; }.store-split { padding:20px; }
  .footer-grid { grid-template-columns:1fr; gap:30px; }.footer-bottom { align-items:flex-start; flex-direction:column; gap:8px; }.sub-hero { padding-top:130px; }.answer-card { margin-top:48px; padding:24px; }.article-layout { gap:45px; }.workflow-band { grid-template-columns:1fr 1fr; }.workflow-band div:nth-child(2) { border-right:0; }.workflow-band div { border-bottom:1px solid var(--line); }.contact-page { padding-top:125px; }.contact-form { padding:25px; }.field.full { grid-column:auto; }
}

/* 2026 light lavender visual system */
:root {
  --ink: #242637;
  --ink-soft: #62677c;
  --paper: #fbfbff;
  --line: rgba(73, 77, 116, .13);
  --blue: #596bc4;
  --blue-deep: #4052aa;
  --violet: #8d7ee8;
  --cyan: #83a9e8;
  --lime: #ece9ff;
  --night: #f5f4ff;
  --shadow: 0 26px 80px rgba(75, 73, 133, .14);
}
body { background: var(--paper); font-size: clamp(1rem, .97rem + .12vw, 1.0625rem); }
.scroll-progress { position:fixed; z-index:300; inset:0 0 auto; height:3px; pointer-events:none; }
.scroll-progress i { display:block; width:100%; height:100%; background:linear-gradient(90deg,var(--blue),var(--violet)); transform:scaleX(0); transform-origin:left center; }
.nav-shell { border-color:rgba(83,88,135,.12); background:rgba(255,255,255,.8); color:var(--ink); box-shadow:0 12px 36px rgba(76,75,122,.07); }
.site-header.scrolled .nav-shell { background:rgba(255,255,255,.94); box-shadow:0 14px 42px rgba(76,75,122,.12); }
.nav-cta { color:#fff !important; background:linear-gradient(135deg,var(--blue),var(--violet)) !important; }
.menu-button { background:#f0effb; }
.button-lime { color:#fff; background:linear-gradient(135deg,var(--blue),var(--violet)); box-shadow:0 15px 32px rgba(89,107,196,.24); }
.button-ghost { color:var(--ink); border-color:rgba(73,77,116,.16); background:rgba(255,255,255,.72); }
.eyebrow.light { color:var(--blue); }
.display { font-size:clamp(3.4rem,7vw,5.9rem); }
.page-title { font-size:clamp(2.8rem,5.6vw,5.1rem); }
.section-title { font-size:clamp(2rem,3.2vw,2.625rem); }
.statement { font-size:clamp(2rem,3.7vw,3.7rem); }
.article h2 { font-size:clamp(1.9rem,3.1vw,3rem); }
.article h3 { font-size:clamp(1.18rem,1.5vw,1.36rem); }
.cta-box h2 { font-size:clamp(2rem,3.5vw,3.4rem); }
.form-title { font-size:clamp(1.65rem,2.2vw,2rem); }
.issue h3,.flow-step h3 { font-size:clamp(1.12rem,1.5vw,1.42rem); }

.hero { min-height:min(100svh,920px); color:var(--ink); background:linear-gradient(145deg,#fff 4%,#f6f5ff 48%,#eef2ff 100%); }
.hero::before { background:radial-gradient(circle at var(--mx,68%) var(--my,28%),rgba(139,124,240,.2),transparent 25%),radial-gradient(circle at 10% 86%,rgba(159,202,242,.24),transparent 26%); }
.hero-grid { opacity:.5; background-image:linear-gradient(rgba(93,97,143,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(93,97,143,.07) 1px,transparent 1px); }
.gradient-text { background-image:linear-gradient(100deg,#34478f 10%,#7c6ed4 50%,#527fbe 76%,#34478f); }
.hero-copy p { color:var(--ink-soft); font-size:clamp(1.02rem,1.35vw,1.15rem); }
.hero-proof { color:#6e7287; font-size:clamp(.78rem,.9vw,.88rem); }
.hero-proof i { background:var(--violet); }
.scroll-cue { background:rgba(74,80,127,.2); }.scroll-cue::after { background:var(--blue); }

.hero-ui-stage { min-height:590px; transform:translate3d(0,var(--parallax-y,0),0); transition:transform .12s linear; }
.ui-gradient-frame { position:absolute; inset:28px -8px 24px 20px; border:1px solid rgba(91,98,154,.1); border-radius:54px; background:linear-gradient(145deg,#f6dcc8 0%,#dce5f8 40%,#e9e3fb 100%); box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 34px 90px rgba(73,79,137,.15); overflow:hidden; }
.ui-gradient-frame::before { content:""; position:absolute; width:380px; height:380px; right:-90px; bottom:-120px; border-radius:50%; background:rgba(255,255,255,.45); filter:blur(10px); }
.hero-ui-card { position:absolute; color:var(--ink); border:1px solid rgba(86,91,137,.1); background:rgba(255,255,255,.92); box-shadow:0 24px 60px rgba(59,65,115,.15); backdrop-filter:blur(18px); }
.ui-sales-card { z-index:2; left:7%; top:8%; width:72%; padding:26px; border-radius:28px; animation:uiFloat 7s ease-in-out infinite; }
.ui-card-head { display:flex; align-items:center; justify-content:space-between; font-size:clamp(.76rem,.9vw,.88rem); color:var(--ink-soft); }.ui-card-head b { padding:5px 9px; border-radius:999px; color:var(--blue); background:#eeeffb; font-size:.68rem; }
.ui-sales-card > strong { display:block; margin-top:8px; font-size:clamp(1.55rem,2.3vw,2.25rem); }
.ui-bars { height:118px; display:flex; align-items:flex-end; gap:8px; margin:22px 0 16px; padding:0 5px; border-bottom:1px solid #e6e7f0; }.ui-bars i { flex:1; height:var(--h); min-height:10px; border-radius:7px 7px 2px 2px; background:linear-gradient(180deg,#9cb7eb,#7b6fd4); transform-origin:bottom; animation:bars 1.2s cubic-bezier(.2,.8,.2,1) both; }
.ui-metrics { display:flex; justify-content:space-between; color:var(--ink-soft); font-size:clamp(.72rem,.85vw,.82rem); }.ui-metrics b { color:#4f9b73; }
.ui-ai-card { z-index:3; right:3%; bottom:5%; width:55%; padding:22px; border-radius:24px; animation:uiFloatAlt 6s ease-in-out infinite; }.ui-kicker { color:var(--blue); font-size:.7rem; font-weight:700; }.ui-ai-card > strong { display:block; margin:8px 0 18px; font-size:clamp(1.08rem,1.5vw,1.42rem); line-height:1.35; }.confidence { display:flex; align-items:center; gap:9px; color:var(--ink-soft); font-size:.76rem; }.confidence i { position:relative; width:70px; height:7px; border-radius:999px; background:#e8e8f3; overflow:hidden; }.confidence i::after { content:""; position:absolute; inset:0 10% 0 0; border-radius:inherit; background:linear-gradient(90deg,var(--blue),var(--violet)); }
.ui-review-card { z-index:1; left:0; bottom:5%; width:42%; padding:20px; border-radius:22px; transform:translateX(-18%); }.ui-review-card > span { display:block; margin-bottom:12px; color:var(--blue); font-weight:700; }.ui-review-card div { display:flex; align-items:center; gap:8px; margin-top:8px; padding:9px 10px; border-radius:10px; background:#f5f6fb; }.ui-review-card b { color:#91afd9; font-size:.68rem; }.ui-review-card i { flex:1; height:6px; border-radius:4px; background:#e1e4f0; }
.hero-float-pill { position:absolute; z-index:4; padding:11px 15px; border:1px solid rgba(83,88,135,.11); border-radius:14px; background:rgba(255,255,255,.95); box-shadow:0 16px 36px rgba(64,69,119,.13); color:#555c79; font-size:clamp(.72rem,.85vw,.84rem); font-weight:700; }.hero-float-pill::before { content:""; display:inline-block; width:7px; height:7px; margin-right:7px; border-radius:50%; background:var(--violet); }.pill-one { right:-10px; top:16%; }.pill-two { left:-12px; bottom:17%; }
@keyframes uiFloat { 50% { transform:translateY(-12px) rotate(.5deg); } } @keyframes uiFloatAlt { 50% { transform:translateY(10px) rotate(-.7deg); } }

.client-logo-section { padding:38px 0 42px; border-block:1px solid var(--line); background:#fff; text-align:center; }
.client-logo-section p { margin:0 0 24px; color:#83879a; font-size:clamp(.75rem,.9vw,.86rem); font-weight:700; }
.logo-rail { display:grid; grid-template-columns:repeat(6,1fr); gap:14px; align-items:center; }.logo-rail span { min-height:56px; display:grid; place-items:center; border:1px dashed #d9dbea; border-radius:14px; color:#a0a4b7; background:#fcfcff; font-size:clamp(.68rem,.8vw,.78rem); font-weight:700; }.client-logo-section small { display:block; margin-top:16px; color:#aaaebe; font-size:.68rem; }
.intro-section { background:#fff; }.statement .muted { color:#b4b6c5; }

.solution-journey { background:linear-gradient(180deg,#f8f7ff 0%,#fff 100%); }
.journey-heading { max-width:820px; margin-bottom:52px; }.journey-heading > p { max-width:680px; margin:22px 0 0; color:var(--ink-soft); font-size:clamp(1rem,1.2vw,1.12rem); }
.solution-tabs { display:grid; grid-template-columns:repeat(4,1fr); border-bottom:1px solid #dfe1ec; }
.solution-tabs button { position:relative; min-height:92px; padding:18px 20px; display:flex; align-items:center; justify-content:center; gap:14px; border:0; color:#9a9eaf; background:transparent; cursor:pointer; text-align:left; }.solution-tabs button::after { content:""; position:absolute; left:12%; right:12%; bottom:-1px; height:3px; background:var(--blue); transform:scaleX(0); transition:transform .25s ease; }.solution-tabs button.is-active { color:var(--ink); }.solution-tabs button.is-active::after { transform:scaleX(1); }.solution-tabs button b { font-size:.72rem; color:inherit; }.solution-tabs button > span { font-size:clamp(.95rem,1.2vw,1.12rem); font-weight:700; }.solution-tabs small { display:block; margin-top:2px; color:#a5a9ba; font-size:.68rem; font-weight:400; text-transform:uppercase; }
.solution-panels { margin-top:34px; }
.solution-panel { min-height:560px; padding:46px; display:grid; grid-template-columns:.82fr 1.18fr; gap:50px; align-items:center; border:1px solid rgba(83,88,135,.1); border-radius:34px; background:#fff; box-shadow:0 24px 75px rgba(68,72,120,.1); }.solution-panel.is-active { animation:panelIn .45s cubic-bezier(.2,.75,.2,1) both; }.solution-panel[hidden] { display:none; }.solution-copy .panel-index { color:var(--blue); font-size:.75rem; font-weight:700; }.solution-copy h3 { margin:17px 0 16px; font-size:clamp(1.7rem,2.3vw,2rem); line-height:1.2; }.solution-copy p { margin:0; color:var(--ink-soft); }.solution-copy ul { margin:24px 0 28px; padding:0; list-style:none; }.solution-copy li { position:relative; margin:10px 0; padding-left:20px; color:#4e5369; font-size:clamp(.9rem,1vw,.98rem); }.solution-copy li::before { content:""; position:absolute; left:0; top:.65em; width:7px; height:7px; border-radius:50%; background:var(--violet); }.solution-copy .text-link,.dark-section .text-link { color:var(--blue); }
@keyframes panelIn { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:none; } }
.solution-ui { position:relative; min-height:390px; display:grid; place-items:center; border-radius:30px; overflow:hidden; background:linear-gradient(145deg,#f4ddcb,#dce9f8 45%,#e9e1fb); }
.ui-window { width:84%; padding:20px; border:1px solid rgba(83,88,135,.1); border-radius:22px; background:rgba(255,255,255,.93); box-shadow:0 22px 50px rgba(72,76,123,.13); }.window-head { display:flex; align-items:center; gap:6px; padding-bottom:16px; border-bottom:1px solid #ececf3; }.window-head span { width:7px; height:7px; border-radius:50%; background:#d9dbe8; }.window-head b { margin-left:auto; color:#797e94; font-size:.72rem; }.channel-connect { position:relative; display:flex; align-items:center; justify-content:center; gap:8px; min-height:170px; }.channel-connect i { position:relative; padding:9px 10px; border-radius:11px; color:#6c7189; background:#f3f4f9; font-size:.7rem; font-style:normal; }
.channel-connect::before { content:""; position:absolute; left:8%; right:8%; top:50%; height:1px; background:linear-gradient(90deg,rgba(89,107,196,.08),rgba(89,107,196,.38) 72%,rgba(139,124,232,.12)); transform:translateY(-50%); }
.channel-connect i { z-index:1; }
.channel-connect i::after { content:""; position:absolute; top:50%; right:-7px; width:6px; height:6px; border-radius:50%; background:linear-gradient(135deg,var(--blue),var(--violet)); transform:translate(-50%,-50%) scale(.4); opacity:0; }
.solution-panel.is-active .channel-connect i::after { animation:flowToHub 1.8s ease-in-out infinite; }
.channel-connect i:nth-of-type(1)::after { --flow-distance:255px; animation-delay:0s; }
.channel-connect i:nth-of-type(2)::after { --flow-distance:188px; animation-delay:.35s; }
.channel-connect i:nth-of-type(3)::after { --flow-distance:108px; animation-delay:.7s; }
.channel-connect i:nth-of-type(4)::after { --flow-distance:42px; animation-delay:1.05s; }
@keyframes flowToHub { 0% { transform:translate(-50%,-50%) scale(.4); opacity:0; } 25% { opacity:1; } 90% { opacity:.55; } 100% { transform:translate(var(--flow-distance),-50%) scale(.9); opacity:0; } }
.channel-hub { position:relative; z-index:2; width:70px; height:70px; display:grid; place-items:center; border-radius:22px; background:#fff; border:1px solid rgba(89,107,196,.22); box-shadow:0 15px 30px rgba(89,107,196,.24); }.channel-hub::after { content:""; position:absolute; inset:-8px; border:1px solid rgba(89,107,196,.28); border-radius:27px; opacity:0; }.solution-panel.is-active .channel-hub::after { animation:channelHubReceive 1.8s ease-out infinite; }.channel-hub img { width:64%; height:64%; border-radius:0; object-fit:contain; mix-blend-mode:multiply; }
@keyframes channelHubReceive { 0%,58% { opacity:0; transform:scale(.86); } 72% { opacity:.8; } 100% { opacity:0; transform:scale(1.14); } }
.connect-total { padding:15px; border-radius:15px; background:#f7f7fc; }.connect-total small { display:block; color:#9296a8; }.connect-total b { display:inline-block; margin-top:4px; font-size:clamp(1.15rem,1.7vw,1.6rem); }.connect-total span { float:right; margin-top:8px; color:#47926b; font-size:.8rem; font-weight:700; }.connect-total span.notice { color:#b8860b; }
@media (prefers-reduced-motion:reduce) { .channel-connect i::after,.channel-hub::after { animation:none !important; opacity:0; } }
.predict-ui { background:linear-gradient(145deg,#e5eefb,#eee8fb); }.prediction-card { width:72%; padding:28px; border-radius:24px; background:#fff; box-shadow:var(--shadow); }.prediction-card small { color:#9095a8; }.prediction-card > b { display:block; margin:8px 0 32px; font-size:clamp(1.25rem,2vw,1.8rem); }.prediction-line { height:90px; border-bottom:1px solid #e2e3ec; position:relative; overflow:hidden; }.prediction-line i { position:absolute; left:0; right:0; bottom:10px; height:70px; transform:scaleY(0); transform-origin:bottom; clip-path:polygon(0 83%,13% 68%,27% 78%,42% 45%,58% 58%,73% 22%,86% 38%,100% 0,100% 100%,0 100%); background:linear-gradient(180deg,rgba(130,111,216,.5),rgba(130,111,216,.05)); }.solution-panel.is-active .prediction-line i { animation:riseGraph 1.3s cubic-bezier(.2,.8,.2,1) both; }
@keyframes riseGraph { from { transform:scaleY(0); } to { transform:scaleY(1); } }
@media (prefers-reduced-motion:reduce) { .prediction-line i { transform:scaleY(1); animation:none !important; } }.prediction-tags { display:flex; gap:7px; margin-top:17px; }.prediction-tags span { padding:6px 9px; border-radius:999px; background:#f2f2f9; color:#777c91; font-size:.67rem; }.alert-card { position:absolute; right:5%; bottom:7%; padding:14px 16px; display:flex; align-items:center; gap:12px; border-radius:17px; background:#fff; box-shadow:0 17px 40px rgba(66,70,116,.16); }.alert-card > i { width:36px; height:36px; display:grid; place-items:center; border-radius:11px; color:#fff; background:var(--violet); font-size:.67rem; font-style:normal; font-weight:700; }.alert-card small,.alert-card b { display:block; }.alert-card small { color:#9a9dae; font-size:.65rem; }.alert-card b { margin-top:2px; font-size:.78rem; }
.operate-ui { grid-template-columns:1fr auto 1fr auto 1fr; gap:10px; padding:28px; background:linear-gradient(145deg,#eef2fa,#e9e5f8); }.kanban-col { width:100%; min-height:225px; padding:18px; border-radius:18px; background:rgba(255,255,255,.76); }.solution-panel.is-active .kanban-col { animation:kanbanActive 6s ease-in-out infinite; }.kanban-col:nth-of-type(1) { animation-delay:0s; }.kanban-col:nth-of-type(3) { animation-delay:2s; }.kanban-col:nth-of-type(5) { animation-delay:4s; }.kanban-col small { color:#8b90a4; font-weight:700; }.kanban-col span { display:block; margin-top:14px; padding:13px; border-radius:12px; color:#62677c; background:#f6f6fa; font-size:.72rem; }.kanban-col b { float:right; color:var(--blue); }.kanban-arrow { color:#a0a4b7; }
@keyframes kanbanActive { 0%,15%,100% { background:rgba(255,255,255,.76); box-shadow:none; } 25%,40% { background:#fff; box-shadow:0 18px 42px rgba(69,72,119,.12); } 55% { background:rgba(255,255,255,.76); box-shadow:none; } }
@media (prefers-reduced-motion:reduce) { .kanban-col { animation:none !important; } .kanban-col:nth-of-type(3) { background:#fff; box-shadow:0 18px 42px rgba(69,72,119,.12); } }
.store-ui { background:linear-gradient(145deg,#f5dfcd,#dfeaf9 50%,#e9e3f9); }.mini-phone { width:270px; min-height:360px; padding:28px 23px; border:7px solid #303248; border-radius:38px; background:#fff; box-shadow:0 25px 60px rgba(58,61,105,.2); }.mini-phone > small { color:var(--blue); }.mini-phone > b { display:block; margin:8px 0 24px; font-size:1.3rem; }.mini-phone div { display:flex; justify-content:space-between; margin:10px 0; padding:13px; border-radius:12px; background:#f5f5fa; font-size:.76rem; }.mini-phone button { width:100%; margin-top:20px; padding:12px; border:0; border-radius:12px; color:#fff; background:linear-gradient(135deg,var(--blue),var(--violet)); font-weight:700; }

.dark-section { color:var(--ink); background:#f3f2fb; }.dark-section .section-head p { color:var(--ink-soft); }.platform-card { border-color:rgba(83,88,135,.1); background:#fff; box-shadow:0 18px 52px rgba(67,71,120,.08); }.platform-card::after { opacity:.16; }.card-number { color:#9296aa; }.platform-card p { color:var(--ink-soft); }.mini-flow span { border-color:#e2e3ec; color:#74798e; background:#f6f6fa; }.mini-flow i { background:#d5d7e2; }
.flow-section { background:linear-gradient(180deg,#fff,#f9f8ff); }
.sales-stage { color:var(--ink); border:1px solid rgba(83,88,135,.1); background:#fff; box-shadow:var(--shadow); }.channel-pills span { color:#74798e; background:#f1f1f7; }.channel-pills .active { color:#fff; background:var(--blue); }.sales-panel { border-color:#e5e5ee; background:#f9f9fc; }.line-chart { background:repeating-linear-gradient(to bottom,transparent 0,transparent 54px,rgba(73,77,116,.08) 55px); }.rank-item { border-bottom-color:#e1e2eb; }.rank-item small { color:#9a9dae; }.up { color:#4f9b73; }
.sodam-section { background:#eeecfb; }
.cta-section { color:var(--ink); background:linear-gradient(120deg,#e8e5fb,#dce8f8); }.cta-box p { color:var(--ink-soft); }
.site-footer { color:#696e82; background:#f0f0f7; }.footer-brand p,.footer-col a { color:#777c90; }.footer-col strong { color:var(--ink); }.footer-bottom { color:#8b8fa0; border-top-color:#dcdee8; }

.sub-hero { color:var(--ink); background:linear-gradient(145deg,#fff,#f2f1fc 52%,#eaf0fb); }.sub-hero::after { background:radial-gradient(circle,rgba(139,124,232,.22),rgba(139,124,232,0) 65%); }.sub-hero .lede { color:var(--ink-soft); }.answer-card { border-color:rgba(83,88,135,.12); background:rgba(255,255,255,.76); box-shadow:0 18px 50px rgba(70,74,121,.08); }.answer-card strong { color:var(--blue); }.answer-card p { color:#53586f; }
.contact-page { color:var(--ink); background:linear-gradient(145deg,#f9f8ff,#eef1fb); }.contact-copy > p,.contact-point p { color:var(--ink-soft); }.contact-point i { color:var(--blue); background:#e8e7f7; }.contact-form { border-color:rgba(83,88,135,.12); box-shadow:0 30px 85px rgba(64,68,112,.14); }

.reveal-scale { opacity:0; transform:scale(.97) translateY(24px); transition:opacity .8s ease,transform .8s cubic-bezier(.2,.75,.2,1); }.reveal-scale.is-visible { opacity:1; transform:none; }
.reveal-stagger > * { opacity:0; transform:translateY(18px); transition:opacity .55s ease,transform .55s ease; transition-delay:calc(var(--stagger,0) * 90ms); }.reveal-stagger.is-visible > * { opacity:1; transform:none; }

@media (max-width:960px) {
  .hero { min-height:auto; }
  .hero-ui-stage { min-height:540px; }.ui-gradient-frame { inset:20px 5% 20px; }.pill-one { right:4%; }.pill-two { left:3%; }
  .logo-rail { grid-template-columns:repeat(3,1fr); }
  .solution-panel { grid-template-columns:1fr; padding:34px; }.solution-ui { min-height:360px; }.solution-tabs button { padding-inline:10px; }
}
@media (max-width:640px) {
  .display { font-size:clamp(2.55rem,10.5vw,3rem); }.page-title,.contact-copy h1 { font-size:clamp(2.45rem,10.5vw,3.55rem); }.section-title { font-size:clamp(1.85rem,8vw,2.35rem); }.statement { font-size:clamp(1.85rem,8vw,2.8rem); }.cta-box h2 { font-size:clamp(1.9rem,8.5vw,2.8rem); }
  .hero-ui-stage { min-height:450px; }.ui-gradient-frame { inset:18px 0; border-radius:34px; }.ui-sales-card { left:6%; width:80%; padding:18px; }.ui-bars { height:86px; }.ui-review-card { display:none; }.ui-ai-card { width:62%; padding:17px; }.hero-float-pill { padding:9px 11px; }.pill-one { top:10%; right:0; }.pill-two { left:0; bottom:13%; }
  .client-logo-section { padding:30px 0; }.logo-rail { grid-template-columns:repeat(2,1fr); gap:8px; }.logo-rail span { min-height:48px; }
  .solution-tabs { margin-right:calc((100vw - 100%)/-2); overflow-x:auto; grid-template-columns:repeat(4,minmax(150px,1fr)); }.solution-tabs button { min-height:82px; justify-content:flex-start; }.solution-panel { min-height:0; padding:24px; border-radius:25px; gap:30px; }.solution-ui { min-height:320px; border-radius:22px; }.ui-window { width:94%; padding:15px; }.channel-connect { min-height:135px; gap:5px; }.channel-connect i { padding:7px 6px; }.channel-hub { width:58px; height:58px; }.prediction-card { width:88%; padding:21px; }.alert-card { right:3%; }.operate-ui { grid-template-columns:1fr; overflow:visible; }.kanban-col { min-height:auto; }.kanban-col:nth-of-type(n+2),.kanban-arrow { display:none; }.mini-phone { width:240px; }
}

/* Hierarchy, global network, moving data nodes and draggable AI rail */
.brand { flex:0 0 auto; }
.brand img { display:block; width:104px; height:38px; object-fit:contain; mix-blend-mode:multiply; }
.footer-brand .brand img { width:122px; height:43px; }
.display { font-size:clamp(3.2rem,6.2vw,5rem); }
.page-title,.contact-copy h1 { font-size:clamp(2.65rem,5vw,4.3rem); }
.section-title { font-size:clamp(2rem,3.2vw,2.625rem); }
.statement { font-size:clamp(2rem,3.4vw,3.25rem); }
.article h2 { font-size:clamp(1.9rem,3.2vw,3.25rem); }
.cta-box h2 { font-size:clamp(2rem,3.4vw,3.25rem); }

.hero-global-network { position:absolute; z-index:1; width:760px; height:760px; right:-120px; top:50%; opacity:.58; transform:translateY(-50%); pointer-events:none; }
.global-globe { position:absolute; inset:40px; overflow:hidden; border:1px solid rgba(86,100,177,.18); border-radius:50%; background:radial-gradient(circle at 35% 28%,rgba(255,255,255,.78),rgba(230,232,250,.22) 46%,rgba(211,220,246,.18)); box-shadow:inset 0 0 80px rgba(106,112,186,.06); animation:globalDrift 18s ease-in-out infinite; }
.global-globe::before,.global-globe::after { content:""; position:absolute; left:50%; top:-8%; width:34%; height:116%; border:1px solid rgba(86,100,177,.15); border-radius:50%; transform:translateX(-50%); }.global-globe::after { width:72%; }
.latitude { position:absolute; left:-6%; width:112%; height:34%; border:1px solid rgba(86,100,177,.15); border-radius:50%; }.lat-one { top:18%; }.lat-two { bottom:18%; }
.longitude { position:absolute; top:50%; width:112%; height:1px; left:-6%; background:linear-gradient(90deg,transparent,rgba(86,100,177,.16),transparent); }.long-one { transform:rotate(22deg); }.long-two { transform:rotate(-26deg); }
.global-city { position:absolute; z-index:3; min-width:72px; padding:9px 11px; border:1px solid rgba(84,91,145,.1); border-radius:12px; color:#53619b; background:rgba(255,255,255,.76); box-shadow:0 12px 30px rgba(77,82,139,.08); font-size:.68rem; font-weight:700; text-align:center; backdrop-filter:blur(10px); }.global-city::before { content:""; display:inline-block; width:6px; height:6px; margin-right:6px; border-radius:50%; background:#8377db; box-shadow:0 0 0 5px rgba(131,119,219,.12); }.global-city small { display:block; margin-top:2px; color:#a0a4b8; font-size:.58rem; font-weight:400; }.city-icn { left:4%; top:28%; }.city-sin { left:24%; bottom:10%; }.city-lhr { right:18%; top:12%; }.city-nyc { right:1%; bottom:30%; }
.global-route { position:absolute; z-index:2; border-top:1px dashed rgba(93,105,183,.3); border-radius:50%; transform-origin:center; }.route-one { width:510px; height:210px; left:105px; top:190px; transform:rotate(-10deg); }.route-two { width:440px; height:260px; left:180px; top:315px; transform:rotate(20deg); }
.global-signal { position:absolute; z-index:4; width:9px; height:9px; border-radius:50%; background:#8275dc; box-shadow:0 0 0 8px rgba(130,117,220,.1); animation:globalSignal 5s ease-in-out infinite; }.signal-one { left:31%; top:33%; }.signal-two { right:27%; bottom:27%; animation-delay:-2.2s; }
@keyframes globalDrift { 50% { transform:rotate(3deg) translateY(-8px); } } @keyframes globalSignal { 50% { transform:scale(1.7); opacity:.35; } }

.client-logo-section { padding:34px 0 40px; }
.client-logo-section > p { margin-bottom:20px; }
.logo-marquee { width:100%; overflow:hidden; mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent); }
.logo-marquee + .logo-marquee { margin-top:10px; }
.logo-marquee-track { width:max-content; display:flex; gap:12px; padding:2px 0; animation:logoRoll 38s linear infinite; will-change:transform; }
.logo-marquee.reverse .logo-marquee-track { animation-direction:reverse; animation-duration:44s; }
.logo-marquee:hover .logo-marquee-track { animation-play-state:paused; }
.logo-marquee-track span { width:160px; min-height:52px; display:grid; place-items:center; flex:0 0 auto; border:1px dashed #d9dbea; border-radius:13px; color:#9ea2b6; background:#fcfcff; font-size:.72rem; font-weight:700; }
.client-logo-section > small { display:block; margin-top:15px; color:#aaaebe; font-size:.68rem; text-align:center; }
@keyframes logoRoll { to { transform:translateX(calc(-50% - 6px)); } }

.data-node { will-change:translate; }
.node-pos { animation:dataNodeA 6.2s ease-in-out infinite; }.node-delivery { width:170px; animation:dataNodeB 7s ease-in-out infinite -1.2s; }.node-hq { animation:dataNodeC 6.6s ease-in-out infinite -.7s; }.node-store { animation:dataNodeA 7.4s ease-in-out infinite -2.4s; }.node-special { animation:dataNodeB 6.8s ease-in-out infinite -1.8s; }
.data-orbit-stage:hover .data-node,.data-node:hover { animation-play-state:paused; }
.data-node small { line-height:1.45; }
@keyframes dataNodeA { 50% { translate:0 -13px; } } @keyframes dataNodeB { 50% { translate:9px 8px; } } @keyframes dataNodeC { 50% { translate:-8px -9px; } }

.ai-suite-track { cursor:grab; user-select:none; touch-action:pan-y; scrollbar-width:none; scroll-snap-type:x proximity; overscroll-behavior-x:contain; }.ai-suite-track::-webkit-scrollbar { display:none; }.ai-suite-track.is-dragging { cursor:grabbing; scroll-snap-type:none; }.ai-suite-track.is-dragging .ai-feature-card { pointer-events:none; }.ai-feature-card { cursor:inherit; }
.track-hint { color:#777c92; }

.ai-detail-list { display:grid; gap:24px; margin-top:42px; }
.ai-detail { scroll-margin-top:110px; min-height:450px; padding:34px; display:grid; grid-template-columns:1.12fr .88fr; gap:34px; align-items:center; border:1px solid var(--line); border-radius:26px; background:#fff; box-shadow:0 16px 48px rgba(68,72,120,.06); }
.ai-detail:nth-child(even) { background:#f8f8fc; }.ai-detail-copy > span { color:var(--blue); font-size:.72rem; font-weight:700; }.ai-detail-copy h3 { margin:12px 0 14px; font-size:clamp(1.5rem,2.2vw,2rem); }.ai-detail-copy > p { margin:0; color:var(--ink-soft); font-size:.96rem; }.ai-detail dl { margin:24px 0 0; }.ai-detail dl > div { padding:11px 0; display:grid; grid-template-columns:94px 1fr; gap:12px; border-top:1px solid #e7e8f0; }.ai-detail dt { color:#777c91; font-size:.72rem; font-weight:700; }.ai-detail dd { margin:0; color:#52576c; font-size:.78rem; }
.ai-detail-ui { min-height:310px; padding:27px; display:flex; flex-direction:column; justify-content:center; border-radius:23px; background:linear-gradient(145deg,#e9eff9,#ede8fa); }.ai-detail-ui small { color:#81869a; }.ai-detail-ui > strong { margin:9px 0 24px; font-size:clamp(1.45rem,2.2vw,2rem); }.ai-detail-ui > em { width:max-content; max-width:100%; margin-top:18px; padding:7px 10px; border-radius:9px; color:var(--blue); background:rgba(255,255,255,.82); font-size:.7rem; font-style:normal; font-weight:700; }.detail-order > span { margin-top:8px; padding:10px 12px; display:flex; justify-content:space-between; border-radius:11px; background:rgba(255,255,255,.78); }.detail-order i { font-style:normal; }.detail-order b { color:var(--blue); }
.detail-line { height:110px; position:relative; overflow:hidden; border-bottom:1px solid rgba(83,88,135,.15); }.detail-line i { position:absolute; inset:5px 0 8px; clip-path:polygon(0 12%,14% 20%,28% 17%,43% 39%,58% 43%,72% 62%,85% 70%,100% 92%,100% 100%,0 100%); background:linear-gradient(180deg,rgba(202,92,104,.48),rgba(202,92,104,.04)); }.detail-sales > strong { color:#c65e69; font-size:2.5rem; }
.detail-risk > div { display:grid; gap:9px; }.detail-risk span { padding:11px 13px; display:flex; justify-content:space-between; border-radius:11px; background:rgba(255,255,255,.78); font-size:.78rem; }.detail-risk b { color:#a35e31; }
.detail-purchase > span { margin-top:12px; display:grid; grid-template-columns:1fr 50px; align-items:center; gap:8px; }.detail-purchase i { width:var(--w); height:8px; border-radius:999px; background:linear-gradient(90deg,var(--blue),var(--violet)); }.detail-purchase b { color:#777c91; font-size:.72rem; }
.detail-note p { margin:7px 0 0; padding:10px 12px; border-radius:11px; background:rgba(255,255,255,.78); font-size:.76rem; }.detail-review > p { margin:0 0 12px; color:#61667a; }.detail-review > strong { margin:0; padding:15px; border-radius:13px; background:rgba(255,255,255,.82); font-size:.84rem; line-height:1.55; }.detail-report > div { display:grid; gap:9px; }.detail-report i { height:10px; border-radius:6px; background:rgba(255,255,255,.85); }.detail-report i:nth-child(2) { width:74%; }.detail-report i:nth-child(3) { width:88%; }.detail-report i:nth-child(4) { width:61%; }

@media (max-width:960px) {
  .hero-global-network { width:620px; height:620px; right:-260px; opacity:.4; }.brand img { width:96px; }
  .ai-detail { grid-template-columns:1fr; }.ai-detail-ui { min-height:280px; }
}
@media (max-width:640px) {
  .display { font-size:clamp(2.45rem,10vw,3rem); }.page-title,.contact-copy h1 { font-size:clamp(2.35rem,10vw,3.25rem); }.section-title { font-size:clamp(1.85rem,8vw,2.35rem); }.article h2 { font-size:clamp(1.7rem,7.5vw,2.35rem); }.statement { font-size:clamp(1.85rem,8vw,2.55rem); }.cta-box h2 { font-size:clamp(1.9rem,8vw,2.6rem); }
  .brand img { width:86px; height:32px; }.footer-brand .brand img { width:106px; }.hero-global-network { width:500px; height:500px; right:-310px; top:29%; opacity:.33; }.global-city { display:none; }
  .logo-marquee-track span { width:126px; min-height:46px; }.logo-marquee-track { animation-duration:30s; }.client-logo-section { padding-block:28px; }
  .node-delivery { width:126px; }.data-node small { font-size:.62rem; }
  .ai-detail { min-height:0; padding:23px; border-radius:21px; }.ai-detail dl > div { grid-template-columns:1fr; gap:4px; }.ai-detail-ui { min-height:255px; padding:21px; }
}
@media (prefers-reduced-motion:reduce) { .logo-marquee-track,.data-node,.global-globe,.global-signal { animation:none !important; } }
@media (prefers-reduced-motion:reduce) { .reveal-scale,.reveal-stagger > * { opacity:1; transform:none; } }

/* Refined hero, scroll motion and interactive product views */
.nav-shell .brand img { width:92px; height:34px; }
.mini-phone { border:4px solid #7d7d7d; }

.hero-global-network { width:900px; height:900px; right:-205px; opacity:.5; }
.global-globe { inset:30px; }
.global-orbit-dots { position:absolute; inset:4px; border:1px dashed rgba(96,108,181,.19); border-radius:50%; animation:orbitRingBreath 3.2s ease-in-out infinite; }
.global-orbit-dots i { position:absolute; left:50%; top:50%; width:5px; height:5px; margin:-2.5px; border-radius:50%; background:#7e75d4; opacity:.16; transform:rotate(calc(var(--i) * 22.5deg)) translateY(-446px); animation:orbitDotBlink 2.8s ease-in-out infinite; animation-delay:calc(var(--i) * .12s); }
@keyframes orbitDotBlink { 0%,34%,100% { opacity:.14; box-shadow:none; } 12% { opacity:.88; box-shadow:0 0 0 6px rgba(126,117,212,.09),0 0 18px rgba(126,117,212,.38); } }
@keyframes orbitRingBreath { 50% { border-color:rgba(96,108,181,.32); } }

.issue-list.reveal-stagger > * { opacity:0; transform:translateY(-58px) scale(.985); transition:none; }
.issue-list.reveal-stagger.is-visible > * { animation:issueDrop .72s cubic-bezier(.2,.88,.32,1.28) both; animation-delay:calc(var(--stagger,0) * 150ms); }
@keyframes issueDrop { 0% { opacity:0; transform:translateY(-58px) scale(.985); } 68% { opacity:1; transform:translateY(7px) scale(1); } 84% { transform:translateY(-3px); } 100% { opacity:1; transform:none; } }

.data-proof-list.reveal-stagger > * { opacity:0; transform:translateX(-24px); transition:opacity .5s ease,transform .65s cubic-bezier(.2,.8,.2,1); transition-delay:calc(var(--stagger,0) * 130ms); }
.data-proof-list.reveal-stagger.is-visible > * { opacity:1; transform:none; }
.data-hub img { width:44px; height:44px; margin-bottom:9px; border-radius:0; object-fit:contain; box-shadow:none; }
.data-node:hover { animation-play-state:paused; }
.data-orbit-stage:hover .data-node:not(:hover) { animation-play-state:running; }

.copilot-steps.reveal-stagger > * { opacity:0; transform:translateX(-28px); transition:opacity .5s ease,transform .65s cubic-bezier(.2,.8,.2,1); transition-delay:calc(var(--stagger,0) * 140ms); }
.copilot-steps.reveal-stagger.is-visible > * { opacity:1; transform:none; }
.copilot-console { background:#f5f6fb; }
.console-top span img { width:25px; height:25px; border-radius:0; object-fit:contain; }
.console-top small { display:flex; align-items:center; gap:7px; }
.console-top small i { width:7px; height:7px; box-shadow:0 0 0 4px rgba(88,189,124,.12); }
.chat-thread { padding:28px; display:grid; gap:22px; background:linear-gradient(180deg,#f8f9fc,#f0f1f7); }
.chat-row { display:flex; gap:11px; align-items:flex-start; }
.chat-user { justify-content:flex-end; }
.chat-bubble { max-width:88%; padding:17px 18px; border:1px solid #e3e4ed; border-radius:18px; background:#fff; box-shadow:0 10px 28px rgba(67,71,117,.07); }
.chat-user .chat-bubble { max-width:72%; color:#fff; border:0; border-bottom-right-radius:5px; background:linear-gradient(135deg,var(--blue),var(--violet)); box-shadow:0 13px 30px rgba(89,107,196,.2); }
.chat-bubble > p { margin:0; font-size:.88rem; }
.chat-user .chat-bubble > small { display:block; margin-top:7px; color:rgba(255,255,255,.62); font-size:.62rem; text-align:right; }
.chat-assistant .chat-bubble { border-top-left-radius:5px; }
.chat-avatar { width:36px; height:36px; flex:0 0 auto; padding:5px; border-radius:12px; background:#fff; box-shadow:0 8px 20px rgba(67,71,117,.12); }
.chat-avatar img { width:100%; height:100%; border-radius:0; object-fit:contain; }
.chat-name { display:block; margin-bottom:7px; color:var(--blue); font-size:.72rem; }
.chat-time { display:block; margin-top:13px; color:#a0a3b2; font-size:.62rem; }
.chat-assistant .signal-card { margin:18px 0 13px; background:#f9f9fc; }
.chat-assistant .reason-list span { background:#f1f1f6; }
.assistant-bubble { position:relative; overflow:hidden; max-height:860px; transition:max-height .72s cubic-bezier(.2,.8,.2,1); }
.assistant-answer > p { margin:0; font-size:.88rem; }
.chat-typing { min-height:34px; display:none; align-items:center; gap:12px; color:#73788c; }
.chat-typing > span { display:flex; align-items:center; gap:4px; }
.chat-typing i { width:6px; height:6px; border-radius:50%; background:var(--blue); animation:copilotTypingDot .9s ease-in-out infinite; }
.chat-typing i:nth-child(2) { animation-delay:.14s; }.chat-typing i:nth-child(3) { animation-delay:.28s; }
.chat-typing b { font-size:.72rem; font-weight:700; }
.copilot-console.is-looping .chat-thread { min-height:516px; transition:opacity .55s ease,transform .55s ease; }
.copilot-console.is-looping .chat-user,.copilot-console.is-looping .chat-assistant { opacity:0; transform:translateY(14px); transition:opacity .52s ease,transform .62s cubic-bezier(.2,.8,.2,1); }
.copilot-console.is-looping .assistant-bubble { max-height:70px; }
.copilot-console.is-looping .assistant-answer { position:absolute; visibility:hidden; opacity:0; pointer-events:none; }
.copilot-console.stage-user .chat-user,.copilot-console.stage-typing .chat-user,.copilot-console.stage-answer .chat-user { opacity:1; transform:none; }
.copilot-console.stage-user [data-copilot-question]::after { content:""; width:1px; height:1em; margin-left:3px; display:inline-block; vertical-align:-2px; background:rgba(255,255,255,.85); animation:copilotCaret .7s steps(1,end) infinite; }
.copilot-console.stage-typing .chat-assistant,.copilot-console.stage-answer .chat-assistant { opacity:1; transform:none; }
.copilot-console.stage-typing .chat-typing { display:flex; }
.copilot-console.stage-answer .assistant-bubble { max-height:860px; }
.copilot-console.stage-answer .chat-typing { display:none; }
.copilot-console.stage-answer .assistant-answer { position:relative; visibility:visible; opacity:1; pointer-events:auto; }
.copilot-console.is-looping .assistant-answer > * { opacity:0; transform:translateY(9px); transition:opacity .42s ease,transform .48s cubic-bezier(.2,.8,.2,1); }
.copilot-console.stage-answer .assistant-answer > * { opacity:1; transform:none; }
.copilot-console.stage-answer .assistant-answer > *:nth-child(2) { transition-delay:.08s; }.copilot-console.stage-answer .assistant-answer > *:nth-child(3) { transition-delay:.18s; }.copilot-console.stage-answer .assistant-answer > *:nth-child(4) { transition-delay:.3s; }.copilot-console.stage-answer .assistant-answer > *:nth-child(5) { transition-delay:.42s; }.copilot-console.stage-answer .assistant-answer > *:nth-child(6) { transition-delay:.52s; }
.copilot-console.stage-reset .chat-thread { opacity:0; transform:translateY(-6px) scale(.99); }
@keyframes copilotTypingDot { 0%,70%,100% { opacity:.28; transform:translateY(0); } 35% { opacity:1; transform:translateY(-4px); } }
@keyframes copilotCaret { 0%,49% { opacity:1; } 50%,100% { opacity:0; } }
@media (prefers-reduced-motion:reduce) { .copilot-console .chat-row,.copilot-console .chat-thread,.copilot-console .assistant-answer > * { opacity:1 !important; transform:none !important; transition:none !important; }.copilot-console .assistant-bubble { max-height:none !important; }.copilot-console .assistant-answer { position:relative !important; visibility:visible !important; opacity:1 !important; }.copilot-console .chat-typing { display:none !important; } }

.channel-pills button { padding:8px 13px; border:0; border-radius:999px; color:#74798e; background:#f1f1f7; font-size:.76rem; font-weight:700; cursor:pointer; transition:.2s ease; }
.channel-pills button:hover { color:var(--blue); background:#e9e9f7; }
.channel-pills button.active { color:#fff; background:var(--blue); box-shadow:0 8px 18px rgba(89,107,196,.2); }
.sales-view[hidden] { display:none; }
.sales-view.is-active { animation:salesViewIn .42s cubic-bezier(.2,.75,.2,1) both; }
@keyframes salesViewIn { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:none; } }
.sales-total { display:block; margin-top:4px; font-size:clamp(1.45rem,2.3vw,2rem); }
.pos-chart path { stroke:#8173d3; }
.sales-kpi-stack { display:grid; grid-template-columns:1fr 1fr; gap:12px; align-content:center; }
.sales-kpi-stack > div { padding:18px; border-radius:16px; background:#fff; }
.sales-kpi-stack small,.sales-kpi-stack strong { display:block; }.sales-kpi-stack strong { margin-top:7px; font-size:1.05rem; }
.venue-bars { margin-top:38px; display:grid; gap:22px; }.venue-bars span { display:grid; grid-template-columns:70px 1fr 70px; gap:12px; align-items:center; }.venue-bars b,.venue-bars em { font-size:.72rem; font-style:normal; }.venue-bars em { color:#7b8094; text-align:right; }.venue-bars i { height:12px; border-radius:999px; background:#ececf4; overflow:hidden; }.venue-bars i::after { content:""; display:block; width:0; height:100%; border-radius:inherit; background:linear-gradient(90deg,#92afe2,#8173d3); }.sales-view.is-active .venue-bars i::after { animation:barGrowX 1s cubic-bezier(.2,.8,.2,1) both; }
@keyframes barGrowX { from { width:0; } to { width:var(--w); } }
@media (prefers-reduced-motion:reduce) { .venue-bars i::after { width:var(--w); animation:none !important; } }
.delivery-cards { margin-top:28px; display:grid; gap:10px; }.delivery-cards span { padding:14px 15px; display:grid; grid-template-columns:1fr auto 52px; align-items:center; gap:10px; border-radius:14px; background:#fff; opacity:0; transform:translateX(-14px); }.sales-view.is-active .delivery-cards span { animation:deliveryCardIn .55s cubic-bezier(.2,.8,.2,1) both; }.sales-view.is-active .delivery-cards span:nth-child(2) { animation-delay:.12s; }.sales-view.is-active .delivery-cards span:nth-child(3) { animation-delay:.24s; }.delivery-cards b { font-size:.78rem; }.delivery-cards strong { font-size:.85rem; }.delivery-cards em { color:var(--blue); font-size:.68rem; font-style:normal; text-align:right; }
@keyframes deliveryCardIn { to { opacity:1; transform:none; } }
.hour-bars { height:245px; padding:30px 10px 25px; display:flex; align-items:flex-end; gap:12px; border-bottom:1px solid #e1e2eb; }.hour-bars span { flex:1; height:0; position:relative; border-radius:8px 8px 2px 2px; background:linear-gradient(180deg,#9bb8e7,#8274d4); }.sales-view.is-active .hour-bars span { animation:barGrowY 1s cubic-bezier(.2,.8,.2,1) both; }
@keyframes barGrowY { from { height:0; } to { height:var(--h); } }
@media (prefers-reduced-motion:reduce) { .hour-bars span { height:var(--h); animation:none !important; }.delivery-cards span { opacity:1; transform:none; animation:none !important; } }.hour-bars b { position:absolute; left:50%; bottom:-24px; color:#9296a8; font-size:.62rem; transform:translateX(-50%); }

.sodam-device-stage { min-height:620px; }
.sodam-desktop { position:absolute; left:0; top:50%; width:88%; min-height:380px; overflow:hidden; border:7px solid #747782; border-radius:22px; background:#fff; box-shadow:0 34px 70px rgba(53,59,112,.18); transform:translateY(-50%) rotate(-2deg); }
.desktop-top { min-height:54px; padding:0 18px; display:flex; align-items:center; gap:13px; border-bottom:1px solid #e7e8ef; color:#62677c; font-size:.72rem; }.desktop-top img { width:70px; height:28px; object-fit:contain; }.desktop-top span { margin-left:auto; }.desktop-top b { padding:5px 8px; border-radius:8px; color:var(--blue); background:#eeeffa; }
.desktop-body { display:grid; grid-template-columns:54px 1fr; min-height:320px; }.desktop-body aside { padding:20px 15px; display:grid; align-content:start; gap:18px; background:#f4f5fa; }.desktop-body aside i { width:23px; height:8px; border-radius:5px; background:#d7d9e7; }.desktop-content { padding:25px; background:#fafafe; }.desktop-kpis { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; }.desktop-kpis span { padding:13px; border-radius:13px; background:#fff; box-shadow:0 8px 20px rgba(67,71,117,.06); }.desktop-kpis small,.desktop-kpis b { display:block; }.desktop-kpis small { color:#9a9dae; font-size:.58rem; }.desktop-kpis b { margin-top:5px; font-size:.72rem; }.desktop-chart { height:190px; margin-top:18px; padding:22px; display:flex; align-items:flex-end; gap:10px; border-radius:16px; background:#fff; }.desktop-chart i { flex:1; height:var(--h); border-radius:7px 7px 2px 2px; background:linear-gradient(180deg,#99b6e7,#8072d3); }
.sodam-device-stage .phone { left:auto; right:-1%; top:52%; width:225px; height:470px; padding:10px; border-width:6px; border-radius:37px; transform:translateY(-50%) rotate(5deg); z-index:3; }.sodam-device-stage .phone-screen { padding:19px 14px; border-radius:25px; }.sodam-device-stage .order-card { margin-top:15px; padding:14px; }.sodam-device-stage .order-card strong { font-size:.92rem; }.sodam-device-stage .float-chip { z-index:4; }.sodam-device-stage .float-chip.one { left:-2%; top:15%; }.sodam-device-stage .float-chip.two { right:-2%; top:72%; }.sodam-device-stage .float-chip.three { left:15%; bottom:3%; }

@media (max-width:960px) {
  .hero-global-network { width:760px; height:760px; right:-300px; }.global-orbit-dots i { transform:rotate(calc(var(--i) * 22.5deg)) translateY(-376px); }
  .sodam-device-stage { width:min(100%,680px); margin-inline:auto; }
}
@media (max-width:640px) {
  .nav-shell .brand img { width:78px; height:29px; }
  .hero-global-network { width:590px; height:590px; right:-360px; top:31%; opacity:.34; }.global-orbit-dots i { transform:rotate(calc(var(--i) * 22.5deg)) translateY(-291px); }
  .sales-stage { padding:13px; border-radius:24px; }.channel-pills { flex-wrap:nowrap; width:100%; overflow-x:auto; padding-bottom:3px; }.channel-pills button { flex:0 0 auto; }.sales-kpi-stack { grid-template-columns:1fr 1fr; }.venue-bars span { grid-template-columns:58px 1fr 60px; }.delivery-cards span { grid-template-columns:1fr; }.delivery-cards em { text-align:left; }.hour-bars { height:210px; gap:7px; }
  .chat-thread { padding:17px 14px; }.chat-bubble { max-width:94%; padding:14px; }.chat-user .chat-bubble { max-width:86%; }.chat-assistant .signal-card { grid-template-columns:1fr; }
  .sodam-device-stage { min-height:520px; }.sodam-desktop { left:1%; top:43%; width:98%; min-height:300px; border-width:5px; }.desktop-body { min-height:250px; grid-template-columns:40px 1fr; }.desktop-body aside { padding-inline:9px; }.desktop-content { padding:15px; }.desktop-kpis span { padding:9px; }.desktop-kpis b { font-size:.61rem; }.desktop-chart { height:140px; padding:14px; }.sodam-device-stage .phone { width:174px; height:365px; right:0; top:60%; border-width:5px; }.sodam-device-stage .phone-screen { padding:14px 10px; }.sodam-device-stage .phone-top { font-size:.61rem; }.sodam-device-stage .order-card { margin-top:10px; padding:10px; }.sodam-device-stage .order-card strong { font-size:.72rem; }.sodam-device-stage .float-chip { font-size:.68rem; padding:9px 11px; }.sodam-device-stage .float-chip.three { display:none; }
}
@media (prefers-reduced-motion:reduce) { .global-orbit-dots,.global-orbit-dots i,.issue-list.reveal-stagger.is-visible > * { animation:none !important; } }

/* Expanded home narrative */
.data-universe { position:relative; overflow:hidden; background:#f5f4fc; }
.data-universe::before { content:""; position:absolute; width:520px; height:520px; left:-240px; bottom:-260px; border-radius:50%; background:rgba(139,124,232,.12); filter:blur(30px); }
.data-universe-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:70px; align-items:center; }
.data-universe-copy { position:relative; z-index:2; }
.data-universe-copy > p { max-width:560px; margin:28px 0; color:var(--ink-soft); font-size:clamp(1rem,1.2vw,1.12rem); }
.data-proof-list { display:grid; gap:0; margin-top:36px; border-top:1px solid var(--line); }
.data-proof-list span { display:flex; align-items:center; gap:15px; padding:17px 0; border-bottom:1px solid var(--line); color:#555a70; font-size:clamp(.88rem,1vw,.98rem); }
.data-proof-list b { color:var(--blue); font-size:.72rem; }
.data-orbit-stage { position:relative; min-height:650px; border:1px solid rgba(83,88,135,.1); border-radius:50%; background:radial-gradient(circle at 50% 48%,#fff 0 13%,rgba(255,255,255,.7) 14% 28%,rgba(231,231,249,.58) 29% 45%,transparent 46%),linear-gradient(145deg,#edf2fb,#e9e4f7); box-shadow:inset 0 1px 0 #fff,0 32px 90px rgba(70,72,119,.1); transform:translate3d(0,var(--parallax-y,0),0); }
.data-orbit-stage::before,.data-orbit-stage::after { content:""; position:absolute; inset:14%; border:1px solid rgba(89,107,196,.14); border-radius:50%; }.data-orbit-stage::after { inset:30%; }
.data-lines { position:absolute; inset:3% 2%; width:96%; height:94%; overflow:visible; }.data-lines path { fill:none; stroke:rgba(89,107,196,.25); stroke-width:1.5; stroke-dasharray:7 7; }
.data-hub { position:absolute; z-index:3; left:50%; top:50%; width:168px; height:168px; padding:22px; display:flex; flex-direction:column; align-items:center; justify-content:center; border-radius:48px; color:#fff; background:linear-gradient(145deg,var(--blue),var(--violet)); box-shadow:0 25px 55px rgba(89,107,196,.28); transform:translate(-50%,-50%); text-align:center; }.data-hub > span { width:42px; height:42px; display:grid; place-items:center; margin-bottom:9px; border:1px solid rgba(255,255,255,.28); border-radius:14px; font-size:.72rem; font-weight:700; }.data-hub strong { font-size:.78rem; }.data-hub small { margin-top:3px; color:rgba(255,255,255,.68); font-size:.68rem; }
.data-node { position:absolute; z-index:2; width:145px; padding:18px; border:1px solid rgba(83,88,135,.1); border-radius:20px; background:rgba(255,255,255,.92); box-shadow:0 18px 44px rgba(67,71,117,.12); }.data-node i { width:27px; height:27px; display:grid; place-items:center; margin-bottom:12px; border-radius:9px; color:var(--blue); background:#eeeffa; font-size:.62rem; font-style:normal; font-weight:700; }.data-node strong,.data-node small { display:block; }.data-node strong { font-size:clamp(.88rem,1vw,1rem); }.data-node small { margin-top:2px; color:#969aac; font-size:.7rem; }.node-pos { left:4%; top:8%; }.node-delivery { right:2%; top:10%; }.node-hq { left:0; bottom:9%; }.node-store { right:0; bottom:6%; }.node-special { left:50%; bottom:-2%; transform:translateX(-50%); }
.data-pulse { position:absolute; z-index:4; width:9px; height:9px; border-radius:50%; background:var(--violet); box-shadow:0 0 0 7px rgba(139,124,232,.12); animation:dataPulse 4.5s linear infinite; }.pulse-a { left:20%; top:26%; }.pulse-b { right:24%; top:33%; animation-delay:-1.4s; }.pulse-c { left:40%; bottom:16%; animation-delay:-2.7s; } @keyframes dataPulse { 50% { transform:scale(1.5); opacity:.45; } }

.ai-suite { overflow:hidden; background:#fff; }
.ai-suite-track { display:grid; grid-auto-flow:column; grid-auto-columns:minmax(320px,390px); gap:18px; overflow-x:auto; padding:8px 0 34px 0; scroll-snap-type:x mandatory; scrollbar-width:thin; scrollbar-color:#cbcce0 transparent; }
.ai-feature-card { min-height:520px; padding:28px; display:flex; flex-direction:column; border:1px solid rgba(83,88,135,.11); border-radius:27px; background:#fbfbff; scroll-snap-align:start; transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease; }.ai-feature-card:hover { transform:translateY(-7px); border-color:rgba(89,107,196,.28); box-shadow:0 24px 65px rgba(67,71,117,.12); }.feature-no { color:#9296a9; font-size:.7rem; font-weight:700; }.ai-feature-card h3 { margin:28px 0 10px; font-size:clamp(1.45rem,2vw,1.9rem); }.ai-feature-card > p { margin:0; color:var(--ink-soft); }.ai-feature-card > a { margin-top:auto; padding-top:22px; color:var(--blue); font-size:.86rem; font-weight:700; }
.feature-visual { position:relative; min-height:205px; margin-top:22px; padding:24px; overflow:hidden; border-radius:22px; background:linear-gradient(145deg,#e8eff9,#eee9fa); }.feature-visual::after { content:""; position:absolute; width:160px; height:160px; right:-60px; bottom:-70px; border-radius:50%; background:rgba(255,255,255,.5); }.feature-visual > span { display:block; color:#787d92; font-size:.72rem; }.feature-visual > b { display:block; position:relative; z-index:1; }
.order-visual b { margin-top:18px; color:var(--blue); font-size:3.7rem; line-height:1; }.order-visual i { position:absolute; left:24px; right:24px; bottom:28px; height:9px; border-radius:999px; background:#d9daea; }.order-visual i::after { content:""; display:block; width:var(--w); height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--blue),var(--violet)); }
.drop-visual b { font-size:.85rem; }.drop-visual svg { position:absolute; left:22px; right:22px; bottom:18px; width:calc(100% - 44px); height:100px; }.drop-visual path { fill:none; stroke:#8b73d8; stroke-width:5; stroke-linecap:round; }
.risk-visual > b { width:max-content; margin:10px 0 26px; padding:7px 12px; border-radius:999px; color:#9a6225; background:#fff2d8; font-size:.82rem; }.risk-visual div { display:flex; gap:8px; }.risk-visual i { flex:1; height:58px; border-radius:9px 9px 3px 3px; background:#cbd6ee; }.risk-visual i:nth-child(2) { height:78px; }.risk-visual i:nth-child(3) { height:100px; background:#e3ba70; }.risk-visual i:nth-child(4) { height:68px; }.risk-visual i:nth-child(5) { height:48px; }
.purchase-visual > b { margin:7px 0 28px; font-size:2.2rem; }.purchase-visual div { display:grid; gap:9px; }.purchase-visual i { width:var(--w); height:9px; border-radius:999px; background:linear-gradient(90deg,#93afe1,#8173d3); }
.note-visual > i { display:block; width:100%; height:9px; margin:12px 0; border-radius:6px; background:#d9dbea; }.note-visual > i:nth-of-type(2) { width:78%; }.note-visual > i:nth-of-type(3) { width:88%; }.note-visual > b { width:max-content; margin-top:13px; padding:7px 10px; border-radius:9px; color:var(--blue); background:#fff; font-size:.72rem; }
.review-visual > b { margin:12px 0; color:#80a9dc; }.review-visual > p { margin:0; padding:13px; border-radius:13px; color:#73788c; background:rgba(255,255,255,.8); font-size:.76rem; }
.report-visual > b { margin:11px 0 22px; color:#4f936d; font-size:.85rem; }.report-visual div { display:grid; gap:9px; }.report-visual i { display:block; width:100%; height:12px; border-radius:7px; background:rgba(255,255,255,.8); }.report-visual i:nth-child(2) { width:75%; }.report-visual i:nth-child(3) { width:88%; }
.track-hint { margin:16px 0 0; color:#8b8fa2; font-size:.76rem; text-align:right; }.track-hint span { color:var(--blue); }

.ai-copilot-section { color:#f5f5fb; background:linear-gradient(145deg,#25283a,#30324a); }
.copilot-grid { display:grid; grid-template-columns:.75fr 1.25fr; gap:74px; align-items:center; }.copilot-copy .eyebrow { color:#aeb7ff; }.copilot-copy .lede { color:rgba(255,255,255,.64); }.copilot-steps { display:grid; gap:0; margin-top:35px; border-top:1px solid rgba(255,255,255,.12); }.copilot-steps span { display:grid; grid-template-columns:30px 64px 1fr; gap:8px; align-items:center; padding:17px 0; border-bottom:1px solid rgba(255,255,255,.12); color:rgba(255,255,255,.62); font-size:.88rem; }.copilot-steps b { color:#aeb7ff; font-size:.7rem; }.copilot-steps i { color:#fff; font-style:normal; font-weight:700; }
.copilot-link { margin-top:26px; }
.copilot-console { overflow:hidden; border:1px solid rgba(255,255,255,.12); border-radius:30px; background:#f8f8fc; color:var(--ink); box-shadow:0 35px 90px rgba(0,0,0,.26); }.console-top { min-height:64px; padding:0 22px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid #e5e5ee; color:#61667b; font-size:.76rem; font-weight:700; }.console-top span { display:flex; align-items:center; gap:8px; }.console-top i { width:8px; height:8px; border-radius:50%; background:#58bd7c; box-shadow:0 0 0 5px rgba(88,189,124,.12); }.console-top small { color:#999daf; font-size:.67rem; }
.console-query { padding:24px 26px; display:flex; gap:13px; align-items:flex-start; border-bottom:1px solid #e6e7ef; background:#fff; }.console-query > span,.answer-status > span { flex:0 0 auto; width:33px; height:33px; display:grid; place-items:center; border-radius:11px; color:#fff; background:#333748; font-size:.7rem; font-weight:700; }.console-query p { margin:4px 0 0; font-weight:700; }
.console-answer { padding:27px; }.answer-status { display:flex; gap:13px; align-items:center; }.answer-status > span { background:linear-gradient(135deg,var(--blue),var(--violet)); }.answer-status p { margin:0; color:#555a70; font-size:.9rem; }.signal-card { margin:22px 0; padding:20px; display:grid; grid-template-columns:repeat(3,1fr); gap:13px; border:1px solid #e2e3ed; border-radius:18px; background:#fff; }.signal-card > div { padding-right:12px; border-right:1px solid #e8e8f0; }.signal-card > div:last-child { border:0; }.signal-card small,.signal-card strong { display:block; }.signal-card small { color:#9a9daf; font-size:.68rem; }.signal-card strong { margin-top:5px; font-size:clamp(.85rem,1.2vw,1.05rem); }.signal-card .down { color:#ca5c68; }
.reason-list { display:grid; gap:8px; }.reason-list span { padding:12px 14px; border-radius:12px; color:#666b80; background:#eeeef5; font-size:.78rem; }.reason-list i { margin-right:9px; color:var(--blue); font-size:.65rem; font-style:normal; font-weight:700; }.console-actions { display:flex; gap:9px; margin-top:20px; }.console-actions button { flex:1; min-height:44px; border:1px solid #dcdde8; border-radius:12px; color:#51566c; background:#fff; font-size:.78rem; font-weight:700; }.console-actions button:first-child { color:#fff; border:0; background:linear-gradient(135deg,var(--blue),var(--violet)); }

.role-section { background:#f7f7fc; }.role-experience { display:grid; grid-template-columns:270px 1fr; min-height:610px; border:1px solid rgba(83,88,135,.11); border-radius:32px; background:#fff; box-shadow:0 25px 75px rgba(68,72,120,.09); overflow:hidden; }.role-tabs { padding:20px; display:flex; flex-direction:column; gap:7px; border-right:1px solid #e7e7ef; background:#fafafe; }.role-tabs button { min-height:84px; padding:14px; display:flex; gap:13px; align-items:center; border:0; border-radius:16px; color:#8b8fa1; background:transparent; text-align:left; cursor:pointer; }.role-tabs button.is-active { color:var(--ink); background:#fff; box-shadow:0 11px 28px rgba(68,72,120,.1); }.role-tabs i { width:30px; height:30px; display:grid; place-items:center; flex:0 0 auto; border-radius:10px; color:var(--blue); background:#eceefa; font-size:.62rem; font-style:normal; font-weight:700; }.role-tabs span { font-weight:700; }.role-tabs small { display:block; margin-top:2px; color:#a1a4b4; font-size:.68rem; font-weight:400; }
.role-panels { min-width:0; }.role-panel { min-height:610px; padding:46px; display:grid; grid-template-columns:.75fr 1.25fr; gap:45px; align-items:center; }.role-panel[hidden] { display:none; }.role-panel.is-active { animation:panelIn .45s cubic-bezier(.2,.75,.2,1) both; }.role-copy > span { color:var(--blue); font-size:.7rem; font-weight:700; }.role-copy h3 { margin:15px 0 14px; font-size:clamp(1.6rem,2.3vw,2rem); line-height:1.23; }.role-copy p { color:var(--ink-soft); }.role-copy ul { padding:0; margin:26px 0 0; list-style:none; }.role-copy li { padding:10px 0; border-bottom:1px solid #e8e8f0; color:#5d6277; font-size:.87rem; }.role-copy li::before { content:"✓"; margin-right:9px; color:var(--blue); font-weight:700; }
.role-dashboard { min-height:380px; padding:24px; border-radius:26px; background:linear-gradient(145deg,#eaf0fa,#ece8fa); }.role-kpis { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; }.role-kpis span { padding:15px; border-radius:15px; background:rgba(255,255,255,.84); }.role-kpis small,.role-kpis b { display:block; }.role-kpis small { color:#9599aa; font-size:.65rem; }.role-kpis b { margin-top:5px; font-size:clamp(.86rem,1.2vw,1.05rem); }.role-chart { height:240px; margin-top:20px; padding:25px; display:flex; align-items:flex-end; gap:9px; border-radius:18px; background:rgba(255,255,255,.83); }.role-chart i { flex:1; height:var(--h); min-height:12px; border-radius:7px 7px 2px 2px; background:linear-gradient(180deg,#9ab7e7,#7d70d2); }
.task-dashboard { display:grid; align-content:center; gap:12px; }.task-dashboard > span { padding:18px; display:grid; grid-template-columns:55px 1fr auto; align-items:center; gap:10px; border-radius:16px; background:rgba(255,255,255,.88); }.task-dashboard i { width:max-content; padding:5px 8px; border-radius:8px; color:#9c6430; background:#fff0d8; font-size:.65rem; font-style:normal; }.task-dashboard b { font-size:.82rem; }.task-dashboard small { color:#9b9eaf; font-size:.66rem; }
.store-health { display:grid; align-content:center; gap:15px; }.store-health > div { padding:17px; display:grid; grid-template-columns:70px 1fr 62px; align-items:center; gap:12px; border-radius:14px; background:rgba(255,255,255,.88); }.store-health b { font-size:.8rem; }.store-health i { height:7px; border-radius:999px; background:#e1e2eb; overflow:hidden; }.store-health em { display:block; width:var(--w); height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--blue),var(--violet)); }.store-health span { color:#55866a; font-size:.65rem; text-align:right; }.store-health .warning { color:#bc635f; }
.owner-dashboard { padding:28px; }.owner-head { margin-bottom:17px; display:flex; align-items:center; justify-content:space-between; }.owner-head span { color:#9195a7; font-size:.72rem; }.owner-head b { font-size:1rem; }.owner-item { margin-top:10px; padding:14px; display:grid; grid-template-columns:34px 1fr auto; align-items:center; gap:12px; border-radius:15px; background:rgba(255,255,255,.88); }.owner-item > i { width:34px; height:34px; display:grid; place-items:center; border-radius:10px; color:var(--blue); background:#ebeefa; font-size:.65rem; font-style:normal; font-weight:700; }.owner-item small,.owner-item b { display:block; }.owner-item small { color:#9b9eaf; font-size:.64rem; }.owner-item b { margin-top:2px; font-size:.8rem; }.owner-item em { color:var(--blue); font-style:normal; }

.onboarding-section { background:#fff; }.onboarding-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:90px; align-items:start; }.onboarding-copy { position:sticky; top:120px; }.onboarding-copy > p { margin:25px 0 30px; color:var(--ink-soft); }.onboarding-steps { margin:0; padding:0; list-style:none; }.onboarding-steps li { padding:28px 0; display:grid; grid-template-columns:64px 1fr; gap:18px; border-top:1px solid var(--line); }.onboarding-steps li:last-child { border-bottom:1px solid var(--line); }.onboarding-steps > li > span { width:43px; height:43px; display:grid; place-items:center; border-radius:14px; color:var(--blue); background:#eeeffa; font-size:.7rem; font-weight:700; }.onboarding-steps h3 { margin:0 0 8px; font-size:clamp(1.18rem,1.6vw,1.4rem); }.onboarding-steps p { margin:0; color:var(--ink-soft); font-size:.93rem; }
.faq-grid { display:grid; grid-template-columns:.7fr 1.3fr; gap:90px; align-items:start; }.faq-grid > div:first-child { position:sticky; top:120px; }.faq-grid > div:first-child p { color:var(--ink-soft); }.home-faq { background:#f5f4fc; }.home-faq .faq details { border-color:rgba(83,88,135,.14); }.home-faq .faq summary { padding-block:25px; font-size:clamp(.98rem,1.2vw,1.08rem); }.home-faq .faq details p { color:#61667b; }
.section-action { margin-top:30px; display:flex; justify-content:flex-end; }
.sodam-actions { margin-top:34px; display:flex; align-items:center; gap:20px; flex-wrap:wrap; }
.sodam-actions .text-link { color:var(--blue); }

@media (max-width:960px) {
  .data-universe-grid,.copilot-grid,.onboarding-grid,.faq-grid { grid-template-columns:1fr; }.data-orbit-stage { min-height:600px; }.ai-suite-track { grid-auto-columns:minmax(300px,70vw); }.role-experience { grid-template-columns:1fr; }.role-tabs { overflow-x:auto; padding:12px; flex-direction:row; border-right:0; border-bottom:1px solid #e7e7ef; }.role-tabs button { min-width:190px; }.role-panel { min-height:0; grid-template-columns:1fr; }.onboarding-copy,.faq-grid > div:first-child { position:static; }
}
@media (max-width:640px) {
  .data-orbit-stage { min-height:460px; margin-top:10px; }.data-hub { width:126px; height:126px; border-radius:38px; }.data-node { width:112px; padding:13px; }.node-pos { left:1%; }.node-delivery { right:0; }.node-hq { left:0; }.node-store { right:0; }.node-special { bottom:-4%; }.data-lines { display:none; }
  .ai-suite-track { width:calc(100vw - 13px); grid-auto-columns:82vw; }.ai-feature-card { min-height:490px; padding:22px; }.feature-visual { min-height:190px; }
  .copilot-grid { gap:42px; }.copilot-console { border-radius:22px; }.console-top { padding-inline:16px; }.console-top small { display:none; }.console-query,.console-answer { padding:18px; }.signal-card { grid-template-columns:1fr; }.signal-card > div { padding:0 0 10px; border-right:0; border-bottom:1px solid #e8e8f0; }.signal-card > div:last-child { padding:0; }.console-actions { flex-direction:column; }
  .role-tabs button { min-width:165px; }.role-panel { padding:24px; gap:28px; }.role-dashboard { min-height:330px; padding:17px; }.role-kpis { grid-template-columns:1fr 1fr; }.role-kpis span:last-child { grid-column:1/-1; }.task-dashboard > span { grid-template-columns:48px 1fr; }.task-dashboard small { grid-column:2; }.store-health > div { grid-template-columns:58px 1fr; }.store-health span { grid-column:2; text-align:left; }.onboarding-steps li { grid-template-columns:50px 1fr; }
  .section-action { justify-content:flex-start; }
}

/* Final type scale and expanded Sodam store experience */
.nav-shell .brand img { width:70px; height:auto; }
.hero .display { font-size:clamp(3rem,4.45vw,4rem); font-weight:800; }
.hero-inner { grid-template-columns:1.18fr .82fr; gap:46px; }
.section-title { font-size:clamp(2rem,3.2vw,2.625rem); }
.platform-card h3 { font-size:clamp(1.8rem,2.5vw,2rem); }
.solution-copy h3 { font-size:clamp(1.7rem,2.3vw,2rem); }
.ai-detail-copy h3 { font-size:clamp(1.5rem,2.2vw,2rem); }
.role-copy h3 { font-size:clamp(1.6rem,2.3vw,2rem); }

.data-hub { width:188px; height:188px; color:#fff; border:1px solid rgba(255,255,255,.7); border-radius:50%; background:radial-gradient(circle at 32% 24%,#7185d2 0,#4f66bb 38%,#344797 100%); box-shadow:0 0 0 10px rgba(89,107,196,.1),0 0 0 22px rgba(139,124,232,.07),0 36px 80px rgba(44,54,112,.34); z-index:4; }
.data-hub-logo { width:62px !important; height:62px !important; margin-bottom:10px !important; display:grid !important; place-items:center; border:1px solid rgba(255,255,255,.74) !important; border-radius:0 !important; background:#fff; box-shadow:none !important; }
.data-hub img { width:48px; height:48px; margin:0; border-radius:0 !important; box-shadow:none !important; object-fit:contain; mix-blend-mode:multiply; }
.data-hub strong { padding:0; border-radius:0; color:#fff; background:transparent; letter-spacing:0; }
.data-hub small { display:flex; align-items:center; gap:6px; margin-top:7px; color:rgba(255,255,255,.78); }
.data-hub small i { width:6px; height:6px; border-radius:50%; background:#a8f0ca; box-shadow:0 0 0 4px rgba(168,240,202,.13); animation:hubStatus 1.8s ease-in-out infinite; }
.data-hub-ring { position:absolute; inset:-22px; width:auto !important; height:auto !important; margin:0 !important; z-index:-1; border-radius:50%; border:2px dashed rgba(89,107,196,.4); animation:hubRingSpin 16s linear infinite; }
.data-hub-ring::after { content:""; position:absolute; inset:-16px; border-radius:50%; background:radial-gradient(circle,rgba(139,124,232,.22),transparent 70%); animation:hubPulse 2.6s ease-in-out infinite; }
@keyframes hubRingSpin { to { transform:rotate(360deg); } }
@keyframes hubPulse { 0%,100% { opacity:.55; transform:scale(.94); } 50% { opacity:1; transform:scale(1.06); } }
@keyframes hubStatus { 0%,100% { opacity:.45; } 50% { opacity:1; } }
@media (prefers-reduced-motion:reduce) { .data-hub-ring,.data-hub-ring::after,.data-hub small i { animation:none; } }

.store-ui { padding:28px; }
.mini-phone.sodam-suite-window { width:min(96%,470px); min-height:0; padding:20px; border:4px solid #7d7d7d; border-radius:27px; background:#fff; box-shadow:0 25px 60px rgba(58,61,105,.16); }
.sodam-suite-window .store-app-head,.sodam-suite-window .store-ai-summary,.sodam-suite-window .store-app-menu { margin:0; padding:0; border-radius:0; background:transparent; font-size:inherit; }
.sodam-suite-window .store-app-head { display:grid; grid-template-columns:1fr auto; gap:11px; align-items:center; padding-bottom:14px; border-bottom:1px solid #ececf3; }
.store-app-head span { display:block; }.store-app-head small,.store-app-head b { display:block; }.store-app-head small { color:#9a9eaf; font-size:.62rem; }.store-app-head b { font-size:.88rem; }.store-app-head em { padding:6px 9px; border-radius:9px; color:var(--blue); background:#eeeffa; font-size:.62rem; font-style:normal; font-weight:700; }
.sodam-suite-window .store-ai-summary { margin-top:14px; padding:12px 13px; display:grid; grid-template-columns:32px 1fr auto; gap:10px; align-items:center; border-radius:13px; background:linear-gradient(135deg,#eef2fb,#eeeafa); }
.store-ai-summary > span { width:32px; height:32px; display:grid; place-items:center; border-radius:10px; color:#fff; background:linear-gradient(135deg,var(--blue),var(--violet)); font-size:.62rem; font-weight:700; }.store-ai-summary p { margin:0; }.store-ai-summary small,.store-ai-summary b { display:block; }.store-ai-summary small { color:#777c91; font-size:.61rem; }.store-ai-summary b { margin-top:2px; font-size:.7rem; }.sodam-suite-window .store-ai-summary button { width:auto; min-height:0; margin:0; padding:7px 10px; border:0; border-radius:9px; color:#fff; background:var(--blue); font-size:.62rem; }
.sodam-suite-window .store-app-menu { margin-top:12px; display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.store-app-menu > span { min-width:0; padding:11px; display:block; border:1px solid #ececf3; border-radius:12px; background:#fafafe; opacity:0; transform:translateY(14px); }.solution-panel.is-active .store-app-menu > span { animation:menuItemIn .5s ease both; }.store-app-menu i,.store-app-menu b,.store-app-menu small { display:block; }.store-app-menu i { width:23px; height:23px; margin-bottom:9px; display:grid; place-items:center; border-radius:8px; color:var(--blue); background:#eceefa; font-size:.55rem; font-style:normal; font-weight:700; }.store-app-menu b { font-size:.7rem; }.store-app-menu small { margin-top:3px; color:#9a9daf; font-size:.58rem; }
.store-app-menu > span:nth-child(1) { animation-delay:.05s; }.store-app-menu > span:nth-child(2) { animation-delay:.12s; }.store-app-menu > span:nth-child(3) { animation-delay:.19s; }.store-app-menu > span:nth-child(4) { animation-delay:.26s; }.store-app-menu > span:nth-child(5) { animation-delay:.33s; }.store-app-menu > span:nth-child(6) { animation-delay:.4s; }
@keyframes menuItemIn { to { opacity:1; transform:none; } }
@media (prefers-reduced-motion:reduce) { .store-app-menu > span { animation:none !important; opacity:1; transform:none; } }

@media (max-width:960px) {
  .hero-inner { grid-template-columns:1fr; gap:60px; }
}
@media (max-width:640px) {
  .hero .display { font-size:clamp(2.35rem,10vw,3rem); }
  .section-title { font-size:clamp(1.85rem,8vw,2.35rem); }
  .data-hub { width:142px; height:142px; border-radius:50%; }
  .data-hub-logo { width:48px !important; height:48px !important; margin-bottom:7px !important; }
  .data-hub img { width:38px; height:38px; }
  .channel-connect i:nth-of-type(1)::after { --flow-distance:168px; }
  .channel-connect i:nth-of-type(2)::after { --flow-distance:124px; }
  .channel-connect i:nth-of-type(3)::after { --flow-distance:78px; }
  .channel-connect i:nth-of-type(4)::after { --flow-distance:34px; }
  .store-ui { padding:17px; }.mini-phone.sodam-suite-window { width:100%; padding:14px; border-radius:22px; }.sodam-suite-window .store-app-head { grid-template-columns:1fr; }.store-app-head em { display:none; }.sodam-suite-window .store-ai-summary { grid-template-columns:28px 1fr; }.store-ai-summary > span { width:28px; height:28px; }.sodam-suite-window .store-ai-summary button { display:none; }.sodam-suite-window .store-app-menu { grid-template-columns:repeat(2,1fr); }
}

/* Brand marks stay square-edged across every page and product mockup. */
img[src$="logo.png"] { border-radius:0 !important; }

/* Interactive franchise data constellation */
.data-universe-grid { grid-template-columns:1fr; gap:46px; }
.data-universe-copy { width:min(820px,100%); margin-inline:auto; text-align:center; }
.data-universe-copy > p { margin:24px auto 0; }
.data-proof-list { grid-template-columns:repeat(3,1fr); gap:22px; margin-top:34px; border-top:0; text-align:left; }
.data-proof-list span { align-items:flex-start; padding:16px 0; border-top:1px solid var(--line); border-bottom:0; }
.data-orbit-stage { position:relative; width:100%; min-height:0; aspect-ratio:1000 / 620; margin-top:4px; overflow:hidden; border:1px solid rgba(73,79,129,.12); border-radius:32px; background:radial-gradient(circle at 50% 48%,rgba(255,255,255,.98),rgba(244,245,252,.92) 54%,rgba(234,237,248,.94)); box-shadow:0 34px 90px rgba(65,72,125,.12),inset 0 1px 0 #fff; transform:translate3d(0,var(--parallax-y,0),0); touch-action:pan-y; }
.data-orbit-stage::before { content:""; position:absolute; inset:0; border-radius:inherit; background-image:radial-gradient(rgba(89,107,196,.16) .7px,transparent .7px); background-size:24px 24px; opacity:.32; mask-image:radial-gradient(circle at 50% 50%,#000,transparent 76%); }
.data-orbit-stage::after { content:""; position:absolute; left:50%; top:50%; width:360px; height:360px; border:1px solid rgba(89,107,196,.08); border-radius:50%; transform:translate(-50%,-50%); pointer-events:none; }
.data-constellation-stage { position:absolute; inset:0; overflow:hidden; }
.data-constellation-lines { position:absolute; inset:0; z-index:0; width:100%; height:100%; overflow:visible; pointer-events:none; }
.data-constellation-lines line { stroke:rgba(71,78,125,.22); stroke-width:1.2; vector-effect:non-scaling-stroke; transition:stroke .3s ease,opacity .3s ease; }
.data-constellation-lines line.is-primary { stroke:rgba(71,78,125,.34); stroke-width:1.5; }
.data-constellation-stage.is-ready .data-constellation-lines line { stroke-dasharray:1; stroke-dashoffset:1; }
.data-orbit-stage.is-visible .data-constellation-stage.is-ready .data-constellation-lines line { animation:constellationLineIn .9s cubic-bezier(.2,.8,.2,1) forwards; animation-delay:calc(var(--i,0) * 45ms); }
@keyframes constellationLineIn { to { stroke-dashoffset:0; } }
.data-constellation-core,.constellation-node { position:absolute; z-index:2; left:50%; top:50%; opacity:0; transform:translate(-50%,-50%); transition:opacity .45s ease,color .28s ease,text-shadow .28s ease; transition-delay:calc(var(--i,0) * 45ms); }
.data-orbit-stage.is-visible .data-constellation-stage.is-ready .data-constellation-core,.data-orbit-stage.is-visible .data-constellation-stage.is-ready .constellation-node { opacity:1; }
.data-constellation-core { z-index:3; width:178px; display:grid; justify-items:center; gap:9px; cursor:grab; user-select:none; }
.data-constellation-core.is-dragging,.constellation-node.is-dragging { cursor:grabbing; }
.data-constellation-core img { width:170px; height:auto; display:block; border-radius:0 !important; object-fit:contain; mix-blend-mode:multiply; filter:drop-shadow(0 12px 20px rgba(62,73,139,.14)); pointer-events:none; }
.data-constellation-core small { display:flex; align-items:center; gap:7px; color:#8a8fa4; font-size:.62rem; font-weight:700; }
.data-constellation-core small i { width:6px; height:6px; border-radius:50%; background:#52b77b; box-shadow:0 0 0 5px rgba(82,183,123,.11); animation:constellationStatus 2s ease-in-out infinite; }
@keyframes constellationStatus { 50% { opacity:.42; transform:scale(.8); } }
.constellation-node { min-width:0; padding:7px 10px; border:0; color:#777d92; background:transparent; font:inherit; white-space:nowrap; cursor:grab; user-select:none; }
.constellation-node span { pointer-events:none; }
.constellation-node--primary { z-index:2; color:#24283a; font-size:clamp(1rem,1.55vw,1.28rem); font-weight:700; }
.constellation-node--primary::after { content:""; position:absolute; left:50%; bottom:2px; width:0; height:2px; background:linear-gradient(90deg,var(--blue),var(--violet)); transform:translateX(-50%); transition:width .28s ease; }
.constellation-node--secondary { font-size:clamp(.72rem,.92vw,.84rem); font-weight:500; }
.constellation-node:hover,.constellation-node:focus-visible,.constellation-node.is-related { color:var(--blue); text-shadow:0 5px 18px rgba(89,107,196,.18); outline:none; }
.constellation-node--primary:hover::after,.constellation-node--primary:focus-visible::after,.constellation-node--primary.is-related::after { width:calc(100% - 18px); }
.data-constellation-stage.has-focus .constellation-node,.data-constellation-stage.has-focus .data-constellation-core { opacity:.18; }
.data-constellation-stage.has-focus .constellation-node.is-related,.data-constellation-stage.has-focus .data-constellation-core { opacity:1; }
.data-constellation-stage.has-focus .data-constellation-lines line { opacity:.08; }
.data-constellation-stage.has-focus .data-constellation-lines line.is-related { opacity:1; stroke:rgba(89,107,196,.58); }
.data-constellation-card { position:absolute; z-index:8; width:min(270px,calc(100% - 32px)); padding:18px 19px; border:1px solid rgba(83,88,135,.14); border-radius:18px; color:var(--ink); background:rgba(255,255,255,.96); box-shadow:0 22px 54px rgba(57,63,112,.18); opacity:0; transform:translateY(8px) scale(.98); transition:opacity .2s ease,transform .25s cubic-bezier(.2,.8,.2,1); pointer-events:none; }
.data-constellation-card.is-open { opacity:1; transform:none; pointer-events:auto; }
.data-constellation-card strong { display:block; font-size:.92rem; }
.data-constellation-card p { margin:8px 0 13px; color:#666b80; font-size:.76rem; line-height:1.55; }
.data-constellation-card small { color:var(--blue); font-size:.62rem; font-weight:700; }
.data-constellation-hint { position:absolute; z-index:6; left:22px; bottom:18px; display:flex; align-items:center; gap:8px; margin:0; color:#969aad; font-size:.68rem; }
.data-constellation-hint > span { width:7px; height:7px; border-radius:50%; background:var(--blue); box-shadow:0 0 0 5px rgba(89,107,196,.1); }
.data-constellation-hint b { font-weight:500; }.data-constellation-hint em { display:none; font-style:normal; }

@media (max-width:760px) {
  .data-proof-list { grid-template-columns:1fr; gap:0; }
  .data-orbit-stage { height:580px; aspect-ratio:auto; border-radius:25px; }
  .data-orbit-stage::after { width:230px; height:230px; }
  .constellation-node--secondary { display:none; }
  .data-constellation-core { width:138px; }
  .data-constellation-core img { width:132px; }
  .constellation-node--primary { font-size:.92rem; }
  .data-constellation-card { left:16px !important; right:16px; top:auto !important; bottom:50px; width:auto; }
  .data-constellation-hint { left:18px; bottom:18px; }
  .data-constellation-hint b { display:none; }.data-constellation-hint em { display:inline; }
}
@media (prefers-reduced-motion:reduce) {
  .data-constellation-lines line { stroke-dasharray:none !important; stroke-dashoffset:0 !important; animation:none !important; }
  .data-constellation-core small i { animation:none !important; }
  .data-constellation-core,.constellation-node { transition:none; }
}

/* Open constellation composition and linked feature details */
.data-orbit-stage { overflow:visible; border:0; border-radius:0; background:transparent; box-shadow:none; isolation:isolate; }
.data-orbit-stage::before,.data-orbit-stage::after { content:""; position:absolute; inset:auto; z-index:0; display:block; border:0; border-radius:50%; pointer-events:none; filter:blur(3px); mask-image:none; }
.data-orbit-stage::before { left:50%; top:50%; width:78%; height:96%; background:radial-gradient(ellipse,rgba(132,145,230,.105) 0,rgba(132,145,230,.04) 48%,transparent 74%); transform:translate(-50%,-50%); animation:constellationGradientBreath 13s ease-in-out infinite alternate; }
.data-orbit-stage::after { left:24%; top:24%; width:44%; height:58%; background:radial-gradient(ellipse,rgba(105,122,222,.065),rgba(170,145,232,.025) 48%,transparent 73%); animation:constellationGradientDrift 18s ease-in-out infinite alternate; }
.data-constellation-stage { z-index:1; }
.data-orbit-stage.is-visible .data-constellation-stage.is-ready .data-constellation-lines line,.data-constellation-lines line,.data-constellation-lines line.is-primary { stroke-width:1.25; stroke-dasharray:none; stroke-dashoffset:0; animation:none; }
@keyframes constellationGradientBreath { 0% { opacity:.5; transform:translate(-51%,-49%) scale(.96); } 100% { opacity:.92; transform:translate(-48%,-52%) scale(1.035); } }
@keyframes constellationGradientDrift { 0% { opacity:.35; transform:translate3d(-8%,5%,0) scale(.94); } 100% { opacity:.7; transform:translate3d(62%,22%,0) scale(1.08); } }
.data-constellation-core { width:144px; gap:0; }
.data-constellation-core img { width:136px; filter:drop-shadow(0 10px 16px rgba(62,73,139,.11)); }
.data-constellation-core::before,.data-constellation-core::after { content:none; display:none; }
.data-constellation-stage.has-focus .constellation-node:not(.is-related) { color:#b8bbc8; opacity:.32; text-shadow:none; }
.data-constellation-stage.has-focus .data-constellation-lines line:not(.is-related) { opacity:.05; }
.data-constellation-card a { display:inline-flex; align-items:center; gap:7px; color:var(--blue); font-size:.72rem; font-weight:700; text-decoration:none; }
.data-constellation-card a span { transition:transform .2s ease; }
.data-constellation-card a:hover span,.data-constellation-card a:focus-visible span { transform:translateX(4px); }
.data-constellation-hint { bottom:-34px; }
.sub-feature-section { padding:120px 0; background:#f5f4fc; }
.sub-feature-head { max-width:720px; margin-bottom:48px; }
.sub-feature-head h2 { max-width:700px; margin:0 0 20px; font-size:clamp(2rem,3.2vw,2.625rem); line-height:1.16; }
.sub-feature-head > p { color:var(--ink-soft); font-size:1.03rem; }
.sub-feature-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.sub-feature-card { min-width:0; padding:28px; border:1px solid rgba(83,88,135,.11); border-radius:20px; background:#fff; box-shadow:0 14px 38px rgba(67,71,120,.06); scroll-margin-top:110px; }
.sub-feature-card > span { color:var(--blue); font-size:.7rem; font-weight:700; }
.sub-feature-card h3 { margin:28px 0 12px; font-size:clamp(1.25rem,1.7vw,1.55rem); }
.sub-feature-card p { margin:0; color:#5c6277; font-size:.94rem; }
.sub-feature-card dl { margin:22px 0 0; padding-top:18px; border-top:1px solid #e8e9f0; }
.sub-feature-card dl > div { display:grid; grid-template-columns:82px 1fr; gap:10px; padding:6px 0; }
.sub-feature-card dt { color:#9397a8; font-size:.72rem; font-weight:700; }
.sub-feature-card dd { margin:0; color:#555b70; font-size:.78rem; }
.feature-anchor,.channel-detail,.customer-detail-card { scroll-margin-top:112px; }
.channel-detail-stack { display:grid; gap:16px; margin-top:32px; }
.channel-detail { margin:0; padding:26px 28px; }
.channel-detail > p { margin:14px 0 18px; color:#60667a; font-size:.94rem; line-height:1.72; }
.channel-detail dl,.customer-detail-card dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:20px 0 0; padding-top:18px; border-top:1px solid #e7e8f1; }
.channel-detail dl > div,.customer-detail-card dl > div { min-width:0; }
.channel-detail dt,.customer-detail-card dt { color:#969bad; font-size:.7rem; font-weight:700; }
.channel-detail dd,.customer-detail-card dd { margin:5px 0 0; color:#555b70; font-size:.8rem; }
.store-feature-list .capability small { display:block; margin-top:11px; color:#8e93a6; font-size:.72rem; font-weight:600; }
.customer-detail-section { margin:110px 0; }
.customer-detail-section > p { color:var(--ink-soft); }
.customer-detail-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:32px; }
.customer-detail-card { min-width:0; padding:28px; border:1px solid rgba(83,88,135,.11); border-radius:20px; background:#f7f7fc; }
.customer-detail-card > span { color:var(--blue); font-size:.7rem; font-weight:700; }
.customer-detail-card h3 { margin:24px 0 12px; font-size:clamp(1.25rem,1.7vw,1.55rem); }
.customer-detail-card > p { margin:0; color:#5c6277; font-size:.94rem; line-height:1.72; }
@media (max-width:900px) { .sub-feature-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:640px) {
  .data-orbit-stage { height:560px; }
  .data-constellation-core { width:112px; }
  .data-constellation-core img { width:108px; }
  .sub-feature-section { padding:86px 0; }
  .sub-feature-grid { grid-template-columns:1fr; }
  .sub-feature-card { padding:23px; }
  .channel-detail { padding:22px; }
  .channel-detail dl,.customer-detail-card dl { grid-template-columns:1fr; }
  .customer-detail-section { margin:82px 0; }
  .customer-detail-grid { grid-template-columns:1fr; }
  .customer-detail-card { padding:23px; }
  .data-constellation-hint { bottom:-24px; }
}
@media (prefers-reduced-motion:reduce) {
  .data-orbit-stage::before,.data-orbit-stage::after,.data-constellation-core::before,.data-constellation-core::after,.data-orbit-stage.is-visible .data-constellation-stage.is-ready .data-constellation-lines line { animation:none !important; }
}

/* Subpage typography scale */
.subpage h2 { font-size:clamp(1.9rem,3.2vw,2.625rem); }
.subpage h3 { font-size:clamp(1.35rem,2vw,1.75rem); }
@media (max-width:640px) {
  .subpage h2 { font-size:clamp(1.75rem,7.4vw,2.35rem); }
  .subpage h3 { font-size:clamp(1.2rem,5.8vw,1.55rem); }
}

/* AI platform — dark intelligence edition (recatch · flex · codex reference) */
.ai-page {
  --aix-bg:#05060b; --aix-bg-2:#080a12; --aix-panel:#0c0f1a; --aix-panel-2:#111525;
  --aix-line:rgba(255,255,255,.075); --aix-line-strong:rgba(255,255,255,.13);
  --aix-text:#eef1f8; --aix-soft:#97a0b8; --aix-mute:#646d86;
  --aix-indigo:#7c8cff; --aix-cyan:#7ee7ff; --aix-violet:#b18cff; --aix-amber:#ffcf86;
  --aix-grad:linear-gradient(100deg,#ffffff 0%,#c9d2ff 38%,#8fa2ff 64%,#7ee7ff 100%);
  --aix-edge:linear-gradient(140deg,rgba(142,160,255,.55),rgba(255,255,255,.06) 32%,rgba(255,255,255,.03) 64%,rgba(126,231,255,.38));
  color:var(--aix-text); background:var(--aix-bg);
}
.ai-page ::selection { color:#05060b; background:var(--aix-cyan); }

/* Header on dark */
.ai-page .site-header:not(.scrolled) .nav-shell { border-color:rgba(255,255,255,.09); background:rgba(8,10,18,.55); backdrop-filter:blur(18px); }
.ai-page .site-header.scrolled .nav-shell { color:#f6f7fb; border-color:rgba(255,255,255,.1); background:rgba(8,10,18,.86); box-shadow:0 18px 55px rgba(0,0,0,.45); }
.ai-page .nav-shell .brand img { mix-blend-mode:normal; filter:brightness(0) invert(1); }
.ai-page .nav-links a { color:#b9c0d6; opacity:1; }
.ai-page .nav-links a:hover,.ai-page .nav-links a[aria-current="page"] { color:#fff; background:rgba(124,140,255,.14); }
.ai-page .nav-links .nav-cta { color:#05060b; background:#fff; }
.ai-page .menu-button { color:#fff; background:rgba(255,255,255,.08); }
@media (max-width:960px) { .ai-page .nav-links { background:#0c0f1a; border:1px solid rgba(255,255,255,.08); } }

/* Shared atoms */
.aix-pill { display:inline-flex; align-items:center; gap:10px; padding:7px 14px 7px 11px; border:1px solid transparent; border-radius:999px; color:#dfe4ff; font-size:.74rem; font-weight:700; background:linear-gradient(#0b0e19,#0b0e19) padding-box,var(--aix-edge) border-box; box-shadow:0 0 30px rgba(124,140,255,.16); }
.aix-pill i { width:7px; height:7px; border-radius:50%; background:var(--aix-cyan); box-shadow:0 0 14px var(--aix-cyan); animation:aixPulse 2.2s ease-in-out infinite; }
.aix-pill b { padding-left:10px; border-left:1px solid rgba(255,255,255,.14); color:var(--aix-mute); font-weight:700; }
@keyframes aixPulse { 50% { opacity:.35; box-shadow:0 0 0 6px rgba(126,231,255,.07); } }
.aix-index { display:inline-flex; align-items:center; gap:12px; color:var(--aix-indigo); font-size:.78rem; font-weight:700; font-variant-numeric:tabular-nums; }
.aix-index::before { content:""; width:26px; height:1px; background:linear-gradient(90deg,var(--aix-indigo),transparent); }
.aix-button-primary { color:#05060b; background:#fff; box-shadow:0 0 0 1px rgba(255,255,255,.2),0 12px 40px rgba(124,140,255,.35); }
.aix-button-primary:hover { box-shadow:0 0 0 1px rgba(255,255,255,.4),0 16px 56px rgba(126,231,255,.42); }
.aix-button-primary .arrow { transition:transform .25s ease; }.aix-button-primary:hover .arrow { transform:translateX(3px); }
.aix-button-ghost { color:#eef1f8; border-color:rgba(255,255,255,.14); background:rgba(255,255,255,.03); backdrop-filter:blur(8px); }
.aix-button-ghost:hover { border-color:rgba(142,160,255,.5); background:rgba(124,140,255,.1); }

.aix-card { position:relative; overflow:hidden; padding:30px; border:1px solid transparent; border-radius:20px; background:linear-gradient(160deg,#0f1322,#0a0d17) padding-box,linear-gradient(160deg,rgba(255,255,255,.11),rgba(255,255,255,.035) 45%,rgba(124,140,255,.16)) border-box; isolation:isolate; transition:transform .35s ease,box-shadow .35s ease; }
.aix-card::before { content:""; position:absolute; inset:0; z-index:-1; opacity:0; background:radial-gradient(420px circle at var(--mx,50%) var(--my,0%),rgba(124,140,255,.16),transparent 45%); transition:opacity .35s ease; }
.aix-card:hover { transform:translateY(-3px); box-shadow:0 30px 70px rgba(0,0,0,.35); }
.aix-card:hover::before { opacity:1; }
.aix-card > b { color:var(--aix-indigo); font-size:.76rem; font-weight:700; }
.aix-card h3 { margin:18px 0 10px; color:#f4f6fc; font-size:clamp(1.2rem,1.6vw,1.45rem); line-height:1.3; }
.aix-card p { margin:0; color:var(--aix-soft); font-size:.95rem; line-height:1.7; }

/* Hero */
.aix-hero { position:relative; padding:176px 0 0; overflow:hidden; background:var(--aix-bg); isolation:isolate; }
.aix-aurora { position:absolute; inset:-10% -10% auto; height:1050px; z-index:-3; pointer-events:none; }
.aix-aurora i { position:absolute; border-radius:50%; filter:blur(90px); opacity:.55; animation:aixDrift 16s ease-in-out infinite alternate; }
.aix-aurora i:nth-child(1) { width:760px; height:420px; left:50%; top:4%; margin-left:-380px; background:radial-gradient(closest-side,rgba(92,108,255,.75),transparent); }
.aix-aurora i:nth-child(2) { width:520px; height:360px; left:18%; top:26%; background:radial-gradient(closest-side,rgba(157,108,255,.5),transparent); animation-delay:-6s; }
.aix-aurora i:nth-child(3) { width:520px; height:360px; right:16%; top:30%; background:radial-gradient(closest-side,rgba(62,210,255,.42),transparent); animation-delay:-11s; }
@keyframes aixDrift { to { transform:translate3d(40px,-30px,0) scale(1.12); } }
.aix-dots { position:absolute; inset:0; z-index:-2; opacity:.5; background-image:radial-gradient(rgba(255,255,255,.18) 1px,transparent 1.2px); background-size:26px 26px; mask-image:radial-gradient(ellipse 70% 55% at 50% 30%,#000 20%,transparent 75%); -webkit-mask-image:radial-gradient(ellipse 70% 55% at 50% 30%,#000 20%,transparent 75%); }
.aix-horizon { position:absolute; left:50%; top:640px; width:1500px; height:1500px; margin-left:-750px; z-index:-1; border-radius:50%; border-top:1px solid rgba(160,176,255,.5); background:radial-gradient(ellipse at top,rgba(24,30,58,.95),var(--aix-bg) 42%); box-shadow:0 -30px 120px rgba(124,140,255,.28),inset 0 30px 80px rgba(124,140,255,.12); }
.aix-hero-copy { display:flex; flex-direction:column; align-items:center; text-align:center; }
.aix-hero .page-title { max-width:900px; margin-top:26px; color:#f8f9fc; font-size:clamp(2.6rem,4.4vw,4rem); line-height:1.12; }
.aix-hero .page-title span { color:transparent; background:var(--aix-grad); -webkit-background-clip:text; background-clip:text; }
.aix-hero .lede { max-width:660px; margin-inline:auto; color:rgba(222,228,246,.66); font-size:clamp(1.02rem,1.5vw,1.18rem); }
.aix-hero .sub-actions { justify-content:center; margin-top:38px; }

/* Console (codex-like product window) */
.aix-console-wrap { position:relative; margin-top:80px; }
.aix-console-wrap::before { content:""; position:absolute; left:8%; right:8%; top:-40px; height:180px; z-index:-1; background:radial-gradient(closest-side,rgba(124,140,255,.45),transparent); filter:blur(30px); }
.aix-console { overflow:hidden; border:1px solid transparent; border-radius:22px; background:linear-gradient(180deg,rgba(17,21,37,.96),rgba(8,10,18,.98)) padding-box,var(--aix-edge) border-box; box-shadow:0 60px 140px rgba(0,0,0,.6),0 0 0 1px rgba(0,0,0,.4); }
.aix-console-bar { display:grid; grid-template-columns:90px 1fr 90px; align-items:center; height:46px; padding:0 16px; border-bottom:1px solid var(--aix-line); background:rgba(255,255,255,.02); }
.aix-traffic { display:flex; gap:7px; }.aix-traffic i { width:10px; height:10px; border-radius:50%; background:#2a2f42; }
.aix-console-bar b { justify-self:center; color:var(--aix-mute); font-size:.74rem; font-weight:700; font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; }
.aix-live { justify-self:end; display:inline-flex; align-items:center; gap:7px; color:#8ee8b3; font-size:.66rem; font-weight:700; }
.aix-live i { width:6px; height:6px; border-radius:50%; background:#6ee7a4; box-shadow:0 0 12px #6ee7a4; animation:aixPulse 1.8s ease-in-out infinite; }
.aix-console-body { display:grid; grid-template-columns:270px 1fr; min-height:500px; }
.aix-console-side { padding:22px 14px; border-right:1px solid var(--aix-line); background:rgba(255,255,255,.012); text-align:left; }
.aix-console-side small { display:block; padding:0 10px 12px; color:var(--aix-mute); font-size:.66rem; font-weight:700; }
.aix-console-side p { display:grid; grid-template-columns:10px 1fr; gap:4px 11px; align-items:center; margin:2px 0; padding:11px 10px; border-radius:10px; color:#b8c0d6; font-size:.82rem; font-weight:700; }
.aix-console-side p em { grid-column:2; color:var(--aix-mute); font-size:.7rem; font-style:normal; font-weight:400; }
.aix-console-side p.is-active { background:rgba(124,140,255,.1); box-shadow:inset 0 0 0 1px rgba(124,140,255,.2); color:#fff; }
.aix-console-side p.is-active em { color:var(--aix-cyan); }
.aix-console-side i { width:8px; height:8px; border-radius:50%; }
.aix-console-side i.run { background:var(--aix-cyan); box-shadow:0 0 10px var(--aix-cyan); animation:aixPulse 1.4s ease-in-out infinite; }
.aix-console-side i.done { background:#6ee7a4; }.aix-console-side i.wait { border:1px solid #4a5270; }
.aix-console-main { padding:28px 32px 30px; text-align:left; }
.aix-query { display:flex; align-items:center; gap:14px; padding:14px 16px; border:1px solid var(--aix-line); border-radius:14px; background:rgba(255,255,255,.025); }
.aix-query span { width:28px; height:28px; flex:0 0 auto; display:grid; place-items:center; border-radius:8px; color:#05060b; background:var(--aix-grad); font-size:.75rem; font-weight:700; }
.aix-query p { margin:0; color:#f2f4fb; font-size:1rem; font-weight:700; }
.aix-steps { margin:20px 0 18px; padding:0 0 0 4px; list-style:none; display:grid; gap:9px; }
.aix-steps li { display:grid; grid-template-columns:16px 1fr auto; gap:12px; align-items:center; color:#a3acc4; font-size:.82rem; opacity:0; animation:aixStepIn .5s ease forwards; }
.aix-steps li:nth-child(1) { animation-delay:.5s; }.aix-steps li:nth-child(2) { animation-delay:1s; }.aix-steps li:nth-child(3) { animation-delay:1.5s; }.aix-steps li:nth-child(4) { animation-delay:2s; }
.aix-steps li i { width:14px; height:14px; border-radius:50%; background:rgba(110,231,164,.14); box-shadow:inset 0 0 0 1px rgba(110,231,164,.55); position:relative; }
.aix-steps li i::after { content:""; position:absolute; left:4.5px; top:3px; width:3px; height:6px; border:solid #6ee7a4; border-width:0 1.5px 1.5px 0; transform:rotate(45deg); }
.aix-steps li b { color:var(--aix-mute); font-size:.72rem; font-weight:700; font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; }
.aix-steps li:last-child b { color:var(--aix-cyan); }
@keyframes aixStepIn { from { opacity:0; transform:translateX(-6px); } to { opacity:1; transform:none; } }
.aix-result { padding:22px 24px; border:1px solid rgba(142,160,255,.2); border-radius:16px; background:linear-gradient(160deg,rgba(124,140,255,.08),rgba(8,10,18,.4) 55%); opacity:0; animation:aixStepIn .7s ease 2.5s forwards; }
.aix-result-head { display:flex; align-items:center; gap:14px; }
.aix-result-head small { display:block; color:var(--aix-mute); font-size:.7rem; }
.aix-result-head strong { display:block; margin-top:3px; color:#fff; font-size:1.2rem; }
.aix-badge { padding:4px 9px; border:1px solid rgba(255,207,134,.28); border-radius:7px; color:var(--aix-amber); background:rgba(255,207,134,.08); font-size:.7rem; font-weight:700; }
.aix-metric { margin-left:auto; text-align:right; }.aix-metric strong { color:#ff9d9d; font-variant-numeric:tabular-nums; }
.aix-chart { position:relative; height:120px; margin:18px 0 12px; border-bottom:1px solid var(--aix-line); background:repeating-linear-gradient(to bottom,transparent 0,transparent 29px,rgba(255,255,255,.04) 30px); }
.aix-chart svg { width:100%; height:100%; display:block; overflow:visible; }
.aix-chart-base { fill:none; stroke:rgba(255,255,255,.2); stroke-width:1.2; stroke-dasharray:4 5; vector-effect:non-scaling-stroke; }
.aix-chart-area { fill:url(#aixArea); }
.aix-chart-line { fill:none; stroke:#8fa2ff; stroke-width:2; vector-effect:non-scaling-stroke; clip-path:inset(0 100% 0 0); animation:aixDraw 1.8s cubic-bezier(.6,0,.2,1) 2.8s forwards; filter:drop-shadow(0 0 6px rgba(124,140,255,.8)); }
@keyframes aixDraw { to { clip-path:inset(0 0 0 0); } }
.aix-chart-tag { position:absolute; right:0; top:8px; padding:5px 9px; border-radius:7px; color:#ffc2c2; background:rgba(255,120,120,.1); border:1px solid rgba(255,120,120,.22); font-size:.68rem; font-weight:700; }
.aix-result > p { margin:0; color:#aab3ca; font-size:.84rem; }
.aix-result-actions { display:flex; gap:8px; margin-top:16px; }
.aix-result-actions span { padding:8px 12px; border:1px solid var(--aix-line-strong); border-radius:9px; color:#c9d0e6; background:rgba(255,255,255,.03); font-size:.74rem; font-weight:700; }
.aix-result-actions span.is-primary { color:#05060b; border-color:transparent; background:#fff; }

.aix-summary { position:relative; display:grid; grid-template-columns:150px 1fr; gap:30px; margin-top:64px; padding:28px 0 60px; border-top:1px solid var(--aix-line); }
.aix-summary strong { display:inline-flex; align-items:center; gap:9px; color:var(--aix-indigo); font-size:.9rem; }
.aix-summary strong i { width:6px; height:6px; border-radius:50%; background:var(--aix-indigo); box-shadow:0 0 10px var(--aix-indigo); }
.aix-summary p { margin:0; max-width:900px; color:var(--aix-soft); line-height:1.8; }.aix-summary b { color:#f4f6fc; }

/* Ticker */
.aix-ticker { overflow:hidden; padding:22px 0; border-block:1px solid var(--aix-line); background:var(--aix-bg-2); mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent); -webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent); }
.aix-ticker-track { display:flex; width:max-content; animation:aixMarquee 38s linear infinite; }
.aix-ticker span { display:inline-flex; align-items:center; gap:42px; padding-right:42px; color:#5d6680; font-size:1rem; font-weight:700; white-space:nowrap; }
.aix-ticker span::after { content:""; width:5px; height:5px; border-radius:50%; background:#2d3450; }
@keyframes aixMarquee { to { transform:translateX(-50%); } }

/* Sections */
.aix-section { position:relative; padding:130px 0; background:var(--aix-bg); }
.aix-definition { padding-bottom:90px; }
.aix-head h2 { margin:20px 0 0; color:#f5f7fc; font-size:clamp(2rem,3.4vw,2.9rem); line-height:1.2; }
.aix-head > p { max-width:560px; margin:22px 0 0; color:var(--aix-soft); line-height:1.8; }
.aix-head-split { display:grid; grid-template-columns:1fr minmax(0,470px); gap:60px; align-items:end; }
.aix-head-split > p { margin:0; }

/* Definition — editorial statement (flex) */
.aix-statement { max-width:1080px; margin:56px 0 0; color:#5b6480; font-size:clamp(1.5rem,2.7vw,2.35rem); font-weight:700; line-height:1.5; }
.aix-statement mark { color:#f4f6fc; background:none; }
.aix-def-grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:60px; margin-top:70px; padding-top:44px; border-top:1px solid var(--aix-line); }
.aix-def-body { margin:0; color:var(--aix-soft); line-height:1.85; }
.aix-duo { display:grid; grid-template-columns:1fr 1fr; gap:16px; }

/* Capabilities */
.aix-capabilities { background:linear-gradient(180deg,var(--aix-bg),#070913 30%,var(--aix-bg)); }
.aix-capabilities::before { content:""; position:absolute; left:50%; top:0; width:1px; height:120px; background:linear-gradient(var(--aix-indigo),transparent); opacity:.6; }
.aix-cap-nav { position:sticky; top:96px; z-index:5; display:flex; gap:6px; width:max-content; max-width:100%; margin:56px 0 28px; padding:6px; overflow-x:auto; scrollbar-width:none; border:1px solid var(--aix-line-strong); border-radius:14px; background:rgba(10,12,22,.82); backdrop-filter:blur(16px); box-shadow:0 20px 50px rgba(0,0,0,.4); }
.aix-cap-nav::-webkit-scrollbar { display:none; }
.aix-cap-nav a { flex:0 0 auto; padding:9px 14px; border-radius:9px; color:#8d96ae; font-size:.84rem; font-weight:700; transition:color .2s ease,background .2s ease; }
.aix-cap-nav a:hover,.aix-cap-nav a.is-active { color:#fff; background:rgba(124,140,255,.16); }
.ai-page .ai-detail-list { gap:20px; margin-top:0; }
.ai-page .ai-detail { position:relative; min-height:480px; padding:48px; gap:56px; overflow:hidden; border:1px solid transparent; border-radius:24px; background:linear-gradient(150deg,#0f1322,#080a13 70%) padding-box,linear-gradient(150deg,rgba(255,255,255,.12),rgba(255,255,255,.03) 40%,rgba(124,140,255,.22)) border-box; box-shadow:none; isolation:isolate; scroll-margin-top:170px; transition:transform .4s ease,box-shadow .4s ease; }
.ai-page .ai-detail:nth-child(even) { background:linear-gradient(210deg,#0f1322,#080a13 70%) padding-box,linear-gradient(210deg,rgba(255,255,255,.12),rgba(255,255,255,.03) 40%,rgba(126,231,255,.2)) border-box; }
.ai-page .ai-detail:nth-child(even) { grid-template-columns:.88fr 1.12fr; }
.ai-page .ai-detail:nth-child(even) .ai-detail-copy { order:2; }
.ai-page .ai-detail::before { content:""; position:absolute; inset:0; z-index:-1; opacity:0; background:radial-gradient(600px circle at var(--mx,50%) var(--my,50%),rgba(124,140,255,.12),transparent 45%); transition:opacity .4s ease; }
.ai-page .ai-detail:hover { transform:translateY(-4px); box-shadow:0 40px 90px rgba(0,0,0,.45); }
.ai-page .ai-detail:hover::before { opacity:1; }
.ai-page .ai-detail-copy > span { display:inline-flex; padding:6px 10px; border:1px solid rgba(124,140,255,.24); border-radius:8px; color:#aab6ff; background:rgba(124,140,255,.07); font-size:.7rem; font-weight:700; font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; }
.ai-page .ai-detail-copy h3 { margin:22px 0 14px; color:#f5f7fc; font-size:clamp(1.45rem,2.1vw,1.75rem); }
.ai-page .ai-detail-copy > p { color:var(--aix-soft); font-size:.97rem; line-height:1.8; }
.ai-page .ai-detail dl { margin-top:28px; }
.ai-page .ai-detail dl > div { border-color:var(--aix-line); }
.ai-page .ai-detail dt { color:var(--aix-mute); }.ai-page .ai-detail dd { color:#b7bfd3; }
.ai-page .ai-detail-ui { position:relative; min-height:330px; overflow:hidden; padding:30px; border:1px solid var(--aix-line); border-radius:18px; background:radial-gradient(120% 80% at 100% 0%,rgba(124,140,255,.16),transparent 55%),linear-gradient(160deg,#131829,#090b14); box-shadow:inset 0 1px rgba(255,255,255,.05),0 30px 60px rgba(0,0,0,.35); }
.ai-page .ai-detail-ui::before { content:""; position:absolute; inset:0; opacity:.35; background-image:radial-gradient(rgba(255,255,255,.14) 1px,transparent 1.2px); background-size:18px 18px; mask-image:linear-gradient(160deg,#000,transparent 60%); -webkit-mask-image:linear-gradient(160deg,#000,transparent 60%); }
.ai-page .ai-detail-ui::after { content:""; position:absolute; left:0; right:0; top:0; height:1px; background:linear-gradient(90deg,transparent,rgba(142,160,255,.7),transparent); }
.ai-page .ai-detail-ui > * { position:relative; z-index:1; }
.ai-page .ai-detail-ui small { color:var(--aix-mute); }
.ai-page .ai-detail-ui > strong { color:transparent; background:var(--aix-grad); -webkit-background-clip:text; background-clip:text; }
.ai-page .ai-detail-ui > em { color:#b9c4ff; border:1px solid rgba(124,140,255,.2); background:rgba(124,140,255,.08); }
.ai-page .detail-order > span { color:#b3bcd2; border:1px solid var(--aix-line); background:rgba(255,255,255,.03); }.ai-page .detail-order b { color:var(--aix-cyan); }
.ai-page .detail-line { background:rgba(255,255,255,.06); }.ai-page .detail-line::before { background:#6378ff; }.ai-page .detail-line::after { border-top-color:var(--aix-cyan); }
.ai-page .detail-risk span,.ai-page .detail-note p,.ai-page .detail-review > strong { border:1px solid var(--aix-line); background:rgba(255,255,255,.03); color:#b3bcd2; }
.ai-page .detail-review > p { background:none; color:#d0d6e6; }
.ai-page .detail-risk b { color:var(--aix-amber); }
.ai-page .detail-purchase > span { background:rgba(255,255,255,.05); }.ai-page .detail-purchase i { background:linear-gradient(90deg,#6378ff,var(--aix-cyan)); box-shadow:0 0 14px rgba(126,231,255,.35); }.ai-page .detail-purchase b { color:#b3bcd2; }
.ai-page .detail-report i { background:rgba(124,140,255,.2); }

/* Customer */
.aix-customer-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:64px; }
.aix-card-lg { padding:40px; }
.aix-chips { display:flex; flex-wrap:wrap; gap:8px; margin:28px 0; }
.aix-chips span { display:inline-flex; gap:8px; padding:8px 12px; border:1px solid var(--aix-line-strong); border-radius:9px; color:#b3bcd2; background:rgba(255,255,255,.03); font-size:.8rem; font-weight:700; }
.aix-chips em { color:var(--aix-cyan); font-style:normal; }
.aix-chips .is-alert { border-color:rgba(255,207,134,.28); color:var(--aix-amber); }.aix-chips .is-alert em { color:var(--aix-amber); }
.aix-voc { display:grid; gap:12px; margin:28px 0; }
.aix-voc span { display:grid; grid-template-columns:44px 1fr auto; gap:12px; align-items:center; font-size:.8rem; }
.aix-voc span::before { content:""; grid-column:2; grid-row:1; height:6px; border-radius:6px; background:linear-gradient(90deg,#6378ff,var(--aix-cyan)) 0 0/var(--v) 100% no-repeat,rgba(255,255,255,.06); }
.aix-voc i { grid-column:1; grid-row:1; color:#b3bcd2; font-style:normal; font-weight:700; }
.aix-voc b { grid-column:3; grid-row:1; color:var(--aix-mute); font-weight:700; }
.aix-voc .is-alert::before { background:linear-gradient(90deg,#ff8f8f,var(--aix-amber)) 0 0/var(--v) 100% no-repeat,rgba(255,255,255,.06); }.aix-voc .is-alert b { color:var(--aix-amber); }
.aix-card dl { margin:0; padding-top:18px; border-top:1px solid var(--aix-line); display:grid; gap:10px; }
.aix-card dl > div { display:grid; grid-template-columns:90px 1fr; gap:14px; font-size:.86rem; }
.aix-card dt { color:var(--aix-mute); font-weight:700; }.aix-card dd { margin:0; color:#b7bfd3; }

/* How it works — pipeline */
.aix-how { background:linear-gradient(180deg,var(--aix-bg),#080b16); }
.aix-pipeline { position:relative; display:grid; grid-template-columns:repeat(5,1fr); gap:18px; margin:72px 0 0; padding:0; list-style:none; counter-reset:none; }
.aix-pipeline::before { content:""; position:absolute; left:0; right:0; top:38px; height:1px; background:linear-gradient(90deg,rgba(124,140,255,.1),rgba(124,140,255,.5),rgba(126,231,255,.5),rgba(124,140,255,.1)); }
.aix-pipeline::after { content:""; position:absolute; left:0; top:37px; width:120px; height:3px; border-radius:3px; background:linear-gradient(90deg,transparent,var(--aix-cyan),transparent); filter:drop-shadow(0 0 6px var(--aix-cyan)); animation:aixBeam 4.5s cubic-bezier(.6,0,.4,1) infinite; }
@keyframes aixBeam { from { transform:translateX(-120px); } to { transform:translateX(min(1240px,92vw)); } }
.aix-pipeline li { position:relative; padding-top:0; }
.aix-pipeline li > span { display:block; color:var(--aix-mute); font-size:.74rem; font-weight:700; font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; }
.aix-pipeline li > i { position:relative; z-index:1; display:block; width:18px; height:18px; margin:10px 0 30px; border-radius:50%; background:var(--aix-bg); box-shadow:inset 0 0 0 1px rgba(142,160,255,.7),0 0 0 5px var(--aix-bg),0 0 18px rgba(124,140,255,.5); }
.aix-pipeline li > i::after { content:""; position:absolute; inset:5px; border-radius:50%; background:var(--aix-indigo); }
.aix-pipeline li:last-child > i::after { background:var(--aix-cyan); }
.aix-pipeline h3 { margin:0 0 10px; color:#f4f6fc; font-size:clamp(1.1rem,1.4vw,1.25rem); }
.aix-pipeline p { margin:0; color:var(--aix-soft); font-size:.9rem; line-height:1.7; }

/* Data map */
.aix-data-layout { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:70px; align-items:center; }
.aix-data-map { position:relative; display:grid; grid-template-columns:1fr 1fr; gap:170px 20px; padding:20px 0; }
.aix-data-map::before { content:""; position:absolute; left:50%; top:50%; width:420px; height:420px; margin:-210px 0 0 -210px; border-radius:50%; border:1px dashed rgba(142,160,255,.2); animation:aixSpin 60s linear infinite; }
.aix-data-map::after { content:""; position:absolute; left:50%; top:50%; width:280px; height:280px; margin:-140px 0 0 -140px; border-radius:50%; border:1px solid rgba(126,231,255,.12); }
@keyframes aixSpin { to { transform:rotate(360deg); } }
.aix-core { position:absolute; left:50%; top:50%; z-index:2; width:132px; height:132px; margin:-66px 0 0 -66px; display:grid; place-items:center; border-radius:50%; background:radial-gradient(circle at 35% 30%,#3a47a8,#141a3a 60%,#0a0d1c); box-shadow:0 0 0 1px rgba(142,160,255,.5),0 0 60px rgba(124,140,255,.55),0 0 140px rgba(126,231,255,.2); text-align:center; }
.aix-core::after { content:""; position:absolute; inset:-14px; border-radius:50%; border:1px solid rgba(124,140,255,.35); animation:aixRipple 3s ease-out infinite; }
@keyframes aixRipple { from { transform:scale(.85); opacity:1; } to { transform:scale(1.45); opacity:0; } }
.aix-core span { color:#fff; font-size:.78rem; font-weight:700; line-height:1.35; }
.aix-node { position:relative; z-index:1; padding:22px 24px; border:1px solid var(--aix-line-strong); border-radius:16px; background:rgba(12,15,26,.88); backdrop-filter:blur(10px); }
.aix-node b { display:flex; align-items:center; gap:9px; color:#f4f6fc; font-size:1rem; }
.aix-node b::before { content:""; width:7px; height:7px; border-radius:50%; background:var(--aix-cyan); box-shadow:0 0 10px var(--aix-cyan); }
.aix-node p { margin:10px 0 0; color:var(--aix-soft); font-size:.86rem; line-height:1.65; }

/* Roles */
.aix-role-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:64px; }
.aix-role { min-height:260px; }
.aix-role-mark { width:46px; height:46px; display:grid; place-items:center; border-radius:13px; color:#05060b; background:var(--aix-grad); font-weight:700; box-shadow:0 10px 30px rgba(124,140,255,.35); }
.aix-role h3 { margin-top:48px; }

/* Trust */
.aix-trust { border-top:1px solid var(--aix-line); background:radial-gradient(60% 50% at 0% 0%,rgba(124,140,255,.08),transparent 60%),var(--aix-bg); }
.aix-trust-grid { display:grid; grid-template-columns:1fr 1fr; gap:0; }
.aix-trust-col { scroll-margin-top:110px; padding:0 56px; }
.aix-trust-col:first-child { padding-left:0; border-right:1px solid var(--aix-line); }
.aix-trust-col:last-child { padding-right:0; }
.aix-trust-col h2 { margin:20px 0 22px; color:#f5f7fc; font-size:clamp(1.8rem,2.8vw,2.4rem); line-height:1.25; }
.aix-trust-col > p { margin:0; color:var(--aix-soft); line-height:1.8; }
.aix-note { margin-top:30px; padding:24px 26px; border:1px solid rgba(255,207,134,.2); border-radius:16px; background:linear-gradient(160deg,rgba(255,190,90,.07),rgba(255,190,90,.015)); }
.aix-note strong { color:#f2d09a; }.aix-note p { margin:10px 0 0; color:#b49e78; font-size:.9rem; line-height:1.7; }
.aix-guard { display:grid; gap:12px; margin-top:30px; }
.aix-guard article { display:grid; grid-template-columns:42px 1fr; gap:16px; padding:20px 22px; border:1px solid var(--aix-line-strong); border-radius:16px; background:rgba(255,255,255,.02); }
.aix-guard i { width:42px; height:42px; border-radius:12px; background:rgba(124,140,255,.1) center/20px no-repeat; box-shadow:inset 0 0 0 1px rgba(124,140,255,.3); }
.aix-guard article:first-child i { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23aab6ff' stroke-width='1.8'%3E%3Crect x='5' y='11' width='14' height='9' rx='2'/%3E%3Cpath d='M8 11V8a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E"); }
.aix-guard article:last-child i { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237ee7ff' stroke-width='1.8'%3E%3Cpath d='M12 3l7 3v6c0 4.5-3 7.5-7 9-4-1.5-7-4.5-7-9V6z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E"); }
.aix-guard h3 { margin:0 0 6px; color:#f4f6fc; font-size:1.08rem; }
.aix-guard p { margin:0; color:var(--aix-soft); font-size:.9rem; }

/* FAQ */
.aix-faq-layout { display:grid; grid-template-columns:.7fr 1.3fr; gap:90px; align-items:start; }
.aix-faq-layout > .aix-head { position:sticky; top:120px; }
.ai-page .faq { border-color:var(--aix-line-strong); }
.ai-page .faq details { border-color:var(--aix-line); transition:background .25s ease; }
.ai-page .faq details[open] { background:linear-gradient(90deg,rgba(124,140,255,.06),transparent); }
.ai-page .faq summary { padding:26px 44px 26px 4px; color:#e9edf7; font-size:1.05rem; }
.ai-page .faq summary::after { color:var(--aix-indigo); }
.ai-page .faq details p { padding:0 4px 26px; color:var(--aix-soft); line-height:1.8; }

/* CTA */
.aix-cta { position:relative; padding:170px 0; overflow:hidden; text-align:center; background:var(--aix-bg); isolation:isolate; }
.aix-cta::before { content:""; position:absolute; left:50%; bottom:-560px; width:1200px; height:800px; margin-left:-600px; z-index:-1; border-radius:50%; border-top:1px solid rgba(160,176,255,.55); background:radial-gradient(ellipse at top,rgba(34,42,90,.9),var(--aix-bg) 50%); box-shadow:0 -30px 120px rgba(124,140,255,.3); }
.aix-cta-ring { position:absolute; left:50%; top:50%; width:620px; height:620px; margin:-310px 0 0 -310px; z-index:-1; border-radius:50%; background:conic-gradient(from 0deg,transparent,rgba(124,140,255,.35),transparent 30%,rgba(126,231,255,.25),transparent 60%); mask:radial-gradient(closest-side,transparent 97%,#000 98%); -webkit-mask:radial-gradient(closest-side,transparent 97%,#000 98%); animation:aixSpin 14s linear infinite; opacity:.8; }
.aix-cta-box { display:flex; flex-direction:column; align-items:center; }
.aix-cta-box h2 { margin:28px 0 18px; color:#fff; font-size:clamp(2.2rem,4vw,3.6rem); line-height:1.18; }
.aix-cta-box p { max-width:520px; margin:0 0 36px; color:var(--aix-soft); }

/* Footer on dark */
.ai-page .site-footer { color:#8a93ab; background:#05060b; border-top:1px solid var(--aix-line); }
.ai-page .footer-brand p,.ai-page .footer-col a { color:#7c859e; }
.ai-page .footer-col a:hover { color:#fff; }
.ai-page .footer-col strong { color:#e7ebf5; }
.ai-page .footer-bottom { color:#5d6680; border-top-color:var(--aix-line); }
.ai-page .site-footer .brand img { mix-blend-mode:normal; filter:brightness(0) invert(1); }

/* Responsive */
@media (max-width:1100px) {
  .aix-pipeline { grid-template-columns:1fr; gap:0; padding-left:34px; }
  .aix-pipeline::before { left:8px; right:auto; top:0; bottom:0; width:1px; height:auto; background:linear-gradient(rgba(124,140,255,.1),rgba(124,140,255,.5),rgba(126,231,255,.5),rgba(124,140,255,.1)); }
  .aix-pipeline::after { display:none; }
  .aix-pipeline li { padding:0 0 34px; }
  .aix-pipeline li > i { position:absolute; left:-34px; top:0; margin:0; }
  .aix-pipeline li > span { margin-bottom:8px; }
  .aix-role-grid { grid-template-columns:1fr 1fr; }
  .aix-data-layout { grid-template-columns:1fr; }
}
@media (max-width:1000px) {
  .aix-console-body { grid-template-columns:1fr; }
  .aix-console-side { display:none; }
  .aix-head-split,.aix-def-grid,.aix-faq-layout { grid-template-columns:1fr; gap:26px; }
  .aix-faq-layout > .aix-head { position:static; }
  .ai-page .ai-detail,.ai-page .ai-detail:nth-child(even) { grid-template-columns:1fr; padding:36px; gap:32px; }
  .ai-page .ai-detail:nth-child(even) .ai-detail-copy { order:0; }
  .aix-trust-grid { grid-template-columns:1fr; gap:80px; }
  .aix-trust-col,.aix-trust-col:first-child,.aix-trust-col:last-child { padding:0; border:0; }
}
@media (max-width:640px) {
  .aix-hero { padding-top:136px; }
  .aix-hero .page-title { font-size:clamp(2.4rem,11vw,3.4rem); }
  .aix-pill b { display:none; }
  .aix-hero .sub-actions .button { width:100%; }
  .aix-console-wrap { margin-top:56px; }
  .aix-console-bar { grid-template-columns:50px 1fr 50px; }
  .aix-console-bar b { font-size:.62rem; }
  .aix-console-main { padding:20px 16px; }
  .aix-steps li { grid-template-columns:16px 1fr; }.aix-steps li b { display:none; }
  .aix-result { padding:18px; }.aix-result-actions { flex-direction:column; }
  .aix-summary { grid-template-columns:1fr; gap:10px; margin-top:44px; }
  .aix-section { padding:100px 0; }
  .aix-statement { margin-top:36px; font-size:clamp(1.3rem,6vw,1.6rem); }
  .aix-def-grid { margin-top:44px; }
  .aix-duo,.aix-customer-grid,.aix-role-grid { grid-template-columns:1fr; }
  .aix-cap-nav { top:78px; width:100%; background:rgba(9,11,20,.96); margin:36px 0 20px; padding:5px; border-radius:12px; mask-image:linear-gradient(90deg,transparent 0,#000 8px,#000 calc(100% - 28px),transparent); -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 8px,#000 calc(100% - 28px),transparent); }
  .aix-cap-nav a { padding:8px 12px; font-size:.8rem; }
  .ai-page .ai-detail { scroll-margin-top:150px; }
  .ai-page .ai-detail { padding:22px; border-radius:18px; }
  .ai-page .ai-detail-ui { min-height:260px; padding:22px; }
  .aix-card,.aix-card-lg { padding:24px; }
  .aix-role { min-height:0; }.aix-role h3 { margin-top:26px; }
  .aix-data-map { grid-template-columns:1fr; gap:12px; }
  .aix-data-map::before,.aix-data-map::after { display:none; }
  .aix-core { position:relative; left:auto; top:auto; margin:0 auto 18px; width:110px; height:110px; }
  .aix-cta { padding:120px 0; }
  .aix-cta-ring { width:380px; height:380px; margin:-190px 0 0 -190px; }
}
@media (prefers-reduced-motion:reduce) {
  .aix-pill i,.aix-aurora i,.aix-live i,.aix-console-side i.run,.aix-ticker-track,.aix-pipeline::after,.aix-data-map::before,.aix-core::after,.aix-cta-ring { animation:none !important; }
  .aix-steps li,.aix-result { opacity:1; animation:none; }
  .aix-chart-line { clip-path:none; animation:none; }
}

/* EN language link */
.nav-en { margin-left:2px; padding:11px 14px !important; border:1px solid rgba(72,96,206,.35); border-radius:12px; color:var(--blue) !important; font-weight:700; }
.nav-en:hover { background:rgba(72,96,206,.08); }
.ai-page .nav-links .nav-en { color:#dfe4ff !important; border-color:rgba(255,255,255,.18); }
.ai-page .nav-links .nav-en:hover { background:rgba(255,255,255,.08); }
@media (max-width:960px) { .nav-en { margin-left:0; text-align:center; } }

/* Small supporting footnote (e.g. verified order accuracy) */
.fd-footnote,.article p.fd-footnote,.ai-page .ai-detail-copy > p.fd-footnote { margin:14px 0 0; color:#8b90a3; font-size:.78rem; line-height:1.6; }
.article p.fd-footnote { margin-top:16px; }
.ai-page .ai-detail-copy > p.fd-footnote { color:#6f7891; }

/* ===== Device mockups: Sodam phone + Fdam laptop (dv-) ===== */
.phone-stage.dv-stage { min-height:0; position:relative; }
.dv-stage .dv-phone,.dv-stage .dv-laptop { position:absolute; }
.dv-phone { container-type:inline-size; }
.dv-phone-body { position:relative; aspect-ratio:9/19.4; padding:3.4cqw; border-radius:15.5cqw; background:linear-gradient(145deg,#4a4e59,#1b1d23 38%,#2c2f37 70%,#51555f); box-shadow:inset 0 0 0 .55cqw rgba(255,255,255,.18),inset 0 0 0 1.2cqw #0c0d11,0 4.5cqw 9cqw -2cqw rgba(35,45,105,.38),0 1.8cqw 3cqw -1.2cqw rgba(0,0,0,.4); }
.dv-key { position:absolute; width:1.1cqw; border-radius:.6cqw; background:linear-gradient(90deg,#2a2d34,#5a5e68); }
.dv-key-action { left:-.8cqw; top:18%; height:6%; }.dv-key-up { left:-.8cqw; top:28%; height:10%; }.dv-key-down { left:-.8cqw; top:40%; height:10%; }.dv-key-power { right:-.8cqw; left:auto; top:30%; height:15%; background:linear-gradient(270deg,#2a2d34,#5a5e68); }
.dv-phone-screen { position:relative; height:100%; overflow:hidden; border-radius:12.2cqw; background:linear-gradient(180deg,#eef1fb 0%,#f6f7fb 34%); color:#151a2e; font-size:4.15cqw; line-height:1.35; text-align:left; letter-spacing:0; }
.dv-phone-screen::after { content:""; position:absolute; inset:0; pointer-events:none; border-radius:inherit; background:linear-gradient(115deg,rgba(255,255,255,.22) 0%,rgba(255,255,255,0) 32%); }
.dv-island { position:absolute; left:50%; top:2.6%; width:31%; height:4.1%; transform:translateX(-50%); border-radius:2em; background:#050507; z-index:3; }
.dv-status { display:flex; justify-content:space-between; align-items:center; padding:1.15em 1.9em 0 2.1em; height:3.3em; }
.dv-status b { font-size:1.02em; font-weight:700; }
.dv-status span { display:flex; align-items:center; gap:.32em; }
.dv-status svg { height:.78em; width:auto; fill:#151a2e; color:#151a2e; }
.dv-status svg:last-child { height:.82em; }
.dv-app { padding:.7em 1.05em 0; }
.dv-appbar { display:flex; align-items:center; gap:.5em; }
.dv-sodam-logo { display:block; height:1.45em; width:auto; }
.dv-store { margin-left:auto; padding:.28em .6em; border-radius:2em; background:#fff; box-shadow:0 .1em .4em rgba(35,45,105,.08); font-size:.78em; font-weight:700; color:#435BA8; }
.dv-bell { position:relative; display:grid; place-items:center; width:2em; height:2em; border-radius:50%; background:#fff; box-shadow:0 .1em .4em rgba(35,45,105,.08); color:#2b3350; }
.dv-bell svg { width:1.15em; height:1.15em; }
.dv-bell em { position:absolute; top:-.15em; right:-.15em; min-width:1.2em; height:1.2em; border-radius:1em; background:#ff5c5c; color:#fff; font-size:.62em; font-style:normal; font-weight:700; display:grid; place-items:center; }
.dv-phone-screen .dv-hello { margin:.95em 0 .75em; color:#6b7390; font-size:.82em; }
.dv-hello b { display:block; margin-top:.15em; color:#151a2e; font-size:1.45em; line-height:1.25; }
.dv-ai-card { position:relative; overflow:hidden; padding:1em 1em 1.05em; border-radius:1.15em; background:linear-gradient(145deg,#4F68BC,#3A4F96); color:#fff; box-shadow:0 .8em 1.6em -.6em rgba(58,79,150,.55); }
.dv-ai-card::before { content:""; position:absolute; width:9em; height:9em; right:-3.5em; top:-4em; border-radius:50%; background:radial-gradient(circle,rgba(132,150,203,.55),transparent 70%); }
.dv-ai-head { position:relative; display:flex; align-items:center; justify-content:space-between; gap:.4em; }
.dv-ai-badge { display:inline-flex; align-items:center; gap:.3em; padding:.25em .55em; border-radius:2em; background:rgba(255,255,255,.18); font-size:.72em; font-weight:700; }
.dv-ai-badge svg { width:1em; height:1em; fill:#ffe38a; }
.dv-ai-head small { color:rgba(255,255,255,.66); font-size:.66em; }
.dv-ai-card > strong { position:relative; display:block; margin:.6em 0 .7em; font-size:1.08em; line-height:1.3; }
.dv-items { position:relative; margin:0; padding:0; list-style:none; display:grid; gap:.42em; }
.dv-items li { display:grid; grid-template-columns:4.4em 1fr auto; align-items:center; gap:.5em; padding:.4em .55em; border-radius:.6em; background:rgba(255,255,255,.12); font-size:.8em; }
.dv-item-name { font-weight:700; white-space:nowrap; }
.dv-item-bar { height:.36em; border-radius:1em; background:rgba(255,255,255,.18); overflow:hidden; }
.dv-item-bar i { display:block; width:var(--w); height:100%; border-radius:inherit; background:linear-gradient(90deg,#c9d3f2,#fff); }
.dv-items b { font-size:1.05em; }.dv-items b small { margin-left:.15em; font-size:.72em; font-weight:400; opacity:.75; }
.dv-cta { position:relative; display:block; margin-top:.8em; padding:.6em; border-radius:.7em; background:#fff; color:#3A4F96; font-size:.82em; font-weight:700; text-align:center; }
.dv-mini { display:grid; grid-template-columns:1fr 1fr; gap:.6em; margin-top:.7em; }
.dv-mini div { position:relative; padding:.75em .8em; border-radius:1em; background:#fff; box-shadow:0 .2em .8em rgba(35,45,105,.07); }
.dv-mini small { display:block; color:#6b7390; font-size:.7em; }
.dv-mini b { font-size:1.45em; }.dv-mini b em { margin-left:.2em; color:#6b7390; font-size:.5em; font-style:normal; font-weight:700; }
.dv-dot { position:absolute; right:.8em; top:.85em; width:.5em; height:.5em; border-radius:50%; background:#8496CB; }.dv-dot.warn { background:#ff9f43; box-shadow:0 0 0 .25em rgba(255,159,67,.18); }
.dv-todo { margin-top:.7em; padding:.8em .85em; border-radius:1em; background:#fff; box-shadow:0 .2em .8em rgba(35,45,105,.07); }
.dv-phone-screen .dv-todo p { display:flex; justify-content:space-between; margin:0 0 .45em; font-size:.8em; font-weight:700; }.dv-todo p span { color:#8496CB; }
.dv-todo ul { margin:0; padding:0; list-style:none; display:grid; gap:.1em; }
.dv-todo li { display:flex; align-items:center; gap:.55em; padding:.4em 0; border-top:1px solid #eef0f6; font-size:.76em; }
.dv-todo li:first-child { border-top:0; }
.dv-todo li i { flex:0 0 auto; width:1.1em; height:1.1em; border-radius:.35em; box-shadow:inset 0 0 0 .12em #c9cfe3; }
.dv-todo li.done { color:#9aa1b8; text-decoration:line-through; }.dv-todo li.done i { background:#435BA8 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3 6.2 5 8l4-4.2' fill='none' stroke='%23fff' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/80% no-repeat; box-shadow:none; }
.dv-todo time { margin-left:auto; color:#9aa1b8; font-size:.9em; text-decoration:none; }
.dv-tabbar { position:absolute; left:0; right:0; bottom:0; display:grid; grid-template-columns:repeat(5,1fr); padding:.55em .6em 2.1em; border-top:1px solid rgba(21,26,46,.06); background:rgba(255,255,255,.88); backdrop-filter:blur(8px); }
.dv-tabbar span { display:flex; flex-direction:column; align-items:center; gap:.2em; color:#9aa1b8; }
.dv-tabbar svg { width:1.35em; height:1.35em; fill:currentColor; }
.dv-tabbar i { font-size:.6em; font-style:normal; font-weight:700; }
.dv-tabbar .on { color:#435BA8; }
.dv-home-bar { position:absolute; left:50%; bottom:.65em; width:34%; height:.32em; transform:translateX(-50%); border-radius:1em; background:#151a2e; opacity:.85; }

/* Fdam laptop */
.dv-laptop { container-type:inline-size; }
.dv-lid { position:relative; padding:1.6cqw 1.6cqw 2.1cqw; border-radius:2.6cqw 2.6cqw .7cqw .7cqw; background:linear-gradient(160deg,#2a2d35,#121318); box-shadow:inset 0 0 0 .22cqw rgba(255,255,255,.14),0 3cqw 6cqw -1.5cqw rgba(35,45,105,.35); }
.dv-cam { position:absolute; left:50%; top:.55cqw; width:.55cqw; height:.55cqw; transform:translateX(-50%); border-radius:50%; background:#2f3440; box-shadow:0 0 0 .15cqw #1a1c22; }
.dv-display { position:relative; display:grid; grid-template-columns:8.5% 1fr; aspect-ratio:16/10; overflow:hidden; border-radius:.5cqw; background:#f4f6fb; color:#151a2e; font-size:1.62cqw; line-height:1.35; text-align:left; letter-spacing:0; }
.dv-display::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(125deg,rgba(255,255,255,.14) 0%,rgba(255,255,255,0) 28%); }
.dv-side { display:flex; flex-direction:column; align-items:center; gap:1.05em; padding:1.2em 0; background:linear-gradient(180deg,#26306a,#1c2450); }
.dv-fdam-logo { width:72%; height:auto; margin-bottom:.9em; filter:brightness(0) invert(1); mix-blend-mode:normal !important; }
.dv-side span { display:grid; place-items:center; width:2.3em; height:2.3em; border-radius:.7em; color:rgba(255,255,255,.55); }
.dv-side span svg { width:1.3em; height:1.3em; fill:currentColor; }
.dv-side span.on { color:#fff; background:rgba(255,255,255,.14); }
.dv-main { display:flex; flex-direction:column; gap:.9em; padding:1.25em 1.4em; min-width:0; }
.dv-topbar { display:flex; align-items:center; gap:.8em; }
.dv-topbar small { display:block; color:#7a819a; font-size:.72em; }
.dv-topbar strong { font-size:1.2em; }
.dv-search { margin-left:auto; display:flex; align-items:center; gap:.4em; width:32%; padding:.45em .7em; border-radius:.6em; background:#fff; color:#9aa1b8; font-size:.78em; box-shadow:0 .1em .4em rgba(35,45,105,.06); }
.dv-search svg { width:1.1em; height:1.1em; }
.dv-avatar { display:grid; place-items:center; width:2.3em; height:2.3em; border-radius:50%; background:#435BA8; color:#fff; font-size:.7em; font-weight:700; }
.dv-kpis { display:grid; grid-template-columns:repeat(4,1fr); gap:.7em; }
.dv-kpis div { padding:.75em .85em; border-radius:.8em; background:#fff; box-shadow:0 .15em .6em rgba(35,45,105,.06); }
.dv-kpis small { display:block; color:#7a819a; font-size:.72em; }
.dv-kpis b { display:block; margin:.2em 0 .1em; font-size:1.35em; font-variant-numeric:tabular-nums; }.dv-kpis b span { color:#9aa1b8; font-size:.62em; }
.dv-kpis em { font-size:.68em; font-style:normal; font-weight:700; color:#7a819a; }.dv-kpis em.up { color:#1e9e6a; }.dv-kpis em.warn { color:#e8841f; }
.dv-panels { flex:1; display:grid; grid-template-columns:1.3fr 1fr; gap:.7em; min-height:0; }
.dv-chart-card,.dv-feed-card { display:flex; flex-direction:column; padding:.85em .95em; border-radius:.8em; background:#fff; box-shadow:0 .15em .6em rgba(35,45,105,.06); min-height:0; }
.dv-card-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:.5em; }
.dv-card-head b { display:flex; align-items:center; gap:.4em; font-size:.86em; }.dv-card-head span { color:#9aa1b8; font-size:.68em; }
.dv-line { flex:1; width:100%; min-height:3em; }
.dv-bars { display:flex; align-items:flex-end; gap:.35em; height:2.4em; margin-top:.4em; }
.dv-bars i { flex:1; height:var(--h); border-radius:.2em .2em 0 0; background:linear-gradient(180deg,#8496CB,#c9d3f2); }
.dv-live { width:.55em; height:.55em; border-radius:50%; background:#1fbf7a; box-shadow:0 0 0 .25em rgba(31,191,122,.18); animation:dvPulse 1.8s ease-in-out infinite; }
.dv-feed { margin:0; padding:0; list-style:none; display:grid; gap:.45em; }
.dv-feed li { display:grid; grid-template-columns:.6em auto 1fr auto; align-items:center; gap:.45em; padding:.45em .5em; border-radius:.55em; background:#f6f7fb; font-size:.72em; white-space:nowrap; }
.dv-feed li b { font-size:1em; }.dv-feed li span:not(.dv-feed-dot) { overflow:hidden; text-overflow:ellipsis; color:#4c5470; }.dv-feed time { color:#9aa1b8; font-size:.9em; }
.dv-feed-dot { width:.5em; height:.5em; border-radius:50%; background:#c9d3f2; }
.dv-feed li.new { background:#eef1fb; box-shadow:inset 0 0 0 1px rgba(67,91,168,.18); }.dv-feed li.new .dv-feed-dot { background:#435BA8; }
.dv-feed li.warn .dv-feed-dot { background:#ff9f43; }
.dv-base { position:relative; height:2.3cqw; margin:0 -5.5%; border-radius:0 0 2.8cqw 2.8cqw / 0 0 2.1cqw 2.1cqw; background:linear-gradient(180deg,#e2e4ea 0%,#c3c6cf 55%,#9a9ea9 100%); box-shadow:0 2.4cqw 3cqw -1.6cqw rgba(35,45,105,.35); }
.dv-base span { position:absolute; left:50%; top:0; width:15%; height:.9cqw; transform:translateX(-50%); border-radius:0 0 1cqw 1cqw; background:linear-gradient(180deg,#a9adb7,#c7cad2); }

/* Sync badge */
.dv-sync { position:absolute; z-index:4; display:flex; align-items:center; gap:.55rem; padding:.55rem .9rem .55rem .55rem; border-radius:999px; background:rgba(255,255,255,.94); box-shadow:0 14px 34px rgba(35,45,105,.16); backdrop-filter:blur(10px); }
.dv-sync span { display:grid; place-items:center; width:30px; height:30px; border-radius:50%; background:linear-gradient(145deg,#4F68BC,#3A4F96); color:#fff; }
.dv-sync span svg { width:16px; height:16px; animation:dvSpin 4s linear infinite; }
.dv-sync b { font-size:.82rem; color:#1b2140; }.dv-sync small { color:#7a819a; font-size:.72rem; }

/* Duo composition (index) */
.phone-stage.dv-stage-duo { width:100%; aspect-ratio:1.1; }
.dv-stage-duo .dv-laptop { left:0; top:9%; width:86%; z-index:1; }
.dv-stage-duo .dv-phone { right:0; bottom:0; width:31%; z-index:3; }
.dv-stage-duo .dv-sync { right:4%; top:0; }

/* Solo composition (sodam page) */
.phone-stage.dv-stage-solo { display:flex; justify-content:center; padding:10px 0; }
.dv-stage-solo .dv-phone { position:relative; width:min(290px,72%); z-index:1; }
.dv-notice { position:absolute; z-index:2; display:flex; gap:.6rem; width:min(260px,62%); padding:.7rem .8rem; border-radius:18px; background:rgba(255,255,255,.82); box-shadow:0 18px 40px rgba(35,45,105,.18),inset 0 0 0 1px rgba(255,255,255,.7); backdrop-filter:blur(14px); color:#151a2e; text-align:left; }
.dv-notice-icon { flex:0 0 auto; display:grid; place-items:center; width:34px; height:34px; border-radius:9px; background:linear-gradient(145deg,#5670C4,#3A4F96); }
.dv-notice-icon .dv-sodam-mark { width:22px; height:22px; }
.dv-notice-icon .dv-sodam-mark circle { fill:#C9D3F2; }.dv-notice-icon .dv-sodam-mark path { fill:#fff; }
.dv-notice > div > p { display:flex; justify-content:space-between; margin:0; color:#6b7390; font-size:.7rem; }.dv-notice p b { color:#151a2e; }
.dv-notice strong { display:block; margin-top:1px; font-size:.84rem; }
.dv-notice div > span { display:block; color:#4c5470; font-size:.76rem; line-height:1.4; }
.dv-notice > div { flex:1; min-width:0; }
.dv-notice.n1 { left:-3%; top:57%; animation:dvFloat 6s ease-in-out infinite; }
.dv-notice.n2 { right:-3%; bottom:6%; animation:dvFloat 6s ease-in-out -3s infinite; }
@keyframes dvFloat { 50% { transform:translateY(-8px); } }
@keyframes dvPulse { 50% { box-shadow:0 0 0 .45em rgba(31,191,122,0); } }
@keyframes dvSpin { to { transform:rotate(360deg); } }
.store-split .phone-stage.dv-stage-solo { min-height:0; }

@media (max-width:1000px) {
  .phone-stage.dv-stage-duo { max-width:620px; margin-inline:auto; }
}
@media (max-width:640px) {
  .phone-stage.dv-stage-duo { aspect-ratio:.98; }
  .dv-stage-duo .dv-laptop { top:13%; width:94%; }
  .dv-stage-duo .dv-phone { width:40%; right:-1%; }
  .dv-stage-duo .dv-sync { left:0; right:auto; top:0; }
  .phone-stage.dv-stage-solo { flex-direction:column; align-items:center; gap:12px; padding:0; }
  .dv-stage-solo .dv-phone { width:min(270px,78%); order:2; }
  .dv-notice.n1 { position:relative; left:auto; top:auto; order:1; width:min(300px,100%); animation:none; }
  .dv-notice.n2 { display:none; }
}
@media (prefers-reduced-motion:reduce) {
  .dv-notice,.dv-live,.dv-sync span svg { animation:none !important; }
}

/* ===== Mobile optimisation pass (2026-09-30) ===== */
/* Typography: avoid orphan syllables / lonely words */
.display,.page-title,.section-title,.statement,h2,.aix-head h2,.aix-cta-box h2 { text-wrap:balance; }
.lede,.article p,.aix-head > p,.aix-def-body,.ai-page .ai-detail-copy > p,.sodam-section p,.section-head p { text-wrap:pretty; }
.aix-statement { color:#7d87a3; }

@media (max-width:1000px) {
  .aix-console-body { min-height:0; }
  .faq-grid { gap:28px; }
  .faq-grid > div:first-child { position:static; }
}

@media (max-width:640px) {
  /* rhythm */
  section { padding:72px 0; }
  .sub-hero { padding:118px 0 48px; }
  .article section { padding-bottom:64px; }
  .article section:last-child { padding-bottom:0; }
  .article section,.article .feature-anchor { scroll-margin-top:146px; }

  /* tap targets & footer */
  .site-header .brand { min-height:44px; display:inline-flex; align-items:center; }
  .text-link { display:inline-flex; align-items:center; min-height:44px; }
  .footer-grid { grid-template-columns:1fr 1fr; gap:28px 16px; }
  .footer-brand { grid-column:1/-1; }
  .footer-col a { display:block; padding:10px 0; margin:0; }

  /* primary actions full width */
  .sub-actions .button,.cta-box .button,.onboarding-copy .button,.sodam-actions .button { width:100%; justify-content:center; }
  .sodam-actions { flex-direction:column; align-items:stretch; gap:6px; }
  .sodam-actions .text-link { justify-content:center; }

  /* subpage table of contents → sticky chip bar */
  .toc { position:sticky; top:76px; z-index:6; align-self:start; display:flex; gap:6px; overflow-x:auto; padding:6px; border-radius:14px; background:rgba(255,255,255,.94); box-shadow:0 10px 26px rgba(35,45,105,.1); backdrop-filter:blur(12px); scrollbar-width:none; }
  .toc::-webkit-scrollbar { display:none; }
  .toc strong { display:none; }
  .toc { -webkit-mask-image:linear-gradient(90deg,#000 86%,transparent); mask-image:linear-gradient(90deg,#000 86%,transparent); padding-right:28px; }
  .toc a { flex:0 0 auto; padding:9px 13px; border:0; border-radius:999px; background:#f1f2f8; font-size:.82rem; white-space:nowrap; }

  /* article components */
  .process-row { grid-template-columns:1fr; gap:6px; padding:20px 0; }
  .capability { grid-template-columns:40px 1fr; gap:14px; padding:18px; }
  .capability-icon { width:40px; height:40px; border-radius:12px; font-size:.85rem; }
  .fact-grid { gap:10px; }
  .fact-card { padding:18px 20px; }
  .faq summary { padding:18px 34px 18px 0; }
  .faq summary::after { top:50%; transform:translateY(-50%); line-height:1; }

  /* hq-operations */
  .workflow-band div { min-height:0; padding:16px; }
  .workflow-band strong { margin-top:8px; }

  /* sales-analytics */
  .kpi-grid { grid-template-columns:repeat(3,1fr); gap:8px; }
  .kpi-card { padding:14px 12px; }
  .kpi-card small { font-size:.74rem; }
  .kpi-card strong { margin-top:6px; font-size:1.05rem; }
  .sales-panel { min-height:0; padding:18px; }

  /* sodam */
  .store-split { gap:22px; margin:24px 0; padding:22px 16px; }
  .order-step { min-height:0; padding:18px; }
  .order-step strong { margin-top:10px; }

  /* index */
  .scroll-cue { display:none; }
  .platform-card { min-height:0; }
  .platform-card .mini-flow { position:static; margin-top:14px; }
  .platform-card h3 { margin-top:26px; }
  .solution-tabs { scroll-snap-type:x mandatory; scrollbar-width:none; -webkit-mask-image:linear-gradient(90deg,#000 82%,transparent); mask-image:linear-gradient(90deg,#000 82%,transparent); }
  .solution-tabs button { scroll-snap-align:start; }
  .role-tabs { scrollbar-width:none; -webkit-mask-image:linear-gradient(90deg,#000 82%,transparent); mask-image:linear-gradient(90deg,#000 82%,transparent); }
  .track-hint { display:none; }
  .ui-kicker,.data-constellation-hint { font-size:.78rem; }

  /* AI platform */
  .aix-section { padding:72px 0; }
  .aix-definition { padding-bottom:48px; }
  .aix-capabilities::before { display:none; }
  .aix-console-bar b { font-size:.7rem; }
  .aix-live { font-size:.72rem; }
  .ai-page .ai-detail,.ai-page .ai-detail:nth-child(even) { min-height:0; padding:20px; gap:22px; }
  .ai-page .ai-detail-copy h3 { margin-top:16px; }
  .ai-page .ai-detail dl { margin-top:18px; }
  .ai-page .ai-detail dl > div { grid-template-columns:76px 1fr; gap:10px; padding:10px 0; }
  .ai-page .ai-detail-ui { min-height:0; padding:18px; }
  .ai-page .ai-detail-copy > span { font-size:.72rem; }
  .aix-role { display:grid; grid-template-columns:40px 1fr; column-gap:14px; align-items:start; padding:20px; }
  .aix-role-mark { width:40px; height:40px; grid-row:span 2; }
  .aix-role h3 { margin:2px 0 6px; }
  .aix-role p { grid-column:2; }
  .aix-core { width:88px; height:88px; margin:0 auto 14px; }
  .aix-node { padding:16px 18px; }
  .aix-hero .sub-actions { align-self:stretch; }
  .aix-cta { padding:88px 0; }
  .aix-cta-box h2 { font-size:clamp(1.8rem,8vw,2.2rem); }
  .aix-cta-box .button { width:100%; justify-content:center; }
  .aix-cta-ring { width:300px; height:300px; margin:-150px 0 0 -150px; }
}

@media (hover:none) {
  .track-hint { display:none; }
}

/* ===== Home refresh (2026-09-30 b) ===== */
/* Hero: Fdam AI assistant conversation */
.hero-copilot-stage { position:relative; padding:14px; border-radius:36px; background:linear-gradient(135deg,rgba(122,92,255,.16),rgba(66,214,255,.12)); box-shadow:inset 0 0 0 1px rgba(255,255,255,.6); transform:translate3d(0,var(--parallax-y,0),0); transition:transform .12s linear; }
.hero .copilot-console.hero-copilot { border:1px solid rgba(83,88,135,.12); border-radius:26px; box-shadow:0 30px 80px rgba(53,59,112,.16); }
.hero .copilot-console .chat-thread { padding:22px; }
.hero .copilot-console.is-looping .chat-thread { min-height:470px; }
.hero-copilot-stage .hero-float-pill.pill-one { left:-22px; right:auto; top:88px; }

/* Connected franchise data: dark stage */
.data-universe { color:#eef1fb; background:radial-gradient(1100px 560px at 50% 0%,rgba(92,108,255,.2),transparent 62%),linear-gradient(180deg,#0e1126,#090b18); }
.data-universe::before { background:rgba(124,140,255,.14); }
.data-universe .eyebrow { color:#a9b6ff; }
.data-universe .eyebrow::before { box-shadow:0 0 0 6px rgba(124,140,255,.16); }
.data-universe h2,.data-universe .section-title { color:#fff; }
.data-universe .data-universe-copy > p { color:rgba(222,228,246,.68); }
.data-universe .data-proof-list span { color:rgba(222,228,246,.8); border-top-color:rgba(255,255,255,.1); }
.data-universe .data-proof-list b { color:#a9b6ff; }
.data-universe .data-orbit-stage { border-color:transparent; background:radial-gradient(circle at 50% 50%,rgba(78,94,190,.42),rgba(40,48,110,.12) 45%,transparent 70%); box-shadow:none; }
.data-universe .data-orbit-stage::before { background-image:radial-gradient(rgba(170,185,255,.4) .7px,transparent .7px); opacity:.4; }
.data-universe .data-orbit-stage::after { border-color:rgba(160,176,255,.16); }
.data-universe .data-constellation-lines line { stroke:rgba(170,185,255,.22); }
.data-universe .data-constellation-lines line.is-primary { stroke:rgba(170,185,255,.42); }
.data-universe .data-constellation-stage.has-focus .data-constellation-lines line.is-related { stroke:rgba(150,170,255,.95); }
.data-universe .data-constellation-core img { mix-blend-mode:normal; filter:brightness(0) invert(1) drop-shadow(0 0 22px rgba(124,140,255,.55)); }
.data-universe .data-constellation-core small { color:#9aa3c7; }
.data-universe .constellation-node--primary { color:#eef1ff; }
.data-universe .constellation-node--secondary { color:#8f98bd; }
.data-universe .constellation-node:hover,.data-universe .constellation-node:focus-visible,.data-universe .constellation-node.is-related { color:#fff; text-shadow:0 0 18px rgba(124,140,255,.85); }
.data-universe .data-constellation-hint { color:#8f98bd; }

/* Sodam section: feature checklist (informational, not clickable) */
.sodam-copy .feature-checklist { margin:30px 0 34px; padding:0; list-style:none; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 24px; }
.feature-checklist li { display:flex; align-items:center; gap:10px; color:var(--ink-soft); font-size:.98rem; font-weight:500; }
.feature-checklist li::before { content:""; flex:0 0 auto; width:20px; height:20px; border-radius:50%; background:#e3e8f8 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.8 6.2 5 8.3l4.2-4.6' fill='none' stroke='%23435BA8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat; }

/* Hamburger menu icon */
.menu-button { align-items:center; justify-content:center; padding:0; }
.menu-icon { position:relative; display:block; width:20px; height:14px; }
.menu-icon i { position:absolute; left:0; width:100%; height:2px; border-radius:2px; background:currentColor; transition:transform .25s ease,opacity .2s ease,top .25s ease; }
.menu-icon i:nth-child(1) { top:0; }.menu-icon i:nth-child(2) { top:6px; }.menu-icon i:nth-child(3) { top:12px; }
.menu-button[aria-expanded="true"] .menu-icon i:nth-child(1) { top:6px; transform:rotate(45deg); }
.menu-button[aria-expanded="true"] .menu-icon i:nth-child(2) { opacity:0; }
.menu-button[aria-expanded="true"] .menu-icon i:nth-child(3) { top:6px; transform:rotate(-45deg); }

/* AI suite: native swipe on touch */
.ai-suite-track { touch-action:auto; }
@media (hover:none) { .ai-suite-track { cursor:auto; } }

@media (max-width:1000px) {
  .hero-copilot-stage { margin-top:10px; }
  .sodam-grid { gap:34px; }
  .sodam-copy { display:contents; }
  .sodam-head { order:1; }
  .sodam-device-stage { order:2; }
  .sodam-body { order:3; }
  .sodam-copy .feature-checklist { margin-top:0; }
}
@media (max-width:960px) {
  .menu-button { display:flex; }
}
@media (max-width:760px) {
  .data-orbit-stage { height:740px; }
  .data-orbit-stage::after { width:250px; height:250px; }
  .constellation-node--secondary { display:inline-block; padding:4px 6px; font-size:.72rem; }
}
@media (max-width:640px) {
  .container { width:calc(100vw - 40px); }
  .nav-shell { width:calc(100vw - 24px); max-width:calc(100vw - 24px); }
  .hero-copilot-stage { padding:8px; border-radius:26px; }
  .hero-copilot-stage .hero-float-pill { display:none; }
  .hero .copilot-console .chat-thread { padding:16px 12px; }
  .hero .copilot-console.is-looping .chat-thread { min-height:560px; }
  .ai-suite-track { width:calc(100% + 20px); grid-auto-columns:76vw; gap:12px; padding-right:20px; }
  .ai-feature-card { min-height:0; padding:20px; border-radius:22px; }
  .ai-feature-card h3 { margin:18px 0 8px; font-size:1.3rem; }
  .feature-visual { min-height:150px; margin-top:16px; padding:18px; }
  .feature-checklist li { font-size:.92rem; }
}

.br-mobile { display:none; }
@media (max-width:640px) {
  .br-mobile { display:inline; }
  .ai-suite-track { grid-auto-columns:72vw; }
  .ai-suite-track { align-items:start; }
  .ai-feature-card .text-link { margin-top:18px; }
}

/* ===== How Fdam works: store panel (Sodam PC + phone) & operate panel mobile ===== */
.store-ui:has(.dv-stage-store) { padding:22px; }
.phone-stage.dv-stage-store,.dv-stage.dv-stage-store { position:relative; width:100%; aspect-ratio:1.42; }
.dv-stage-store .dv-browser { position:absolute; left:0; top:4%; width:84%; z-index:1; }
.dv-stage-store .dv-phone { position:absolute; right:0; bottom:0; width:29%; z-index:2; }

.dv-browser { container-type:inline-size; overflow:hidden; border-radius:1.8cqw; background:#fff; box-shadow:0 3cqw 7cqw -2cqw rgba(35,45,105,.32),0 0 0 1px rgba(35,45,105,.08); }
.dv-browser-bar { display:flex; align-items:center; gap:2cqw; height:5.4cqw; padding:0 2.2cqw; background:linear-gradient(180deg,#f3f4f8,#e9ebf2); border-bottom:1px solid rgba(35,45,105,.08); }
.dv-dots { display:flex; gap:.9cqw; }.dv-dots i { width:1.2cqw; height:1.2cqw; border-radius:50%; background:#d3d6e0; }
.dv-dots i:nth-child(1) { background:#ff8a80; }.dv-dots i:nth-child(2) { background:#ffd166; }.dv-dots i:nth-child(3) { background:#7bd88f; }
.dv-url { flex:1; max-width:46%; margin:0 auto; padding:.6cqw 2cqw; border-radius:1.2cqw; background:#fff; color:#8a90a6; font-size:1.7cqw; text-align:center; }
.dv-browser-body { display:grid; grid-template-columns:22% 1fr; aspect-ratio:16/9.6; font-size:1.75cqw; line-height:1.35; color:#151a2e; text-align:left; letter-spacing:0; }
.dv-sd-side { display:flex; flex-direction:column; gap:.35em; padding:1.3em .9em; background:#f6f7fc; border-right:1px solid #eceef5; }
.dv-sd-side .dv-sodam-logo { height:1.9em; width:auto; margin:0 0 1.1em .35em; }
.dv-sd-side span { display:flex; align-items:center; gap:.55em; padding:.5em .6em; border-radius:.6em; color:#7a819a; font-size:.9em; font-weight:700; }
.dv-sd-side span svg { width:1.25em; height:1.25em; fill:currentColor; flex:0 0 auto; }
.dv-sd-side span i { font-style:normal; white-space:nowrap; }
.dv-sd-side span.on { color:#435BA8; background:#e8ecfa; }
.dv-sd-main { display:flex; flex-direction:column; gap:.85em; padding:1.3em 1.5em; min-width:0; }
.dv-sd-top { display:flex; align-items:center; justify-content:space-between; }
.dv-sd-top small { display:block; color:#8a90a6; font-size:.78em; }.dv-sd-top strong { font-size:1.35em; }
.dv-sd-top em { padding:.35em .7em; border-radius:.6em; color:#435BA8; background:#eceffa; font-size:.8em; font-style:normal; font-weight:700; }
.dv-sd-ai { display:grid; grid-template-columns:2.2em 1fr auto; gap:.7em; align-items:center; padding:.8em .9em; border-radius:.9em; background:linear-gradient(135deg,#4F68BC,#3A4F96); color:#fff; }
.dv-sd-ai > span { display:grid; place-items:center; width:2.2em; height:2.2em; border-radius:.7em; background:rgba(255,255,255,.16); }
.dv-sd-ai > span svg { width:1.2em; height:1.2em; fill:#ffe38a; }
.dv-sd-ai p { margin:0; }.dv-sd-ai small { display:block; color:rgba(255,255,255,.72); font-size:.78em; }.dv-sd-ai b { font-size:1em; }
.dv-sd-ai button { padding:.45em .9em; border:0; border-radius:.6em; background:#fff; color:#3A4F96; font:inherit; font-size:.82em; font-weight:700; pointer-events:none; }
.dv-sd-tasks { display:grid; grid-template-columns:repeat(3,1fr); gap:.6em; }
.dv-sd-tasks div { padding:.75em .8em; border-radius:.8em; background:#fff; box-shadow:0 .15em .6em rgba(35,45,105,.08); border:1px solid #eef0f6; }
.dv-sd-tasks small { display:block; color:#7a819a; font-size:.74em; }
.dv-sd-tasks b { display:block; margin:.15em 0; font-size:1.3em; color:#435BA8; }
.dv-sd-tasks .warn b { color:#e8841f; }
.dv-sd-tasks span { display:block; color:#9aa1b8; font-size:.7em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.dv-sd-sales { flex:1; display:grid; grid-template-columns:auto 1fr; gap:1.2em; align-items:end; padding:.8em .9em; border-radius:.8em; background:#f6f7fc; min-height:0; }
.dv-sd-sales small { display:block; color:#7a819a; font-size:.74em; }.dv-sd-sales b { display:block; font-size:1.25em; }
.dv-sd-sales em { color:#1e9e6a; font-size:.74em; font-style:normal; font-weight:700; }
.dv-sd-bars { display:flex; align-items:flex-end; gap:.4em; height:100%; min-height:2.6em; }
.dv-sd-bars i { flex:1; height:var(--h); border-radius:.25em .25em 0 0; background:linear-gradient(180deg,#8496CB,#c9d3f2); }
.dv-sd-bars i:last-child { background:linear-gradient(180deg,#435BA8,#8496CB); }

@media (max-width:640px) {
  .store-ui:has(.dv-stage-store) { padding:14px 12px; }
  .dv-stage.dv-stage-store { aspect-ratio:1.08; }
  .dv-stage-store .dv-browser { top:0; width:96%; }
  .dv-stage-store .dv-phone { width:40%; right:-1%; }

  /* operate: show every kanban stage, stacked with downward flow */
  .operate-ui { grid-template-columns:1fr; gap:6px; padding:18px 16px; }
  .kanban-col:nth-of-type(n+2) { display:block; }
  .kanban-arrow { display:block; justify-self:center; line-height:1; transform:rotate(90deg); }
  .kanban-col { padding:14px; }
  .kanban-col span { margin-top:8px; padding:10px 12px; font-size:.8rem; }
}

/* ===== Onboarding: connect flow + steps (2026-09-30 d) ===== */
.ob-layout { display:grid; grid-template-columns:.82fr 1.18fr; gap:64px; align-items:center; }
.ob-copy > p { margin:22px 0 0; color:var(--ink-soft); }
.ob-copy .ob-note { margin:14px 0 30px; padding-left:12px; border-left:2px solid #d8dcf0; color:#8a90a6; font-size:.86rem; }
.ob-flow { position:relative; display:grid; grid-template-columns:1fr 60px auto 60px 1fr; align-items:center; padding:34px 26px; border-radius:30px; background:linear-gradient(145deg,#f3f5fd,#efeafb); box-shadow:inset 0 0 0 1px rgba(83,88,135,.08); }
.ob-col > small { display:block; margin-bottom:12px; color:#8a90a6; font-size:.74rem; font-weight:700; text-align:center; }
.ob-sources > div,.ob-outputs > div { display:grid; gap:8px; }
.ob-sources span { padding:10px 12px; border-radius:12px; background:#fff; box-shadow:0 6px 16px rgba(53,59,112,.06); color:#3a4059; font-size:.84rem; font-weight:700; text-align:center; }
.ob-outputs span { padding:12px 14px; border-radius:14px; background:#fff; box-shadow:0 8px 20px rgba(53,59,112,.08); border-left:3px solid var(--blue); }
.ob-outputs b { display:block; font-size:.92rem; }.ob-outputs small { display:block; color:#8a90a6; font-size:.72rem; }
.ob-wires { width:100%; height:78%; align-self:center; overflow:visible; }
.ob-wires path { fill:none; stroke:#aab5e6; stroke-width:1.6; vector-effect:non-scaling-stroke; stroke-dasharray:4 6; animation:obFlow 1.6s linear infinite; }
@keyframes obFlow { to { stroke-dashoffset:-20; } }
.ob-hub { position:relative; display:grid; justify-items:center; gap:8px; padding:22px 18px; border-radius:24px; background:#fff; box-shadow:0 18px 44px rgba(53,59,112,.16); }
.ob-hub img { width:96px; height:auto; mix-blend-mode:normal; }
.ob-hub small { color:var(--blue); font-size:.72rem; font-weight:700; }
.ob-hub-ring { position:absolute; inset:-8px; border-radius:30px; border:1px solid rgba(67,91,168,.22); animation:obRing 2.6s ease-out infinite; pointer-events:none; }
@keyframes obRing { from { opacity:1; transform:scale(.96); } to { opacity:0; transform:scale(1.12); } }

.ob-steps-head { display:flex; align-items:baseline; gap:12px; margin:84px 0 22px; }
.ob-steps-head h3 { margin:0; font-size:clamp(1.2rem,1.6vw,1.4rem); }
.ob-steps-head span { color:var(--blue); font-size:.8rem; font-weight:700; }
.ob-steps { position:relative; margin:0; padding:0; list-style:none; display:grid; grid-template-columns:repeat(4,1fr); gap:18px; counter-reset:none; }
.ob-steps::before { content:""; position:absolute; left:22px; right:22px; top:22px; height:2px; background:linear-gradient(90deg,var(--blue),var(--violet)); opacity:.25; }
.ob-steps li { position:relative; padding:0 6px 0 0; }
.ob-steps li > span { position:relative; z-index:1; display:grid; place-items:center; width:44px; height:44px; border-radius:50%; background:#fff; color:var(--blue); font-size:.8rem; font-weight:700; box-shadow:0 0 0 2px #dfe3f5,0 8px 18px rgba(53,59,112,.08); }
.ob-steps li:first-child > span { color:#fff; background:linear-gradient(135deg,var(--blue),var(--violet)); box-shadow:0 8px 18px rgba(72,96,206,.3); }
.ob-steps h3 { margin:18px 0 6px; font-size:1.08rem; }
.ob-steps p { margin:0; color:var(--ink-soft); font-size:.9rem; line-height:1.6; }

/* ===== AI suite: equal cards ===== */
.feature-visual { height:205px; min-height:0; }
.risk-visual > b { margin:8px 0 16px; }
.risk-visual i { height:40px; }.risk-visual i:nth-child(2) { height:55px; }.risk-visual i:nth-child(3) { height:72px; }.risk-visual i:nth-child(4) { height:48px; }.risk-visual i:nth-child(5) { height:34px; }
.ai-feature-card p { min-height:5em; }

@media (max-width:1000px) {
  .ob-layout { grid-template-columns:1fr; gap:36px; }
  .ob-steps { grid-template-columns:1fr 1fr; row-gap:30px; }
  .ob-steps::before { display:none; }
}
@media (max-width:640px) {
  .ob-copy .button { width:100%; justify-content:center; }
  .ob-flow { grid-template-columns:1fr; gap:0; padding:22px 16px; border-radius:24px; }
  .ob-sources > div { grid-template-columns:repeat(3,1fr); gap:6px; }
  .ob-sources span { padding:9px 4px; font-size:.78rem; }
  .ob-wires { display:none; }
  .ob-hub { width:max-content; margin:14px auto; padding:16px 22px; }
  .ob-hub::before,.ob-hub::after { content:""; position:absolute; left:50%; width:2px; height:14px; background:repeating-linear-gradient(180deg,#aab5e6 0 4px,transparent 4px 7px); }
  .ob-hub::before { top:-15px; }.ob-hub::after { bottom:-15px; }
  .ob-hub img { width:80px; }
  .ob-outputs > div { grid-template-columns:repeat(3,1fr); gap:6px; }
  .ob-outputs span { padding:10px 8px; border-left:0; border-top:3px solid var(--blue); text-align:center; }
  .ob-outputs b { font-size:.84rem; }.ob-outputs small { font-size:.66rem; }
  .ob-steps-head { margin:52px 0 16px; }
  .ob-steps { grid-template-columns:1fr; row-gap:0; }
  .ob-steps li { display:grid; grid-template-columns:44px 1fr; column-gap:14px; padding-bottom:22px; }
  .ob-steps li::before { content:""; position:absolute; left:21px; top:44px; bottom:0; width:2px; background:#e3e6f5; }
  .ob-steps li:last-child::before { display:none; }
  .ob-steps li > span { grid-row:span 2; }
  .ob-steps h3 { margin:10px 0 4px; }

  .feature-visual { height:156px; padding:16px 18px; }
  .order-visual b { margin-top:8px; font-size:2.4rem; }
  .order-visual i { left:18px; right:18px; bottom:20px; }
  .drop-visual svg { left:18px; right:18px; bottom:14px; width:calc(100% - 36px); height:64px; }
  .risk-visual > b { margin:6px 0 10px; }
  .risk-visual i { height:30px; }.risk-visual i:nth-child(2) { height:40px; }.risk-visual i:nth-child(3) { height:52px; }.risk-visual i:nth-child(4) { height:36px; }.risk-visual i:nth-child(5) { height:24px; }
  .purchase-visual > b { margin:4px 0 14px; font-size:1.6rem; }
  .note-visual > i { margin:9px 0; }
  .review-visual > b { margin:8px 0; }.review-visual > p { padding:10px; }
  .report-visual > b { margin:8px 0 14px; }
  .ai-suite-track { align-items:stretch; }
  .ai-feature-card .text-link { margin-top:auto; padding-top:14px; }
}
@media (prefers-reduced-motion:reduce) {
  .ob-wires path,.ob-hub-ring { animation:none !important; }
}

/* ===== Blog hero (code widget on the blog list page) ===== */
.fdam-blog-hero-wrap { background:transparent; }
.fdam-blog-hero { padding:150px 0 48px; text-align:center; }
.fdam-blog-hero .page-title { max-width:none; margin:18px auto 0; font-size:clamp(2.3rem,4.4vw,3.6rem); line-height:1.15; }
.fdam-blog-hero .page-title span { background:linear-gradient(100deg,#435BA8,#7a5cff); -webkit-background-clip:text; background-clip:text; color:transparent; }
.fdam-blog-hero .lede { max-width:620px; margin:20px auto 0; }
.fdam-blog-topics { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:4px 0; margin:26px 0 0; padding:0; list-style:none; color:#8a90a6; font-size:.9rem; }
.fdam-blog-topics::before { content:"다루는 주제"; margin-right:12px; padding-right:12px; border-right:1px solid #d9dcea; color:#435BA8; font-size:.78rem; font-weight:700; }
.fdam-blog-topics li { padding:0; background:none; color:#6b7390; font-weight:500; cursor:default; }
.fdam-blog-topics li + li::before { content:"·"; margin:0 9px; color:#b7bccd; }
@media (max-width:640px) {
  .fdam-blog-hero { padding:120px 0 32px; }
  .fdam-blog-hero .page-title { font-size:clamp(2rem,9vw,2.4rem); }
  .fdam-blog-topics { font-size:.84rem; }
  .fdam-blog-topics::before { flex-basis:100%; margin:0 0 6px; padding:0; border:0; text-align:center; }
  .fdam-blog-topics li + li::before { margin:0 7px; }
}

/* ===== Footer: company info & legal links ===== */
.footer-company { display:flex; flex-wrap:wrap; gap:4px 14px; margin-top:34px; color:#8b8fa0; font-size:.8rem; line-height:1.7; }
.footer-company b { color:#5b6178; }
.footer-company a { color:inherit; }
.footer-legal { display:flex; gap:16px; }
.footer-legal a { color:inherit; }
.footer-legal b { color:#5b6178; }
.ai-page .footer-company { color:#5d6680; }.ai-page .footer-company b,.ai-page .footer-legal b { color:#aab3c8; }

/* ===== Register (contact) page: intro + form card ===== */
.fd-reg-hero { padding:140px 0 90px; }
.fd-reg-grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:64px; align-items:start; }
.fd-reg-intro { position:sticky; top:120px; }
.fd-reg-intro .page-title { margin-top:18px; font-size:clamp(2.3rem,4vw,3.4rem); line-height:1.15; }
.fd-reg-intro .page-title span { background:linear-gradient(100deg,#435BA8,#7a5cff); -webkit-background-clip:text; background-clip:text; color:transparent; }
.fd-reg-intro .lede { margin-top:18px; font-size:1.02rem; }
.fd-reg-steps { margin:34px 0 0; padding:0; list-style:none; display:grid; gap:0; }
.fd-reg-steps li { position:relative; display:grid; grid-template-columns:40px 1fr; gap:14px; padding-bottom:20px; }
.fd-reg-steps li:not(:last-child)::before { content:""; position:absolute; left:19px; top:40px; bottom:0; width:2px; background:#e3e6f5; }
.fd-reg-steps li > b { display:grid; place-items:center; width:40px; height:40px; border-radius:50%; background:#fff; color:var(--blue); font-size:.78rem; box-shadow:0 0 0 2px #dfe3f5; }
.fd-reg-steps li:first-child > b { color:#fff; background:linear-gradient(135deg,var(--blue),var(--violet)); box-shadow:none; }
.fd-reg-steps strong { display:block; margin-top:8px; font-size:1rem; }
.fd-reg-steps span { display:block; margin-top:2px; color:var(--ink-soft); font-size:.9rem; }
.fd-reg-quick { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:26px; }
.fd-reg-quick a { display:flex; align-items:center; gap:12px; padding:14px 16px; border-radius:16px; background:#fff; box-shadow:0 0 0 1px #e6e9f4,0 8px 20px rgba(53,59,112,.06); transition:transform .2s ease,box-shadow .2s ease; }
.fd-reg-quick a:hover { transform:translateY(-2px); box-shadow:0 0 0 1px #d6dbef,0 14px 28px rgba(53,59,112,.1); }
.fd-reg-quick i { flex:0 0 auto; display:grid; place-items:center; width:38px; height:38px; border-radius:12px; background:#eef1fb; color:#435BA8; font-style:normal; }
.fd-reg-quick a.kakao i { background:#fee500; color:#3c1e1e; }
.fd-reg-quick i svg { width:19px; height:19px; fill:currentColor; }
.fd-reg-quick small { display:block; color:#8a90a6; font-size:.74rem; }
.fd-reg-quick b { display:block; color:#151a2e; font-size:.96rem; }
.fd-reg-form-slot { padding:34px 34px 30px; border-radius:28px; background:#fff; box-shadow:0 0 0 1px #e8ebf5,0 30px 70px rgba(53,59,112,.1); }
.fd-reg-form-head { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-bottom:24px; padding-bottom:18px; border-bottom:1px solid #eef0f6; }
.fd-reg-form-head strong { font-size:1.2rem; }
.fd-reg-form-head span { color:#8a90a6; font-size:.8rem; }
.fd-reg-form-head span i { color:#e5484d; font-style:normal; }
.fd-reg-form-fallback { color:var(--ink-soft); font-size:.9rem; }
.fd-reg-form-slot.has-form .fd-reg-form-fallback { display:none; }
@media (max-width:960px) {
  .fd-reg-grid { grid-template-columns:1fr; gap:36px; }
  .fd-reg-intro { position:static; }
}
@media (max-width:640px) {
  .fd-reg-hero { padding:112px 0 56px; }
  .fd-reg-intro .page-title { font-size:clamp(2rem,9vw,2.4rem); }
  .fd-reg-quick { grid-template-columns:1fr; }
  .fd-reg-form-slot { margin:0 -4px; padding:24px 18px 22px; border-radius:22px; }
  .footer-company { flex-direction:column; gap:2px; }
}

/* ===== AI platform: data-visualised weekly report & longer review (2026-09-30 f) ===== */
.ai-page .detail-report { justify-content:flex-start; gap:14px; }
.detail-report .rp-head { display:flex; align-items:center; justify-content:space-between; }
.detail-report .rp-head em { padding:4px 9px; border-radius:8px; font-size:.7rem; font-style:normal; font-weight:700; color:#b9c4ff; background:rgba(124,140,255,.12); }
.detail-report .rp-kpis { display:grid !important; grid-template-columns:repeat(3,1fr); gap:8px !important; }
.detail-report .rp-kpis span { padding:10px 11px; border-radius:12px; border:1px solid rgba(255,255,255,.07); background:rgba(255,255,255,.03); }
.detail-report .rp-kpis small { display:block; color:#77839f; font-size:.68rem; }
.detail-report .rp-kpis b { display:block; margin:2px 0; color:#f5f7fc; font-size:1.08rem; }
.detail-report .rp-kpis i { width:auto !important; height:auto !important; background:none !important; border-radius:0; font-size:.66rem; font-style:normal; font-weight:700; color:#8f99b0; }
.detail-report .rp-kpis i.up { color:#6ee7a4; }.detail-report .rp-kpis i.warn { color:#ffcf86; }
.detail-report .rp-chart { display:block !important; padding:10px 12px 8px; border-radius:12px; border:1px solid rgba(255,255,255,.07); background:rgba(255,255,255,.02); }
.detail-report .rp-legend { display:flex !important; gap:12px; margin-bottom:6px; color:#8f99b0; font-size:.66rem; }
.detail-report .rp-legend span::before { content:""; display:inline-block; width:12px; height:2px; margin-right:5px; vertical-align:middle; border-radius:2px; background:#8fa2ff; }
.detail-report .rp-legend .prev::before { background:repeating-linear-gradient(90deg,#6b7390 0 3px,transparent 3px 5px); }
.detail-report .rp-chart svg { display:block; width:100%; height:84px; overflow:visible; }
.detail-report .rp-area { fill:url(#rpArea); }
.detail-report .rp-now { fill:none; stroke:#8fa2ff; stroke-width:2.2; vector-effect:non-scaling-stroke; stroke-linejoin:round; }
.detail-report .rp-prev { fill:none; stroke:#6b7390; stroke-width:1.4; stroke-dasharray:4 4; vector-effect:non-scaling-stroke; }
.detail-report .rp-days { display:grid !important; grid-template-columns:repeat(7,1fr); gap:0 !important; margin-top:4px; color:#6b7390; font-size:.62rem; text-align:center; }
.detail-report .rp-rank { margin:0; padding:0; list-style:none; display:grid; gap:7px; }
.detail-report .rp-rank li { display:grid; grid-template-columns:72px 1fr 52px; align-items:center; gap:10px; font-size:.74rem; }
.detail-report .rp-rank b { color:#d5dbeb; font-weight:700; }
.detail-report .rp-rank span { height:6px; border-radius:6px; background:rgba(255,255,255,.07); overflow:hidden; }
.detail-report .rp-rank span i { display:block; width:var(--w) !important; height:100% !important; border-radius:inherit; background:linear-gradient(90deg,#ff8f8f,#ffcf86) !important; }
.detail-report .rp-rank em { color:#ff9d9d; font-style:normal; font-weight:700; text-align:right; }
.detail-review > p { line-height:1.65; font-size:.84rem; }
.detail-review > strong { display:block; line-height:1.65 !important; }
.detail-review .rv-label { display:block; margin-bottom:6px; color:#9aabff; font-size:.7rem; font-weight:700; }
@media (max-width:640px) {
  .detail-report .rp-kpis b { font-size:.96rem; }
  .detail-report .rp-rank li { grid-template-columns:64px 1fr 46px; }
}
/* history (Since 2003) */
.fd-history { background:#fff; }
.fd-history-head { max-width:720px; }
.fd-history-head p { margin:20px 0 0; color:var(--ink-soft); font-size:1.05rem; line-height:1.7; word-break:keep-all; }
.fd-history-line { position:relative; display:grid; grid-template-columns:repeat(5,1fr); gap:18px; margin:64px 0 0; padding:0; list-style:none; }
.fd-history-line::before { content:""; position:absolute; top:7px; left:0; right:0; height:2px; background:linear-gradient(90deg,#d9deef,#8496CB 70%,#435BA8); }
.fd-history-line li { position:relative; padding-top:36px; word-break:keep-all; }
.fd-history-line li::before { content:""; position:absolute; top:0; left:0; width:16px; height:16px; border-radius:50%; background:#fff; border:3px solid #8496CB; box-sizing:border-box; }
.fd-history-line li.now::before { background:#435BA8; border-color:#435BA8; box-shadow:0 0 0 6px rgba(67,91,168,.15); }
.fd-history-line b { display:block; color:#435BA8; font-size:1.5rem; font-weight:800; letter-spacing:-.02em; }
.fd-history-line strong { display:block; margin-top:10px; font-size:1.02rem; line-height:1.4; }
.fd-history-line span { display:block; margin-top:8px; color:#697088; font-size:.9rem; line-height:1.55; }
@media (max-width:900px) {
  .fd-history-line { grid-template-columns:1fr; gap:26px; margin-top:44px; padding-left:34px; }
  .fd-history-line::before { top:4px; bottom:4px; left:7px; right:auto; width:2px; height:auto; background:linear-gradient(180deg,#d9deef,#8496CB 70%,#435BA8); }
  .fd-history-line li { padding-top:0; }
  .fd-history-line li::before { top:4px; left:-34px; }
  .fd-history-line b { font-size:1.25rem; }
}
/* AI capability detail UIs (xui) */
.ai-page .xui { justify-content:flex-start; gap:14px; padding:24px; font-size:.78rem; color:#c3cadc; }
.xui-head { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.xui-title { color:#8f99b0; font-size:.76rem; font-weight:600; }
.xui-badge { flex:none; padding:4px 9px; border-radius:8px; color:#b9c4ff; background:rgba(124,140,255,.12); font-size:.68rem; font-weight:700; }
.xui-badge.ok { color:#7fe0ad; background:rgba(110,231,164,.1); }
.xui-badge.warn { color:#ffcf86; background:rgba(255,207,134,.1); }
.xui-badge.star { color:#ffd27a; background:rgba(255,210,122,.08); letter-spacing:1px; }
.xui-label { display:flex; align-items:center; gap:6px; margin-bottom:7px; color:#77839f; font-size:.68rem; font-weight:700; }
.xui-kpis { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.xui-kpis.two { grid-template-columns:repeat(2,1fr); }
.xui-kpis > div { padding:10px 11px; border-radius:12px; border:1px solid rgba(255,255,255,.07); background:rgba(255,255,255,.03); }
.xui-kpis span { display:block; color:#77839f; font-size:.66rem; }
.xui-kpis b { display:block; margin:2px 0; color:#f5f7fc; font-size:1.06rem; font-weight:700; }
.xui-kpis em { font-size:.64rem; font-style:normal; font-weight:700; color:#8f99b0; }
.xui-kpis em.up { color:#6ee7a4; } .xui-kpis em.warn { color:#ffcf86; }
.xui-table { border-radius:12px; border:1px solid rgba(255,255,255,.07); background:rgba(255,255,255,.02); overflow:hidden; }
.xui-tr { display:grid; grid-template-columns:72px 1fr 56px; align-items:center; gap:12px; padding:10px 12px; border-top:1px solid rgba(255,255,255,.05); }
.xui-tr:first-child { border-top:0; }
.xui-th { padding:8px 12px; color:#646d86; font-size:.64rem; font-weight:700; }
.xui-tr > span:first-child { color:#d5dbeb; font-weight:600; }
.xui-th > span:first-child { color:#646d86; }
.xui-tr > b { color:var(--aix-cyan); text-align:right; font-weight:700; }
.xui-th > span:last-child { text-align:right; }
.xui-meter { position:relative; height:8px; border-radius:6px; background:rgba(255,255,255,.06); }
.xui-meter i { position:absolute; left:0; top:0; bottom:0; width:var(--w); border-radius:inherit; }
.xui-meter i.need { background:linear-gradient(90deg,rgba(99,120,255,.35),rgba(126,231,255,.55)); }
.xui-meter i.have { z-index:1; background:#e7ecff; box-shadow:0 0 10px rgba(231,236,255,.35); }
.xui-foot { display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; margin-top:auto; }
.xui-chips { display:flex; flex-wrap:wrap; gap:6px; }
.xui-chips span { padding:4px 8px; border-radius:7px; border:1px solid rgba(124,140,255,.2); color:#aab6ff; background:rgba(124,140,255,.06); font-size:.64rem; font-weight:600; }
.xui-btn { padding:8px 12px; border-radius:9px; color:#0b0e1b; background:linear-gradient(100deg,#c9d2ff,#8fa2ff); font-size:.68rem; font-weight:800; white-space:nowrap; }
.xui-note-txt { color:#8f99b0; font-size:.68rem; font-weight:600; }
/* note */
.xui-wave { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:10px; padding:9px 12px; border-radius:12px; border:1px solid rgba(255,255,255,.07); background:rgba(255,255,255,.03); }
.xui-wave > div { display:flex; align-items:center; gap:3px; height:24px; }
.xui-wave > div i { flex:1; height:var(--h); border-radius:2px; background:linear-gradient(180deg,#8fa2ff,#7ee7ff); opacity:.75; }
.xui-wave time { color:#8f99b0; font-size:.66rem; font-family:ui-monospace,monospace; }
.xui-rec { width:9px; height:9px; border-radius:50%; background:#ff7a7a; box-shadow:0 0 0 4px rgba(255,122,122,.15); }
.xui-block p { margin:0; color:#c3cadc; font-size:.76rem; line-height:1.6; }
.xui-check,.xui-tasks,.xui-rlist,.xui-flags { margin:0; padding:0; list-style:none; }
.xui-check li { position:relative; padding:3px 0 3px 20px; color:#d5dbeb; }
.xui-check li::before { content:""; position:absolute; left:0; top:6px; width:12px; height:12px; border-radius:4px; background:rgba(110,231,164,.18); }
.xui-check li::after { content:""; position:absolute; left:4px; top:8px; width:3px; height:6px; border:solid #6ee7a4; border-width:0 1.6px 1.6px 0; transform:rotate(45deg); }
.xui-tasks { display:grid; gap:6px; }
.xui-tasks li { display:grid; grid-template-columns:22px 1fr auto; align-items:center; gap:9px; padding:7px 10px; border-radius:10px; border:1px solid rgba(255,255,255,.06); background:rgba(255,255,255,.025); color:#d5dbeb; }
.xui-tasks time { color:#8f99b0; font-size:.66rem; font-family:ui-monospace,monospace; }
.xui-av { display:grid; place-items:center; width:22px; height:22px; border-radius:50%; color:#0b0e1b; background:#8fa2ff; font-size:.62rem; font-weight:800; }
.xui-av.b { background:#7ee7ff; } .xui-av.c { background:#b18cff; }
/* sales */
.xui-big { display:flex; align-items:baseline; gap:10px; }
.xui-big b { color:#ff9d9d; font-size:1.9rem; font-weight:800; letter-spacing:-.02em; }
.xui-big span { color:#8f99b0; font-size:.7rem; }
.xui-chart { padding:10px 12px 8px; border-radius:12px; border:1px solid rgba(255,255,255,.07); background:rgba(255,255,255,.02); }
.xui-legend { display:flex; gap:12px; margin-bottom:6px; color:#8f99b0; font-size:.64rem; }
.xui-legend span::before { content:""; display:inline-block; width:12px; height:6px; margin-right:5px; vertical-align:middle; border-radius:2px; }
.xui-chart .xui-legend .exp::before { background:rgba(143,162,255,.3); }
.xui-chart .xui-legend .act::before { height:2px; background:#ff8f8f; }
.xui-chart svg { display:block; width:100%; height:86px; overflow:visible; }
.xui-chart .band { fill:rgba(143,162,255,.14); }
.xui-chart polyline.exp { fill:none; stroke:#8fa2ff; stroke-width:1.2; stroke-dasharray:4 4; vector-effect:non-scaling-stroke; }
.xui-chart polyline.act { fill:none; stroke:#ff8f8f; stroke-width:2.2; stroke-linejoin:round; vector-effect:non-scaling-stroke; }
.xui-chart .dot { fill:#ffcf86; }
.xui-axis { display:flex; justify-content:space-between; margin-top:4px; color:#646d86; font-size:.6rem; }
.xui-factors { display:grid; gap:7px; }
.xui-factors .xui-label { margin-bottom:0; }
.xui-factor { display:grid; grid-template-columns:86px 1fr 40px; align-items:center; gap:10px; }
.xui-factor > span:first-child { color:#d5dbeb; }
.xui-factor b { text-align:right; font-weight:700; }
.xui-factor b.neg { color:#ff9d9d; } .xui-factor b.pos { color:#6ee7a4; }
.xui-bar { height:6px; border-radius:6px; background:rgba(255,255,255,.07); overflow:hidden; }
.xui-bar i { display:block; width:var(--w); height:100%; border-radius:inherit; }
.xui-bar.neg i { background:linear-gradient(90deg,#ff8f8f,#ffcf86); } .xui-bar.pos i { background:#6ee7a4; }
.xui-insight { display:flex; gap:9px; align-items:flex-start; padding:10px 12px; border-radius:12px; border:1px solid rgba(124,140,255,.22); background:rgba(124,140,255,.07); color:#dfe4ff; font-size:.74rem; line-height:1.55; }
.xui-spark { flex:none; display:inline-grid; place-items:center; height:18px; padding:0 6px; border-radius:6px; color:#0b0e1b; background:linear-gradient(100deg,#c9d2ff,#7ee7ff); font-size:.6rem; font-weight:800; }
/* risk */
.xui-risk-top { display:grid; grid-template-columns:140px 1fr; gap:14px; align-items:center; padding:12px; border-radius:12px; border:1px solid rgba(255,255,255,.07); background:rgba(255,255,255,.02); }
.xui-gauge { position:relative; text-align:center; }
.xui-gauge svg { display:block; width:100%; height:auto; }
.xui-gauge .track,.xui-gauge .val { fill:none; stroke-width:10; stroke-linecap:round; }
.xui-gauge .track { stroke:rgba(255,255,255,.08); }
.xui-gauge .val { stroke:#ffb86b; }
.xui-gauge b { position:absolute; left:0; right:0; top:34%; color:#fff; font-size:1.5rem; font-weight:800; }
.xui-gauge span { display:block; margin-top:-4px; color:#8f99b0; font-size:.62rem; }
.xui-level { display:inline-block; padding:3px 8px; border-radius:7px; color:#ffcf86; background:rgba(255,207,134,.1); font-size:.66rem; font-weight:800; }
.xui-risk-sum p { margin:7px 0 6px; color:#c3cadc; font-size:.74rem; line-height:1.5; }
.xui-risk-sum p b { color:#ffcf86; }
.xui-spark-line { display:block; width:100%; height:26px; }
.xui-spark-line polyline { fill:none; stroke:#ffb86b; stroke-width:2; stroke-linejoin:round; vector-effect:non-scaling-stroke; }
.xui-rlist { display:grid; gap:6px; }
.xui-rlist li { display:grid; grid-template-columns:70px 1fr auto; align-items:center; gap:10px; padding:8px 11px; border-radius:10px; border:1px solid rgba(255,255,255,.06); background:rgba(255,255,255,.025); }
.xui-rlist span { color:#d5dbeb; font-weight:600; }
.xui-rlist em { color:#8f99b0; font-style:normal; font-size:.7rem; }
.xui-rlist b { padding:2px 7px; border-radius:6px; font-size:.64rem; font-weight:800; }
.xui-rlist b.hi { color:#ff9d9d; background:rgba(255,143,143,.12); } .xui-rlist b.mid { color:#ffcf86; background:rgba(255,207,134,.1); }
/* purchase */
.xui-stack { display:grid; gap:7px; padding:10px 12px; border-radius:12px; border:1px solid rgba(255,255,255,.07); background:rgba(255,255,255,.02); }
.xui-stack .xui-legend { margin-bottom:2px; }
.xui-stack .xui-legend .hq::before { background:#6378ff; } .xui-stack .xui-legend .ext::before { background:#ffb86b; }
.xui-srow { display:grid; grid-template-columns:48px 1fr 34px; align-items:center; gap:10px; }
.xui-srow > span:first-child { color:#d5dbeb; }
.xui-srow b { color:#ffcf86; text-align:right; font-weight:700; }
.xui-sbar { height:8px; border-radius:6px; background:#ffb86b; overflow:hidden; }
.xui-sbar i { display:block; width:var(--w); height:100%; background:linear-gradient(90deg,#4f63e8,#8fa2ff); }
.xui-flags { display:grid; gap:6px; }
.xui-flags li { display:flex; gap:10px; align-items:flex-start; padding:9px 11px; border-radius:10px; border:1px solid rgba(255,207,134,.16); background:rgba(255,207,134,.04); }
.xui-flags b { display:block; color:#f5f7fc; font-size:.74rem; }
.xui-flags li span:not(.xui-flag) { display:block; margin-top:2px; color:#a6aec4; font-size:.7rem; }
.xui-flag { flex:none; display:grid; place-items:center; width:18px; height:18px; border-radius:50%; color:#0b0e1b; background:#ffcf86; font-size:.66rem; font-weight:900; }
/* review */
.xui-quote { margin:0; padding:12px 14px; border-left:2px solid rgba(143,162,255,.5); color:#d0d6e6; font-size:.8rem; line-height:1.65; background:rgba(255,255,255,.02); border-radius:0 10px 10px 0; }
.xui-tags { display:flex; flex-wrap:wrap; gap:6px; }
.xui-tags span { padding:3px 8px; border-radius:7px; font-size:.64rem; font-weight:700; }
.xui-tags .pos { color:#7fe0ad; background:rgba(110,231,164,.1); } .xui-tags .neg { color:#ff9d9d; background:rgba(255,143,143,.1); }
.xui-reply { padding:12px 14px; border-radius:12px; border:1px solid rgba(124,140,255,.22); background:rgba(124,140,255,.07); }
.xui-reply p { margin:0; color:#e6eaff; font-size:.78rem; line-height:1.65; }
@media (max-width:640px) {
  .ai-page .xui { padding:16px; gap:12px; }
  .xui-kpis { gap:6px; } .xui-kpis > div { padding:8px; } .xui-kpis b { font-size:.92rem; }
  .xui-tr { grid-template-columns:62px 1fr 50px; gap:8px; padding:9px 10px; }
  .xui-risk-top { grid-template-columns:104px 1fr; gap:10px; }
  .xui-rlist li { grid-template-columns:58px 1fr auto; gap:6px; }
  .xui-factor { grid-template-columns:76px 1fr 36px; gap:8px; }
  .xui-foot .xui-btn { width:100%; text-align:center; }
}
/* Sodam store dashboard (inside dv-phone, em-based so it scales with the phone) */
.dv-app.sd-app { padding:.5em .95em 0; }
.sd-bar { display:flex; align-items:center; gap:.55em; margin:0 -.95em; padding:.45em .95em .7em; border-bottom:1px solid rgba(21,26,46,.06); background:#fff; }
.sd-menu { display:grid; place-items:center; width:2.3em; height:2.3em; border-radius:.7em; color:#4a5068; background:#f1f3f7; }
.sd-menu svg { width:1.3em; height:1.3em; }
.sd-icon { display:grid; place-items:center; width:2.3em; height:2.3em; border-radius:.7em; color:#fff; background:#435BA8; font-size:1em; font-weight:800; }
.sd-who { display:flex; flex-direction:column; line-height:1.2; }
.sd-who small { color:#8a90a3; font-size:.68em; }
.sd-who b { font-size:.95em; font-weight:800; }
.sd-bell { position:relative; margin-left:auto; display:grid; place-items:center; width:2.1em; height:2.1em; border-radius:50%; background:#f1f3f7; color:#3b4157; }
.sd-bell svg { width:1.15em; height:1.15em; }
.sd-bell em { position:absolute; top:-.15em; right:-.15em; display:grid; place-items:center; min-width:1.2em; height:1.2em; border-radius:999px; color:#fff; background:#ef5a5a; font-size:.62em; font-style:normal; font-weight:800; }
.sd-hello { display:flex; flex-direction:column; margin:.9em 0 .75em; line-height:1.3; }
.sd-hello small { color:#7c8296; font-size:.72em; }
.sd-hello b { margin:.15em 0; font-size:1.32em; font-weight:800; letter-spacing:-.02em; }
.sd-hello span { color:#8a90a3; font-size:.7em; }
.sd-work { display:flex; align-items:center; justify-content:space-between; gap:.6em; padding:.8em .9em; border-radius:1em; background:#fff; box-shadow:0 .2em .8em rgba(35,45,105,.06); }
.sd-work small { display:block; color:#7c8296; font-size:.68em; }
.sd-work b { display:block; margin-top:.15em; font-size:.88em; font-weight:800; }
.sd-btn { flex:none; padding:.55em 1em; border-radius:.65em; color:#fff; background:#435BA8; font-size:.78em; font-weight:800; }
.sd-grid { display:grid; grid-template-columns:1fr 1fr; gap:.55em; margin-top:.6em; }
.sd-card { padding:.75em .8em; border-radius:1em; background:#fff; box-shadow:0 .2em .8em rgba(35,45,105,.06); }
.sd-card p { margin:0; color:#3b4157; font-size:.7em; font-weight:700; }
.sd-card > b { display:block; margin:.25em 0 .35em; font-size:1.25em; font-weight:800; letter-spacing:-.02em; }
.sd-card > b em { margin-left:.15em; color:#8a90a3; font-size:.55em; font-style:normal; font-weight:700; }
.sd-chip { display:inline-block; padding:.25em .5em; border-radius:.45em; color:#6b7186; background:#f1f3f7; font-size:.58em; font-weight:700; white-space:nowrap; }
.sd-chip.blue { color:#435BA8; background:#e9edfa; } .sd-chip.up { color:#1c8a55; background:#e6f6ee; } .sd-chip.warn { color:#b4621a; background:#fff1e3; }
.sd-trend { margin-top:.55em; }
.sd-trend p { display:flex; justify-content:space-between; }
.sd-trend p small { color:#9aa0b2; font-weight:600; }
.sd-trend svg { display:block; width:100%; height:3.6em; margin-top:.4em; }
.sd-trend .a { fill:rgba(67,91,168,.12); }
.sd-trend polyline { fill:none; stroke:#435BA8; stroke-width:2; stroke-linejoin:round; vector-effect:non-scaling-stroke; }
.sd-days { display:flex; justify-content:space-between; margin-top:.3em; color:#9aa0b2; font-size:.56em; }

/* Fdam web dashboard window */
.fdw { container-type:inline-size; overflow:hidden; border-radius:14px; background:#fff; box-shadow:0 24px 50px rgba(35,45,105,.16),0 0 0 1px rgba(35,45,105,.08); color:#151a2e; text-align:left; }
.fdw-bar { display:flex; align-items:center; gap:3cqw; padding:1.6cqw 2.4cqw; background:#f3f4f8; border-bottom:1px solid #e8eaf1; }
.fdw-dots { display:flex; gap:1cqw; } .fdw-dots i { width:1.7cqw; height:1.7cqw; border-radius:50%; background:#d6d9e3; }
.fdw-dots i:first-child { background:#ff8a80; } .fdw-dots i:nth-child(2) { background:#ffd27a; } .fdw-dots i:nth-child(3) { background:#7fdc9f; }
.fdw-url { flex:1; max-width:46cqw; padding:.7cqw 2cqw; border-radius:99px; background:#fff; color:#8a90a3; font-size:2.2cqw; }
.fdw-body { display:grid; grid-template-columns:9cqw 1fr; font-size:2.6cqw; line-height:1.35; }
.fdw-side { display:flex; flex-direction:column; align-items:center; gap:2.6cqw; padding:2.6cqw 0; background:#f7f8fc; border-right:1px solid #eceef4; }
.fdw-side img { width:6cqw; height:auto; margin-bottom:1cqw; }
.fdw-side span { display:grid; place-items:center; width:5.4cqw; height:5.4cqw; border-radius:1.4cqw; color:#9aa0b2; }
.fdw-side span.on { color:#fff; background:#435BA8; }
.fdw-side svg { width:3cqw; height:3cqw; fill:currentColor; }
.fdw-side span:not(:nth-child(2)) svg { fill:none; }
.fdw-main { padding:2.8cqw 3cqw 3cqw; background:#fbfbfe; min-width:0; }
.fdw-top { display:flex; align-items:center; gap:2cqw; }
.fdw-top > div { flex:1; min-width:0; }
.fdw-top small { display:block; color:#8a90a3; font-size:.78em; }
.fdw-top b { display:block; font-size:1.25em; font-weight:800; letter-spacing:-.02em; }
.fdw-search { display:flex; align-items:center; gap:1cqw; padding:1.1cqw 2cqw; border-radius:99px; border:1px solid #e3e6ef; color:#9aa0b2; background:#fff; font-size:.8em; }
.fdw-search svg { width:2.4cqw; height:2.4cqw; }
.fdw-av { display:grid; place-items:center; width:5.4cqw; height:5.4cqw; border-radius:50%; color:#fff; background:#8496CB; font-size:.72em; font-weight:800; }
.fdw-kpis { display:grid; grid-template-columns:repeat(4,1fr); gap:1.6cqw; margin-top:2.4cqw; }
.fdw-kpis > div { padding:1.8cqw 2cqw; border-radius:2cqw; background:#fff; border:1px solid #eceef4; }
.fdw-kpis small { display:block; color:#8a90a3; font-size:.72em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.fdw-kpis b { display:block; margin:.3cqw 0; font-size:1.45em; font-weight:800; letter-spacing:-.02em; }
.fdw-kpis b em { margin-left:.3cqw; color:#9aa0b2; font-size:.55em; font-style:normal; }
.fdw-kpis span { display:block; color:#8a90a3; font-size:.68em; font-weight:700; white-space:nowrap; }
.fdw-kpis span.up { color:#1c8a55; } .fdw-kpis span.warn { color:#c26a1c; }
.fdw-panels { display:grid; grid-template-columns:1.05fr 1fr; gap:1.6cqw; margin-top:1.6cqw; }
.fdw-card { padding:2cqw 2.2cqw; border-radius:2cqw; background:#fff; border:1px solid #eceef4; min-width:0; }
.fdw-card p { display:flex; align-items:center; gap:1cqw; margin:0 0 1.2cqw; font-size:.86em; font-weight:800; }
.fdw-card p small { margin-left:auto; color:#9aa0b2; font-size:.82em; font-weight:600; }
.fdw-card svg { display:block; width:100%; height:12cqw; }
.fdw-card .a { fill:rgba(67,91,168,.12); } .fdw-card .l { fill:none; stroke:#435BA8; stroke-width:2; vector-effect:non-scaling-stroke; }
.fdw-bars { display:flex; align-items:flex-end; gap:1cqw; height:6cqw; margin-top:1cqw; }
.fdw-bars i { flex:1; height:var(--h); border-radius:.6cqw .6cqw 0 0; background:#c9d1ee; }
.fdw-bars i:last-child { background:#435BA8; }
.fdw-live { width:1.6cqw; height:1.6cqw; border-radius:50%; background:#2fbf71; box-shadow:0 0 0 .8cqw rgba(47,191,113,.15); }
.fdw-feed { margin:0; padding:0; list-style:none; display:grid; gap:1.3cqw; }
.fdw-feed li { display:grid; grid-template-columns:1.6cqw 1fr auto; grid-template-rows:auto auto; column-gap:1.4cqw; align-items:center; padding:1.2cqw 1.4cqw; border-radius:1.4cqw; background:#f7f8fc; }
.fdw-feed i { grid-column:1; grid-row:1 / 3; width:1.6cqw; height:1.6cqw; border-radius:50%; background:#435BA8; }
.fdw-feed i.red { background:#e5484d; } .fdw-feed i.amber { background:#f0a43a; } .fdw-feed i.green { background:#2fbf71; } .fdw-feed i.blue { background:#435BA8; }
.fdw-feed b { grid-column:2; grid-row:1; font-size:.78em; font-weight:800; }
.fdw-feed time { grid-column:3; grid-row:1; justify-self:end; color:#9aa0b2; font-size:.66em; }
.fdw-feed span { grid-column:2 / 4; grid-row:2; color:#6b7186; font-size:.7em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

/* Dashboard pair cards */
.dash-pair { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:32px; }
.dash-card { display:flex; flex-direction:column; overflow:hidden; border:1px solid var(--line); border-radius:22px; background:#fff; }
.dash-copy { padding:26px 26px 20px; }
.dash-copy > span { display:inline-block; padding:4px 10px; border-radius:8px; color:#435BA8; background:#eef1fb; font-size:.74rem; font-weight:800; }
.article .dash-copy h3,.dash-copy h3 { margin:12px 0 8px; font-size:1.35rem; line-height:1.3; }
.dash-copy p { margin:0; color:#5a6075; font-size:.92rem; line-height:1.65; word-break:keep-all; }
.dash-visual { position:relative; flex:1; min-height:350px; overflow:hidden; background:radial-gradient(90% 80% at 80% 0%,rgba(132,150,203,.28),transparent 60%),linear-gradient(180deg,#eef1fb,#e3e8f8); }
.dash-visual-fdam .fdw { position:absolute; left:22px; top:26px; width:calc(100% + 60px); max-width:none; }
.dash-visual-sodam .dv-phone { position:absolute; left:50%; top:24px; width:230px; transform:translateX(-50%); }
.dash-visual-sodam .dv-phone .dv-phone-screen { height:auto; }
.dash-visual::after { content:""; position:absolute; left:0; right:0; bottom:0; height:60px; background:linear-gradient(180deg,rgba(227,232,248,0),#e3e8f8); pointer-events:none; }

/* QSCV */
.qscv-wrap { display:grid; grid-template-columns:.9fr 1.1fr; gap:16px; margin:30px 0 16px; align-items:stretch; }
.qscv-legend { margin:0; padding:0; list-style:none; display:grid; gap:10px; }
.qscv-legend li { display:grid; grid-template-columns:42px 1fr; gap:14px; align-items:center; padding:16px 18px; border:1px solid var(--line); border-radius:18px; background:#fff; }
.qscv-legend li > b { display:grid; place-items:center; width:42px; height:42px; border-radius:13px; color:#fff; background:#435BA8; font-size:1.1rem; font-weight:800; }
.qscv-legend li:nth-child(2) > b { background:#5b70b9; } .qscv-legend li:nth-child(3) > b { background:#6f82c3; } .qscv-legend li:nth-child(4) > b { background:#8496CB; }
.article .qscv-legend h3,.qscv-legend h3 { margin:0 0 3px; font-size:.98rem; line-height:1.35; }
.qscv-legend p,.article .qscv-legend p { margin:0; color:#5a6075; font-size:.84rem; line-height:1.5; }
.qscv-ui { display:flex; flex-direction:column; gap:14px; padding:22px; border-radius:20px; background:linear-gradient(180deg,#f3f5fc,#eaeef9); border:1px solid rgba(67,91,168,.12); }
.qscv-head { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.qscv-head small { display:block; color:#7c8296; font-size:.74rem; }
.qscv-head b { display:block; margin-top:2px; font-size:1.15rem; font-weight:800; }
.qscv-total { display:grid; place-items:center; width:62px; height:62px; border-radius:50%; background:conic-gradient(#435BA8 0 84%,#d7ddf0 84% 100%); position:relative; }
.qscv-total::before { content:""; position:absolute; inset:6px; border-radius:50%; background:#f1f3fb; }
.qscv-total b,.qscv-total small { position:relative; margin:0; line-height:1; }
.qscv-total b { font-size:1.15rem; } .qscv-total small { margin-top:-14px; color:#7c8296; font-size:.62rem; }
.qscv-total { grid-template-rows:auto auto; align-content:center; gap:16px; }
.qscv-rows { display:grid; gap:9px; padding:14px 16px; border-radius:14px; background:#fff; }
.qscv-rows > div { display:grid; grid-template-columns:66px 1fr 28px; align-items:center; gap:10px; font-size:.8rem; }
.qscv-rows span:first-child { color:#3b4157; font-weight:700; }
.qscv-rows b { text-align:right; font-weight:800; }
.qscv-bar { height:8px; border-radius:6px; background:#edf0f7; overflow:hidden; }
.qscv-bar i { display:block; width:var(--w); height:100%; border-radius:inherit; background:linear-gradient(90deg,#8496CB,#435BA8); }
.qscv-rows .low b { color:#d0632a; } .qscv-rows .low .qscv-bar i { background:linear-gradient(90deg,#ffc58a,#f0843a); }
.qscv-req { padding:14px 16px; border-radius:14px; background:#fff; border:1px solid rgba(240,132,58,.25); }
.qscv-req-top { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.qscv-tag { padding:3px 8px; border-radius:7px; color:#c25a1c; background:#fff1e3; font-size:.7rem; font-weight:800; }
.qscv-req-top b { font-size:.86rem; font-weight:800; }
.qscv-req-top time { margin-left:auto; color:#7c8296; font-size:.74rem; }
.qscv-steps { display:grid; grid-template-columns:repeat(4,1fr); margin:14px 0 10px; padding:0; list-style:none; counter-reset:st; }
.qscv-steps li { position:relative; padding-top:20px; color:#9aa0b2; font-size:.72rem; font-weight:700; text-align:center; }
.qscv-steps li::before { content:""; position:absolute; top:0; left:50%; width:12px; height:12px; margin-left:-6px; border-radius:50%; background:#d7ddf0; z-index:1; }
.qscv-steps li::after { content:""; position:absolute; top:5px; left:-50%; width:100%; height:2px; background:#d7ddf0; }
.qscv-steps li:first-child::after { display:none; }
.qscv-steps li.done,.qscv-steps li.now { color:#435BA8; }
.qscv-steps li.done::before { background:#435BA8; } .qscv-steps li.done::after,.qscv-steps li.now::after { background:#435BA8; }
.qscv-steps li.now::before { background:#fff; border:3px solid #f0843a; box-sizing:border-box; }
.qscv-steps li.now { color:#c25a1c; }
.qscv-req p,.article .qscv-req p { margin:0; color:#6b7186; font-size:.78rem; line-height:1.55; }

/* sales: channel head is now an h3 */
.channel-group-head h3,.article .channel-group-head h3 { margin:0; color:var(--blue); font-size:.78rem; line-height:1.4; font-weight:700; }

@media (max-width:900px) {
  .qscv-wrap { grid-template-columns:1fr; }
}
@media (max-width:760px) {
  .dash-pair { grid-template-columns:1fr; }
  .dash-copy { padding:20px 20px 16px; }
  .dash-visual { min-height:330px; }
  .dash-visual-fdam .fdw { left:18px; width:calc(100% + 40px); }
}
@media (max-width:640px) {
  .qscv-ui { padding:16px; }
  .qscv-rows { padding:12px; }
  .qscv-legend li { padding:14px; gap:12px; }
}

/* hero living gradient */
.hero-aurora { position:absolute; inset:-8%; width:116%; height:116%; z-index:0; pointer-events:none; filter:blur(14px) saturate(1.1); opacity:0; transition:opacity 1.4s ease; }
.hero-aurora.is-ready { opacity:1; }
.hero::before { opacity:0; }
.hero-grid { opacity:.22; }
/* onboarding flow v2: sources → Fdam hub → outputs, with data packets travelling the wires */
.ob-flow { grid-template-columns:1fr 76px auto 76px 1fr; padding:30px 24px 34px; background:radial-gradient(80% 70% at 50% 50%,rgba(132,150,203,.22),transparent 70%),linear-gradient(145deg,#f4f6fd,#eeeafb); }
.ob-col > small { margin-bottom:14px; letter-spacing:.02em; }
.ob-sources > div,.ob-outputs > div { gap:14px; }
.ob-src,.ob-out { position:relative; display:grid; grid-template-columns:34px 1fr auto; align-items:center; gap:10px; height:64px; padding:0 12px; border-radius:16px; background:#fff; box-shadow:0 10px 24px rgba(53,59,112,.08),inset 0 0 0 1px rgba(83,88,135,.06); text-align:left; }
.ob-sources .ob-src { padding:0 12px; color:inherit; font-size:inherit; font-weight:inherit; }
.ob-outputs .ob-out { border-left:0; padding:0 12px; }
.ob-ic { display:grid; place-items:center; width:34px; height:34px; border-radius:11px; color:#435BA8; background:#eef1fb; }
.ob-ic svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.ob-out .ob-ic { color:#fff; background:linear-gradient(135deg,#8496CB,#435BA8); }
.ob-src-txt,.ob-out-txt { display:flex; flex-direction:column; min-width:0; line-height:1.3; }
.ob-src-txt b,.ob-out-txt b { color:#1f2540; font-size:.9rem; font-weight:800; }
.ob-src-txt small,.ob-out-txt small { margin-top:2px; color:#8a90a6; font-size:.7rem; font-weight:600; white-space:nowrap; }
.ob-mini { display:flex; align-items:flex-end; gap:3px; height:22px; }
.ob-mini i { width:4px; height:var(--h); border-radius:2px; background:#c9d1ee; }
.ob-mini.up i:last-child,.ob-src .ob-mini i:last-child { background:#8496CB; }
.ob-mini.up i { background:#d6dcf3; } .ob-mini.up i:last-child { background:#435BA8; }
.ob-tag { padding:4px 8px; border-radius:8px; color:#c25a1c; background:#fff1e3; font-size:.66rem; font-weight:800; }
.ob-tag.dot { display:grid; place-items:center; min-width:22px; height:22px; padding:0; border-radius:999px; color:#fff; background:#435BA8; }
/* wires */
.ob-wires { width:76px; height:232px; align-self:end; margin-bottom:0; overflow:visible; }
.ob-col { align-self:end; }
.ob-wires path { stroke:#c3cbec; stroke-width:1.6; stroke-dasharray:none; animation:none; vector-effect:none; }
.ob-packets circle { fill:#5f74c8; filter:drop-shadow(0 0 4px rgba(95,116,200,.75)); }
.ob-out .ob-packets circle { fill:#435BA8; }
/* hub */
.ob-hub { align-self:end; margin-bottom:50px; gap:10px; padding:22px 20px 18px; border-radius:26px; overflow:visible; }
.ob-hub-ring { inset:-7px; border-radius:32px; border:0; background:conic-gradient(from 0deg,rgba(132,150,203,0),rgba(132,150,203,.9),rgba(67,91,168,.9),rgba(132,150,203,0) 60%); -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask-composite:exclude; padding:2px; animation:obSpin 4s linear infinite; }
.ob-hub-glow { position:absolute; inset:-30px; z-index:-1; border-radius:50%; background:radial-gradient(circle,rgba(132,150,203,.35),transparent 65%); animation:obBreath 3.2s ease-in-out infinite; pointer-events:none; }
.ob-hub img { width:92px; }
.ob-hub small { margin-top:-2px; }
.ob-checks { margin:4px 0 0; padding:10px 0 0; list-style:none; display:grid; gap:5px; border-top:1px solid #eef0f7; width:100%; }
.ob-checks li { position:relative; padding-left:18px; color:#4a5068; font-size:.7rem; font-weight:700; white-space:nowrap; }
.ob-checks li::before { content:""; position:absolute; left:0; top:50%; width:12px; height:12px; margin-top:-6px; border-radius:50%; background:#e6ebfa; }
.ob-checks li::after { content:""; position:absolute; left:4px; top:50%; width:3px; height:6px; margin-top:-4.5px; border:solid #435BA8; border-width:0 1.6px 1.6px 0; transform:rotate(45deg); }
@keyframes obSpin { to { transform:rotate(360deg); } }
@keyframes obBreath { 0%,100% { opacity:.55; transform:scale(.94); } 50% { opacity:1; transform:scale(1.04); } }

/* steps: the track fills left to right and each number lights up as it is reached */
.ob-steps-head { margin-top:84px; }
.ob-steps::before { opacity:1; background:#e3e7f6; }
.ob-steps::after { content:""; position:absolute; left:22px; right:22px; top:22px; height:2px; transform-origin:left; transform:scaleX(0); background:linear-gradient(90deg,#8496CB,#435BA8); background-size:200% 100%; transition:transform 1.5s cubic-bezier(.6,0,.2,1) .15s; }
.ob-steps.is-visible::after { transform:scaleX(1); animation:obTrack 2.4s linear 1.7s infinite; }
@keyframes obTrack { from { background-position:200% 0; } to { background-position:0 0; } }
.ob-steps li > span,.ob-steps li:first-child > span { color:#8496CB; background:#fff; box-shadow:0 0 0 2px #dfe3f5; transition:background .45s ease,color .45s ease,box-shadow .45s ease,transform .45s ease; transition-delay:calc(.2s + var(--stagger,0) * .42s); }
.ob-steps.is-visible li > span { color:#fff; transform:scale(1); }
.ob-steps.is-visible li:nth-child(1) > span { background:#8496CB; box-shadow:0 8px 18px rgba(132,150,203,.35); }
.ob-steps.is-visible li:nth-child(2) > span { background:#7083c2; box-shadow:0 8px 18px rgba(112,131,194,.35); }
.ob-steps.is-visible li:nth-child(3) > span { background:#5a6fb6; box-shadow:0 8px 18px rgba(90,111,182,.35); }
.ob-steps.is-visible li:nth-child(4) > span { background:#435BA8; box-shadow:0 8px 20px rgba(67,91,168,.42),0 0 0 6px rgba(67,91,168,.1); }
.ob-steps li:not(:last-child) > span::after { content:""; position:absolute; left:calc(100% + 8px); top:50%; width:7px; height:7px; margin-top:-4px; border:solid #c3cbec; border-width:2px 2px 0 0; transform:rotate(45deg); }
.ob-steps.is-visible li:not(:last-child) > span::after { border-color:#8496CB; transition:border-color .3s ease calc(.4s + var(--stagger,0) * .42s); }

@media (max-width:760px) {
  .ob-flow { grid-template-columns:1fr; padding:22px 14px 24px; }
  .ob-col,.ob-hub { align-self:auto; }
  .ob-hub { margin:16px auto; }
  .ob-hub-glow { inset:-18px; }
  .ob-sources > div,.ob-outputs > div { grid-template-columns:1fr; gap:8px; }
  .ob-src,.ob-out { height:56px; }
  .ob-wires { display:none; }
  .ob-steps::after { display:none; }
  .ob-steps li:not(:last-child) > span::after { display:none; }
  .ob-steps li::before { background:#e3e7f6; }
  .ob-steps.is-visible li:not(:last-child)::before { background:linear-gradient(180deg,#8496CB,#435BA8); transition:background .4s ease calc(.4s + var(--stagger,0) * .42s); }
  .ob-steps-head { margin-top:52px; }
}
@media (prefers-reduced-motion:reduce) {
  .ob-hub-ring,.ob-hub-glow,.ob-steps.is-visible::after { animation:none !important; }
  .ob-packets { display:none; }
  .ob-steps::after,.ob-steps li > span { transition:none !important; }
}

/* onboarding v2 fixes: older span rules no longer leak into card internals; ring drawn inside a clipped frame */
.ob-sources .ob-src span,.ob-outputs .ob-out span { padding:0; border:0; border-radius:0; background:none; box-shadow:none; text-align:left; }
.ob-outputs .ob-out .ob-tag { padding:4px 8px; border-radius:8px; background:#fff1e3; }
.ob-outputs .ob-out .ob-tag.dot { padding:0; border-radius:999px; background:#435BA8; }
.ob-wires-out .ob-packets circle { fill:#435BA8; }
.ob-hub { isolation:isolate; }
.ob-hub-ring { inset:-2px; z-index:-1; border-radius:28px; overflow:hidden; padding:0; background:#dfe4f6; -webkit-mask:none; mask:none; animation:none; }
.ob-hub-ring::before { content:""; position:absolute; left:50%; top:50%; width:220%; aspect-ratio:1; transform:translate(-50%,-50%); background:conic-gradient(from 0deg,transparent 0 55%,#8496CB 75%,#435BA8 88%,transparent 100%); animation:obSpinC 3.6s linear infinite; }
@keyframes obSpinC { to { transform:translate(-50%,-50%) rotate(360deg); } }
@media (prefers-reduced-motion:reduce) { .ob-hub-ring::before { animation:none; } }

/* hub face sits above the spinning ring so only a thin animated rim shows */
.ob-hub-face { position:absolute; inset:0; z-index:-1; border-radius:26px; background:#fff; }
.ob-outputs .ob-out,.ob-sources .ob-src { border:0; }
.ob-outputs .ob-out { grid-template-columns:34px 1fr auto; }
.ob-out-txt small { white-space:normal; }
/* Fdam web report screen inside the laptop (modelled on the real report layout) */
.dv-display.fw { grid-template-columns:7% 17% 1fr; background:#f5f6fa; font-size:1.25cqw; }
.fw-rail { display:flex; flex-direction:column; align-items:center; gap:.7em; padding:.9em 0; background:#fff; border-right:1px solid #eceef4; }
.fw-rail img { width:62%; height:auto; margin-bottom:.4em; }
.fw-rail span { display:flex; flex-direction:column; align-items:center; gap:.15em; width:86%; padding:.35em 0; border-radius:.5em; color:#8a90a3; }
.fw-rail span svg { width:1.35em; height:1.35em; }
.fw-rail span i { font-style:normal; font-size:.62em; font-weight:600; white-space:nowrap; }
.fw-rail span.on { color:#fff; background:#435BA8; }
.fw-menu { display:flex; flex-direction:column; gap:.15em; padding:.9em .7em; background:#fff; border-right:1px solid #eceef4; }
.fw-menu-h { margin:0 0 .4em; padding:0 .4em; color:#151a2e; font-size:.9em; font-weight:800; }
.fw-menu span { padding:.42em .5em; border-radius:.45em; color:#3b4157; font-size:.74em; font-weight:600; white-space:nowrap; }
.fw-menu span.grp { position:relative; color:#3b4157; }
.fw-menu span.grp::after { content:"›"; position:absolute; right:.5em; color:#9aa0b2; }
.fw-menu span.grp.open::after { transform:rotate(90deg); }
.fw-menu span.grp.open { color:#435BA8; background:#eef1fb; }
.fw-menu span.sub { padding-left:1.3em; color:#6b7186; font-weight:500; }
.fw-menu span.sub.on { color:#435BA8; background:#eef1fb; font-weight:700; }
.fw-main { display:flex; flex-direction:column; gap:.55em; padding:0 .9em .9em; min-width:0; }
.fw-tabs { display:flex; gap:.2em; margin:0 -.9em; padding:.45em .9em; background:#fff; border-bottom:1px solid #eceef4; overflow:hidden; }
.fw-tabs span { padding:.3em .6em; border-radius:.4em; color:#6b7186; font-size:.66em; font-weight:600; white-space:nowrap; }
.fw-tabs span.on { color:#435BA8; background:#eef1fb; font-weight:800; }
.fw-crumb { display:flex; align-items:center; gap:.35em; color:#8a90a3; font-size:.66em; }
.fw-crumb i { font-style:normal; color:#b4b9c8; }
.fw-crumb b { color:#151a2e; }
.fw-period { margin-left:auto; padding:.25em .6em; border-radius:.4em; background:#fff; border:1px solid #e6e8ef; color:#3b4157; }
.fw-subtabs { display:flex; gap:1em; border-bottom:1px solid #e6e8ef; }
.fw-subtabs span { padding:0 .1em .35em; color:#8a90a3; font-size:.7em; font-weight:600; }
.fw-subtabs span.on { color:#435BA8; box-shadow:inset 0 -.15em #435BA8; font-weight:800; }
.fw-kpis { display:grid; grid-template-columns:repeat(5,1fr); gap:.45em; }
.fw-kpis div { padding:.55em .6em; border-radius:.55em; background:#fff; border:1px solid #eceef4; }
.fw-kpis small { display:block; color:#8a90a3; font-size:.6em; }
.fw-kpis b { display:block; margin-top:.15em; color:#151a2e; font-size:.95em; font-weight:800; letter-spacing:-.02em; white-space:nowrap; }
.fw-kpis b.blue { color:#435BA8; } .fw-kpis b.red { color:#e5484d; }
.fw-row { display:grid; grid-template-columns:1.45fr 1fr; gap:.45em; }
.fw-card { padding:.55em .65em; border-radius:.55em; background:#fff; border:1px solid #eceef4; min-width:0; }
.fw-card p { display:flex; justify-content:space-between; margin:0 0 .35em; color:#151a2e; font-size:.66em; font-weight:800; }
.fw-card p small { color:#9aa0b2; font-weight:600; }
.fw-trend svg { display:block; width:100%; height:5.2em; }
.fw-trend .a { fill:rgba(67,91,168,.12); } .fw-trend .l { fill:none; stroke:#435BA8; stroke-width:1.6; vector-effect:non-scaling-stroke; }
.fw-share > div { display:flex; align-items:center; gap:.8em; height:5.2em; }
.fw-donut { flex:none; width:4.6em; height:4.6em; border-radius:50%; background:radial-gradient(circle,#fff 52%,transparent 53%),conic-gradient(#435BA8 0 52%,#8496CB 52% 90%,#c9d1ee 90% 100%); }
.fw-share ul { flex:1; margin:0; padding:0; list-style:none; display:grid; gap:.3em; }
.fw-share li { display:flex; align-items:center; gap:.35em; color:#3b4157; font-size:.62em; }
.fw-share li i { width:.7em; height:.7em; border-radius:.2em; }
.fw-share li i.c1 { background:#435BA8; } .fw-share li i.c2 { background:#8496CB; } .fw-share li i.c3 { background:#c9d1ee; }
.fw-share li b { margin-left:auto; color:#151a2e; }
.fw-hours { display:flex; align-items:flex-end; gap:.12em; height:3.4em; border-bottom:1px solid #eceef4; }
.fw-hours i { flex:1; height:var(--h); border-radius:.15em .15em 0 0; background:#5fb8e8; }
.fw-days { display:flex; align-items:flex-end; gap:.35em; height:3.4em; border-bottom:1px solid #eceef4; }
.fw-days span { flex:1; display:flex; flex-direction:column; justify-content:flex-end; align-items:center; height:100%; }
.fw-days i { width:100%; height:var(--h); border-radius:.15em .15em 0 0; background:#7c83e8; }
.fw-days em { position:absolute; display:none; }

/* Sodam AI order-recommendation list inside the phone */
.sd-recs .sd-crumb { display:flex; align-items:center; gap:.35em; margin:0 -.95em; padding:.55em .95em; background:#fff; border-bottom:1px solid rgba(21,26,46,.06); color:#7c8296; font-size:.68em; }
.sd-recs .sd-crumb i { font-style:normal; color:#b4b9c8; }
.sd-recs .sd-crumb b { color:#151a2e; }
.sd-title { display:flex; flex-direction:column; margin:.8em 0 .6em; }
.sd-title b { font-size:1.18em; font-weight:800; letter-spacing:-.02em; }
.sd-title span { margin-top:.3em; color:#7c8296; font-size:.64em; line-height:1.5; }
.sd-rec { margin-top:.5em; padding:.7em .8em; border-radius:.9em; background:#fff; border:1px solid #eceef4; }
.sd-rec.now { border-color:rgba(67,91,168,.35); box-shadow:0 .4em 1em rgba(67,91,168,.12); }
.sd-rec-top { display:flex; align-items:center; justify-content:space-between; }
.sd-rec-top time { color:#9aa0b2; font-size:.6em; }
.sd-rec > b { display:block; margin:.35em 0 .2em; font-size:.92em; font-weight:800; }
.sd-rec-foot { display:flex; align-items:center; justify-content:space-between; gap:.4em; }
.sd-rec-foot small { color:#8a90a3; font-size:.6em; }
.sd-rec-foot em { color:#435BA8; font-size:.6em; font-style:normal; font-weight:800; text-decoration:underline; text-underline-offset:.2em; white-space:nowrap; }
.sd-chip.green { color:#1c8a55; background:#e6f6ee; }

/* Onboarding flow, calmer: plain cards, thin wires, one slow packet per wire, quiet hub */
.ob-flow { background:linear-gradient(145deg,#f5f6fc,#f1eefb); }
.ob-mini,.ob-tag,.ob-checks,.ob-hub-glow,.ob-out .ob-tag { display:none !important; }
.ob-src,.ob-out { height:58px; grid-template-columns:30px 1fr; gap:10px; box-shadow:0 4px 14px rgba(53,59,112,.06),inset 0 0 0 1px rgba(83,88,135,.06); }
.ob-outputs .ob-out { grid-template-columns:30px 1fr; }
.ob-ic { width:30px; height:30px; border-radius:9px; }
.ob-ic svg { width:16px; height:16px; }
.ob-out .ob-ic { color:#435BA8; background:#eef1fb; }
.ob-src-txt b,.ob-out-txt b { font-size:.86rem; font-weight:700; }
.ob-wires path { stroke:#d3d9f1; stroke-width:1.3; }
.ob-packets circle { r:2.4; fill:#8496CB; filter:none; opacity:.9; }
.ob-wires-out .ob-packets circle { fill:#435BA8; }
.ob-packets circle:nth-child(even) { display:none; }
.ob-hub { margin-bottom:62px; padding:20px 22px 16px; box-shadow:0 12px 30px rgba(53,59,112,.12); }
.ob-hub-ring { display:none; }
.ob-hub-face { box-shadow:inset 0 0 0 1px rgba(67,91,168,.12); }
.ob-hub img { width:84px; }

.fw-trend svg,.fw-share > div { height:4.3em; }
.fw-donut { width:4em; height:4em; }
.fw-hours,.fw-days { height:2.7em; }
.fw-main { gap:.48em; }

/* let the two chart rows share the remaining screen height */
.fw-main { padding-bottom:.9em; }
.fw-row { flex:1; min-height:0; }
.fw-card { display:flex; flex-direction:column; }
.fw-trend svg { flex:1; height:auto; min-height:3em; }
.fw-share > div { flex:1; height:auto; }
.fw-donut { width:5.4em; height:5.4em; }
.fw-hours,.fw-days { flex:1; height:auto; min-height:2.5em; }

/* charts keep a natural height; a store table fills the rest of the screen */
.fw-row { flex:none; }
.fw-trend svg { flex:none; height:5em; }
.fw-share > div { flex:none; height:5em; }
.fw-donut { width:4.4em; height:4.4em; }
.fw-hours,.fw-days { flex:none; height:3.4em; }
.fw-table { flex:1; min-height:0; padding:.55em .65em; border-radius:.55em; background:#fff; border:1px solid #eceef4; }
.fw-table p { margin:0 0 .3em; color:#151a2e; font-size:.66em; font-weight:800; }
.fw-tr { display:grid; grid-template-columns:1.4fr 1fr 1fr .8fr; padding:.32em 0; border-top:1px solid #f0f1f6; color:#3b4157; font-size:.62em; }
.fw-tr.th { border-top:0; color:#9aa0b2; font-weight:600; }
.fw-tr span:not(:first-child) { text-align:right; }
.fw-tr .up { color:#1c8a55; font-weight:700; } .fw-tr .dn { color:#e5484d; font-weight:700; }

.fw-table { display:flex; flex-direction:column; }
.fw-tr { flex:1; align-items:center; max-height:2.6em; }
.fw-tr.th { flex:none; }

.fw-trend svg,.fw-share > div { height:7em; }
.fw-donut { width:5.6em; height:5.6em; }
.fw-hours,.fw-days { height:5em; }
.fw-table { flex:none; }
.fw-tr { flex:none; padding:.42em 0; }
/* Sodam page / Definition: wide store-split with PC order screen + phone */
.store-split.store-split-wide { grid-template-columns:1fr; gap:26px; padding:34px 34px 40px; }
.store-split-wide > div:first-child { max-width:560px; }
.sp-stage.dv-stage-store { aspect-ratio:1.5; }
.sp-stage .sp-browser { top:2%; width:86%; }
.sp-stage .dv-phone { width:27%; right:0; bottom:0; }
.sp-stage .dv-notice { z-index:3; width:min(270px,44%); }
.sp-stage .dv-notice.n1 { left:auto; right:24%; top:-2%; }
.sp-stage .dv-notice.n2 { right:auto; left:-2%; bottom:-4%; }

.sp-body { display:grid; grid-template-columns:7% 15% 1fr 21%; aspect-ratio:16/10; background:#f6f7fa; color:#151a2e; font-size:1.42cqw; line-height:1.35; text-align:left; letter-spacing:0; }
.sp-rail { display:flex; flex-direction:column; align-items:center; gap:.55em; padding:.8em 0; background:#fff; border-right:1px solid #eceef4; }
.sp-logo { display:grid; place-items:center; width:2.2em; height:2.2em; margin-bottom:.3em; border-radius:.6em; color:#fff; background:#435BA8; font-weight:800; }
.sp-rail span:not(.sp-logo) { display:flex; flex-direction:column; align-items:center; gap:.1em; width:84%; padding:.3em 0; border-radius:.5em; color:#8a90a3; }
.sp-rail svg { width:1.25em; height:1.25em; }
.sp-rail i { font-style:normal; font-size:.56em; font-weight:600; white-space:nowrap; }
.sp-rail span.on { color:#fff; background:#435BA8; }
.sp-menu { display:flex; flex-direction:column; gap:.1em; padding:.8em .6em; background:#fff; border-right:1px solid #eceef4; }
.sp-menu p { display:flex; flex-direction:column; margin:0 0 .6em; padding:0 .4em; line-height:1.25; }
.sp-menu p small { color:#8a90a3; font-size:.6em; } .sp-menu p b { font-size:.86em; font-weight:800; }
.sp-menu span { padding:.45em .5em; border-radius:.45em; color:#3b4157; font-size:.7em; font-weight:600; white-space:nowrap; }
.sp-menu span.on { color:#435BA8; background:#eef1fb; font-weight:800; }
.sp-menu span.ai::after { content:"AI"; margin-left:.4em; padding:0 .35em; border-radius:.3em; color:#fff; background:#435BA8; font-size:.8em; }
.sp-main { display:flex; flex-direction:column; gap:.55em; padding:.7em .9em; min-width:0; overflow:hidden; }
.sp-crumb { color:#8a90a3; font-size:.62em; } .sp-crumb i { font-style:normal; color:#b4b9c8; margin:0 .2em; } .sp-crumb b { color:#151a2e; }
.sp-title { display:flex; flex-direction:column; line-height:1.2; }
.sp-title small { color:#435BA8; font-size:.6em; font-weight:700; } .sp-title b { font-size:1.18em; font-weight:800; letter-spacing:-.02em; }
.sp-search { padding:.55em .8em; border-radius:.5em; background:#eef0f5; color:#9aa0b2; font-size:.64em; }
.sp-ai { display:flex; align-items:center; gap:.6em; padding:.55em .7em; border-radius:.6em; background:#fff; border:1px solid #e3e7f6; }
.sp-ai > div { flex:1; display:flex; flex-direction:column; line-height:1.3; }
.sp-ai b { font-size:.72em; font-weight:800; } .sp-ai small { color:#8a90a3; font-size:.58em; }
.sp-ai-badge { padding:.1em .4em; border-radius:.3em; color:#fff; background:#435BA8; font-size:.6em; font-weight:800; }
.sp-ai em { padding:.45em .8em; border-radius:.45em; color:#fff; background:#435BA8; font-size:.62em; font-style:normal; font-weight:800; white-space:nowrap; }
.sp-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:.5em; }
.sp-card { position:relative; display:flex; flex-direction:column; padding:.5em; border-radius:.6em; background:#fff; border:1px solid #eceef4; min-width:0; }
.sp-card img { display:block; width:100%; aspect-ratio:1.35; object-fit:cover; border-radius:.4em; background:#f3f4f7; }
.sp-star { position:absolute; top:.6em; right:.7em; z-index:1; color:#b4b9c8; font-size:.7em; }
.sp-card b { margin-top:.4em; font-size:.66em; font-weight:800; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.sp-card small { color:#9aa0b2; font-size:.54em; }
.sp-card-foot { display:flex; align-items:center; justify-content:space-between; margin-top:.3em; }
.sp-card-foot strong { font-size:.66em; font-weight:800; }
.sp-card-foot em { padding:.25em .6em; border-radius:.35em; color:#fff; background:#435BA8; font-size:.56em; font-style:normal; font-weight:800; }
.sp-cart { display:flex; flex-direction:column; gap:.45em; padding:.8em .7em; background:#fff; border-left:1px solid #eceef4; }
.sp-cart > p { display:flex; justify-content:space-between; align-items:center; margin:0; font-size:.72em; font-weight:800; }
.sp-cart > p span { padding:.05em .45em; border-radius:.3em; color:#6b7186; background:#f1f3f7; font-size:.85em; }
.sp-ci { display:flex; flex-direction:column; gap:.3em; padding:.5em; border-radius:.5em; background:#f7f8fb; }
.sp-ci > div { display:flex; justify-content:space-between; gap:.3em; }
.sp-ci b { font-size:.6em; font-weight:700; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; } .sp-ci strong { font-size:.6em; white-space:nowrap; }
.sp-step { display:inline-flex; align-items:center; gap:.7em; width:max-content; padding:.15em .45em; border-radius:.35em; background:#fff; border:1px solid #e6e8ef; font-size:.6em; font-weight:700; }
.sp-step i { font-style:normal; color:#8a90a3; }
.sp-total { display:flex; justify-content:space-between; align-items:baseline; margin-top:auto; padding-top:.4em; border-top:1px solid #eceef4; }
.sp-total small { color:#8a90a3; font-size:.6em; } .sp-total b { font-size:.95em; font-weight:800; }
.sp-go { padding:.6em; border-radius:.5em; color:#fff; background:#435BA8; font-size:.64em; font-weight:800; text-align:center; }

@media (max-width:760px) {
  .store-split.store-split-wide { padding:22px 14px 26px; }
  .sp-stage.dv-stage-store { aspect-ratio:1.05; }
  .sp-stage .sp-browser { width:100%; top:0; }
  .sp-stage .dv-phone { width:42%; right:-2%; }
  .sp-stage .dv-notice { display:none; }
}

/* layout tune: browser leaves room for the phone; notifications sit in open space */
.sp-stage.dv-stage-store { aspect-ratio:1.32; }
.sp-stage .sp-browser { top:10%; left:0; width:78%; }
.sp-stage .dv-phone { width:25%; right:0; bottom:0; }
.sp-stage .dv-notice.n1 { left:auto; right:0; top:0; bottom:auto; width:min(280px,40%); }
.sp-stage .dv-notice.n2 { left:0; right:auto; top:auto; bottom:0; width:min(280px,40%); }
@media (max-width:760px) {
  .sp-stage.dv-stage-store { aspect-ratio:1.05; }
  .sp-stage .sp-browser { top:0; width:100%; }
  .sp-stage .dv-phone { width:42%; right:-2%; }
}

/* keep section paragraph styles out of the mockup */
.store-split .sp-body p,.article .sp-body p { margin:0; color:inherit; font-size:1em; line-height:1.3; }
.store-split .sp-body .sp-menu p,.article .sp-body .sp-menu p { margin:0 0 .6em; padding:0 .4em; }
.store-split .sp-body .sp-cart > p,.article .sp-body .sp-cart > p { font-size:.72em; font-weight:800; }

/* notification icon: new Sodam symbol (S + bottom-left dot) */
.dv-notice-icon .dv-sodam-mark { width:18px; height:23px; }
.dv-notice-icon .dv-sodam-mark path.s { fill:#fff; }
.dv-notice-icon .dv-sodam-mark path.dot { fill:#C9D3F2; }

/* notification icon: new Sodam symbol (v3 D) in its own colours on a white tile */
.dv-notice-icon:has(.v3) { background:#fff; box-shadow:inset 0 0 0 1px rgba(67,91,168,.14),0 2px 6px rgba(35,45,105,.08); }
.dv-notice-icon .dv-sodam-mark.v3 { width:20px; height:24px; }
.dv-notice-icon .dv-sodam-mark.v3 path { fill:#435BA8; }
.dv-notice-icon .dv-sodam-mark.v3 path.dot { fill:#8496CB; }
/* How Fdam works / 매장 운영: Sodam PC with the AI order modal */
.dv-browser-body.spm-body { position:relative; display:grid; grid-template-columns:8% 17% 1fr; background:#f6f7fa; color:#151a2e; font-size:1.55cqw; line-height:1.35; overflow:hidden; }
.spm-body .sp-rail { gap:.5em; }
.spm-logo { width:1.7em; height:auto; margin:.2em 0 .5em; }
.spm-body .sp-menu p { display:flex; flex-direction:column; margin:0 0 .6em; padding:0 .4em; line-height:1.25; }
.spm-body .sp-menu p small { color:#8a90a3; font-size:.6em; } .spm-body .sp-menu p b { font-size:.86em; font-weight:800; }
.spm-back { gap:.6em; }
.spm-ghost { display:grid; grid-template-columns:repeat(2,1fr); gap:.5em; margin-top:.2em; }
.spm-ghost i { display:block; height:5.2em; border-radius:.6em; background:#fff; border:1px solid #eceef4; }
.spm-dim { position:absolute; inset:0; background:rgba(21,26,46,.32); z-index:1; }
.spm-modal { position:absolute; z-index:2; top:5%; bottom:5%; left:44%; width:40%; display:flex; flex-direction:column; padding:.9em .9em .8em; border-radius:.9em; background:#fff; box-shadow:0 1.5em 3em rgba(21,26,46,.3); }
.spm-head { display:flex; align-items:center; gap:.4em; }
.spm-head b { font-size:.92em; font-weight:800; }
.spm-head em { margin-left:auto; padding:.15em .5em; border-radius:.35em; color:#6b7186; background:#f1f3f7; font-size:.58em; font-style:normal; font-weight:700; }
.spm-desc { margin:.35em 0 .55em; color:#8a90a3; font-size:.56em; line-height:1.5; }
.spm-date { display:flex; gap:.5em; align-items:baseline; margin-bottom:.4em; font-size:.64em; }
.spm-date b { font-weight:800; } .spm-date span { color:#435BA8; font-weight:700; }
.spm-list { flex:1; min-height:0; overflow:hidden; display:flex; flex-direction:column; gap:.45em; }
.spm-item { padding:.55em .6em; border-radius:.6em; background:#f7f8fb; }
.spm-item-top { display:flex; justify-content:space-between; align-items:center; }
.spm-item-top small { color:#9aa0b2; font-size:.52em; }
.spm-item-top em { padding:.1em .4em; border-radius:.3em; color:#6b7186; background:#e9ecf3; font-size:.5em; font-style:normal; font-weight:700; }
.spm-item > b { display:block; margin-top:.2em; font-size:.68em; font-weight:800; }
.spm-item .sku { display:block; color:#a6abbd; font-size:.5em; }
.spm-item p { margin:.25em 0 .35em; color:#8a90a3; font-size:.5em; line-height:1.45; }
.spm-item-foot { display:flex; justify-content:space-between; align-items:center; }
.spm-step { display:inline-flex; align-items:center; gap:.9em; padding:.15em .55em; border-radius:.4em; background:#fff; border:1px solid #e6e8ef; font-size:.56em; font-weight:700; }
.spm-step i { font-style:normal; color:#8a90a3; }
.spm-item-foot strong { font-size:.6em; font-weight:800; }
.spm-foot { display:flex; align-items:center; justify-content:space-between; gap:.6em; margin-top:.5em; padding-top:.5em; border-top:1px solid #eceef4; }
.spm-foot div { display:flex; flex-direction:column; line-height:1.25; }
.spm-foot small { color:#8a90a3; font-size:.54em; } .spm-foot b { font-size:.82em; font-weight:800; }
.spm-foot > span { padding:.55em 1.1em; border-radius:.5em; color:#fff; background:#435BA8; font-size:.62em; font-weight:800; white-space:nowrap; }

/* phone: Sodam notice list */
.sdn-icon { background:#fff; box-shadow:inset 0 0 0 1px rgba(67,91,168,.16); }
.sdn-logo { width:1.05em; height:auto; }
.sdn-crumb { display:flex; align-items:center; gap:.35em; margin:0 -.95em; padding:.55em .95em; background:#fff; border-bottom:1px solid rgba(21,26,46,.06); color:#7c8296; font-size:.68em; }
.sdn-crumb i { font-style:normal; color:#b4b9c8; } .sdn-crumb b { color:#151a2e; }
.sdn-title { display:flex; flex-direction:column; margin:.85em 0 .6em; line-height:1.25; }
.sdn-title small { color:#8a90a3; font-size:.68em; } .sdn-title b { font-size:1.25em; font-weight:800; letter-spacing:-.02em; }
.sdn-chips { display:flex; gap:.35em; margin-bottom:.6em; overflow:hidden; }
.sdn-chips span { flex:none; padding:.4em .7em; border-radius:999px; background:#fff; color:#6b7186; font-size:.62em; font-weight:700; box-shadow:0 .1em .4em rgba(35,45,105,.06); }
.sdn-chips span.on { color:#fff; background:#435BA8; }
.sdn-card { margin-top:.5em; padding:.75em .85em; border-radius:1em; background:#fff; box-shadow:0 .2em .8em rgba(35,45,105,.06); }
.sdn-top { display:flex; justify-content:space-between; align-items:center; }
.sdn-cat { padding:.2em .5em; border-radius:.45em; color:#2f6fa8; background:#e4f2fc; font-size:.56em; font-weight:800; }
.sdn-pri { padding:.25em .55em; border-radius:999px; color:#6b7186; background:#f1f3f7; font-size:.56em; font-weight:800; }
.sdn-pri.hi { color:#a5600d; background:#fdf0cf; }
.sdn-card > b { display:block; margin:.45em 0 .2em; font-size:.86em; font-weight:800; letter-spacing:-.01em; }
.sdn-card time { color:#a6abbd; font-size:.6em; }

/* tablet frame instead of a browser window: thin dark bezel, no address bar, moderate corners */
.dv-browser.dv-tablet { padding:10px; border-radius:22px; background:linear-gradient(160deg,#2b2e36,#16181d); box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.08),0 0 0 1px rgba(21,26,46,.35),0 30px 60px -22px rgba(35,45,105,.45); overflow:visible; }
.dv-browser.dv-tablet::before { content:""; position:absolute; top:4px; left:50%; width:5px; height:5px; margin-left:-2.5px; border-radius:50%; background:#3a3f4a; box-shadow:inset 0 0 0 1px rgba(255,255,255,.06); }
.dv-browser.dv-tablet > .dv-browser-body,.dv-browser.dv-tablet > .sp-body { border-radius:12px; overflow:hidden; }
.dv-stage-store .dv-browser.dv-tablet { position:absolute; }
@media (max-width:760px) {
  .dv-browser.dv-tablet { padding:6px; border-radius:14px; }
  .dv-browser.dv-tablet::before { top:2px; width:3px; height:3px; margin-left:-1.5px; }
  .dv-browser.dv-tablet > .dv-browser-body,.dv-browser.dv-tablet > .sp-body { border-radius:8px; }
}
/* client logo marquee with real logos */
.logo-marquee-track .logo-chip { width:auto; min-width:0; height:64px; min-height:0; padding:0 26px; display:flex; align-items:center; justify-content:center; flex:0 0 auto; border:0; border-radius:0; background:transparent; }
.logo-chip img { display:block; width:auto; height:40px; max-width:170px; object-fit:contain; filter:grayscale(1) contrast(1.05); opacity:.62; transition:filter .3s ease,opacity .3s ease; }
.logo-chip:hover img { filter:none; opacity:1; }
.logo-marquee-track { gap:6px; }
.logo-marquee + .logo-marquee { margin-top:14px; }
@keyframes logoRoll { to { transform:translateX(-50%); } }
.logo-marquee-track { animation-duration:130s; }
.logo-marquee.reverse .logo-marquee-track { animation-duration:145s; }
@media (max-width:760px) {
  .logo-marquee-track .logo-chip { height:52px; padding:0 16px; }
  .logo-chip img { height:30px; max-width:120px; }
  .logo-marquee-track { animation-duration:100s; }
  .logo-marquee.reverse .logo-marquee-track { animation-duration:112s; }
}

/* hero copilot answer: analyst-report style */
.hero-copilot .assistant-answer .chat-name { margin-bottom:3px; }
.ans-scope { margin:0 0 9px; color:#8a8fa5; font-size:.62rem; font-weight:600; letter-spacing:-.01em; }
.hero-copilot .assistant-answer > p.ans-summary { margin:0 0 10px; color:#3a3f57; font-size:.84rem; line-height:1.5; }
.ans-summary b { color:var(--ink); font-weight:800; }
.ans-stores { display:grid; margin:0 0 9px; border:1px solid #e7e8f1; border-radius:11px; overflow:hidden; }
.ans-store { display:grid; grid-template-columns:8em 1fr 4.2em 4em; gap:8px; align-items:center; padding:6px 12px; font-size:.72rem; }
.ans-store + .ans-store { border-top:1px solid #eff0f5; }
.ans-store strong { color:#2b2f45; font-weight:700; white-space:nowrap; }
.ans-meter { height:5px; border-radius:99px; background:#eef0f6; overflow:hidden; }
.ans-meter i { display:block; width:var(--w); height:100%; border-radius:inherit; background:linear-gradient(90deg,#f0a0a8,#d9505f); }
.ans-store b { color:#d0455a; font-variant-numeric:tabular-nums; text-align:right; font-weight:800; }
.ans-store em { justify-self:end; padding:1px 6px; border-radius:5px; font-size:.58rem; font-style:normal; font-weight:700; }
.lv-high { color:#c23a4f; background:#fdebee; } .lv-mid { color:#b26a12; background:#fdf2e2; } .lv-low { color:#5d6582; background:#eef0f6; }
.ans-causes { margin:0 0 9px; padding:9px 12px 4px; border-radius:11px; background:#f6f7fb; }
.ans-causes-head { display:flex; justify-content:space-between; margin-bottom:2px; color:#8a8fa5; font-size:.6rem; font-weight:700; letter-spacing:.02em; }
.ans-cause { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:5px 0; }
.ans-cause + .ans-cause { border-top:1px dashed #e1e3ec; }
.ans-cause p { margin:0; display:grid; gap:0; line-height:1.4; }
.ans-cause strong { color:#2b2f45; font-size:.73rem; font-weight:700; }
.ans-cause small { color:#7d8298; font-size:.62rem; }
.ans-cause b { min-width:42px; padding:2px 0; border-radius:6px; color:var(--blue); background:#fff; box-shadow:inset 0 0 0 1px #e1e4f2; font-size:.7rem; font-weight:800; text-align:center; font-variant-numeric:tabular-nums; }
.ans-next { display:flex; gap:9px; align-items:baseline; margin:0 0 11px; padding:7px 11px; border-left:3px solid var(--blue); border-radius:4px 9px 9px 4px; background:linear-gradient(90deg,rgba(89,107,196,.08),rgba(89,107,196,.02)); }
.ans-next span { flex:0 0 auto; color:var(--blue); font-size:.62rem; font-weight:800; }
.ans-next p { margin:0; color:#3a3f57; font-size:.72rem; line-height:1.45; }
.hero-copilot .console-actions { margin-top:0; }
.hero-copilot .chat-time { margin-top:9px; }
.copilot-console.stage-answer .assistant-answer > *:nth-child(7) { transition-delay:.62s; }
.copilot-console.stage-answer .assistant-answer > *:nth-child(8) { transition-delay:.7s; }
@media (max-width:760px) {
  .ans-store { grid-template-columns:7.6em 1fr 4em 3.8em; gap:6px; padding:6px 10px; }
}

/* en: wider FDAM wordmark */
.brand img{width:126px}.footer-brand .brand img{width:140px}@media (max-width:760px){.brand img{width:104px}}
