/* ============================================================================
   Page-specific design system: /products/zoho-flow/
   Shares no section structure with the eight pages before it. Recruit races two
   timelines; Flow traverses a graph - a record moves node to node, and the
   second run fails on purpose so the page can show what happens next.

   Base colour: --product-accent (#1878c0, sampled from the Flow icon).
   Site-wide bans hold: no arrows, no line beside headings, no bar atop cards.
   ============================================================================ */

.fl-page{--c:var(--product-accent,#1878c0)}

/* ---------- 1. hero ---------- */
.fl-hero{
  position:relative;overflow:hidden;padding:56px 0 0;border-top:10px solid var(--c);
  background:
    radial-gradient(840px 300px at 78% 0%, color-mix(in srgb,var(--c) 30%,transparent), transparent 70%),
    linear-gradient(190deg,#141f28,#0d1a17 66%);
}
.fl-hero .wrap{position:relative;z-index:2}
.fl-hero h1{color:#fff;font-size:clamp(28px,4.2vw,46px);max-width:21ch}
.fl-hero .lede{color:rgba(255,255,255,.87);max-width:60ch;margin-top:16px}
.fl-top{display:grid;grid-template-columns:1fr 300px;gap:44px;align-items:center}
@media (max-width:940px){.fl-top{grid-template-columns:1fr;gap:28px}}
.fl-tag{display:inline-flex;align-items:center;gap:9px;margin-bottom:16px;padding:7px 13px;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:7px}
.fl-tag img{width:22px;height:22px}
.fl-tag span{font-size:12.5px;font-weight:700;color:#fff}
.fl-acts{display:flex;gap:12px;flex-wrap:wrap;margin:26px 0 52px}
.fl-hero .btn-ghost{border-color:rgba(255,255,255,.4);color:#fff}
.fl-hero .btn-ghost:hover{background:rgba(255,255,255,.1);border-color:#fff;color:#fff}
/* two systems and a link, decorative */
.fl-link{display:flex;align-items:center;gap:12px;justify-content:center}
.fl-link b{
  width:74px;height:74px;border-radius:16px;display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.17);
  font-size:12px;font-weight:800;color:#fff;text-align:center;line-height:1.25;padding:6px;
}
.fl-link i{flex:1;height:2px;background:repeating-linear-gradient(90deg,
  rgba(255,255,255,.4) 0 6px,transparent 6px 12px);max-width:70px}
@media (prefers-reduced-motion:no-preference){
  .fl-link b{animation:flIn .5s ease both}
  .fl-link b:last-child{animation-delay:.15s}
  @keyframes flIn{from{opacity:0;transform:scale(.86)}}
}

/* ---------- 2. THE centrepiece: a run that succeeds, then one that fails ---------- */
.fl-run{padding:82px 0;background:var(--white)}
.rn{
  margin-top:30px;border:1px solid var(--line);border-radius:calc(var(--radius) * 2);
  background:var(--paper);padding:28px 30px 24px;
}
@media (max-width:600px){.rn{padding:20px 16px}}
.rn-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:24px}
.rn-btns{display:flex;gap:8px;flex-wrap:wrap}
.rn-btn{font-family:var(--font);font-size:13.5px;font-weight:700;cursor:pointer;
  background:var(--white);border:1px solid var(--line);border-radius:999px;padding:8px 17px;
  color:var(--ink);transition:border-color .16s,background .16s,color .16s}
.rn-btn:hover{border-color:var(--c);color:var(--c)}
.rn-btn[aria-pressed="true"]{background:var(--c);border-color:var(--c);color:#fff}
.rn-btn.danger[aria-pressed="true"]{background:var(--zoho-red);border-color:var(--zoho-red)}
.rn-status{font-size:13.5px;font-weight:700;color:var(--muted)}
.rn-status.ok{color:#0b6b3a}
.rn-status.bad{color:var(--zoho-red)}

.graph{display:flex;align-items:stretch;gap:0;flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px}
.node{
  flex:1 0 132px;min-width:132px;background:var(--white);border:1px solid var(--line);
  border-radius:var(--radius);padding:14px 13px;text-align:center;position:relative;
  opacity:.42;transition:opacity .3s ease,border-color .3s ease,background .3s ease;
}
.node.on{opacity:1;border-color:var(--nz,var(--c));background:color-mix(in srgb,var(--nz,var(--c)) 7%,#fff)}
.node.fail{opacity:1;border-color:var(--zoho-red);background:color-mix(in srgb,var(--zoho-red) 9%,#fff)}
.node:nth-child(odd){--nz:var(--zoho-blue)}
.node:nth-child(even){--nz:var(--zoho-green)}
.node-k{display:block;font-size:10.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;
  color:var(--muted);margin-bottom:6px}
.node.on .node-k{color:var(--nz,var(--c))}
.node.fail .node-k{color:var(--zoho-red)}
.node-t{display:block;font-size:13.5px;font-weight:700;color:var(--ink);line-height:1.3}
.hop{flex:0 0 26px;align-self:center;height:2px;background:var(--line);position:relative;
  transition:background .3s ease}
.hop.on{background:var(--c)}
.hop.bad{background:var(--zoho-red)}
@media (max-width:700px){
  .graph{flex-wrap:wrap;gap:8px}
  .node{flex:1 1 calc(50% - 8px);min-width:0}
  .hop{display:none}
}
.rn-log{
  margin-top:22px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);
  padding:16px 18px;min-height:96px;
}
.rn-log b{display:block;font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;
  color:var(--muted);margin-bottom:8px}
.rn-log p{font-size:14px;color:var(--ink);line-height:1.6;margin-bottom:5px}
.rn-log p:last-child{margin-bottom:0}
.rn-log p.err{color:var(--zoho-red);font-weight:600}
.run-note{margin-top:22px;font-size:13.5px;color:var(--muted);line-height:1.7;max-width:80ch}
.run-note strong{color:var(--ink)}

/* ---------- 3. anatomy of a connection ---------- */
.fl-anat{padding:78px 0;background:var(--paper)}
.an-three{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:30px}
@media (max-width:860px){.an-three{grid-template-columns:1fr}}
.an-c{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:26px 24px}
.an-c em{display:block;font-style:normal;font-size:11.5px;font-weight:800;letter-spacing:.05em;
  text-transform:uppercase;color:var(--anz,var(--c));margin-bottom:9px}
.an-c:nth-child(1){--anz:var(--zoho-red)}
.an-c:nth-child(2){--anz:var(--zoho-yellow)}
.an-c:nth-child(3){--anz:var(--zoho-green)}
.an-c h3{font-size:17px;margin-bottom:7px}
.an-c p{font-size:14.5px;color:var(--muted);line-height:1.65;margin-bottom:12px}
.an-c code{display:block;background:var(--paper);border:1px solid var(--line);border-radius:6px;
  padding:10px 12px;font-size:13px;color:var(--ink);line-height:1.5;font-family:var(--font)}

/* ---------- 4. when Flow, when something else ---------- */
.fl-when{padding:80px 0;background:var(--dark);color:#fff}
.fl-when h2{color:#fff}
.fl-when .lede{color:#b9c6c1;max-width:64ch}
.wh{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:30px}
@media (max-width:900px){.wh{grid-template-columns:1fr}}
.wh-c{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.13);
  border-radius:var(--radius);padding:24px 22px}
.wh-c h3{color:#fff;font-size:16.5px;margin-bottom:8px}
.wh-c p{font-size:14px;color:#c8d2ce;line-height:1.6;margin-bottom:12px}
.wh-tag{display:inline-block;font-size:11.5px;font-weight:800;letter-spacing:.04em;
  padding:4px 11px;border-radius:999px;background:color-mix(in srgb,var(--wz) 24%,transparent);color:#fff}
.wh-c:nth-child(1){--wz:var(--zoho-green)}
.wh-c:nth-child(2){--wz:var(--zoho-yellow)}
.wh-c:nth-child(3){--wz:var(--zoho-red)}

/* ---------- 5. decisions before connecting ---------- */
.fl-dec{padding:78px 0;background:var(--white)}
.dc{margin-top:28px;border-top:1px solid var(--line)}
.dc-r{display:grid;grid-template-columns:230px 1fr;gap:26px;padding:22px 0;
  border-bottom:1px solid var(--line);align-items:baseline}
@media (max-width:760px){.dc-r{grid-template-columns:1fr;gap:6px}}
.dc-q{font-size:16px;font-weight:800;color:var(--ink)}
.dc-a{font-size:14.5px;color:var(--muted);line-height:1.65}
.dc-a b{color:var(--ink)}

/* ---------- 6. mid CTA ---------- */
.fl-turn{padding:0 0 78px;background:var(--white)}
.fl-turn-in{
  background:var(--paper);border:1px solid var(--line);border-radius:calc(var(--radius) * 2);
  border-inline-start:6px solid var(--c);padding:30px 32px;
  display:grid;grid-template-columns:1fr auto;gap:26px;align-items:center;
}
@media (max-width:760px){.fl-turn-in{grid-template-columns:1fr;padding:24px 20px}}
.fl-turn-in h3{font-size:20px;margin-bottom:6px}
.fl-turn-in p{font-size:15px;color:var(--muted);line-height:1.65;max-width:62ch}

/* ---------- 7. delivery ---------- */
.fl-deliver{padding:80px 0;background:var(--paper)}
.fd{margin-top:30px;display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
@media (max-width:760px){.fd{grid-template-columns:1fr}}
.fd-i{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:24px 24px}
.fd-i h3{font-size:16.5px;margin-bottom:7px;display:flex;align-items:center;gap:10px}
.fd-i h3 em{font-style:normal;width:26px;height:26px;border-radius:7px;background:var(--fz,var(--c));
  color:#fff;font-family:var(--font-display);font-size:11.5px;font-weight:800;
  display:inline-flex;align-items:center;justify-content:center}
.fd-i:nth-child(4n+1){--fz:var(--zoho-red)}
.fd-i:nth-child(4n+2){--fz:var(--zoho-green)}
.fd-i:nth-child(4n+3){--fz:var(--zoho-blue)}
.fd-i:nth-child(4n+4){--fz:var(--zoho-yellow)}
.fd-i p{font-size:14.5px;color:var(--muted);line-height:1.65}

/* ---------- 8. FAQ ---------- */
.fl-faq{padding:80px 0;background:var(--white)}
.faq-fl{margin-top:26px;border-top:1px solid var(--line)}
.faq-fl .accordion-item button{padding-inline-end:54px;padding-block:20px;font-size:16.5px}
.faq-fl .accordion-item button::before,
.faq-fl .accordion-item button::after{background:var(--c);border-radius:1px}
.faq-fl .accordion-item button::before{inset-inline-end:16px;width:13px;height:2.5px}
.faq-fl .accordion-item button::after{inset-inline-end:21px;width:2.5px;height:13px}
.faq-fl .accordion-item button:hover,.faq-fl .accordion-item.open button{color:var(--c)}

/* ---------- 9. closing ---------- */
.fl-close{padding:0 0 92px;background:var(--white)}
.flc{border-radius:calc(var(--radius) * 2);overflow:hidden;
  background:linear-gradient(150deg,color-mix(in srgb,var(--c) 76%,#0d1a17),#111a20)}
.flc-body{padding:46px 44px 40px;max-width:720px}
@media (max-width:600px){.flc-body{padding:32px 24px}}
.flc h2{color:#fff;font-size:clamp(23px,3.2vw,32px);margin-bottom:12px;max-width:22ch}
.flc p{color:rgba(255,255,255,.86);font-size:15.5px;line-height:1.7;margin-bottom:24px}
.flc-btns{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.flc-alt{color:#fff;font-size:14.5px;font-weight:700;text-decoration:underline;
  text-underline-offset:4px;text-decoration-color:rgba(255,255,255,.45)}
.flc-alt:hover{text-decoration-color:#fff}
.flc-nodes{display:flex;gap:8px;padding:0 44px 40px;flex-wrap:wrap}
@media (max-width:600px){.flc-nodes{padding:0 24px 30px}}
.flc-nodes i{display:block;width:38px;height:10px;border-radius:5px;background:var(--fz)}
.flc-nodes i:nth-child(4n+1){--fz:var(--zoho-red)}
.flc-nodes i:nth-child(4n+2){--fz:var(--zoho-green)}
.flc-nodes i:nth-child(4n+3){--fz:var(--zoho-blue)}
.flc-nodes i:nth-child(4n+4){--fz:var(--zoho-yellow)}
