/* Connected Intelligence site stylesheet. Source of truth: docs/design/trust-redesign-square.html (owner-pinned); the additions block records every deviation. */
:root{--ink:#122033;
  --ink2:#1f2c3d;
  --muted:#5e6875;
  --line:#d9ded8;
  --paper:#f7f4ee;
  --panel:#ffffff;
  --panel2:#eef4ef;
  --green:#0c6b50;
  --green2:#124a3c;
  --sage:#dfe9e1;
  --blue:#dce8f2;
  --gold:#b4822e;
  --dark:#0f1720;
  --dark2:#172431;
  --soft:#e9e3d8}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;line-height:1.45}
a{text-decoration:none;color:inherit}
.topline{height:4px;background:linear-gradient(90deg,var(--green),#24475d,var(--gold))}
.header{position:sticky;top:0;z-index:10;background:rgba(247,244,238,.92);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
.nav{max-width:1280px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:20px 36px}
.logo{display:flex;align-items:center;gap:13px;font-weight:750;letter-spacing:-.02em}
.navlinks{display:flex;gap:34px;align-items:center;font-size:14px;color:#344055;font-weight:650}
.navlinks .quiet{color:var(--muted)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 21px;font-weight:750;font-size:14px;border:1px solid var(--green);background:var(--green);color:#fff;box-shadow:0 8px 18px rgba(12,107,80,.15)}
.btn.secondary{background:transparent;color:var(--ink);border-color:var(--control-line);box-shadow:none}
.btn.dark{background:var(--ink);border-color:var(--ink)}
.hero{max-width:1280px;margin:0 auto;padding:82px 36px 48px;display:grid;grid-template-columns:1.07fr .93fr;gap:62px;align-items:center}
.kicker{font-size:12px;text-transform:uppercase;letter-spacing:.18em;color:var(--green);font-weight:850;margin-bottom:22px;display:flex;align-items:center;gap:12px}
.kicker:before{content:"";height:1px;width:52px;background:var(--green);display:block}
h1{font-size:72px;line-height:.96;margin:0 0 24px;letter-spacing:-.065em;color:var(--ink);font-weight:850}
h1 em{font-family:Georgia, "Times New Roman", serif;font-weight:500;letter-spacing:-.05em;color:var(--green);font-style:italic;white-space:nowrap}
.lead{font-size:21px;color:#394557;max-width:650px;margin:0 0 32px;line-height:1.58}
.hero-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-bottom:28px}
.hero-card{background:var(--panel);border:1px solid var(--line);box-shadow:0 28px 70px rgba(16,32,51,.08);overflow:hidden}
.card-head{padding:26px 28px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:flex-start;background:linear-gradient(180deg,#fff,#fbfaf7)}
.card-head h3{margin:0;font-size:21px;letter-spacing:-.03em}
.badge{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--green);background:var(--sage);border:1px solid #cae0d3;padding:8px 10px}
.audit-grid{padding:28px;display:grid;gap:14px}
.audit-row{display:grid;grid-template-columns:140px 1fr;gap:18px;padding:16px;border:1px solid var(--line);background:#fff}
.audit-row .label{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:850}
.audit-row p{margin:0;color:#303b4c;font-size:15px}
.status{display:flex;gap:9px;align-items:center}
.dot{width:9px;height:9px;background:var(--green);box-shadow:0 0 0 4px var(--sage)}
.section{max-width:1280px;margin:auto;padding:82px 36px}
.section-title{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;margin-bottom:36px}
.section-title h2{font-size:50px;line-height:1.02;letter-spacing:-.055em;margin:0}
.section-title p{font-size:18px;color:var(--muted);margin:8px 0 0;line-height:1.65}
.question-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.q-card{background:#fff;border:1px solid var(--line);padding:26px;min-height:242px;position:relative;overflow:hidden}
.q-card:after{content:"";position:absolute;right:-30px;top:-30px;width:120px;height:120px;background:var(--panel2);z-index:0}
.q-card > *{position:relative;z-index:1}
.q-card .num{font-size:12px;letter-spacing:.16em;color:var(--green);font-weight:900;margin-bottom:22px}
.q-card h3{font-size:23px;line-height:1.15;letter-spacing:-.035em;margin:0 0 12px}
.q-card p{margin:0;color:var(--muted);font-size:15px;line-height:1.6}
.q-card b{color:var(--ink)}
.proof{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.case-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.case{border:1px solid var(--line);overflow:hidden;background:#fff}
.case-top{padding:26px 28px}
.sector{font-size:12px;letter-spacing:.16em;color:var(--green);font-weight:900;text-transform:uppercase;margin-bottom:18px}
.case h3{font-size:25px;line-height:1.22;letter-spacing:-.035em;margin:0 0 20px}
.risk{background:var(--dark);color:#edf4f6;position:relative;overflow:hidden}
.risk:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 15%,rgba(66,161,127,.22),transparent 34%),linear-gradient(180deg,rgba(255,255,255,.03),transparent);pointer-events:none}
.risk .section{position:relative}
.risk .section-title h2{color:#fff}
.risk .section-title p{color:#b6c5ce}
.risk-grid{display:grid;grid-template-columns:.86fr 1.14fr;gap:22px}
.risk-panel{background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.14);padding:28px}
.risk-panel h3{font-size:26px;letter-spacing:-.04em;margin:0 0 16px}
.risk-panel p{color:#c2d0d8;margin:0 0 20px;line-height:1.65}
.checklist{display:grid;gap:10px}
.check{display:flex;gap:12px;align-items:flex-start;color:#dce6ea;font-size:15px}
.check:before{content:"✓";display:grid;place-items:center;width:22px;height:22px;background:#1f7b60;color:#fff;font-weight:900;font-size:13px;flex:0 0 auto}
.risk-table{background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.14);overflow:hidden}
.r-row{display:grid;grid-template-columns:1fr 1.35fr;border-bottom:1px solid rgba(255,255,255,.12)}
.r-row:last-child{border-bottom:0}
.r-row div{padding:18px 22px}
.r-row .left{color:#fff;font-weight:800}
.r-row .right{color:#c2d0d8}
.method-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.step{background:#fff;border:1px solid var(--line);padding:24px}
.step .stepnum{font-size:13px;color:var(--green);letter-spacing:.15em;font-weight:900;margin-bottom:20px}
.step h3{font-size:26px;margin:0 0 10px;letter-spacing:-.04em}
.step p{font-size:15px;color:var(--muted);line-height:1.6;margin:0 0 18px}
.cta{padding:90px 36px;background:linear-gradient(180deg,#f7f4ee,#ebe7dd)}
.cta-inner{max-width:1180px;margin:auto;background:var(--ink);color:#fff;padding:48px;display:grid;grid-template-columns:1.1fr .9fr;gap:38px;align-items:center;box-shadow:0 30px 80px rgba(18,32,51,.16)}
.cta h2{font-size:48px;letter-spacing:-.055em;line-height:1.02;margin:0 0 16px}
.cta p{color:#c7d0da;font-size:18px;line-height:1.65;margin:0}
.formbox{background:#fff;padding:24px;color:var(--ink)}
.field{padding:15px 0;border-bottom:1px solid var(--line);color:var(--muted);font-size:15px}
.formbox .btn{width:100%;margin-top:20px}
.footer{padding:34px 36px;border-top:1px solid var(--line);color:var(--muted);font-size:13px}
.footer-inner{max-width:1280px;margin:auto;display:flex;justify-content:space-between;gap:20px}
@media(max-width:1040px){.hero,.section-title,.risk-grid,.people-grid,.cta-inner{grid-template-columns:1fr}.question-grid,.case-grid,.method-grid,.palette{grid-template-columns:1fr}.trust-inner{grid-template-columns:1fr 1fr}.trust-label{grid-column:1/-1}.navlinks{display:none}h1{font-size:50px}.section-title h2{font-size:40px}.hero{padding-top:52px}.reassurance{grid-template-columns:1fr}.case-metrics{grid-template-columns:1fr}.evidence{grid-template-columns:1fr}}


/* Square-corner revision: remove rounded corners from UI surfaces, CTAs, cards and form elements. */
.mark,
.btn,
.reassurance div,
.hero-card,
.badge,
.audit-row,
.q-card,
.case,
.risk-panel,
.risk-table,
.step,
.pill,
.accountability,
.role,
.trust-centre,
.doc,
.pal,
.cta-inner,
.formbox {
  border-radius: 0 !important;
}

/* Turn decorative round elements into squared trust cues as well. */
.dot,
.check:before,
.q-card:after {
  border-radius: 0 !important;
}

.q-card:after {
  right: 0;
  top: 0;
  width: 88px;
  height: 88px;
}



/* ---- site additions (recorded deviations and new components in the pinned tokens) ---- */
h1 em{white-space:normal}
.skip{position:absolute;left:16px;top:-48px;background:var(--ink);color:#fff;padding:10px 14px;z-index:50;font-weight:650}
.skip:focus{top:12px}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--green);outline-offset:3px}
.logo{display:grid;gap:5px;align-content:center;justify-items:start}
.logo img{height:26px;width:auto;display:block}
.logo small{display:block;margin:0;font-size:12px;color:var(--muted);font-weight:550;letter-spacing:.01em;white-space:nowrap}
.navlinks{gap:26px}
.navlinks a[aria-current="page"]{color:var(--green)}
.navlinks .btn{color:#fff;white-space:nowrap}
.badge{white-space:nowrap}
.card-head h2{margin:0;font-size:21px;letter-spacing:-.03em;line-height:1.25}
details.menu{position:relative}
details.menu>summary{list-style:none;cursor:pointer;font-weight:650;color:#344055;padding:6px 0}
details.menu>summary::-webkit-details-marker{display:none}
details.menu>summary::after{content:"";display:inline-block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-left:8px;position:relative;top:-3px}
details.menu[open]>summary{color:var(--green)}
.menu__panel{position:absolute;left:-16px;top:calc(100% + 14px);background:#fff;border:1px solid var(--line);box-shadow:0 18px 40px rgba(16,32,51,.10);min-width:340px;padding:8px;display:grid;z-index:20}
.menu__panel a{display:grid;gap:2px;padding:12px 14px;color:var(--ink)}
.menu__panel a:hover,.menu__panel a[aria-current="page"]{background:var(--panel2)}
.menu__panel a b{font-weight:750}
.menu__panel a span{font-size:13px;color:var(--muted);font-weight:450}
.menu__panel .menu__all{font-weight:750;color:var(--green);border-bottom:1px solid var(--line);margin-bottom:4px}
details.mobile{display:none}
.hero--single{grid-template-columns:1fr}
.hero--single .lead{max-width:760px}
.hero .lead+.lead{color:#4a5668}
.lead.support{font-size:15px;color:var(--muted);margin:0}
.audit-row .label a{color:var(--muted)}
.audit-row .label a:hover{color:var(--green)}
.audit-row--action{grid-template-columns:1fr;border:0;padding:4px 0 0;background:transparent}
.section-title>div{display:grid;gap:14px;align-content:start}
.section-title.stack>div:last-child{gap:16px}
.section-title.stack .prose,.section-title.stack p{font-size:18px;color:var(--muted);margin:0;line-height:1.65;max-width:none}
.section-title .stepnum{font-size:13px;color:var(--green);letter-spacing:.15em;font-weight:900}
.section-title p:empty{display:none}
.question-grid.cols-1{grid-template-columns:1fr;max-width:820px}
.question-grid.cols-2{grid-template-columns:repeat(2,1fr)}
.checklist+.prose,.question-grid+.prose{margin-top:36px}
.question-grid.cols-3{grid-template-columns:repeat(3,1fr)}
.q-card{min-height:0}
.q-card p+p{margin-top:10px}
.q-card .checklist{margin-top:12px}
.checklist{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.checklist.cols{grid-template-columns:repeat(2,1fr);column-gap:28px}
.check{display:flex;gap:12px;align-items:flex-start;font-size:15px;line-height:1.6;color:var(--ink2)}
.check:before{content:"";display:block;width:12px;height:2px;margin-top:10px;flex:0 0 auto;background:var(--green);border-radius:0}
.risk .check{color:#dce6ea}
.risk .check:before{background:#79c8aa}
::selection{background:var(--sage);color:var(--ink)}
.risk ::selection,.cta-inner ::selection{background:var(--green);color:#fff}
.contact-grid .checklist.cols{grid-template-columns:1fr}
.risk .checklist{margin-top:6px}
.risk .prose{color:#c2d0d8}
.risk .q-card{background:rgba(255,255,255,.045);border-color:rgba(255,255,255,.14)}
.risk .q-card h3{color:#fff}
.risk .q-card p,.risk .check{color:#c2d0d8}
.risk .q-card:after{background:rgba(255,255,255,.06)}
.risk .list-label{color:#fff}
.risk .meta-line{color:#c2d0d8}
.list-label{font-size:18px;letter-spacing:-.02em;margin:26px 0 12px}
.prose{font-size:17px;line-height:1.7;color:#303b4c;max-width:760px;margin:0 0 16px}
.prose.closing{margin-top:28px;font-size:18px}
.meta-line{color:var(--muted);margin:0 0 14px;font-size:15px}
.section .question-grid+.checklist,.section .question-grid+.list-label,.section .checklist+.list-label{margin-top:28px}
.section-action{margin-top:28px;display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.textlink{color:var(--green);font-weight:750;font-size:14px;border-bottom:1px solid #cae0d3;padding-bottom:2px}
.case-top a{display:inline-block;margin-top:10px}
.case-top p{margin:0;color:var(--muted);font-size:15px;line-height:1.6}
.step h3{font-size:22px}
.h1-in-section{font-size:34px;letter-spacing:-.045em;line-height:1.08;margin:0 0 18px;max-width:22ch}
.cta-actions{display:grid;gap:12px;justify-items:start}
.cta-actions .btn.secondary,.risk .btn.secondary{color:#fff;border-color:rgba(255,255,255,.45)}
.risk .btn.secondary:hover{background:#fff;color:var(--ink)}
/* footer */
.footer{color:var(--ink);font-size:14px}
.footer-inner{display:block}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}
.footer-state{margin:0 0 12px;font-size:15px;line-height:1.55;max-width:46ch;color:var(--ink)}
.footer-brandline{margin:0;color:var(--muted)}
.footer-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.footer-list a:hover,.footer-contact a:hover{color:var(--green)}
.footer-contact{display:grid;gap:8px;align-content:start}
.footer-base{margin-top:32px;padding-top:16px;border-top:1px solid var(--line);display:grid;gap:6px;color:var(--muted);font-size:13px}
/* contact */
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:40px;align-items:start}
.contact-grid .subsection .section-title{grid-template-columns:1fr;gap:12px;margin-bottom:20px}
.formbox.enquiry{display:grid;gap:18px;border:1px solid var(--line)}
.fieldrow{display:grid;gap:6px}
.fieldrow label{font-weight:650;font-size:14px;color:var(--ink)}
.fieldrow .req{color:var(--muted);font-weight:450}
.fieldrow input,.fieldrow select,.fieldrow textarea{font:inherit;font-size:16px;padding:12px 14px;border:1px solid var(--control-line);background:#fff;color:var(--ink);width:100%;border-radius:0}
.fieldrow textarea{resize:vertical;min-height:110px}
.fieldrow .guide{margin:0;font-size:13px;color:var(--muted);line-height:1.5}
.fieldrow.consent{grid-template-columns:auto 1fr;gap:12px;align-items:start}
.fieldrow.consent input{width:18px;height:18px;margin-top:3px}
.fieldrow.consent label{font-weight:450;font-size:14px;color:#303b4c}
.fieldrow.consent .field-error{grid-column:1/-1}
/* Large displays. Every size above the 1040px breakpoint was fixed, so on a physically large screen, where a
   CSS pixel covers more of the page than it does on a laptop or a phone, the display type reads as oversized.
   Step the display sizes down and let the page use more of the width, so the layout is not a small island in
   the middle of the screen. Body copy is unchanged: it is the headings that read as shouting. */
@media(min-width:1600px){
  .nav,.hero,.section,.footer-inner{max-width:1440px}
  .cta-inner{max-width:1340px}
  h1{font-size:58px}
  .section-title h2{font-size:42px}
  .cta h2{font-size:40px}
  .lead{font-size:19px}
  .risk-panel h3,.step h3{font-size:23px}
  .case h3{font-size:22px}
  .h1-in-section{font-size:42px}
}
/* WCAG 2.2 AA non-text contrast. The pinned control border (#b9c2bd) is 1.82:1 on white and the pinned focus
   ring (--green) is 2.53:1 on the dark panels; both need 3:1. --control-line is the lightest colour in the
   pinned hue that clears 3:1 on every light surface it sits on, from white (3.81:1) to sage (3.07:1), and the
   dark surfaces take the sage ring at 13.19:1. */
:root{--control-line:#7e8481}
.risk a:focus-visible,.risk button:focus-visible,.risk summary:focus-visible,.risk input:focus-visible,
.cta-inner a:focus-visible,.cta-inner button:focus-visible{outline-color:var(--sage)}
.fieldrow.invalid input,.fieldrow.invalid select,.fieldrow.invalid textarea{border-color:#b3261e}
.field-error{font-size:13px;color:#b3261e;margin:0}
.confidentiality{margin:0;font-size:13px;color:var(--muted);line-height:1.55}
.formbox .btn{width:auto;margin-top:0;justify-self:start}
.form-status{font-size:14px;color:var(--muted);min-height:1.2em}
.form-state{background:#fff;border:1px solid var(--line);padding:28px;display:grid;gap:14px}
.form-state h2{font-size:28px;letter-spacing:-.04em;margin:0}
.form-state p{margin:0;color:#303b4c;line-height:1.6}
.form-state .btn{justify-self:start}
[hidden]{display:none!important}
/* news pages (server-rendered by the Worker in the same system) */
.news-filters{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 26px}
.news-filters a{font-size:13px;font-weight:750;padding:8px 12px;border:1px solid var(--line);background:#fff;color:var(--ink)}
.news-filters a[aria-current="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
.news-meta{display:flex;flex-wrap:wrap;gap:14px;font-size:13px;color:var(--muted);margin:0 0 12px}
.news-meta b{color:var(--green);letter-spacing:.12em;text-transform:uppercase;font-size:12px;font-weight:900}
.case-top .news-meta{margin-bottom:10px}
.article-body{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:40px;align-items:start}
.article-summary{font-size:19px;line-height:1.65;color:#303b4c;margin:0 0 24px}
.ci-take{background:#fff;border:1px solid var(--line);padding:24px 26px;margin:0 0 24px}
.ci-take h2{margin:0 0 10px;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--green);font-weight:900}
.ci-take p{margin:0;font-size:16px;line-height:1.65;color:var(--ink2)}
.tags{margin:18px 0 0;font-size:13px;color:var(--muted)}
.aside-card{background:#fff;border:1px solid var(--line);padding:24px;display:grid;gap:12px}
.aside-card h3{margin:0;font-size:20px;letter-spacing:-.03em}
.aside-card p{margin:0;font-size:15px;color:var(--muted);line-height:1.6}
.subscribe{display:grid;gap:10px}
.subscribe .fieldrow{grid-template-columns:1fr auto;gap:10px;align-items:end}
.subscribe .fieldrow label{grid-column:1/-1}
.pagination{display:flex;justify-content:space-between;align-items:center;margin-top:28px;font-size:14px;color:var(--muted)}
.simple-page{max-width:640px}
@media(max-width:1040px){
  .article-body{grid-template-columns:1fr}
  details.mobile{display:block}
  details.mobile>summary{list-style:none;cursor:pointer;font-weight:750;font-size:14px;padding:10px 14px;border:1px solid var(--line);background:#fff}
  details.mobile>summary::-webkit-details-marker{display:none}
  .mobile__panel{position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--line);display:grid;padding:12px 24px 20px;gap:2px;z-index:20}
  .mobile__panel a{padding:12px 4px;font-weight:650;font-size:16px;border-bottom:1px solid var(--line)}
  .mobile__panel a.sub{font-weight:500;padding-left:18px;color:#344055}
  .mobile__panel .btn{margin-top:14px;border:0;color:#fff}
  .nav{padding:14px 20px}
  .logo small{display:none}
  .audit-row{grid-template-columns:1fr;gap:6px}
  .audit-row .label br{display:none}
  .section{padding:56px 20px}
  .hero{padding:44px 20px 40px}
  .question-grid.cols-2,.question-grid.cols-3{grid-template-columns:1fr}
  .checklist.cols{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr;gap:24px}
  .contact-grid{grid-template-columns:1fr}
  .cta{padding:56px 20px}
  .cta-inner{padding:32px 24px}
  .h1-in-section{font-size:28px}
  .footer{padding:28px 20px}
}
