  :root{
    --paper:#F1ECE1; --ink:#14130E; --seal:#7A2E2E;
    --vellum:#FAF6EC; --parchment:#E6E0D2;
    --ink-75:#33312A; --ink-55:#5A564E; --ink-30:#A09B8E; --ink-15:#CFC9BB; --ink-08:#E5E1D5;
    --rule:#15140f24;
    --moss:#4E5C31; --moss-tint:#E3E5D5; --slate:#33405233; --slate-tint:#D5DAE2; --slate-ink:#33404F;
    --ochre:#7A5E24; --ochre-tint:#EBE2CC; --seal-tint:#ECDCDC;
    --font-display:'Cormorant Garamond','Garamond',serif;
    --font-text:'DM Sans',system-ui,-apple-system,sans-serif;
    --maxw:1240px;
  }
  *{ box-sizing:border-box; }
  html{ scroll-behavior:smooth; }
  body{
    margin:0; background:var(--paper); color:var(--ink);
    font-family:var(--font-text); font-weight:400;
    font-size:17px; line-height:1.55; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
    overflow-x:hidden;
  }
  ::selection{ background:var(--seal); color:var(--paper); }
  .wrap{ max-width:var(--maxw); margin:0 auto; padding:0 56px; }
  .display,h1,h2,h3{ font-family:var(--font-display); font-weight:600; line-height:1.05; letter-spacing:-0.015em; color:var(--ink); margin:0; text-wrap:pretty; }
  .eyebrow{ font-family:var(--font-text); font-weight:600; font-size:12.5px; letter-spacing:0.15em; text-transform:uppercase; color:var(--seal); }
  a{ color:inherit; text-decoration:none; }

  .btn{ display:inline-flex; align-items:center; justify-content:center; gap:10px;
    font-family:var(--font-text); font-weight:600;
    font-size:12.5px; letter-spacing:0.13em; text-transform:uppercase;
    padding:14px 26px; border:1px solid var(--ink); background:transparent; color:var(--ink);
    cursor:pointer; border-radius:0; transition:background-color .16s, color .16s; }
  .btn:hover{ background:var(--ink); color:var(--paper); }
  .btn--primary{ background:var(--ink); color:var(--paper); }
  .btn--primary:hover{ background:#2b2920; }
  .btn--sm{ padding:11px 20px; }
  .badge{ display:inline-flex; align-items:center; font-size:12.5px; font-weight:600; letter-spacing:0.05em; padding:7px 15px; border-radius:999px; }
  .badge--moss{ background:var(--moss-tint); color:var(--moss); }
  .badge--slate{ background:var(--slate-tint); color:var(--slate-ink); }
  .badge--ochre{ background:var(--ochre-tint); color:var(--ochre); }
  .badge--seal{ background:var(--seal-tint); color:var(--seal); }

  .seal circle{ fill:none; stroke:var(--ink); }
  .seal--seal circle{ stroke:var(--seal); }
  .seal--paper circle{ stroke:var(--paper); }

  /* ---------- NAV ---------- */
  .site-header{ position:sticky; top:0; z-index:30; background:rgba(241,236,225,.9); backdrop-filter:blur(8px); border-bottom:1px solid transparent; transition:border-color .3s; }
  .site-header.scrolled{ border-bottom-color:var(--rule); }
  .site-header__wrap{ max-width:none; margin:0 auto; padding:18px 40px; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:14px; }
  .brand{ display:inline-flex; align-items:center; gap:12px; }
  .wordmark{ font-family:var(--font-display); font-weight:500; letter-spacing:-0.01em; font-size:27px; line-height:1; color:var(--ink); }
  .site-header__nav{ display:flex; gap:2px; justify-content:flex-end; position:relative; }
  .nav-pill{ position:absolute; top:50%; left:0; width:0; height:32px; transform:translateY(-50%); background:rgba(255,255,255,.62); box-shadow:0 1px 3px rgba(20,19,14,.06); border-radius:999px; opacity:0; z-index:0; pointer-events:none; transition:left .28s cubic-bezier(.4,0,.2,1), width .28s cubic-bezier(.4,0,.2,1), opacity .2s ease; }
  .nav-link{ position:relative; z-index:1; display:inline-block; padding:8px 15px; font-family:var(--font-text); font-weight:500; font-size:12.5px; letter-spacing:0.13em; text-transform:uppercase; color:var(--ink-55); transition:color .16s; }
  .nav-link:hover{ color:var(--ink); }
  .site-header__cta{ display:flex; gap:12px; align-items:center; }
  @media(max-width:960px){ .site-header__nav{ display:none; } .site-header__wrap{ grid-template-columns:auto auto; } }

  /* ---------- HERO ---------- */
  .hero{ max-width:var(--maxw); margin:0 auto; padding:92px 56px 30px; text-align:center; }
  .hero__h{ font-family:var(--font-display); font-weight:400; font-size:clamp(44px,6.2vw,82px); line-height:1.03; letter-spacing:-0.02em; margin:26px auto 0; max-width:24ch; }
  .hero__h em{ font-style:italic; font-weight:400; color:var(--seal); }
  .hero__eyebrow{ font-size:16px; letter-spacing:0.16em; }
  .hero__sub{ font-size:clamp(18px,2vw,21px); font-weight:400; line-height:1.5; color:var(--ink-75); margin:28px auto 0; max-width:56ch; }
  .hero__cta{ margin-top:34px; display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }

  /* ---------- FLOW (marquee) ---------- */
  .flow{ --night:#17120E; --cream:#F3EEE6; --card:#FFFFFF; --paper-2:#F2EFE9; --line:rgba(24,20,15,.12); --line-soft:rgba(24,20,15,.06); --ink:#18140F; --ink-2:#57514A; --ink-3:#8B847B; --ox:#7A2E23; --ox-wash:rgba(122,46,35,.07); --serif:'Cormorant Garamond','Garamond',serif; }
/* ============ FLOW / PIPELINE ============ */
  .flow{background:var(--night);color:var(--cream);position:relative;overflow:hidden;padding:92px 0 104px;border-top:1px solid var(--line)}
  .flow::before{content:"";position:absolute;left:50%;top:56%;width:640px;height:440px;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(110,43,36,.42),transparent 62%);pointer-events:none}
  .flow-head{position:relative;z-index:2;text-align:center;max-width:640px;margin:0 auto}
  .flow .eyebrow{color:#C89A8F;justify-content:center}
  .flow .eyebrow::before,.flow .eyebrow::after{content:"";width:28px;height:1px;background:#C89A8F}
  .flow h2{color:var(--cream)}
  .flow h2 em{color:#D9A196}
  .flow .lede{color:rgba(239,233,220,.72)}

  .flow-stage{position:relative;height:330px;margin-top:56px}
  .flow-lane{position:absolute;top:0;height:100%;width:41%;display:flex;align-items:center;overflow:hidden}
  .flow-in{left:0;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 12%,#000 68%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 12%,#000 68%,transparent 100%)}
  .flow-out{right:0;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 32%,#000 88%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 32%,#000 88%,transparent 100%)}
  .flow-track{display:flex;align-items:center;gap:30px;flex:none;will-change:transform}
  .flow-in .flow-track{animation:flowmarch 26s linear infinite}
  .flow-out .flow-track{animation:flowmarch 30s linear infinite}
  @keyframes flowmarch{from{transform:translateX(-50%)}to{transform:translateX(0)}}

  .tile{width:58px;height:58px;flex:none;border-radius:0;box-shadow:0 12px 26px -8px rgba(0,0,0,.6)}
  .tile svg{display:block;width:58px;height:58px;filter:grayscale(.4) saturate(.62)}
  .tile svg rect[rx="12"]{ rx:0; ry:0; }

  .ocard{flex:none;display:flex;align-items:center;gap:11px;padding:12px 18px;border-radius:0;background:var(--card);color:var(--ink);white-space:nowrap;font-size:13.5px;font-weight:600;box-shadow:0 14px 30px -10px rgba(0,0,0,.55)}
  .ocard .oi{width:28px;height:28px;flex:none;border-radius:0;background:var(--ox-wash);display:grid;place-items:center}
  .ocard .oi svg{width:16px;height:16px;stroke:var(--ox);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

  /* live center app panel */
  .flow-app{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:6;width:512px;height:308px;border-radius:0;background:var(--card);overflow:hidden;
    box-shadow:0 0 0 1px rgba(217,161,150,.28),0 32px 74px -18px rgba(0,0,0,.72),0 0 92px -12px rgba(110,43,36,.6)}
  .fa-bar{height:40px;display:flex;align-items:center;gap:10px;padding:0 13px;border-bottom:1px solid var(--line-soft);background:var(--paper-2)}
  .fa-dots{display:flex;gap:5px;flex:none}
  .fa-dots i{width:8px;height:8px;border-radius:50%;background:rgba(27,23,16,.13)}
  .fa-tabs{display:flex;gap:2px;margin-left:2px}
  .fa-tab{font-size:10.5px;font-weight:600;color:var(--ink-3);padding:5px 9px;border-radius:0;transition:color .35s,background .35s,box-shadow .35s;white-space:nowrap}
  .fa-tab.on{color:var(--ink);background:var(--card);box-shadow:0 1px 3px rgba(27,23,16,.15)}
  .fa-body{position:relative;height:100%}
  .fa-view{position:absolute;inset:0;opacity:0;transition:opacity .55s ease;pointer-events:none}
  .fa-view.on{opacity:1}
  .fa-view img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block}
  .fa-eyebrow{font-size:8.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ox);margin-bottom:13px}
  .fa-deal{display:flex;gap:12px;align-items:flex-start}
  .fa-score{width:44px;height:44px;flex:none;border-radius:11px;background:var(--ox-wash);color:var(--ox);display:grid;place-items:center;font-family:var(--serif);font-size:19px;font-weight:600}
  .fa-name{font-family:var(--serif);font-size:17px;font-weight:600;color:var(--ink)}
  .fa-tagrow{display:flex;gap:5px;margin-top:10px;flex-wrap:wrap}
  .fa-chip{font-size:9.5px;font-weight:600;color:var(--ink-2);border:1px solid var(--line);border-radius:6px;padding:3px 7px}
  .fa-ln{height:8px;border-radius:4px;background:var(--line-soft);margin-top:9px}
  .fa-ln.t{height:13px;width:62%;background:rgba(27,23,16,.17);margin:0 0 4px}
  .fa-ln.s{width:92%}.fa-ln.m{width:78%}.fa-ln.x{width:46%}
  .fa-tiles{display:grid;grid-template-columns:1fr 1fr;gap:9px}
  .fa-tile{border:1px solid var(--line-soft);border-radius:10px;padding:9px 12px}
  .fa-tile b{font-size:21px;font-family:var(--serif);font-weight:600;color:var(--ink);display:block}
  .fa-tile small{display:block;font-size:8.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-bottom:3px}
  .fa-dot{width:6px;height:6px;border-radius:50%;display:inline-block;margin-right:5px}
  .fa-ori{background:var(--ox-wash);border-radius:11px;padding:13px 14px;font-size:12px;line-height:1.55;color:var(--ink-2)}
  .fa-ori b{color:var(--ox)}

  .flow-tag{position:absolute;bottom:-10px;font-size:15px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:rgba(239,233,220,.6);z-index:2}
  .flow-tag.l{left:1%}
  .flow-tag.r{right:1%}

  @media (prefers-reduced-motion:reduce){.flow-in .flow-track,.flow-out .flow-track{animation:none}}
  @media (max-width:760px){
    .flow-stage{height:212px}
    .tile,.tile svg{width:46px;height:46px}
    .flow-core{width:98px;height:98px;border-radius:24px}
    .flow-lane{width:48%}
    .ocard{font-size:12px;padding:10px 13px}
  }

  .oriq{ position:absolute; inset:0; background:#F7F5F1; background-image:radial-gradient(rgba(24,20,15,.14) 1px, transparent 1px); background-size:20px 20px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:9px; padding:16px 22px; text-align:center; }
  .oriq__h{ font-family:var(--font-display); font-weight:600; font-size:22px; line-height:1; color:#18140F; }
  .oriq__sub{ font-size:11.5px; color:#57514A; }
  .oriq__chips{ display:flex; flex-direction:column; align-items:center; gap:7px; margin-top:4px; }
  .oriq__row{ display:flex; gap:7px; justify-content:center; flex-wrap:wrap; }
  .oriq__chip{ background:#fff; border:1px solid rgba(24,20,15,.12); border-radius:999px; padding:6px 12px; font-size:11px; color:#18140F; box-shadow:0 3px 8px -6px rgba(0,0,0,.25); }
  .oriq__share{ margin-top:8px; display:flex; align-items:center; gap:11px; background:#fff; border:1px solid rgba(24,20,15,.1); border-radius:12px; padding:10px 12px; box-shadow:0 8px 20px -14px rgba(0,0,0,.3); text-align:left; max-width:392px; }
  .oriq__share .av{ width:30px; height:30px; border-radius:50%; background:#ECEAE4; flex:none; display:grid; place-items:center; }
  .oriq__share .av svg{ width:15px; height:15px; stroke:#57514A; fill:none; stroke-width:1.6; }
  .oriq__share .tx b{ display:block; font-size:12px; color:#18140F; line-height:1.2; }
  .oriq__share .tx span{ font-size:10.5px; color:#57514A; }
  .oriq__btn{ margin-left:auto; background:#18140F; color:#fff; border-radius:7px; padding:7px 11px; font-size:11px; font-weight:600; display:inline-flex; align-items:center; gap:6px; flex:none; }
  .oriq__btn svg{ width:12px; height:12px; stroke:#fff; fill:none; stroke-width:1.7; }
  .oriq__bar{ margin-top:14px; width:100%; max-width:430px; display:flex; align-items:center; gap:8px; background:#fff; border:1px solid rgba(24,20,15,.14); border-radius:999px; padding:8px 8px 8px 16px; box-shadow:0 6px 16px -10px rgba(0,0,0,.22); }
  .oriq__ph{ flex:1; display:flex; align-items:center; min-height:16px; font-size:12px; color:#57514A; white-space:nowrap; overflow:hidden; }
  .oriq__caret{ width:1.5px; height:14px; background:#18140F; display:inline-block; margin-left:1px; animation:oriblink 1.05s steps(1) infinite; }
  @keyframes oriblink{ 50%{ opacity:0; } }
  .oriq__go{ width:26px; height:26px; border-radius:50%; background:#18140F; flex:none; display:grid; place-items:center; }
  .oriq__go svg{ width:13px; height:13px; stroke:#fff; fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
  @media (prefers-reduced-motion:reduce){ .oriq__caret{ animation:none; } }
  /* Ori proactive feed */
  .orifeed{ position:absolute; inset:0; background:#F7F5F1; background-image:radial-gradient(rgba(24,20,15,.1) 1px, transparent 1px); background-size:20px 20px; padding:16px 18px; display:flex; flex-direction:column; gap:10px; }
  .orifeed__hd{ display:flex; align-items:center; gap:9px; font-size:11px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:#57514A; }
  .orifeed__hd .lp{ width:7px; height:7px; border-radius:50%; background:#4E5C31; animation:orilive 2s infinite; }
  @keyframes orilive{ 0%{ box-shadow:0 0 0 0 rgba(78,92,49,.5);} 70%{ box-shadow:0 0 0 6px rgba(78,92,49,0);} 100%{ box-shadow:0 0 0 0 rgba(78,92,49,0);} }
  .orifeed__list{ display:flex; flex-direction:column; gap:8px; }
  .ofi{ display:flex; align-items:center; gap:11px; background:#fff; border:1px solid rgba(24,20,15,.1); padding:9px 12px; box-shadow:0 5px 14px -9px rgba(0,0,0,.22); opacity:0; transform:translateY(9px); transition:opacity .5s ease, transform .5s ease; }
  .ofi.in{ opacity:1; transform:none; }
  .ofi__ic{ width:28px; height:28px; flex:none; display:grid; place-items:center; background:rgba(122,46,35,.08); }
  .ofi__ic svg{ width:15px; height:15px; stroke:#7A2E23; fill:none; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
  .ofi__tx{ flex:1; min-width:0; }
  .ofi__tx b{ display:block; font-size:12.5px; color:#18140F; line-height:1.2; }
  .ofi__tx span{ font-size:11px; color:#57514A; }
  .ofi__ck{ width:20px; height:20px; flex:none; border-radius:50%; background:#E3E5D5; color:#4E5C31; display:grid; place-items:center; font-size:11px; }

  /* ---------- PIPELINE (deal journey) ---------- */
  .pipe{ background:var(--vellum); border-top:1px solid var(--rule); border-bottom:1px solid var(--rule); }
  .pipe__in{ max-width:var(--maxw); margin:0 auto; padding:100px 56px; }
  .pipe__head{ text-align:center; }
  .pipe__head .chap{ justify-content:center; }
  .pipe__head .band__h{ margin:0 auto; }
  .pipe__head .band__sub{ margin:16px auto 0; }
  .pipe__list{ position:relative; max-width:900px; margin:66px auto 0; padding-left:190px; }
  .pipe__spine{ position:absolute; left:214px; top:10px; bottom:10px; width:2px; background:var(--ink-15); }
  .pipe__fill{ position:absolute; left:214px; top:10px; width:2px; height:0; background:var(--seal); transition:height .55s cubic-bezier(.2,.8,.2,1); }
  .pipe__token{ position:absolute; left:10px; top:0; width:172px; text-align:right; transition:top .55s cubic-bezier(.2,.8,.2,1); z-index:3; }
  .pipe__token .chip{ display:inline-flex; align-items:center; gap:6px; background:var(--ink); color:var(--paper); font-size:11.5px; font-weight:600; letter-spacing:.02em; padding:8px 13px; box-shadow:0 12px 26px -14px rgba(20,19,14,.55); }
  .pipe__token .chip .dia{ color:#E0A99F; }
  .pstep{ position:relative; display:grid; grid-template-columns:48px 1fr; gap:22px; padding:15px 0; cursor:pointer; opacity:.4; transition:opacity .35s; }
  .pstep.active, .pstep.passed{ opacity:1; }
  .pstep__node{ width:14px; height:14px; border-radius:50%; margin:6px auto 0; justify-self:center; border:1.5px solid var(--ink-15); background:var(--vellum); position:relative; z-index:2; transition:all .3s; }
  .pstep.passed .pstep__node{ background:var(--seal); border-color:var(--seal); }
  .pstep.active .pstep__node{ border-color:var(--seal); box-shadow:0 0 0 5px rgba(122,46,35,.14); }
  .pstep.active .pstep__node::after{ content:""; position:absolute; inset:3px; border-radius:50%; background:var(--seal); }
  .pstep__top{ display:flex; align-items:baseline; gap:12px; }
  .pstep__no{ font-family:var(--font-text); font-weight:600; font-size:12px; letter-spacing:.14em; color:var(--ink-55); }
  .pstep.active .pstep__no{ color:var(--seal); }
  .pstep__h{ font-family:var(--font-display); font-weight:600; font-size:25px; line-height:1.05; }
  .pstep__b{ margin-top:5px; font-size:14.5px; color:var(--ink-75); line-height:1.5; max-width:54ch; }
  @media(max-width:760px){
    .pipe__list{ padding-left:0; }
    .pipe__spine, .pipe__fill{ left:24px; }
    .pipe__token{ display:none; }
    .pstep__h{ font-size:22px; }
  }

  /* ---------- OVERVIEW (transformation loop) ---------- */
  .ov{ padding:96px 0 100px; background:var(--paper); }
  .ov__in{ max-width:1180px; margin:0 auto; padding:0 56px; }
  .ov__label{ text-align:center; }
  .ov__label span{ display:inline-block; font-size:11px; font-weight:600; letter-spacing:.22em; text-transform:uppercase; color:var(--seal); background:var(--seal-tint); border-radius:999px; padding:7px 18px; }
  .ov__stage{ position:relative; margin-top:60px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; min-height:300px; }
  .ov__zone{ position:absolute; bottom:-34px; font-size:10.5px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-30); }
  .ov__zone.l{ left:4px; } .ov__zone.c{ left:50%; transform:translateX(-50%); } .ov__zone.r{ right:4px; }
  .ov__paths{ position:absolute; inset:0; width:100%; height:100%; pointer-events:none; z-index:0; }
  .ovflow{ animation:ovdash 1.1s linear infinite; }
  @keyframes ovdash{ to{ stroke-dashoffset:-20; } }
  @media (prefers-reduced-motion:reduce){ .ovflow{ animation:none; } }
  .ov__grid{ display:grid; grid-template-columns:repeat(3,54px); gap:16px; justify-self:start; position:relative; z-index:1; }
  .ovt{ width:54px; height:54px; border:1px solid var(--ink-15); background:var(--vellum); display:grid; place-items:center; transition:opacity .3s; }
  .ovt svg{ width:22px; height:22px; stroke:var(--seal); fill:none; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
  .ovt.sending{ opacity:.28; }
  .ovt--seal{ background:var(--seal-tint); } .ovt--seal svg{ stroke:var(--seal); }
  .ovt--moss{ background:var(--moss-tint); } .ovt--moss svg{ stroke:var(--moss); }
  .ovt--ochre{ background:var(--ochre-tint); } .ovt--ochre svg{ stroke:var(--ochre); }
  .ovt--slate{ background:var(--slate-tint); } .ovt--slate svg{ stroke:var(--slate-ink); }
  .ov__fly[data-c="seal"]{ background:var(--seal-tint); } .ov__fly[data-c="seal"] svg{ stroke:var(--seal); }
  .ov__fly[data-c="moss"]{ background:var(--moss-tint); } .ov__fly[data-c="moss"] svg{ stroke:var(--moss); }
  .ov__fly[data-c="ochre"]{ background:var(--ochre-tint); } .ov__fly[data-c="ochre"] svg{ stroke:var(--ochre); }
  .ov__fly[data-c="slate"]{ background:var(--slate-tint); } .ov__fly[data-c="slate"] svg{ stroke:var(--slate-ink); }
  .ov__seal svg circle{ stroke:var(--flash, var(--seal)); transition:stroke .45s ease; }
  .ov__ring{ border-color:var(--flash-dim, rgba(122,46,35,.28)); transition:border-color .5s ease; }
  .ov__core{ position:relative; justify-self:center; width:170px; height:170px; display:grid; place-items:center; z-index:1; }
  .ov__ring{ position:absolute; border:1.5px dashed rgba(122,46,35,.28); border-radius:50%; }
  .ov__ring.r1{ inset:20px; animation:ovspin 16s linear infinite; }
  .ov__ring.r2{ inset:0; animation:ovspin 26s linear infinite reverse; }
  @keyframes ovspin{ to{ transform:rotate(360deg); } }
  .ov__seal{ position:relative; z-index:2; display:grid; place-items:center; transition:transform .3s ease; }
  .ov__seal .ovseal{ width:150px; height:150px; overflow:visible; }
  .ov__seal .ring{ fill:none; stroke:var(--flash, var(--seal)); stroke-width:4.5; stroke-linecap:round; transition:stroke .45s ease; transform-box:fill-box; transform-origin:center; }
  .ov__seal .ring.r1{ stroke-dasharray:202 101; animation:ovsp 3.4s linear infinite; }
  .ov__seal .ring.r2{ stroke-dasharray:158 79; animation:ovsp 2.4s linear infinite reverse; }
  .ov__seal .ring.r3{ stroke-dasharray:114 57; animation:ovsp 1.7s linear infinite; }
  @keyframes ovsp{ to{ transform:rotate(360deg); } }
  @media (prefers-reduced-motion:reduce){ .ov__seal .ring{ animation:none; stroke-dasharray:none; } }
  @keyframes ovpulse{ 0%,100%{ box-shadow:0 0 42px -12px rgba(122,46,35,.4);} 50%{ box-shadow:0 0 66px -8px rgba(122,46,35,.6);} }
  .ov__core.hit .ov__seal{ transform:scale(1.14); }
  .ov__fly{ position:absolute; width:54px; height:54px; border:1px solid var(--ink-15); background:var(--vellum); display:grid; place-items:center; z-index:5; opacity:0; pointer-events:none; }
  .ov__fly svg{ width:22px; height:22px; stroke:var(--seal); fill:none; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
  .ov__out{ justify-self:end; width:300px; display:flex; flex-direction:column; gap:10px; }
  .ovo{ display:flex; align-items:center; gap:13px; background:var(--paper); border:1px solid var(--ink-15); padding:14px 16px; box-shadow:0 18px 42px -28px rgba(20,19,14,.5); }
  .ovo__thumb{ width:58px; height:46px; flex:none; }
  .ovo__thumb svg{ width:100%; height:100%; display:block; }
  .ovo__tx b{ display:block; font-family:var(--font-display); font-weight:600; font-size:19px; color:var(--ink); line-height:1; }
  .ovo__tx span{ font-size:11px; color:var(--ink-55); }
  .ovo--in{ animation:ovoin .62s cubic-bezier(.3,.9,.3,1); }
  @keyframes ovoin{ from{ opacity:0; transform:translateX(-230px) scale(.5);} to{ opacity:1; transform:none;} }
  .ov__cols{ margin-top:82px; display:grid; grid-template-columns:1fr 44px 1fr 44px 1fr; align-items:start; }
  .ovcol .n{ font-family:var(--font-text); font-weight:600; font-size:13px; letter-spacing:.06em; color:var(--seal); }
  .ovcol h3{ font-family:var(--font-display); font-weight:600; font-size:34px; line-height:1; margin:8px 0 0; }
  .ovcol p{ margin-top:12px; font-size:15px; color:var(--ink-75); line-height:1.55; max-width:32ch; }
  .ovchev{ align-self:center; text-align:center; color:var(--seal); font-size:22px; }
  @media(max-width:860px){
    .ov__stage{ grid-template-columns:1fr; justify-items:center; gap:44px; }
    .ov__paths, .ov__fly, .ov__zone{ display:none; }
    .ov__out{ width:100%; max-width:360px; justify-self:center; }
    .ov__grid{ justify-self:center; }
    .ov__cols{ grid-template-columns:1fr; gap:30px; }
    .ovchev{ display:none; }
  }

  /* ---------- VC WORKFLOW (scroll-fill timeline) ---------- */
  .vcflow{ background:var(--paper); padding:30px 0 110px; }
  .vcflow__head{ text-align:center; padding:0 56px; }
  .vcflow__head .chap{ justify-content:center; }
  .vcflow__head .band__h,.vcflow__head .band__sub{ margin-left:auto; margin-right:auto; }
  .vcflow__list{ position:relative; max-width:1120px; margin:52px auto 0; padding:0 56px; }
  .vcflow__track{ position:absolute; left:50%; transform:translateX(-50%); top:34px; bottom:34px; width:2px; background:var(--ink-15); z-index:0; }
  .vcflow__fill{ position:absolute; left:0; top:0; width:100%; background:var(--seal); height:0; }
  .vcstep{ position:relative; display:grid; grid-template-columns:1fr 66px 1fr; align-items:center; padding:30px 0; }
  .vcstep__node{ grid-column:2; justify-self:center; width:15px; height:15px; border-radius:50%; background:var(--paper); border:2px solid var(--ink-15); z-index:2; transition:border-color .3s, background .3s, box-shadow .3s; }
  .vcstep.active .vcstep__node{ border-color:var(--seal); background:var(--seal); box-shadow:0 0 0 5px rgba(122,46,35,.12); }
  .vcstep__text{ opacity:.5; transition:opacity .4s ease; }
  .vcstep.active .vcstep__text{ opacity:1; }
  .vcstep--l .vcstep__text{ grid-column:1; text-align:right; padding-right:48px; }
  .vcstep--l .vcstep__vis{ grid-column:3; padding-left:48px; }
  .vcstep--r .vcstep__vis{ grid-column:1; padding-right:48px; }
  .vcstep--r .vcstep__text{ grid-column:3; text-align:left; padding-left:48px; }
  .vcstep__no{ font-family:var(--font-text); font-weight:600; font-size:13px; letter-spacing:.06em; color:var(--seal); }
  .vcstep__h{ font-family:var(--font-display); font-weight:600; font-size:30px; line-height:1.05; margin:8px 0 0; }
  .vcstep__b{ margin-top:10px; font-size:15px; color:var(--ink-75); line-height:1.5; }
  .vcstep__tags{ margin-top:14px; display:flex; gap:8px; flex-wrap:wrap; }
  .vcstep--l .vcstep__tags{ justify-content:flex-end; }
  .vctag{ font-size:11px; font-weight:600; color:var(--seal); background:var(--seal-tint); padding:5px 12px; border-radius:999px; }
  .vcvis{ border:1px solid var(--ink-15); background:var(--vellum); box-shadow:0 26px 58px -36px rgba(20,19,14,.4); opacity:.55; transform:translateY(10px); transition:opacity .5s ease, transform .5s ease; }
  .vcstep.active .vcvis{ opacity:1; transform:none; }
  .vcvis__bar{ display:flex; gap:5px; padding:9px 12px; border-bottom:1px solid var(--rule); }
  .vcvis__bar i{ width:8px; height:8px; border-radius:50%; background:var(--ink-15); display:block; }
  .vcvis__body{ padding:14px 16px; background:var(--paper); }
  .vcvis__body svg{ width:100%; height:auto; display:block; }
  @media(max-width:820px){
    .vcflow__list{ padding:0 24px; }
    .vcflow__track{ left:24px; transform:none; }
    .vcstep{ grid-template-columns:48px 1fr; padding:18px 0; }
    .vcstep__node{ grid-column:1; grid-row:1; }
    .vcstep--l .vcstep__text,.vcstep--r .vcstep__text{ grid-column:2; grid-row:1; text-align:left; padding:0; }
    .vcstep--l .vcstep__vis,.vcstep--r .vcstep__vis{ grid-column:2; grid-row:2; padding:16px 0 0; }
    .vcstep--l .vcstep__tags{ justify-content:flex-start; }
  }

  /* ---------- WORKFLOW STEP 1 (email -> inbox) ---------- */
  .wf1{ background:var(--vellum); border-top:1px solid var(--rule); border-bottom:1px solid var(--rule); padding:92px 0; overflow:hidden; }
  .wf1__in{ max-width:var(--maxw); margin:0 auto; padding:0 56px; }
  .wf1__head{ text-align:center; }
  .wf1__head .chap{ justify-content:center; }
  .wf1__head .band__h{ margin:0 auto; }
  .wf1__stage{ position:relative; max-width:none; margin:60px auto 0; min-height:280px; display:flex; align-items:center; justify-content:flex-end; }
  .wf1__inbox{ width:440px; max-width:100%; border:1px solid var(--ink-15); background:#fff; box-shadow:0 30px 70px -40px rgba(20,19,14,.45); position:relative; z-index:1; }
  .wf1__top{ display:flex; align-items:center; gap:12px; padding:11px 14px; border-bottom:1px solid var(--rule); }
  .wf1__brand{ display:flex; align-items:center; gap:7px; font-size:13px; font-weight:600; color:var(--ink); flex:none; }
  .wf1__brand svg{ width:16px; height:16px; color:#1A73E8; }
  .wf1__search{ flex:1; background:var(--parchment); color:var(--ink-55); font-size:12px; padding:8px 14px; border-radius:999px; }
  .wf1__tabs{ display:flex; border-bottom:1px solid var(--rule); }
  .wf1__tabs span{ flex:1; text-align:center; font-size:11px; font-weight:600; letter-spacing:.03em; color:var(--ink-55); padding:9px 0; }
  .wf1__tabs .on{ color:var(--seal); box-shadow:inset 0 -2px 0 var(--seal); }
  .wf1__dot{ width:7px; height:7px; border-radius:50%; background:var(--seal); flex:none; opacity:0; }
  .wf1__row.unread .wf1__dot{ opacity:1; }
  .wf1__row.unread .wf1__rt b{ font-weight:700; }
  .wf1__star{ color:var(--ink-15); font-size:15px; flex:none; line-height:1; }
  .wf1__bar{ display:flex; align-items:center; gap:9px; padding:12px 16px; border-bottom:1px solid var(--rule); font-family:var(--font-text); font-weight:600; font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-55); }
  .wf1__bar svg{ width:15px; height:15px; color:var(--seal); }
  .wf1__list{ min-height:180px; }
  .wf1__row{ display:flex; align-items:center; gap:11px; padding:12px 15px; border-bottom:1px solid var(--rule); }
  .wf1__row:last-child{ border-bottom:0; }
  .wf1__av{ width:30px; height:30px; border-radius:50%; color:#fff; display:grid; place-items:center; font-size:10px; font-weight:600; flex:none; }
  .wf1__rt{ flex:1; min-width:0; }
  .wf1__rt b{ font-size:13px; color:var(--ink); font-weight:600; }
  .wf1__rt span{ display:block; font-size:12px; color:var(--ink-55); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .wf1__time{ font-size:10.5px; color:var(--ink-30); flex:none; }
  .wf1__row.new{ animation:wf1in .55s ease; }
  @keyframes wf1in{ 0%{ opacity:0; transform:translateY(-9px); } 30%{ background:var(--seal-tint); } 100%{ opacity:1; transform:none; } }
  .wf1__flyer{ position:absolute; left:0; top:50%; opacity:0; z-index:3; pointer-events:none; color:#1A73E8; }
  .wf1__flyer svg{ width:46px; height:46px; filter:drop-shadow(0 12px 18px rgba(20,19,14,.28)); }
  @media(max-width:620px){ .wf1__stage{ min-height:240px; } .wf1__flyer{ display:none; } }

  /* ---------- LOGO STRIP ---------- */
  .logos{ border-top:1px solid var(--rule); border-bottom:1px solid var(--rule); margin-top:0; }
  .logos__in{ max-width:var(--maxw); margin:0 auto; padding:30px 56px; text-align:center; }
  .logos__lbl{ font-size:12px; font-weight:600; letter-spacing:0.15em; text-transform:uppercase; color:var(--ink-55); }
  .logos__row{ margin-top:26px; display:flex; flex-wrap:wrap; gap:18px 20px; align-items:center; justify-content:center; }
  .logo-slot{ width:150px; height:46px; border:1px dashed var(--ink-15); display:grid; place-items:center; font-size:10px; font-weight:600; letter-spacing:0.18em; text-transform:uppercase; color:var(--ink-30); }

  /* ---------- SECTIONS ---------- */
  section{ position:relative; }
  .band{ max-width:var(--maxw); margin:0 auto; padding:104px 56px; }
  .band--vellum{ background:var(--vellum); border-top:1px solid var(--rule); border-bottom:1px solid var(--rule); }
  .band--vellum .band__inner{ max-width:var(--maxw); margin:0 auto; padding:104px 56px; }
  .chap{ display:flex; align-items:center; gap:14px; margin-bottom:20px; }
  .chap__no{ font-family:var(--font-text); font-weight:600; font-size:12.5px; letter-spacing:0.15em; text-transform:uppercase; color:var(--seal); }
  .band__h{ font-family:var(--font-display); font-weight:600; font-size:clamp(34px,4.6vw,58px); line-height:1.04; letter-spacing:-0.015em; margin:0; max-width:18ch; }
  .band__sub{ margin-top:18px; max-width:52ch; font-size:19px; font-weight:400; color:var(--ink-75); }
  .center{ text-align:center; } .center .band__h,.center .band__sub{ margin-left:auto; margin-right:auto; }
  .center .chap{ justify-content:center; }
  .fig-cap{ margin-top:16px; font-size:12px; font-weight:500; letter-spacing:0.1em; color:var(--ink-55); text-transform:uppercase; }

  /* ---------- FEATURE ROWS (uniform landscape laptop frames) ---------- */
  .fbank{ position:relative; max-width:var(--maxw); margin:6px auto 0; padding:0 56px; display:flex; flex-direction:column; gap:64px; }
  .fbank__cap{ display:flex; flex-direction:column; align-items:center; gap:12px; margin-bottom:16px; position:relative; z-index:2; }
  .fbank__cap .seal{ background:var(--paper); padding:5px; box-sizing:content-box; }
  .fbank__word{ font-family:var(--font-text); font-weight:600; font-size:12.5px; letter-spacing:0.2em; text-transform:uppercase; color:var(--seal); background:var(--paper); padding:0 12px; }
  .fbank::before{ content:""; position:absolute; left:50%; top:16px; bottom:16px; width:1.5px; background:var(--ink-15); transform:translateX(-50%); z-index:0; }
  .fbank__fill{ position:absolute; left:50%; top:16px; width:1.5px; height:0; background:var(--seal); transform:translateX(-50%); z-index:1; }
  .frow{ position:relative; display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
  .frow::before{ content:""; position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:13px; height:13px; border-radius:50%; background:var(--paper); border:1.5px solid var(--ink-15); z-index:2; transition:border-color .3s, background .3s, box-shadow .3s; }
  .frow.lit::before{ border-color:var(--seal); background:var(--seal); box-shadow:0 0 0 5px rgba(122,46,35,.12); }
  @media(max-width:860px){ .fbank::before, .frow::before{ display:none; } }
  .frow--flip .frame{ order:2; }
  .fcap .eyebrow{ display:block; }
  .fcap__h{ font-family:var(--font-display); font-weight:400; font-size:clamp(30px,3.3vw,44px); line-height:1.06; margin:14px 0 0; }
  .fcap__b{ margin-top:14px; font-size:17px; font-weight:400; color:var(--ink-75); max-width:40ch; }
  .frame{ border:1px solid var(--ink-15); background:var(--vellum); box-shadow:0 24px 60px -34px rgba(20,19,14,.42),0 6px 14px -8px rgba(20,19,14,.2); }
  .frame__bar{ display:flex; align-items:center; gap:8px; padding:10px 14px; border-bottom:1px solid var(--rule); }
  .frame__dots{ display:flex; gap:5px; } .frame__dots i{ width:9px; height:9px; border-radius:50%; background:var(--ink-15); display:block; }
  .frame__ttl{ font-size:10.5px; font-weight:600; letter-spacing:0.12em; text-transform:uppercase; color:var(--ink-55); margin-left:4px; }
  .frame__view{ aspect-ratio:16/10; overflow:hidden; position:relative; background:var(--paper); }
  .frame__view > *{ position:absolute; inset:0; }
  @media(max-width:860px){ .frow{ grid-template-columns:1fr; gap:26px; } .frow--flip .frame{ order:0; } }

  /* ---- Automation flow mock (Analysis) ---- */
  .amock{ height:100%; display:flex; flex-direction:column; }
  .amock__head{ padding:13px 15px; background:var(--parchment); border-bottom:1px solid var(--rule); display:flex; align-items:flex-start; justify-content:space-between; gap:8px; }
  .amock__eyebrow{ font-size:9px; font-weight:600; letter-spacing:0.14em; text-transform:uppercase; color:var(--ink-55); }
  .amock__title{ font-family:var(--font-display); font-size:20px; color:var(--ink); margin-top:5px; line-height:1.05; }
  .amock__btns{ display:flex; gap:7px; flex:none; }
  .abtn{ font-size:9px; font-weight:600; letter-spacing:0.1em; text-transform:uppercase; padding:7px 10px; border:1px solid var(--ink-15); background:var(--paper); color:var(--ink-55); }
  .abtn--go{ background:var(--moss); color:var(--paper); border-color:var(--moss); }
  .amock__canvas{ flex:1; overflow:hidden; background:var(--paper); background-image:radial-gradient(var(--ink-15) 1.1px, transparent 1.1px); background-size:15px 15px; }
  .amock__flow{ display:flex; align-items:center; gap:0; padding:0 16px; height:100%; }
  .anode{ flex:none; width:146px; background:var(--paper); border:1px solid var(--ink-15); padding:13px 14px; box-shadow:0 6px 16px -12px rgba(20,19,14,.4); }
  .anode .lbl{ font-size:9px; font-weight:600; letter-spacing:0.14em; text-transform:uppercase; color:var(--ink-55); }
  .anode .t{ font-family:var(--font-display); font-size:19px; line-height:1.06; margin-top:8px; color:var(--ink); }
  .anode .s{ font-size:11px; color:var(--ink-55); margin-top:6px; }
  .aarrow{ flex:none; padding:0 5px; }

  /* ---- Network / co-investor map mock (Diligence) ---- */
  .dmock{ font-family:var(--font-text); color:var(--ink); padding:15px 15px 0; }
  .dmock__h{ font-family:var(--font-display); font-size:23px; line-height:1; }
  .dmock__meta{ font-size:10px; color:var(--ink-55); line-height:1.45; margin-top:8px; padding-bottom:12px; border-bottom:1px solid var(--rule); }
  .dmock__part{ font-family:var(--font-display); font-size:18px; margin-top:13px; }
  .dmock__sub{ font-family:var(--font-display); font-size:13px; color:var(--ink-75); margin-top:2px; }
  .dtbl{ width:100%; border-collapse:collapse; margin-top:11px; table-layout:fixed; }
  .dtbl th{ text-align:left; font-weight:600; letter-spacing:0.09em; text-transform:uppercase; font-size:7.5px; color:var(--ink-55); background:var(--parchment); padding:7px 8px; }
  .dtbl td{ vertical-align:top; padding:9px 8px; border-bottom:1px solid var(--rule); color:var(--ink-75); line-height:1.4; font-size:9.5px; }
  .dtbl col.c1{ width:30%; } .dtbl col.c2{ width:20%; } .dtbl col.c3{ width:50%; }
  .dtbl .nm{ display:block; font-family:var(--font-display); font-size:13px; color:var(--ink); line-height:1.05; }
  .dtbl .sub{ display:block; font-size:8.5px; color:var(--ink-55); margin-top:3px; }
  .dmock__note{ font-size:10px; color:var(--ink-75); line-height:1.5; margin-top:13px; }
  .dmock__note em{ font-family:var(--font-display); font-style:italic; color:var(--seal); }

  /* ---- Live diligence mock (autonomous call capture) ---- */
  .dilm{ font-family:var(--font-text); color:var(--ink); padding:15px 16px 0; }
  .dilm__hd{ display:flex; align-items:center; justify-content:space-between; }
  .dilm__hd b{ font-family:var(--font-display); font-weight:600; font-size:19px; }
  .dilm__live{ font-size:9px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--seal); }
  .dilm__sub{ font-size:10.5px; color:var(--ink-55); margin-top:4px; padding-bottom:11px; border-bottom:1px solid var(--rule); }
  .dilm__cap{ font-size:9px; font-weight:600; letter-spacing:.13em; text-transform:uppercase; color:var(--ink-55); margin:12px 0 8px; }
  .dilm__row{ display:flex; align-items:center; gap:10px; padding:7px 0; border-bottom:1px solid var(--rule); }
  .dilm__ic{ width:26px; height:26px; flex:none; display:grid; place-items:center; background:var(--parchment); }
  .dilm__ic svg{ width:14px; height:14px; stroke:var(--seal); fill:none; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
  .dilm__t{ flex:1; font-size:12px; color:var(--ink); }
  .dilm__tag{ font-size:9px; font-weight:600; color:var(--moss); background:var(--moss-tint); padding:3px 8px; white-space:nowrap; }
  .dilm__note{ font-size:10.5px; color:var(--ink-75); line-height:1.5; margin-top:12px; }
  .dilm__note b{ color:var(--ink); font-weight:600; }
  .dilm__note em{ font-family:var(--font-display); font-style:italic; color:var(--seal); }

  /* ---- Company timeline + recommended actions mock (Portfolio) ---- */
  .tmock{ font-family:var(--font-text); color:var(--ink); padding:14px 15px 0; }
  .tmock__top{ display:flex; align-items:center; justify-content:space-between; gap:8px; }
  .tmock__ttl{ font-family:var(--font-display); font-size:18px; }
  .tmock__ttl span{ font-family:var(--font-text); font-size:11px; color:var(--ink-55); }
  .tmock__filters{ display:flex; gap:5px; }
  .tmock__filters span{ font-size:9px; font-weight:600; padding:4px 8px; border:1px solid var(--ink-15); color:var(--ink-55); }
  .tmock__filters .on{ background:var(--ink); color:var(--paper); border-color:var(--ink); }
  .tmock__sub{ font-size:10px; color:var(--ink-55); margin-top:7px; padding-bottom:9px; border-bottom:1px solid var(--rule); }
  .tev{ display:flex; gap:10px; padding:10px 0; border-bottom:1px solid var(--rule); }
  .tdot{ flex:none; width:22px; height:22px; border-radius:50%; display:grid; place-items:center; font-size:11px; border:1px solid var(--ink-15); }
  .tdot--moss{ color:var(--moss); border-color:var(--moss); background:var(--moss-tint); }
  .tdot--ochre{ color:var(--ochre); border-color:var(--ochre); background:var(--ochre-tint); }
  .tev__meta{ display:flex; align-items:center; gap:7px; flex-wrap:wrap; }
  .tchip{ font-size:8px; font-weight:600; letter-spacing:0.04em; padding:2px 7px; border-radius:999px; }
  .tchip--moss{ background:var(--moss-tint); color:var(--moss); }
  .tchip--ochre{ background:var(--ochre-tint); color:var(--ochre); }
  .tchip--seal{ background:var(--seal-tint); color:var(--seal); }
  .tdate{ font-size:9.5px; color:var(--ink-55); }
  .tsrc{ font-size:8.5px; color:var(--ink-55); border:1px solid var(--ink-15); border-radius:999px; padding:1px 7px; }
  .tev__h{ font-family:var(--font-display); font-size:16px; margin-top:5px; line-height:1.05; }
  .tev__d{ font-size:10.5px; color:var(--ink-75); line-height:1.42; margin-top:4px; }
  .ract__hd{ font-size:9.5px; font-weight:600; letter-spacing:0.13em; text-transform:uppercase; color:var(--ink-55); display:flex; align-items:center; gap:6px; }
  .ract__hd span{ color:var(--ink-30); }
  .ract{ display:flex; gap:9px; padding:9px 0; border-bottom:1px dashed var(--rule); }
  .rdot{ flex:none; width:7px; height:7px; border-radius:50%; background:var(--seal); margin-top:4px; }
  .ract__h{ font-size:11.5px; font-weight:600; color:var(--ink); line-height:1.2; }
  .ract__d{ font-size:10px; color:var(--ink-75); line-height:1.4; margin-top:3px; }
  .ract__more{ font-size:9px; color:var(--ink-55); letter-spacing:0.1em; padding-top:8px; }
  .ract__panel{ margin-top:16px; background:var(--vellum); border:1px solid var(--ink-15); padding:12px 15px 13px; }
  .ract--solo{ border-bottom:0; padding:8px 0 4px; }

  /* ---------- THREE-UP (Security) ---------- */
  .threeup{ margin-top:56px; display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
  .tu{ border:1px solid var(--ink-15); background:var(--paper); padding:30px 28px 32px; display:flex; flex-direction:column; }
  .tu__ic{ width:46px; height:46px; flex:none; display:grid; place-items:center; border:1px solid var(--ink-15); background:var(--vellum); margin-bottom:22px; }
  .tu__ic svg{ width:23px; height:23px; stroke:var(--seal); fill:none; stroke-width:1.4; stroke-linecap:round; stroke-linejoin:round; }
  .tu__h{ font-family:var(--font-display); font-weight:600; font-size:27px; margin:0; }
  .tu__b{ margin-top:9px; font-size:14.5px; font-weight:400; color:var(--ink-75); line-height:1.55; }
  @media(max-width:820px){ .threeup{ grid-template-columns:1fr; } }

  /* ---------- TESTIMONIAL CAROUSEL ---------- */
  .quotes{ margin-top:56px; }
  .quotes__track{ display:flex; gap:24px; overflow:hidden; }
  .note{ background:var(--paper); border:1px solid var(--rule); padding:38px 40px; display:flex; flex-direction:column; gap:24px; min-width:100%; }
  @media(min-width:820px){ .note{ min-width:calc(50% - 12px); } }
  .note__q{ font-family:var(--font-display); font-weight:600; font-size:28px; line-height:1.25; letter-spacing:-0.01em; color:var(--ink); margin:0; }
  .note__c{ display:flex; align-items:center; gap:12px; padding-top:20px; border-top:1px solid var(--rule); margin-top:auto; }
  .note__c .who{ font-size:14px; color:var(--ink); font-weight:600; }
  .note__c .role{ font-size:12.5px; color:var(--ink-55); font-weight:500; }
  .quotes__nav{ margin-top:28px; display:flex; gap:12px; align-items:center; }
  .qbtn{ width:44px; height:44px; border:1px solid var(--ink-15); background:transparent; cursor:pointer; display:grid; place-items:center; color:var(--ink-55); font-size:18px; transition:all .16s; }
  .qbtn:hover{ border-color:var(--ink); color:var(--ink); }
  .quotes__dots{ margin-left:auto; font-size:12.5px; font-weight:600; letter-spacing:0.14em; color:var(--ink-55); }

  /* ---------- CLOSE ---------- */
  .close{ background:var(--ink); color:var(--paper); }
  .close .inner{ max-width:var(--maxw); margin:0 auto; padding:120px 56px; text-align:center; }
  .close h2{ color:var(--paper); font-size:clamp(32px,4.6vw,56px); max-width:20ch; margin:0 auto; }
  .close h2 em{ font-style:italic; font-weight:600; color:#E0A99F; }
  .close p{ color:rgba(241,236,225,.72); font-weight:400; margin:22px auto 0; max-width:48ch; }
  .close .btn{ border-color:var(--paper); color:var(--paper); }
  .close .btn:hover{ background:var(--paper); color:var(--ink); }
  .close .btn--primary{ background:var(--paper); color:var(--ink); }
  .close .btn--primary:hover{ background:#fff; }
  .close .cta{ margin-top:40px; display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }

  /* ---------- FOOTER ---------- */
  footer.colophon{ background:var(--paper); }
  .colophon__wrap{ max-width:var(--maxw); margin:0 auto; padding:72px 56px 52px; }
  .colophon__top{ display:flex; justify-content:space-between; align-items:center; padding-bottom:40px; border-bottom:1px solid var(--rule); }
  .colophon__grid{ display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:48px; padding:44px 0; }
  .colophon p{ font-size:14.5px; color:var(--ink-55); line-height:1.6; max-width:34ch; margin:14px 0 0; }
  .colophon h4{ font-family:var(--font-text); font-weight:600; font-size:12px; letter-spacing:0.14em; text-transform:uppercase; color:var(--ink-55); margin:0 0 16px; }
  .colophon a{ display:block; font-size:14.5px; color:var(--ink-75); margin-bottom:10px; }
  .colophon a:hover{ color:var(--ink); }
  .colophon__offices{ display:flex; gap:56px; padding:28px 0; border-top:1px solid var(--rule); }
  .colophon__office .meta{ font-size:11px; font-weight:600; letter-spacing:0.14em; text-transform:uppercase; color:var(--ink-55); }
  .colophon__office p{ margin-top:6px; }
  .colophon__bottom{ display:flex; justify-content:space-between; align-items:baseline; padding-top:24px; border-top:1px solid var(--rule); font-size:12.5px; font-weight:500; letter-spacing:0.04em; color:var(--ink-55); flex-wrap:wrap; gap:10px; }

  .reveal{ opacity:0; transform:translateY(16px); transition:opacity .7s ease, transform .7s ease; }
  .reveal.in{ opacity:1; transform:none; }
  .reveal-fade{ opacity:0; transition:opacity .9s ease; }
  .reveal-fade.in{ opacity:1; }
  [data-speed]{ will-change:transform; }
  @media (prefers-reduced-motion: reduce){ [data-speed]{ transform:none !important; } }

  /* ——— Mobile optimization ——————————————————————————————— */
  @media (max-width:760px){
    /* Gutters: 56px desktop padding → 24px */
    .wrap, .ov__in, .fbank, .logos__in{ padding-left:24px; padding-right:24px; }
    .hero{ padding:56px 24px 24px; }
    .band{ padding:64px 24px; }
    .band--vellum .band__inner{ padding:64px 24px; }
    .close .inner{ padding:72px 24px; }
    .colophon__wrap{ padding:48px 24px 36px; }
    .site-header__wrap{ padding:13px 20px; }

    /* Hero type + CTAs */
    .hero__h{ font-size:clamp(36px,9.5vw,52px); }
    .hero__sub{ font-size:16.5px; margin-top:20px; }
    .hero__cta{ margin-top:26px; }
    .hero__eyebrow{ font-size:13px; }

    /* Feature rows: automation flow scrolls horizontally instead of clipping */
    .fbank{ gap:44px; }
    .frow{ gap:20px; }
    .amock__canvas{ overflow-x:auto; -webkit-overflow-scrolling:touch; }
    .amock__flow{ width:max-content; padding:12px 16px; }
    .fcap__b{ font-size:15.5px; }

    /* Portco mock: filters wrap instead of overflowing */
    .tmock__top{ flex-wrap:wrap; gap:6px; }
    .tmock__filters{ flex-wrap:wrap; }

    /* Overview columns tighter */
    .ov{ padding:64px 0 72px; }
    .ov__cols{ margin-top:48px; }
    .ovcol h3{ font-size:28px; }

    /* Security cards */
    .threeup{ margin-top:36px; gap:16px; }
    .tu{ padding:24px 22px 26px; }

    /* Footer stacks */
    .colophon__grid{ grid-template-columns:1fr 1fr; gap:28px; padding:32px 0; }
    .colophon__offices{ gap:28px; flex-wrap:wrap; padding:22px 0; }
    .colophon__top{ padding-bottom:28px; }
  }

  @media (max-width:480px){
    .hero__h{ font-size:36px; }
    .band__h{ font-size:clamp(28px,8vw,34px); }
    .close h2{ font-size:clamp(26px,8vw,32px); }
    .colophon__grid{ grid-template-columns:1fr; gap:24px; }
    .hero__cta .btn, .close .cta .btn{ flex:1 1 auto; min-width:200px; }
    .fcap__h{ font-size:27px; }
    .note{ padding:26px 22px; }
    .note__q{ font-size:22px; }
  }

