/* ==========================================================================
   CloudSpace UK — EDITORIAL LAYER
   Bespoke, agency-style primitives shared across every page so sub-pages match
   the homepage's curated composition. Use inside <div class="cs">.
   Philosophy: hairlines + index numbers + inline diagrams over boxed card grids.
   Base tokens (--ink,--mut,--line,--blue,--paper,--paper2,--dim) come from cs-theme.css.
   ========================================================================== */

/* index-number motif reused throughout */
.cs .idx{font-variant-numeric:tabular-nums;font-weight:600;}

/* display heading: the thin second line (span.t) sits smaller than the main line */
.cs h1 .t{font-size:clamp(1.5rem,2.7vw,2.1rem);line-height:1.18;display:block;margin-top:.4rem;letter-spacing:-.02em;}

/* eyebrow / kicker labels removed site-wide per design direction */
.cs .ed-kick,.cs .kicker,.cs .inc-lbl,.cs .cfg-eyebrow{display:none !important;}
/* keep inclusion strips balanced once their label is hidden */
.cs .inc-strip{justify-content:center;}
.cs .inc-strip .inc-items{justify-content:center;}

/* generous section rhythm + alternating full-bleed backgrounds */
.cs .ed-sec{padding:104px 0;}
.cs .ed-sec-sm{padding:72px 0;}
.cs .bg-white{background:#fff;}
.cs .bg-paper{background:var(--paper);}
.cs .bg-paper2{background:var(--paper2);}
@media(max-width:700px){.cs .ed-sec{padding:66px 0;}.cs .ed-sec-sm{padding:52px 0;}}

/* kicker / eyebrow */
.cs .ed-kick{display:inline-flex;align-items:center;gap:12px;font-size:.7rem;letter-spacing:.18em;
  text-transform:uppercase;font-weight:600;color:var(--blue);}
.cs .ed-kick::before{content:"";width:26px;height:1px;background:var(--blue);opacity:.55;}

/* asymmetric section header: big display heading left, supporting lead right */
.cs .ed-head{display:flex;justify-content:space-between;align-items:flex-end;gap:22px 44px;flex-wrap:wrap;margin-bottom:46px;}
.cs .ed-head h2{font-size:clamp(2rem,4vw,3.1rem);letter-spacing:-.035em;line-height:1.04;color:var(--ink);font-weight:800;max-width:20ch;}
.cs .ed-head .lead{max-width:26rem;}
.cs .ed-head.stack{flex-direction:column;align-items:flex-start;}
.cs .ed-head.stack .lead{margin-top:16px;}
.cs .ed-head.center{flex-direction:column;align-items:center;text-align:center;}
.cs .ed-head.center h2{max-width:24ch;}
.cs .ed-head.center .lead{margin-top:16px;}

/* ---- editorial numbered rows (replaces card grids for a list of things) ---- */
.cs .ed-rows{border-top:1px solid var(--line);}
.cs .ed-row{display:grid;grid-template-columns:56px 1fr auto;align-items:center;gap:28px;
  padding:32px 8px;border-bottom:1px solid var(--line);transition:.28s cubic-bezier(.2,.7,.2,1);position:relative;}
.cs a.ed-row:hover{background:linear-gradient(90deg,rgba(37,99,235,.06),transparent 72%);padding-left:22px;}
.cs .ed-row .ei{font-size:.95rem;color:var(--dim);font-weight:600;font-variant-numeric:tabular-nums;}
.cs a.ed-row:hover .ei{color:var(--blue);}
.cs .ed-row h3{font-size:clamp(1.2rem,2.1vw,1.7rem);font-weight:750;letter-spacing:-.02em;color:var(--ink);}
.cs .ed-row p{color:var(--mut);font-size:.92rem;margin-top:6px;max-width:46rem;line-height:1.65;}
.cs .ed-row .ea{text-align:right;color:var(--dim);white-space:nowrap;display:flex;align-items:center;gap:16px;}
.cs .ed-row .ea .pr{font-weight:700;color:var(--blue);}
.cs .ed-row .ea .ar{transition:.25s;display:inline-flex;}
.cs a.ed-row:hover .ea .ar{color:var(--blue);transform:translateX(5px);}
.cs .ed-row .ea svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}

