/* CeleRITE portal character (owner: celerite).
   Ported from the <style> block of "CeleRITE Portal v9 (2026-10-05).html" (lines 5-336), every selector scoped
   under .cel so the shared shell and shared pages keep the shared look. Dead CSS of the source (.rail, .phasepanel,
   .flist, .feat, .trio, .kv, .cols, old .agent/.fam/.search/.pill, the unused xdiff slide) is not carried over.
   Light and dark mode: the portal tokens below sit on top of shared/css/tokens.css. The illustrative mock screens
   (tour app, Fiori slides) stay light in dark mode, like a screenshot. */

/* ---------- tokens ---------- */
.cel {
  --blue: #0091ee; --deep: #0049b4; --navy: #072a5e; --purple: #632cbd; --orange: #ff7d1e; --green: #427c2c;
  --text: #3a4150; --card: var(--surface, #fff);
  --blue50: #e8f0fb; --purple50: #f1ebfb; --orange50: #fff0e3; --green50: #e9f4e4;
  --radius: 14px; --shadow: 0 1px 2px rgba(16,24,40,.05), 0 8px 24px rgba(16,24,40,.06);
  --chip-ai: #4a2094; --chip-orange: #a54a05; --chip-green: #2f5c1f; --line-strong: #c9d6ea;
  color: var(--text); font-size: 16.5px; line-height: 1.5; -webkit-font-smoothing: antialiased;
}
:root[data-theme="dark"] .cel {
  --deep: #3b82e6; --text: #c9d2de; --blue50: #16263d; --purple50: #251a3b; --orange50: #3a2614; --green50: #1b2d17;
  --chip-ai: #c9b0ff; --chip-orange: #ffb15c; --chip-green: #9fd38a; --line-strong: #34465e;
  --shadow: 0 1px 2px rgba(0,0,0,.4), 0 8px 24px rgba(0,0,0,.3);
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .cel {
    --deep: #3b82e6; --text: #c9d2de; --blue50: #16263d; --purple50: #251a3b; --orange50: #3a2614; --green50: #1b2d17;
    --chip-ai: #c9b0ff; --chip-orange: #ffb15c; --chip-green: #9fd38a; --line-strong: #34465e;
    --shadow: 0 1px 2px rgba(0,0,0,.4), 0 8px 24px rgba(0,0,0,.3);
  }
}
/* Illustrations keep their light look in both themes. */
.cel .app, .cel .xfiori, .cel .xshot {
  --ink: #1d2430; --muted: #6b7482; --line: #e3e6ea; --soft: #f5f7fa; --text: #3a4150; --card: #fff; --deep: #0049b4;
  --blue50: #e8f0fb; --purple50: #f1ebfb; --orange50: #fff0e3; --green50: #e9f4e4; --chip-ai: #4a2094; --chip-orange: #a54a05; --chip-green: #2f5c1f;
  color: var(--text);
}

/* ---------- full-bleed CeleRITE pages inside the shared shell ---------- */
.rs-main.cel-full { max-width: none; padding: 0 0 80px; }
.cel .card { margin-top: 0; }
.cel .chip { margin: 0; }
.cel a.btn, .cel a.chip { text-decoration: none; }