/* ---- index columns (bordered cells, animated top rule on hover) ---- */
.cs .ed-cols{display:grid;grid-template-columns:repeat(var(--cols,4),1fr);border-left:1px solid var(--line);border-top:1px solid var(--line);}
.cs .ed-col{padding:30px 24px 34px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;display:flex;flex-direction:column;min-height:206px;transition:.25s;}
.cs .ed-col::before{content:"";position:absolute;top:-1px;left:0;height:2px;width:0;background:var(--blue);transition:.35s;}
.cs a.ed-col:hover::before{width:100%;} .cs a.ed-col:hover{background:var(--paper);}
.cs .ed-col .ci{font-size:.78rem;color:var(--dim);font-weight:600;font-variant-numeric:tabular-nums;}
.cs .ed-col .cico{margin-top:24px;color:var(--blue);}
.cs .ed-col .cico svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.cs .ed-col h3{font-size:1.05rem;font-weight:700;margin-top:auto;color:var(--ink);letter-spacing:-.01em;}
.cs .ed-col p{font-size:.84rem;color:var(--mut);margin-top:8px;line-height:1.55;}

/* ---- hairline stat band (no boxes) ---- */
.cs .ed-metrics{display:grid;grid-template-columns:repeat(var(--n,4),1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.cs .ed-metric{padding:30px 26px;border-right:1px solid var(--line);}
.cs .ed-metric:last-child{border-right:0;}
.cs .ed-metric .mv{font-size:clamp(1.6rem,2.6vw,2.1rem);font-weight:800;letter-spacing:-.025em;color:var(--ink);line-height:1;}
.cs .ed-metric .ml{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);margin-top:10px;font-weight:600;}

/* ---- split: editorial content + visual/diagram ---- */
.cs .ed-split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
.cs .ed-split.wide-l{grid-template-columns:1.1fr .9fr;}
.cs .ed-split.wide-r{grid-template-columns:.9fr 1.1fr;}
.cs .ed-split h2{font-size:clamp(1.8rem,3.4vw,2.6rem);letter-spacing:-.03em;line-height:1.08;color:var(--ink);font-weight:800;}
.cs .ed-split .lead{margin-top:18px;}

/* ---- hairline checklist (no boxes) ---- */
.cs .ed-checks{list-style:none;margin:26px 0 0;padding:0;display:grid;gap:0;}
.cs .ed-checks li{display:flex;align-items:flex-start;gap:14px;padding:16px 0;border-top:1px solid var(--line);color:var(--txt);font-size:.96rem;line-height:1.55;}
.cs .ed-checks li:last-child{border-bottom:1px solid var(--line);}
.cs .ed-checks li svg{width:18px;height:18px;flex-shrink:0;margin-top:2px;fill:none;stroke:var(--blue);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;}
.cs .ed-checks li b{font-weight:650;color:var(--ink);}

/* ---- feature list: numbered + inline icon, hairline separated (no boxes) ---- */
.cs .ed-feats{display:grid;grid-template-columns:repeat(var(--fc,3),1fr);gap:0 42px;border-top:1px solid var(--line);}
.cs .ed-feat{padding:34px 0;border-bottom:1px solid var(--line);}
.cs .ed-feat .fi{display:flex;align-items:center;gap:12px;color:var(--dim);font-size:.78rem;font-weight:600;font-variant-numeric:tabular-nums;}
.cs .ed-feat .fi svg{width:18px;height:18px;color:var(--blue);fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.cs .ed-feat h3{font-size:1.12rem;font-weight:700;color:var(--ink);margin-top:16px;letter-spacing:-.01em;}
.cs .ed-feat p{color:var(--mut);font-size:.9rem;line-height:1.65;margin-top:8px;}

/* ---- terminal window (promoted from home) ---- */
.cs .term{background:#0b1120;border:1px solid rgba(15,23,42,.2);border-radius:14px;overflow:hidden;font-family:ui-monospace,'SF Mono',Menlo,monospace;box-shadow:0 30px 60px -30px rgba(15,23,42,.5);}
.cs .term-bar{display:flex;align-items:center;gap:7px;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.08);}
.cs .term-bar i{width:11px;height:11px;border-radius:50%;display:inline-block;}
.cs .term-bar .tt{margin-left:10px;font-size:.72rem;color:#7b849b;}
.cs .term-body{padding:18px;font-size:.82rem;line-height:1.7;color:#c7d0e3;}
.cs .term .g{color:#4ade80;} .cs .term .b{color:#7ba6ff;} .cs .term .c{color:#38bdf8;} .cs .term .m{color:#8b95ad;}

/* ---- big pull-quote testimonial ---- */
.cs .ed-quote{position:relative;text-align:center;}
.cs .ed-quote .qm{font-size:11rem;line-height:.7;color:rgba(15,23,42,.06);font-family:Georgia,serif;}
.cs .ed-quote blockquote{font-size:clamp(1.4rem,2.9vw,2.15rem);font-weight:600;letter-spacing:-.02em;line-height:1.4;color:var(--ink);max-width:50rem;margin:0 auto;}
.cs .ed-quote .hl{color:var(--blue);}
.cs .ed-quote .attr{margin-top:26px;font-weight:600;color:var(--ink);}
.cs .ed-quote .attr span{color:var(--dim);font-weight:400;}

/* small live badge */
.cs .ed-live{display:inline-flex;align-items:center;gap:8px;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#16a34a;font-weight:600;}
.cs .ed-live span{width:8px;height:8px;border-radius:50%;background:#16a34a;box-shadow:0 0 9px #16a34a;animation:edblink 1.6s infinite;}
@keyframes edblink{0%,100%{opacity:.5}50%{opacity:1}}

/* ---- legal / policy pages: premium readable document layout ---- */
.cs .cs-legal-hero{position:relative;overflow:hidden;padding:7rem 0 3.4rem;
  background:radial-gradient(720px 380px at 88% -25%,rgba(37,99,235,.12),transparent 60%),linear-gradient(180deg,#fff,#eef2f8);}
.cs .cs-legal-hero .wrap{max-width:860px;position:relative;}
.cs .cs-legal-hero h1{font-size:clamp(2.2rem,4.6vw,3.3rem);font-weight:800;letter-spacing:-.035em;color:var(--ink);line-height:1.04;}
.cs .cs-legal-hero .lead{margin-top:16px;font-size:1.12rem;max-width:42rem;}
.cs .cs-legal-meta{margin-top:26px;display:flex;flex-wrap:wrap;gap:10px 14px;font-size:.8rem;color:var(--dim);align-items:center;}
.cs .cs-legal-meta span{display:inline-flex;align-items:center;gap:8px;}
.cs .cs-legal-meta span+span::before{content:"";width:3px;height:3px;border-radius:50%;background:var(--line2);margin-right:6px;}
.cs .cs-legal-meta b{color:var(--txt);font-weight:600;}
.cs .cs-legal-body{background:#fff;border-top:1px solid var(--line);}
.cs .cs-legal-body .wrap{max-width:860px;padding-top:60px;padding-bottom:92px;}
.cs .cs-legal{color:var(--mut);font-size:1.02rem;line-height:1.8;}
.cs .cs-legal>*:first-child{margin-top:0;}
.cs .cs-legal h2{font-size:1.5rem;font-weight:800;letter-spacing:-.02em;color:var(--ink);margin:54px 0 18px;padding-top:30px;border-top:1px solid var(--line);}
.cs .cs-legal h3{font-size:1.22rem;font-weight:750;letter-spacing:-.01em;color:var(--ink);margin:42px 0 14px;}
.cs .cs-legal h4{font-size:1.02rem;font-weight:700;color:var(--ink);margin:28px 0 10px;}
.cs .cs-legal p{color:var(--mut);margin:0 0 16px;}
.cs .cs-legal strong,.cs .cs-legal b{color:var(--ink);font-weight:650;}
.cs .cs-legal a{color:var(--blue);font-weight:600;text-decoration:none;}
.cs .cs-legal a:hover{text-decoration:underline;}
.cs .cs-legal ul,.cs .cs-legal ol{margin:0 0 18px;padding-left:26px;color:var(--mut);display:grid;gap:9px;}
.cs .cs-legal li{padding-left:4px;line-height:1.7;}
.cs .cs-legal ul>li{list-style:disc;} .cs .cs-legal ol>li{list-style:decimal;}
.cs .cs-legal hr{border:0;border-top:1px solid var(--line);margin:42px 0;}
.cs .cs-legal table{width:100%;border-collapse:collapse;margin:6px 0 26px;font-size:.94rem;display:block;overflow-x:auto;}
.cs .cs-legal th,.cs .cs-legal td{border:1px solid var(--line);padding:12px 14px;text-align:left;vertical-align:top;color:var(--mut);}
.cs .cs-legal th{background:var(--paper2);font-weight:700;color:var(--ink);white-space:nowrap;}
.cs .cs-legal thead{background:transparent;}

/* ---- responsive ---- */
@media(max-width:940px){
  .cs .ed-split,.cs .ed-split.wide-l,.cs .ed-split.wide-r{grid-template-columns:1fr;gap:40px;}
  .cs .ed-cols{grid-template-columns:1fr 1fr;}
  .cs .ed-feats{grid-template-columns:1fr;gap:0;}
  .cs .ed-metrics{grid-template-columns:repeat(2,1fr);}
  .cs .ed-metric:nth-child(2){border-right:0;}
  .cs .ed-row{grid-template-columns:40px 1fr;}
  .cs .ed-row .ea{grid-column:2;justify-content:flex-start;text-align:left;margin-top:10px;}
}
@media(max-width:560px){
  .cs .ed-cols{grid-template-columns:1fr;}
}