/* ---------- ported styles ---------- */
.cel h1,.cel h2,.cel h3,.cel h4{color:var(--ink);margin:0;line-height:1.15;text-wrap:balance}
.cel p{margin:0}
.cel button{font:inherit;cursor:pointer;color:inherit}
.cel a{color:var(--deep)}
.cel :focus-visible{outline:3px solid rgba(0,145,238,.55);outline-offset:2px;border-radius:6px}
.cel .wrap{max-width:1200px;margin:0 auto;padding:0 48px}
.cel svg.i{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.cel img{max-width:100%}

.cel .btn{display:inline-flex;align-items:center;gap:8px;border:0;border-radius:10px;padding:11px 18px;font-weight:700;font-size:15.5px;background:var(--deep);color:#fff;transition:.15s;white-space:nowrap}
.cel .btn:hover{background:#003a8f;transform:translateY(-1px)}
.cel .btn.ghost{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.35)}
.cel .btn.ghost:hover{background:rgba(255,255,255,.22)}
.cel .btn.light{background:#fff;color:var(--deep)}
.cel .btn.light:hover{background:var(--blue50)}
.cel .btn.line{background:var(--card);color:var(--deep);border:1px solid #c9d6ea}
.cel .btn.line:hover{background:var(--blue50)}
.cel .hero{background:radial-gradient(1200px 500px at 85% -10%,rgba(99,44,189,.55),transparent 60%),linear-gradient(125deg,#051d44 0%,var(--navy) 35%,var(--deep) 100%);color:#fff;overflow:hidden}
.cel .hero .wrap{padding-top:60px;padding-bottom:52px}
.cel .hero .in{display:grid;grid-template-columns:1.05fr 1fr;gap:48px;align-items:center}
.cel .hero h1{color:#fff;font-size:52px;margin:0 0 16px;letter-spacing:-.5px}
.cel .hero h1 em{font-style:normal;background:linear-gradient(90deg,#7cc8ff,#c9b0ff);-webkit-background-clip:text;background-clip:text;color:transparent}
.cel .hero p.sub{font-size:19px;opacity:.9;max-width:56ch}
.cel .hero .cta{display:flex;gap:12px;margin-top:28px;flex-wrap:wrap}
.cel .pagehead{background:linear-gradient(125deg,#051d44,var(--navy) 45%,var(--deep));color:#fff;padding:44px 0 46px}
.cel .pagehead h1{color:#fff;font-size:38px;max-width:26ch;margin-top:10px}
.cel .pagehead p{font-size:18px;opacity:.9;max-width:74ch;margin-top:12px}
.cel .pagehead .eyebrow{color:#9fd3ff}
.cel section{margin-top:52px}
.cel .eyebrow{font-size:12.5px;letter-spacing:1.6px;text-transform:uppercase;color:var(--deep);font-weight:700;margin-bottom:8px}
.cel .eyebrow.ai{color:var(--purple)}
.cel h2{font-size:29px;margin-bottom:8px;letter-spacing:-.2px}
.cel h3{font-size:18px}
.cel .lede{color:var(--muted);max-width:80ch;margin-bottom:22px;font-size:17px}
.cel .card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow)}
.cel .grid{display:grid;gap:16px}
.cel .g2{grid-template-columns:repeat(2,1fr)}
.cel .g3{grid-template-columns:repeat(3,1fr)}
.cel .g4{grid-template-columns:repeat(4,1fr)}
.cel .g5{grid-template-columns:repeat(5,1fr)}
.cel .ico{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--c) 12%,#fff);color:var(--c);margin-bottom:14px}
.cel .journey{position:relative;display:flex;flex-wrap:wrap;gap:36px 8px;margin-top:8px}
.cel .journey::before{content:'';position:absolute;top:52px;left:80px;right:80px;height:2px;background:var(--line);z-index:0}
.cel .jnode{position:relative;z-index:1;flex:1 1 150px;min-width:140px;text-align:center;padding:0 10px;cursor:pointer;transition:.15s}
.cel .jnode:hover{transform:translateY(-4px)}
.cel .jnode:hover h3{color:var(--c)}
.cel .jn-num{display:block;font-size:11px;font-weight:700;letter-spacing:1.5px;color:var(--muted);margin-bottom:8px}
.cel .jico{display:flex;align-items:center;justify-content:center;width:60px;height:60px;margin:0 auto 14px;border-radius:50%;background:var(--card);border:2px solid var(--c);color:var(--c);transition:.15s}
.cel .jico svg{width:26px;height:26px}
.cel .jnode:hover .jico{background:var(--c);color:#fff;box-shadow:0 10px 22px rgba(16,24,40,.16)}
.cel .jnode.on .jico{background:var(--c);color:#fff;box-shadow:0 10px 22px rgba(16,24,40,.16)}
.cel .jnode.on h3{color:var(--c)}
.cel .jnode h3{font-size:15px;transition:.15s}
.cel .jnode p{margin-top:6px;font-size:13px;color:var(--muted);line-height:1.45}
@media(max-width:1080px){
.cel .journey::before{display:none}
}
.cel .value-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:8px}
.cel .value-kpi{background:linear-gradient(160deg,var(--navy) 0%,var(--deep) 100%);border-radius:16px;padding:26px 22px;box-shadow:0 16px 34px rgba(7,20,45,.22);cursor:pointer;transition:.15s}
.cel .scen-teaser{cursor:pointer;transition:.15s}
.cel .scen-teaser:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(16,24,40,.12)}
.cel .scen-teaser .more{font-weight:700;font-size:13.5px;display:flex;align-items:center;gap:4px}
.cel .intro-card{cursor:pointer;transition:.15s}
.cel .intro-card:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(16,24,40,.12)}
.cel .intro-card .more{font-weight:700;font-size:13px;display:flex;align-items:center;gap:4px}
.cel .intro-card .more svg{width:15px;height:15px}
.cel .value-kpi:hover{transform:translateY(-4px);box-shadow:0 20px 40px rgba(7,20,45,.32)}
.cel .vk-num{display:block;font-size:32px;font-weight:800;line-height:1.15;margin-bottom:14px}
.cel .value-kpi h4{font-size:15px;color:#fff;margin:0 0 10px;font-weight:700;line-height:1.3}
.cel .value-kpi p{font-size:12.5px;color:rgba(255,255,255,.6);line-height:1.55;margin:0 0 18px}
.cel .vk-src{font-size:11.5px;color:rgba(255,255,255,.4)}
.cel .vk-link{color:#7cc8ff;font-weight:700}
.cel .roi-cta-link{display:inline-flex;align-items:center;gap:12px;font-size:17px;font-weight:800;color:#fff;background:var(--deep);padding:15px 16px 15px 26px;border-radius:999px;border:0;transition:.15s;box-shadow:0 12px 26px rgba(0,73,180,.28)}
.cel .roi-cta-link:hover{background:var(--navy);transform:translateY(-2px);box-shadow:0 16px 32px rgba(0,73,180,.34)}
.cel .roi-cta-arrow{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.22);flex:none}
.cel .roi-cta-arrow svg{width:17px;height:17px}
.cel .chips{display:flex;flex-wrap:wrap;gap:6px}
.cel .chip{font-size:13.5px;padding:4px 10px;border-radius:99px;background:var(--soft);border:1px solid var(--line);color:var(--text);white-space:nowrap;display:inline-block}
.cel button.chip:hover{border-color:var(--purple)}
.cel .chip.ai{background:var(--purple50);border-color:#dccdf5;color:#4a2094}
.cel .chip.blue{background:var(--blue50);border-color:#cfe0f6;color:var(--deep)}
.cel .chip.orange{background:var(--orange50);border-color:#ffd3b0;color:#a54a05}
.cel .chip.green{background:var(--green50);border-color:#cfe5c6;color:#2f5c1f}
.cel .aitag{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:700;letter-spacing:.6px;color:#fff;background:var(--purple);border-radius:5px;padding:1px 7px;vertical-align:2px}
.cel .studio-explorer{display:grid;grid-template-columns:280px 1fr;gap:20px;align-items:start}
.cel .studio-rail{display:grid;gap:6px}
.cel .studio-rail button{display:flex;align-items:center;gap:12px;padding:12px;border-radius:12px;border:1px solid transparent;background:none;text-align:left;width:100%}
.cel .studio-rail button:hover{background:var(--soft)}
.cel .studio-rail button.on{background:var(--blue50);border-color:#cfe0f6}
.cel .studio-rail .dot{width:44px;height:44px;border-radius:50%;background:var(--soft);border:2px solid var(--line);display:grid;place-items:center;color:var(--muted);flex:none}
.cel .studio-rail button.on .dot{background:linear-gradient(135deg,var(--c),color-mix(in srgb,var(--c) 60%,#000));border-color:var(--c);color:#fff}
.cel .studio-rail b{display:block;font-size:15px;color:var(--ink)}
.cel .studio-rail span{font-size:13px;color:var(--muted)}
.cel .studio-panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:28px}
.cel .studio-panel-head{display:flex;gap:16px;align-items:flex-start}
.cel .studio-panel-head .dot{width:52px;height:52px;border-radius:50%;background:var(--blue50);color:var(--c);display:grid;place-items:center;flex:none}
.cel .studio-panel-head small{letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:700}
.cel .studio-panel-head h2{font-size:26px;margin-top:2px}
.cel .studio-tabs{display:flex;gap:22px;border-bottom:1px solid var(--line);margin:22px 0 22px;overflow-x:auto}
.cel .studio-tabs button{border:0;border-bottom:2px solid transparent;background:none;padding:0 0 12px;font-size:15px;color:var(--muted);white-space:nowrap;font-weight:600}
.cel .studio-tabs button:hover{color:var(--ink)}
.cel .studio-tabs button.on{color:var(--deep);border-color:var(--deep)}
.cel .studio-overview{display:grid;grid-template-columns:1.7fr 1fr;gap:28px;align-items:center}
.cel .studio-visual{border-radius:16px;min-height:210px;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:14px}
.cel .studio-visual svg{width:100%;height:100%}
@media(max-width:900px){
.cel .studio-overview{grid-template-columns:1fr}
.cel .studio-visual{display:none}
}
.cel .feature-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.cel .feature-item{border:1px solid var(--line);border-top:4px solid var(--line);border-radius:12px;padding:20px;transition:.15s;background:var(--card);box-shadow:0 2px 8px rgba(16,24,40,.04);display:flex;flex-direction:column}
.cel .feature-item:hover{box-shadow:0 10px 24px rgba(16,24,40,.08);transform:translateY(-2px)}
.cel .feature-item .fh{display:flex;align-items:center;gap:12px;font-weight:700;color:var(--ink);font-size:15.5px}
.cel .fnum{width:26px;height:26px;border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;font-size:12.5px;font-weight:800;flex:none}
.cel .feature-item ul{margin:14px 0 0;padding-left:18px;font-size:14px;color:var(--muted);display:grid;gap:7px;flex:1}
.cel .feat-agent{margin-top:16px;display:inline-flex;align-items:center;gap:6px;background:var(--purple50);color:#4a2094;border-radius:8px;padding:6px 11px;font-size:12px;font-weight:700;white-space:normal;align-self:flex-start}
.cel .feat-agent svg{width:13px;height:13px;flex:none}
.cel .benefit-grid{display:grid;gap:14px}
.cel .benefit-grid .b{display:flex;gap:12px;align-items:flex-start}
.cel .benefit-grid .tick{width:26px;height:26px;border-radius:50%;background:var(--green50);color:var(--green);display:grid;place-items:center;flex:none;margin-top:1px}
.cel .benefit-grid .tick svg{width:15px;height:15px;stroke-width:2.6}
.cel .benefit-grid b{display:block;color:var(--ink);font-size:15.5px}
.cel .benefit-grid p{font-size:14.5px;color:var(--muted);margin-top:2px}
.cel .score-list{display:grid;gap:14px}
.cel .score-row{display:flex;border-radius:10px;overflow:hidden;border:1px solid var(--line)}
.cel .score-tag{flex:none;width:120px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:12.5px;text-align:center;padding:10px 8px;line-height:1.3}
.cel .score-body{flex:1;background:var(--soft);padding:14px 20px 18px;min-width:0}
.cel .score-body b{display:block;font-size:15px;color:var(--ink)}
.cel .score-body p{font-size:13px;color:var(--muted);margin-top:2px}
.cel .score-bar{position:relative;height:12px;border-radius:6px;margin-top:16px;background:linear-gradient(90deg,#e5484d 0%,#f5a623 35%,#f7d038 55%,#8bc34a 80%,#3fa845 100%)}
.cel .score-mark{position:absolute;top:50%;transform:translate(-50%,-50%);background:var(--ink);color:#fff;font-size:11px;font-weight:700;padding:3px 9px;border-radius:999px;white-space:nowrap;box-shadow:0 2px 6px rgba(0,0,0,.3)}
@media(max-width:680px){
.cel .score-row{flex-direction:column}
.cel .score-tag{width:100%}
}
.cel .cap-grid{display:grid;grid-template-columns:1fr 1fr;grid-auto-flow:column;grid-template-rows:repeat(5,auto);gap:14px 22px}
.cel .cap-row{display:flex;align-items:stretch;border-radius:999px;overflow:hidden;border:1px solid var(--line)}
.cel .cap-label{flex:1;display:flex;align-items:center;background:var(--soft);padding:12px 20px;font-size:13.5px;color:var(--ink);font-weight:600}
.cel .cap-ico{flex:none;width:52px;display:flex;align-items:center;justify-content:center;background:var(--navy);color:#fff}
.cel .cap-ico svg{width:20px;height:20px}
@media(max-width:900px){
.cel .cap-grid{grid-template-columns:1fr;grid-auto-flow:row;grid-template-rows:none}
}
@media(max-width:1080px){
.cel .studio-explorer{grid-template-columns:1fr}
.cel .studio-rail{position:static;display:flex;overflow-x:auto;gap:8px}
.cel .studio-rail button{flex:none;width:auto}
.cel .feature-grid{grid-template-columns:1fr}
}
.cel .tour{display:grid;grid-template-columns:290px 1fr;gap:22px;align-items:start}
.cel .tsteps{display:flex;flex-direction:column;gap:6px}
.cel .tstep{text-align:left;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 14px;display:flex;gap:12px;align-items:flex-start;transition:.15s;width:100%}
.cel .tstep:hover{border-color:var(--deep)}
.cel .tstep.on{border-color:var(--deep);box-shadow:inset 3px 0 0 var(--deep),var(--shadow);background:var(--blue50)}
.cel .tstep .n{width:26px;height:26px;border-radius:50%;background:var(--soft);display:grid;place-items:center;font-size:13px;font-weight:700;color:var(--muted);flex:none}
.cel .tstep.on .n{background:var(--deep);color:#fff}
.cel .tstep.done .n{background:var(--green50);color:var(--green)}
.cel .tstep b{display:block;color:var(--ink);font-size:15px}
.cel .tstep span{font-size:13px;color:var(--muted)}
.cel .tnav{display:flex;justify-content:space-between;margin-top:12px;gap:10px;align-items:center;flex-wrap:wrap}
.cel .tnav small{color:var(--muted)}
.cel .app{background:#fff;border-radius:14px;overflow:hidden;border:1px solid #cfd6e0;box-shadow:0 24px 60px rgba(7,42,94,.18);display:grid;grid-template-columns:178px 1fr;min-height:480px;font-size:14px}
.cel .app .chrome{grid-column:1/-1;background:#0b2247;color:#fff;display:flex;align-items:center;gap:10px;padding:9px 14px;font-size:13px}
.cel .app .chrome i{width:10px;height:10px;border-radius:50%;background:#ff6058;display:block}
.cel .app .chrome i:nth-child(2){background:#ffbd2e}
.cel .app .chrome i:nth-child(3){background:#28c941}
.cel .app .chrome b{margin-left:8px;letter-spacing:1px}
.cel .app .chrome span{margin-left:auto;opacity:.7}
.cel .app aside{background:#0f2d5c;color:#c9d8f0;padding:12px 8px;display:flex;flex-direction:column;gap:2px}
.cel .app aside div{padding:8px 10px;border-radius:8px;display:flex;gap:8px;align-items:center;font-size:13px}
.cel .app aside div.on{background:rgba(255,255,255,.14);color:#fff;font-weight:700}
.cel .app aside svg{width:16px;height:16px}
.cel .app aside small{margin-top:auto;padding:8px 10px;opacity:.6;font-size:11.5px}
.cel .app .main{padding:18px 20px;background:#f7f9fc;min-width:0}
.cel .app h5{margin:0 0 2px;font-size:17px;color:var(--ink)}
.cel .app .crumbs{font-size:12.5px;color:var(--muted);margin-bottom:12px}
.cel .app .panel{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin-bottom:10px}
.cel .app .arow{display:flex;gap:10px;align-items:center;padding:7px 0;border-bottom:1px solid #eef0f3;font-size:13.5px}
.cel .app .arow:last-child{border:0}
.cel .app .arow .id{font-family:ui-monospace,Menlo,monospace;font-size:12px;color:var(--muted);width:74px;flex:none}
.cel .app .arow .grow{flex:1;min-width:0}
.cel .st{font-size:11.5px;font-weight:700;border-radius:5px;padding:2px 7px;white-space:nowrap}
.cel .st.ok{background:var(--green50);color:#2f5c1f}
.cel .st.warn{background:var(--orange50);color:#a54a05}
.cel .st.info{background:var(--blue50);color:var(--deep)}
.cel .st.ai{background:var(--purple50);color:#4a2094}
.cel .st.bad{background:#fde8e8;color:#9b1c1c}
.cel .st.mute{background:#eef0f3;color:var(--muted)}
.cel .aibox{border:1px solid #dccdf5;background:linear-gradient(180deg,#f7f2fe,#fff);border-radius:10px;padding:12px 14px;margin-bottom:10px}
.cel .aibox h6{margin:0 0 6px;font-size:13px;color:var(--purple);letter-spacing:.6px;text-transform:uppercase;display:flex;gap:6px;align-items:center}
.cel .aibox h6 svg{width:15px;height:15px}
.cel .aibox li{margin:3px 0}
.cel .aibox ul{margin:0;padding-left:18px;font-size:13.5px}
.cel .cols3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.cel .bar{height:8px;border-radius:4px;background:#e9edf2;overflow:hidden}
.cel .bar i{display:block;height:100%;background:var(--c,var(--deep));border-radius:4px}
.cel .wf{display:flex;gap:0;margin:4px 0 2px}
.cel .wf div{flex:1;text-align:center;font-size:12px;color:var(--muted);position:relative;padding-top:20px}
.cel .wf div::before{content:"";position:absolute;top:4px;left:50%;width:12px;height:12px;margin-left:-6px;border-radius:50%;background:#d5dbe3;z-index:1}
.cel .wf div::after{content:"";position:absolute;top:9px;left:-50%;width:100%;height:2px;background:#d5dbe3}
.cel .wf div:first-child::after{display:none}
.cel .wf div.done::before,.cel .wf div.done::after{background:var(--green)}
.cel .wf div.now::before{background:var(--deep);box-shadow:0 0 0 4px rgba(0,73,180,.2)}
.cel .wf div.now::after{background:var(--green)}
.cel .wf div.now{color:var(--ink);font-weight:700}
.cel .kpi b{display:block;font-size:24px;color:var(--ink);font-variant-numeric:tabular-nums;line-height:1.1}
.cel .kpi span{font-size:12.5px;color:var(--muted)}
.cel .sign{border:2px dashed #c9d6ea;border-radius:10px;padding:14px;text-align:center;background:#fff}
.cel .sign.done{border:2px solid var(--green);background:var(--green50)}
.cel .sign .sig{font-family:"Brush Script MT","Segoe Script",cursive;font-size:26px;color:var(--navy)}
.cel .live-dot{width:9px;height:9px;border-radius:50%;background:var(--green);flex:none;animation:livepulse 1.8s infinite}
@keyframes livepulse{0%{box-shadow:0 0 0 0 rgba(66,124,44,.5)}70%{box-shadow:0 0 0 8px rgba(66,124,44,0)}100%{box-shadow:0 0 0 0 rgba(66,124,44,0)}}
.cel .herocard{background:linear-gradient(160deg,var(--deep) 0%,var(--navy) 100%);color:#fff;border-radius:16px;padding:18px;box-shadow:0 30px 80px rgba(0,0,0,.35);transform:perspective(1400px) rotateY(-6deg) rotateX(2deg);font-size:14px}
.cel .herocard .hd{display:flex;gap:10px;align-items:center;margin-bottom:12px}
.cel .herocard .hd b{color:#fff;font-size:16px;flex:1}
.cel .xscreen{position:relative;min-height:200px}
.cel .xscreen-slide{position:absolute;inset:0;opacity:0;animation:slidecycle 18s infinite}
@keyframes slidecycle{0%{opacity:0}2%{opacity:1}15%{opacity:1}16.7%{opacity:0}100%{opacity:0}}
@media(prefers-reduced-motion:reduce){
.cel .xscreen-slide{animation:none}
.cel .xscreen-slide:first-child{opacity:1}
}
.cel .xs-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.cel .xs-head .ico{width:36px;height:36px;margin-bottom:0}
.cel .xs-head b{font-size:15px;color:#fff}
.cel .xshot{width:100%;display:block;border-radius:10px;box-shadow:0 10px 26px rgba(7,20,45,.4)}
.cel .xfiori{border-radius:10px;overflow:hidden;box-shadow:0 10px 26px rgba(7,20,45,.28);background:#fff}
.cel .xfiori-shell{display:flex;align-items:center;gap:8px;padding:6px 12px;background:#354a5e;color:#fff}
.cel .xfiori-shell b{font-size:11px;font-weight:600;flex:1;font-family:Arial,Helvetica,sans-serif}
.cel .xfiori-ico{width:17px;height:17px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.15);border-radius:4px;flex:none}
.cel .xfiori-ico svg{width:10px;height:10px;stroke:#fff}
.cel .xfiori-avatar{width:15px;height:15px;border-radius:50%;background:#0a6ed1;flex:none}
.cel .xfiori-body{padding:3px 10px;font-family:Arial,Helvetica,sans-serif}
.cel .xfiori-row{display:grid;grid-template-columns:1fr 18px 1fr 58px;align-items:center;gap:6px;padding:3px 2px;border-bottom:1px solid #eee;font-size:10.5px}
.cel .xfiori-row.head{font-size:9px;font-weight:700;color:#6a6d70;text-transform:uppercase;letter-spacing:.3px;border-bottom:1px solid #d9d9d9}
.cel .xfiori-val{font-family:ui-monospace,Menlo,monospace;color:#32363a}
.cel .xfiori-val.masked{filter:blur(2px);opacity:.85}
.cel .xfiori-arrow{display:flex;justify-content:center;color:#0a6ed1}
.cel .xfiori-arrow svg{width:10px;height:10px}
.cel .xfiori-status{font-size:9px;font-weight:600;color:#fff;background:#107e3e;border-radius:8px;padding:2px 6px;text-align:center;white-space:nowrap}
.cel .xflow-body{display:flex;align-items:center;gap:8px;padding:10px}
.cel .xflow-sources{display:flex;flex-direction:column;gap:5px;flex:none}
.cel .xflow-src{font-size:9px;font-weight:600;color:#32363a;background:#fff;border:1px solid #d9d9d9;border-radius:5px;padding:3px 7px;white-space:nowrap;font-family:Arial,Helvetica,sans-serif}
.cel .xflow-arrow{flex:none;color:#0a6ed1}
.cel .xflow-arrow svg{width:13px;height:13px}
.cel .xflow-canvas{flex:1;display:flex;align-items:center;background:#fff;border:1px solid #e5e5e5;border-radius:8px;padding:10px 8px;background-image:radial-gradient(#e2e5e9 1px,transparent 1px);background-size:9px 9px}
.cel .xflow-node{width:13px;height:13px;border-radius:50%;border:2px solid #0a6ed1;flex:none;background:#fff}
.cel .xflow-node.end{border-color:#107e3e;background:#107e3e}
.cel .xflow-link{flex:1;height:2px;background:#c2cbd6;min-width:10px}
.cel .xflow-step{width:22px;height:22px;border-radius:6px;background:#eaf2fd;border:1px solid #0a6ed1;color:#0a6ed1;display:flex;align-items:center;justify-content:center;flex:none}
.cel .xflow-step svg{width:12px;height:12px}
.cel .xflow-caption{font-size:9.5px;color:#6a6d70;padding:6px 12px;background:#fff;border-top:1px solid #eee;font-family:ui-monospace,Menlo,monospace}
.cel .xspro-body{display:flex;align-items:stretch;gap:8px;padding:7px 10px 4px}
.cel .xspro-col{flex:1;background:#fff;border:1px solid #e5e5e5;border-radius:8px;padding:5px 5px;min-width:0}
.cel .xspro-head{font-size:9px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:#6a6d70;padding:1px 8px 4px;border-bottom:1px solid #eee;margin-bottom:3px}
.cel .xspro-node{display:flex;align-items:center;gap:4px;font-size:9.5px;color:#4a4d50;padding:2.5px 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:Arial,Helvetica,sans-serif}
.cel .xspro-node svg{width:9px;height:9px;color:#9a9d9f;flex:none}
.cel .xspro-node.active{background:#eaf2fd;color:#0a6ed1;font-weight:700;border-radius:4px;justify-content:space-between}
.cel .xspro-node.active.done{background:#e6f4ea;color:#107e3e}
.cel .xspro-check{width:11px;height:11px;color:#107e3e;flex:none}
.cel .xspro-check svg{width:11px;height:11px}
.cel .xspro-arrow{flex:none;display:flex;align-items:center;color:#0a6ed1}
.cel .xspro-arrow svg{width:13px;height:13px}
.cel .xscreen-dots{display:flex;justify-content:center;gap:6px;margin-top:10px}
.cel .xscreen-dots span{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.25);animation:dotcycle 18s infinite}
@keyframes dotcycle{0%{background:rgba(255,255,255,.25)}2%{background:#fff}15%{background:#fff}16.7%{background:rgba(255,255,255,.25)}100%{background:rgba(255,255,255,.25)}}
.cel .hero-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:36px;padding-top:28px;border-top:1px solid rgba(255,255,255,.14)}
.cel .hero-stats div{display:flex;flex-direction:column;gap:4px}
.cel .hero-stats b{font-size:34px;font-weight:800;color:#fff;line-height:1}
.cel .hero-stats span{font-size:13.5px;color:rgba(255,255,255,.6)}
.cel .insight{display:block;text-decoration:none;color:inherit;transition:.15s}
.cel .insight:hover{border-color:var(--deep);transform:translateY(-2px);box-shadow:0 10px 26px rgba(0,73,180,.12)}
.cel .insight .date{font-size:12.5px;color:var(--muted)}
.cel .insight h3{font-size:16px;margin-top:6px;line-height:1.3}
.cel .insight .more{margin-top:14px;color:var(--deep);font-weight:700;font-size:13.5px;display:flex;align-items:center;gap:4px}
.cel .metric{background:linear-gradient(135deg,var(--navy),var(--deep));color:#fff;border-radius:var(--radius);padding:26px}
.cel .metric.p{background:linear-gradient(135deg,#3a1c7a,var(--purple))}
.cel .metric b{font-size:44px;display:block;line-height:1;letter-spacing:-1px}
.cel .metric span{opacity:.9;display:block;margin-top:8px;font-size:15.5px}
.cel .aud{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}
.cel .aud button{border:1px solid var(--line);background:var(--card);border-radius:12px;padding:14px;font-weight:700;font-size:15px;color:var(--text);box-shadow:var(--shadow);text-align:center}
.cel .aud button.on{background:var(--c);border-color:var(--c);color:#fff}
.cel .audpanel{display:grid;grid-template-columns:1.1fr 1fr;gap:26px;border-left:6px solid var(--c)}
.cel .audpanel .big{font-size:19px;color:var(--ink);line-height:1.45;font-weight:700}
.cel .roi-area-head{display:flex;align-items:center;gap:10px}
.cel .roi-complexity{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}
.cel .roi-save{margin-top:10px;font-size:13.5px;color:var(--muted)}
.cel .roi-save b{color:var(--deep);font-weight:700}
.cel .field{margin-bottom:16px}
.cel .field label{display:flex;justify-content:space-between;font-size:15px;color:var(--ink);margin-bottom:4px}
.cel .field label b{font-variant-numeric:tabular-nums;color:var(--deep)}
.cel .field.small{margin-bottom:0}
.cel .field.small label{font-size:12px;font-weight:600}
.cel .field.small input[type=range]{height:14px}
.cel input[type=range]{width:100%;accent-color:var(--deep)}
.cel .roiout{background:var(--blue50);border-radius:12px;padding:20px;display:grid;gap:14px;align-content:start}
.cel .roiout .r b{font-size:27px;color:var(--deep);display:block;line-height:1.15;font-variant-numeric:tabular-nums}
.cel .roiout .r span{font-size:14px;color:var(--text)}
@media(max-width:1080px){
.cel .audpanel{grid-template-columns:1fr}
.cel .aud{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:680px){
.cel .aud{grid-template-columns:1fr}
}
.cel .closing{background:linear-gradient(125deg,#051d44,var(--deep) 60%,var(--purple));color:#fff;border-radius:20px;padding:44px;text-align:center;border:0}
.cel .closing h2{color:#fff;max-width:34ch;margin:0 auto 18px;font-size:27px;line-height:1.3}
.cel .fade{animation:fade .25s ease}
@keyframes fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

@media(max-width:1080px){
.cel .wrap{padding:0 32px}
.cel .g4,.cel .g5{grid-template-columns:repeat(2,1fr)}
.cel .g3{grid-template-columns:1fr 1fr}
.cel .tour{grid-template-columns:1fr}
.cel .tsteps{position:static;flex-direction:row;overflow-x:auto}
.cel .tstep{min-width:200px}
.cel .hero .in{grid-template-columns:1fr}
.cel .herocard{transform:none}
.cel .hero-stats{grid-template-columns:repeat(2,1fr)}
.cel .value-kpis{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:680px){
.cel .wrap{padding:0 22px}
.cel .hero h1{font-size:32px}
.cel .pagehead h1{font-size:27px}
.cel h2{font-size:23px}
.cel .g2,.cel .g3,.cel .g4,.cel .g5,.cel .cols3{grid-template-columns:1fr}
.cel .app{grid-template-columns:1fr}
.cel .app aside{display:none}
.cel .hero-stats{grid-template-columns:1fr}
.cel .value-kpis{grid-template-columns:1fr}
}
@media print{
.cel .card{box-shadow:none}
.cel .hero,.cel .pagehead{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
/* ---------- added in the rebuild ---------- */
/* [[CONFIRM: ...]] marker: compact, full text in the tooltip and for screen readers */

/* Studio page: agent cards drawn from the database */
.cel .agent-card { text-align: left; background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); padding: 18px; display: flex; flex-direction: column; gap: 8px; transition: .15s; box-shadow: var(--shadow); color: inherit; text-decoration: none; }
.cel .agent-card:hover { border-color: var(--purple); box-shadow: 0 10px 26px rgba(99,44,189,.14); transform: translateY(-2px); }
.cel .agent-card h3 { font-size: 16.5px; }
.cel .agent-card p { font-size: 14.5px; flex: 1; color: var(--text); }
.cel .agent-card .afoot { display: flex; justify-content: space-between; gap: 8px; font-size: 12.5px; color: var(--muted); align-items: center; flex-wrap: wrap; }
.cel .feat-agent { text-decoration: none; }
.cel a.feat-agent:hover { box-shadow: 0 0 0 2px var(--purple) inset; }
.cel .chip.ai { color: var(--chip-ai); }
.cel .chip.orange { color: var(--chip-orange); }
.cel .chip.green { color: var(--chip-green); }
.cel .feat-agent { color: var(--chip-ai); }
.cel .btn.line { border-color: var(--line-strong); }

/* Agents page: CeleRITE head above the shared agent list, legend below */
.cel-shared { max-width: var(--maxw, 1180px); margin: 0 auto; padding: 24px 16px 8px; }
.cel .principle { margin-top: 14px; font-size: 15px; color: #fff; opacity: .92; font-weight: 700; }
.cel .legend { margin: 8px auto 40px; max-width: var(--maxw, 1180px); padding: 18px 20px; border: 1px solid var(--line); border-radius: 12px; background: var(--soft); }
.cel .legend h3 { margin: 0 0 10px; font-size: 16px; }
.cel .legend .cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 14px; font-size: 14px; line-height: 1.5; }
.cel .legend ul { margin: 6px 0 0; padding-left: 18px; }
.cel .legend p { margin: 12px 0 0; font-size: 12.5px; color: var(--muted); }
.cel .agentnote { max-width: var(--maxw, 1180px); margin: 0 auto 8px; padding: 0 16px; }
.cel-tag { display: inline-block; font-size: 11px; font-weight: 700; border-radius: 99px; padding: 1px 8px; margin-left: 6px; vertical-align: 1px; border: 1px solid; white-space: nowrap; }
.cel-tag.ext { color: #8a4b00; border-color: #e7b77a; background: #fff3e3; }
.cel-tag.prio { color: #0049b4; border-color: #b9cff0; background: #eef4fd; }
:root[data-theme="dark"] .cel-tag.ext { color: #ffb15c; background: transparent; }
:root[data-theme="dark"] .cel-tag.prio { color: #8fb8ff; background: transparent; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .cel-tag.ext { color: #ffb15c; background: transparent; } :root:not([data-theme="light"]) .cel-tag.prio { color: #8fb8ff; background: transparent; } }

/* Where it works in CeleRITE (under the shared agent page) */
.cel .where { max-width: var(--maxw, 1180px); margin: 0 auto; padding: 0 16px 24px; }
.cel .where .card ul { margin: 8px 0 0; padding-left: 18px; font-size: 14.5px; }

/* Presentation mode: fullscreen button in the shell header and the section stepper */
.cel-fs { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 50%; border: 1px solid var(--line); background: var(--surface); color: var(--muted); cursor: pointer; padding: 0; }
.cel-fs:hover { border-color: var(--accent); color: var(--accent); }
.cel-fs svg, .cel-pres svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.cel-pres { position: fixed; right: 24px; bottom: 28px; display: flex; flex-direction: column; gap: 10px; z-index: 20; }
.cel-pres button { display: flex; align-items: center; justify-content: center; width: 46px; height: 46px; border-radius: 50%; border: 1px solid var(--line); background: var(--surface); color: #0049b4; cursor: pointer; box-shadow: 0 8px 20px rgba(16,24,40,.18); padding: 0; }
.cel-pres button:hover { background: #0049b4; color: #fff; }
.cel-pres #presUp svg { transform: rotate(180deg); }
body.presenting .rs-foot, body.presenting .rs-banners { display: none; }
@media (max-width: 680px) { .cel-pres { right: 16px; bottom: 16px; } .cel-pres button { width: 40px; height: 40px; } }

/* Phones: no horizontal scroll at 360 px */
@media (max-width: 420px) {
  .cel .wrap { padding: 0 16px; }
  .cel .hero h1 { font-size: 28px; }
  .cel .closing { padding: 28px 18px; }
  .cel .studio-panel { padding: 18px; }
  .cel .roi-complexity { grid-template-columns: 1fr; }
  .cel .tnav .btn { white-space: normal; }
  .cel .xfiori-row { grid-template-columns: 1fr 14px 1fr 50px; }
  .cel .tsteps { flex-direction: column; }
  .cel .tstep { min-width: 0; }
}
.cel img, .cel svg { max-width: 100%; }

/* Reduced motion: no animation or transitions (carousel shows slide 1) */
@media (prefers-reduced-motion: reduce) { .cel *, .cel *::before, .cel *::after { animation: none !important; transition: none !important; } }

/* Print */
@media print {
  .rs-top, .rs-banners, .rs-foot, .cel-pres, .cel-fs, .cel .tnav, .cel .btn, .cel .roi-cta-link, .cel .studio-tabs, .cel input[type=range] { display: none !important; }
  body { background: #fff !important; }
  .rs-main.cel-full { padding: 0; }
  .cel .agent-card, .cel .feature-item, .cel .studio-panel { box-shadow: none; }
  .cel .herocard { transform: none; }
  .cel .value-kpi, .cel .metric, .cel .closing, .cel .studio-visual, .cel .cap-ico, .cel .score-bar, .cel .score-tag { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .cel section, .cel .card { break-inside: avoid; }
}

/* Integration scenario flow: stack on narrow screens */
@media (max-width: 900px) {
  .cel .cel-flow { grid-template-columns: 1fr !important; }
  .cel .cel-flow .flow-arrow { transform: rotate(90deg); justify-self: center; }
}

/* Narrow screens: let grid and flex children shrink (no horizontal scroll at 360 px) */
.cel .hero .in > *, .cel .grid > *, .cel .studio-explorer > *, .cel .tour > *, .cel .studio-overview > *, .cel .audpanel > * { min-width: 0; }
@media (max-width: 680px) {
  .cel .btn, .cel .chip, .cel .roi-cta-link { white-space: normal; }
  .cel .herocard { padding: 12px; }
  .cel .studio-tabs { gap: 14px; }
}

/* Statement lines above sections (spec 0) */
.cel .statement { font-size: 15px; color: var(--muted); margin: 0 0 10px; max-width: 880px; }
.cel .studio-panel .statement, .cel .legend .statement { font-size: 14px; }
.cel .cel-stline { max-width: var(--maxw, 1180px); margin: 0 auto; padding: 24px 16px 0; }
.cel .cel-stline .statement { margin: 0; }
.cel-agents + .cel-shared, .cel .cel-stline + * { padding-top: 0; }

/* Shared agent list title shown as an H2 under the CeleRITE head (review round 2, A2-11) */
.cel-shared h2.cel-listtitle { font-size: 24px; margin: 4px 0 4px; }

/* Dark mode: numbered labels and coloured links keep their hue but get enough contrast (review round 2, A2-7) */
:root[data-theme="dark"] .cel .studio-panel-head .dot { background: var(--c) !important; color: #fff !important; border-color: var(--c) !important; }
:root[data-theme="dark"] .cel .more, :root[data-theme="dark"] .cel .eyebrow[style*="color"], :root[data-theme="dark"] .cel .jnode.on h3, :root[data-theme="dark"] .cel .jnode:hover h3, :root[data-theme="dark"] .cel .studio-rail .dot { filter: brightness(1.9) saturate(.85); }
:root[data-theme="dark"] .cel .studio-rail button.on .dot { filter: none; }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .cel .studio-panel-head .dot { background: var(--c) !important; color: #fff !important; border-color: var(--c) !important; }
  :root:not([data-theme="light"]) .cel .more, :root:not([data-theme="light"]) .cel .eyebrow[style*="color"], :root:not([data-theme="light"]) .cel .jnode.on h3, :root:not([data-theme="light"]) .cel .jnode:hover h3 { filter: brightness(1.9) saturate(.85); }
}

/* Review round 3, A3-8: CONFIRM chips stay compact inside the headline value tiles (their spans are display:block) */
.cel .metric span.cf, .cel .hero-stats span.cf, .cel .roiout span.cf { display: inline-block; width: auto; margin-top: 0; opacity: 1; vertical-align: middle; }

/* Build spec round 2: CONFIRM chips stay small and inline (badges, rail rows and KPI labels keep their height);
   statement lines use the original lede style. */
.cel .cf-keep { white-space: nowrap; }
.cel .statement { font-size: 15px; color: var(--muted); margin: 0 0 6px; line-height: 1.45; max-width: 80ch; }
.cel .pagehead .statement, .cel .hero .statement { color: rgba(255,255,255,.75); }
/* Presentation stepper only in full-screen mode (no element floats over the page otherwise) */
.cel-pres { display: none; }
body.presenting .cel-pres { display: flex; }

/* Scenario rail: badge and its CONFIRM chip fit one line, as in the original rail rows */
.cel .studio-rail button > span:not(.dot) > span { display: block; font-size: 12.5px; line-height: 1.35; }
.cel .studio-rail .cf-keep { display: inline; }
.cel .studio-rail .cf { display: inline-block; }
.cel .studio-rail b { line-height: 1.3; }

/* Shared views (Delivery method, AI agents, admin pages) take the CeleRITE orange from shared tokens ([data-portal="celerite"]). */
.cel-legendwrap .legend { max-width: none; } .cel-agentextra .where { max-width: none; padding-left: 0; padding-right: 0; }
.cel-agentextra { margin-top: 14px; }

/* Agents list in CeleRITE: the shared hero bleeds with 100vw, which overflows by the scrollbar width; here main is
   full width already, so the hero needs no bleed and the rest keeps the shared content width. */
.rs-main.cel-agents .ag-hero { margin: 0 0 22px; }
.rs-main.cel-agents #cel-ag > :not(.ag-hero), .rs-main.cel-agents .cel-legendwrap { max-width: var(--maxw, 1180px); margin-left: auto; margin-right: auto; padding-left: 16px; padding-right: 16px; }
.cel-glink { margin: 4px 0 0; font-size: 13.5px; color: var(--muted); }
.cel-glink a { color: var(--pa-text, #a34b00); font-weight: 700; text-decoration: none; }

/* Agents list: studio header with the full title and the studio link top right, as the original (review c2-1, C2A-16) */
.cel-agents .ag-sec { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 16px; }
.cel-agents .ag-sec > * { grid-column: 1; }
.cel-agents .ag-sec > .cel-glink { grid-column: 2; grid-row: 1 / span 2; align-self: start; font-size: 13.5px; font-weight: 700; color: var(--pa-text, #a34b00); text-decoration: none; white-space: nowrap; }
@media (max-width: 600px) { .cel-agents .ag-sec { display: block; } .cel-agents .ag-sec > .cel-glink { display: inline-block; margin-top: 4px; } }
/* Review c2-3 (C2-2A-9): CONFIRM markers use the shared red "CONFIRM" pill (components.css .cf); CeleRITE only keeps it on the line of the word before it. */

/* Co-brand (user request, 13 Oct 2026): the Applexus logo and a thin rule before the product logo, as in Runningstart. */
.rs-cobrand { display: flex; align-items: center; padding-right: 16px; border-right: 1px solid var(--line); }
.rs-cobrand .rs-applexus { height: 30px; width: auto; display: block; }
@media (max-width: 1350px) { .rs-cobrand { padding-right: 12px; } .rs-cobrand .rs-applexus { height: 24px; } }
@media (max-width: 760px) { .rs-cobrand { display: none; } }

/* Header full width (user request, 13 Oct 2026): the Applexus and product logos sit at the left edge, the tools at the
   right edge; the Admin row and notices use the same width so their right edges line up. */
.rs-top-in, .rs-adminrow-in, .rs-banners { max-width: none; padding-left: 24px; padding-right: 24px; }
@media (max-width: 760px) { .rs-top-in, .rs-adminrow-in, .rs-banners { padding-left: 16px; padding-right: 16px; } }

/* Menu right-aligned next to the tools, logos alone on the left, as in Runningstart (user request, 13 Oct 2026). */
@media (min-width: 761px) { .rs-top .rs-nav { justify-content: flex-end; } }