/* ==========================================================================
   Vault — site stylesheet
   Structure cloned from vaultcloud.com.au. The AU yellow is replaced by the
   national corporate colour, which lives entirely in the accent token block
   below (build.py appends a per-variant override at the end of this file).
   ========================================================================== */

:root{
  /* ---- brand accent (the one block that changes per national variant) ---- */
  --accent:#C8102E;        /* corporate colour, exact, on light surfaces */
  --accent-dark:#A00D25;   /* hover state */
  --accent-tint:rgba(200,16,46,.10);
  --accent-glow:rgba(200,16,46,.30);    /* hero radial wash */
  --accent-glow-2:rgba(200,16,46,.28);  /* CTA band radial wash */
  /* lifted variant used only where the accent sits on a near-black surface;
     identical to --accent when the corporate colour is already light enough */
  --accent-lift:#C8102E;
  /* contextual: resolves to --accent on light, --accent-lift on dark */
  --accent-ui:var(--accent);
  /* separation ring for primary buttons on dark grounds; 'none' when the
     accent is already bright enough to stand off near-black */
  --btn-ring:none;
  --ink:#111216;
  --ink-2:#1A1C22;
  --ink-3:#262931;
  --body:#4A4F5A;
  --body-dark:#A9AEB9;
  --line:#E3E5EA;
  --line-dark:rgba(255,255,255,.12);
  --bg:#FFFFFF;
  --bg-alt:#F5F6F8;
  /* type: matches the AU site's Kadence settings */
  --font-head:"Montserrat","Segoe UI","Helvetica Neue",Arial,sans-serif;
  --font-body:"Roboto","Segoe UI","Helvetica Neue",Arial,sans-serif;
  --radius:4px;
  --max:1200px;
  --pad:24px;
}

/* dark surfaces switch the decorative accent to the lifted tint */
.site-header,.site-footer,.hero,.cta,.section--dark,.panel,.card--dark{
  --accent-ui:var(--accent-lift);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--font-body);
  font-size:17px;
  line-height:1.65;
  color:var(--body);
  background:var(--bg);
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}

/* Montserrat carries headings, taglines and eyebrow labels; Roboto carries
   body and subtext — matching the AU site's Kadence typography settings. */
h1,h2,h3,h4{
  color:var(--ink);
  font-family:var(--font-head);
  font-weight:700;
  letter-spacing:-.02em;
  line-height:1.15;
  margin:0 0 .5em;
}
h1{font-size:clamp(2.1rem,4.4vw,3.5rem)}
h2{font-size:clamp(1.7rem,3vw,2.5rem)}
h3{font-size:1.2rem;letter-spacing:-.01em}
p{margin:0 0 1.1em}
p:last-child{margin-bottom:0}

.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--pad)}
.section{padding:88px 0}
.section--tight{padding:64px 0}
.section--alt{background:var(--bg-alt)}
.section--dark{background:var(--ink);color:var(--body-dark)}
.section--dark h1,.section--dark h2,.section--dark h3{color:#fff}

/* ---------- eyebrow / lede ---------- */
.eyebrow{
  display:inline-flex;align-items:center;gap:10px;font-family:var(--font-head);
  font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--accent-ui);margin-bottom:18px;
}
.eyebrow::before{content:"";width:26px;height:2px;background:var(--accent-ui)}
.section--dark .eyebrow{color:#fff}
.section--dark .eyebrow::before{background:var(--accent-ui)}
.lede{font-size:1.12rem;max-width:70ch}
.section-head{max-width:760px;margin-bottom:48px}
.section-head--center{margin-left:auto;margin-right:auto;text-align:center}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:10px;
  padding:15px 30px;border:1px solid transparent;border-radius:var(--radius);
  font-size:.92rem;font-weight:600;letter-spacing:.01em;
  transition:.18s ease;cursor:pointer;
}
.btn svg{width:14px;height:14px;flex:none}
/* buttons always carry the exact corporate colour; on dark grounds a hairline
   ring gives the separation a dark accent would otherwise lose */
.btn--primary{background:var(--accent);color:#fff}
.btn--primary:hover{background:var(--accent-dark)}
.hero .btn--primary,.cta .btn--primary,.section--dark .btn--primary,
.site-header .btn--primary{box-shadow:var(--btn-ring)}
.btn--ghost{border-color:rgba(255,255,255,.35);color:#fff}
.btn--ghost:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.btn--outline{border-color:var(--ink);color:var(--ink)}
.btn--outline:hover{background:var(--ink);color:#fff}
.btn-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}
.btn-row--center{justify-content:center}

/* ---------- header ---------- */
.site-header{
  position:sticky;top:0;z-index:60;
  background:rgba(17,18,22,.94);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line-dark);
}
.header-inner{display:flex;align-items:center;gap:32px;height:76px}
.brand img{height:34px;width:auto}
.nav{display:flex;align-items:center;gap:4px;margin-left:auto}
.nav > li{position:relative;list-style:none}
.nav{padding:0;margin:0 0 0 auto}
.nav a{
  display:flex;align-items:center;gap:6px;white-space:nowrap;
  padding:10px 12px;font-size:.88rem;font-weight:500;color:#DDE0E6;
  border-radius:var(--radius);transition:.15s;
}
.nav a:hover,.nav .is-current > a{color:#fff}
.nav .is-current > a{box-shadow:inset 0 -2px 0 var(--accent-ui)}
.caret{width:9px;height:9px;opacity:.6}
.dropdown{
  position:absolute;top:100%;left:0;min-width:250px;
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:0 20px 44px rgba(0,0,0,.22);
  padding:8px;margin:0;list-style:none;
  opacity:0;visibility:hidden;transform:translateY(6px);transition:.16s;
}
.nav > li:hover .dropdown{opacity:1;visibility:visible;transform:translateY(0)}
.dropdown a{color:var(--ink);padding:11px 14px;font-weight:500}
.dropdown a:hover{background:var(--bg-alt);color:var(--accent-ui)}
.header-cta{display:flex;align-items:center;gap:14px;padding-left:12px;flex:none}
.header-cta .signin{font-size:.88rem;color:#DDE0E6;font-weight:500;white-space:nowrap}
.header-cta .btn{white-space:nowrap}
.header-cta .signin:hover{color:#fff}
.header-cta .btn{padding:11px 20px;font-size:.85rem}
.burger{display:none;background:none;border:0;color:#fff;padding:8px;cursor:pointer}
.burger svg{width:24px;height:24px}

/* ---------- hero ---------- */
.hero{
  position:relative;overflow:hidden;
  background:
    radial-gradient(900px 420px at 78% 12%, var(--accent-glow), transparent 62%),
    linear-gradient(160deg,#16181F 0%,#0C0D11 62%);
  color:var(--body-dark);
  padding:104px 0 92px;
}
.hero::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);
  background-size:76px 76px;
  mask-image:linear-gradient(180deg,rgba(0,0,0,.9),transparent 78%);
}
.hero .wrap{position:relative;z-index:1}
.hero h1{color:#fff;max-width:19ch}
.hero .sub{
  font-family:var(--font-head);
  font-size:1.24rem;font-weight:600;color:#fff;opacity:.92;
  max-width:60ch;margin-bottom:18px;
}
.hero .lede{color:var(--body-dark);max-width:64ch}
.hero--slim{padding:88px 0 76px}

/* ---------- badges ---------- */
.badges{display:flex;flex-wrap:wrap;gap:12px;margin-top:44px}
.badge{
  display:inline-flex;align-items:center;gap:10px;
  padding:11px 18px;border:1px solid var(--line-dark);border-radius:var(--radius);
  background:rgba(255,255,255,.04);
  font-size:.8rem;font-weight:600;letter-spacing:.03em;color:#fff;
}
.badge::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent-ui);flex:none}
.badge--light{border-color:var(--line);background:#fff;color:var(--ink)}

/* ---------- grids ---------- */
.grid{display:grid;gap:24px}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}

/* ---------- cards ---------- */
.card{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:34px 30px;transition:.18s ease;
}
.card:hover{border-color:var(--accent-ui);transform:translateY(-3px);box-shadow:0 14px 34px rgba(17,18,22,.08)}
.card h3{margin-bottom:10px}
/* Montserrat is wider than the old face, so some card titles run to two lines;
   reserving two lines keeps the body copy on a common baseline across a row */
.grid-3 > .card h3,.grid-4 > .card h3{min-height:2.3em}
.card p{font-size:.97rem}
.card .num{
  display:block;font-size:.82rem;font-weight:800;letter-spacing:.14em;
  color:var(--accent-ui);margin-bottom:16px;
}
.card--dark{background:var(--ink-2);border-color:var(--line-dark)}
.card--dark h3{color:#fff}
.card--dark p{color:var(--body-dark)}
.card--dark:hover{border-color:var(--accent-ui)}
.card--link{display:flex;flex-direction:column;justify-content:space-between}
.card .more{
  display:inline-flex;align-items:center;gap:8px;margin-top:20px;
  align-self:flex-start;white-space:nowrap;
  font-size:.88rem;font-weight:600;color:var(--accent-ui);
}
.card .more svg{width:13px;height:13px}
.card--rule{border:0;border-top:3px solid var(--line);border-radius:0;padding:28px 0 0;background:none}
.card--rule:hover{transform:none;box-shadow:none;border-top-color:var(--accent-ui)}

/* feature list inside cards */
.ticks{list-style:none;margin:18px 0 0;padding:0}
.ticks li{
  position:relative;padding:8px 0 8px 26px;font-size:.94rem;
  border-top:1px solid var(--line);
}
.ticks li:first-child{border-top:0}
.ticks li::before{
  content:"";position:absolute;left:2px;top:16px;
  width:8px;height:8px;background:var(--accent-ui);
  clip-path:polygon(0 0,100% 50%,0 100%);
}
.card--dark .ticks li{border-color:var(--line-dark);color:var(--body-dark)}

/* ---------- split feature ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.panel{
  background:linear-gradient(150deg,var(--ink-2),var(--ink));
  border:1px solid var(--line-dark);border-radius:var(--radius);
  padding:44px;color:var(--body-dark);
}
.panel h3{color:#fff}
.stat{border-top:1px solid var(--line-dark);padding:18px 0}
.stat:first-of-type{border-top:0}
.stat b{display:block;font-family:var(--font-head);color:#fff;font-size:1.6rem;letter-spacing:-.02em}

/* ---------- logo strip ---------- */
.logostrip{display:flex;flex-wrap:wrap;justify-content:center;gap:14px}
.logostrip span{
  padding:16px 26px;border:1px solid var(--line);border-radius:var(--radius);
  background:#fff;font-weight:700;letter-spacing:.04em;color:#6B7080;font-size:.95rem;
}

/* ---------- numbered sector list ---------- */
.sectors{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.sectors li{
  display:flex;align-items:baseline;gap:22px;
  padding:22px 4px;border-bottom:1px solid var(--line);
  font-size:1.15rem;font-weight:600;color:var(--ink);
}
.sectors .n{font-size:.8rem;font-weight:800;letter-spacing:.14em;color:var(--accent-ui);min-width:34px}
.section--dark .sectors{border-color:var(--line-dark)}
.section--dark .sectors li{border-color:var(--line-dark);color:#fff}

/* ---------- people ---------- */
.person{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:30px}
.person .avatar{
  width:60px;height:60px;border-radius:50%;
  background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;
  font-weight:700;letter-spacing:.04em;margin-bottom:18px;
  box-shadow:0 0 0 3px #fff,0 0 0 4px var(--accent-ui);
}
.person h3{margin-bottom:2px}
.person .role{
  font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--accent-ui);margin-bottom:14px;
}
.person p{font-size:.94rem}

/* ---------- posts ---------- */
.post{
  display:flex;flex-direction:column;background:#fff;
  border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:.18s;
}
.post:hover{border-color:var(--accent-ui);transform:translateY(-3px);box-shadow:0 14px 34px rgba(17,18,22,.08)}
.post .thumb{height:8px;background:linear-gradient(90deg,var(--accent-ui),var(--ink))}
.post .body{padding:28px 26px}
.post .tag{
  display:inline-block;font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  color:var(--accent-ui);margin-bottom:12px;
}
.post h3{font-size:1.08rem}
.post p{font-size:.94rem}

/* ---------- forms ---------- */
.form{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:38px}
.field{margin-bottom:20px}
.field label{
  display:block;font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--ink);margin-bottom:8px;
}
.field .req{color:var(--accent-ui)}
.field input,.field select,.field textarea{
  width:100%;padding:13px 15px;font:inherit;font-size:.95rem;color:var(--ink);
  border:1px solid var(--line);border-radius:var(--radius);background:#fff;
}
.field input:focus,.field select:focus,.field textarea:focus{
  outline:none;border-color:var(--accent-ui);box-shadow:0 0 0 3px var(--accent-tint);
}
.field textarea{min-height:130px;resize:vertical}
.form-note{font-size:.85rem;margin-top:16px}

.contact-block{border-top:3px solid var(--accent-ui);padding-top:22px;margin-bottom:34px}
.contact-block h3{font-size:1.05rem;margin-bottom:12px}
.contact-block a{color:var(--accent-ui);font-weight:600}
.contact-block a:hover{text-decoration:underline}

/* ---------- quote ---------- */
.quote{
  background:#fff;border:1px solid var(--line);border-left:3px solid var(--accent-ui);
  border-radius:var(--radius);padding:30px;
}
.quote p{font-size:.98rem;font-style:italic;color:var(--ink)}
.quote cite{display:block;margin-top:14px;font-style:normal;font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-ui)}

/* ---------- CTA band ---------- */
.cta{
  background:
    radial-gradient(700px 300px at 20% 0%, var(--accent-glow-2), transparent 60%),
    var(--ink);
  color:var(--body-dark);padding:88px 0;
}
.cta h2{color:#fff;max-width:22ch}
.cta .lede{color:var(--body-dark)}

/* ---------- footer ---------- */
.site-footer{background:#0C0D11;color:var(--body-dark);padding:72px 0 0;font-size:.92rem}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr 1.2fr;gap:40px;padding-bottom:52px}
.site-footer img{height:32px;margin-bottom:20px}
.site-footer h4{
  font-family:var(--font-head);
  color:#fff;font-size:.76rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  margin-bottom:18px;
}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer li{margin-bottom:11px}
.site-footer a:hover{color:#fff}
.footer-bottom{
  border-top:1px solid var(--line-dark);padding:24px 0;
  display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;font-size:.85rem;
}
.footer-bottom a{margin-left:22px}

/* ---------- responsive ---------- */
@media(max-width:1080px){
  .nav,.header-cta .signin{display:none}
  .burger{display:block;margin-left:auto}
  .header-cta{margin-left:12px}
  .grid-4{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:820px){
  body{font-size:16px}
  .section{padding:64px 0}
  .grid-3,.grid-2{grid-template-columns:1fr}
  .split{grid-template-columns:1fr;gap:36px}
  .hero{padding:76px 0 66px}
  .panel{padding:32px}
}
@media(max-width:560px){
  .grid-4{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr;gap:32px}
  .btn{width:100%;justify-content:center}
}



/* ==========================================================================
   UK additions — prose pages, leadership, core values, featured insight,
   mobile navigation and form details.
   ========================================================================== */

/* ---------- skip link ---------- */
.skip{
  position:absolute;left:-9999px;top:0;z-index:100;
  background:var(--accent);color:#fff;padding:12px 20px;font-weight:600;
}
.skip:focus{left:0}

/* ---------- long-form prose (policies and papers) ---------- */
.prose{max-width:74ch}
.prose h2{font-size:clamp(1.4rem,2.2vw,1.85rem);margin-top:2.4em}
.prose > h2:first-child{margin-top:0}
.prose h3{margin-top:1.9em;font-size:1.08rem}
.prose ul{margin:0 0 1.3em;padding-left:0;list-style:none}
.prose ul li{position:relative;padding:8px 0 8px 26px;border-top:1px solid var(--line)}
.prose ul li:first-child{border-top:0}
.prose ul li::before{
  content:"";position:absolute;left:2px;top:17px;
  width:8px;height:8px;background:var(--accent-ui);
  clip-path:polygon(0 0,100% 50%,0 100%);
}
.prose a{color:var(--accent);font-weight:600}
.prose a:hover{text-decoration:underline}
.prose strong{color:var(--ink)}
.prose .addr,.prose .sig{
  border-left:3px solid var(--accent-ui);padding:4px 0 4px 18px;color:var(--ink);
}
.prose .note{
  border-top:1px solid var(--line);margin-top:2.4em;padding-top:1.2em;font-size:.92rem;
}

/* eyebrow used as a breadcrumb link */
.eyebrow a{color:inherit}
.eyebrow a:hover{text-decoration:underline}

/* ---------- leadership ---------- */
.grid-4 > .person h3{min-height:2.3em}
.person--dark{
  background:var(--ink-2);border-color:var(--line-dark);color:var(--body-dark);
}
.person--dark h3{color:#fff}
.person--dark .avatar{box-shadow:0 0 0 3px var(--ink-2),0 0 0 4px var(--accent-ui)}

/* ---------- core values: alternating panel / card ---------- */
.valrow{
  display:grid;grid-template-columns:1fr 1.25fr;gap:0;
  align-items:stretch;margin-bottom:24px;
}
.valrow--flip .valpanel{order:2}
.valpanel{
  position:relative;overflow:hidden;min-height:230px;
  display:flex;flex-direction:column;justify-content:flex-end;
  padding:34px;background:linear-gradient(150deg,var(--ink-2),var(--ink));
  border:1px solid var(--line-dark);border-radius:var(--radius) 0 0 var(--radius);
}
.valrow--flip .valpanel{border-radius:0 var(--radius) var(--radius) 0}
.valpanel::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);
  background-size:52px 52px;
  mask-image:linear-gradient(200deg,rgba(0,0,0,.95),transparent 80%);
}
.vallabel{
  position:relative;z-index:1;
  font-family:var(--font-head);font-size:.72rem;font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;color:var(--accent-lift);
}
.valnum{
  position:relative;z-index:1;
  font-family:var(--font-head);font-size:4.2rem;font-weight:800;
  line-height:1;letter-spacing:-.04em;color:#fff;
}
.valcard{
  display:flex;flex-direction:column;justify-content:center;
  padding:40px 44px;background:#fff;
  border:1px solid var(--line);border-left:0;border-radius:0 var(--radius) var(--radius) 0;
}
.valrow--flip .valcard{
  border-left:1px solid var(--line);border-right:0;
  border-radius:var(--radius) 0 0 var(--radius);
}
.valcard h3{font-size:1.35rem;margin-bottom:12px}
.valcard p{margin:0}

/* ---------- featured insight ---------- */
.feature{
  display:block;background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  overflow:hidden;transition:.18s ease;
}
.feature:hover{
  border-color:var(--accent-ui);transform:translateY(-3px);
  box-shadow:0 18px 40px rgba(17,18,22,.10);
}
.feature-rule{height:8px;background:linear-gradient(90deg,var(--accent-ui),var(--ink))}
.feature-body{padding:42px 46px;max-width:80ch}
.feature-body h3{font-size:clamp(1.3rem,2.2vw,1.8rem);margin-bottom:10px}
.feature .byline{
  font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--body);margin-bottom:18px;
}
.feature .tag{
  display:inline-block;font-size:.7rem;font-weight:800;letter-spacing:.14em;
  text-transform:uppercase;color:var(--accent-ui);margin-bottom:12px;
}
.feature .more{
  display:inline-flex;align-items:center;gap:8px;margin-top:22px;
  font-size:.9rem;font-weight:600;color:var(--accent-ui);
}
.feature .more svg{width:13px;height:13px}
/* stub posts are not links yet — no hover lift, no false affordance */
.post--stub{cursor:default}
.post--stub:hover{border-color:var(--line);transform:none;box-shadow:none}

/* ---------- form additions ---------- */
.field--check{display:flex;align-items:flex-start;gap:12px}
.field--check input{width:18px;height:18px;flex:none;margin-top:3px;accent-color:var(--accent)}
.field--check label{
  font-size:.9rem;font-weight:400;letter-spacing:0;text-transform:none;
  color:var(--body);margin:0;
}
.form-note a{color:var(--accent);font-weight:600}
.form-note a:hover{text-decoration:underline}
.form-status{
  margin-top:16px;padding:14px 16px;border-radius:var(--radius);
  background:var(--accent-tint);border:1px solid var(--accent);
  color:var(--ink);font-size:.9rem;
}

/* ---------- footer note ---------- */
.site-footer .fnote{font-size:.82rem;color:#7C828F;margin-top:16px}

/* ---------- mobile navigation ---------- */
.mobile-nav{
  display:none;background:#0C0D11;border-top:1px solid var(--line-dark);
  padding:20px 0 28px;max-height:78vh;overflow-y:auto;
}
.mobile-nav ul{list-style:none;margin:0;padding:0}
.mobile-nav > .wrap > ul > li{border-bottom:1px solid var(--line-dark)}
.mobile-nav a{display:block;padding:13px 2px;color:#DDE0E6;font-size:.98rem;font-weight:500}
.mobile-nav a:hover{color:#fff}
.mobile-nav .mgroup{
  display:block;padding:15px 2px 6px;font-family:var(--font-head);
  font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;
  color:var(--accent-lift);
}
.mobile-nav .mgroup + ul a{padding-left:16px;font-size:.94rem}
.mobile-nav .btn{margin-top:22px;width:100%;justify-content:center}
body.nav-open{overflow:hidden}

@media(max-width:1080px){
  body.nav-open .mobile-nav{display:block}
  .header-cta{display:none}
}
@media(max-width:820px){
  .valrow,.valrow--flip{grid-template-columns:1fr}
  .valrow--flip .valpanel{order:0}
  .valpanel{min-height:160px;border-radius:var(--radius) var(--radius) 0 0}
  .valrow--flip .valpanel{border-radius:var(--radius) var(--radius) 0 0}
  .valcard,.valrow--flip .valcard{
    border:1px solid var(--line);border-top:0;
    border-radius:0 0 var(--radius) var(--radius);padding:30px;
  }
  .feature-body{padding:30px 26px}
  .grid-4 > .person h3,.grid-3 > .card h3,.grid-4 > .card h3{min-height:0}
}

/* ---------- print (policies get printed) ---------- */
@media print{
  .site-header,.mobile-nav,.cta,.site-footer,.skip,.btn{display:none !important}
  .hero{background:#fff;color:#000;padding:0 0 24px}
  .hero h1,.hero .sub{color:#000}
  .section{padding:16px 0}
  body{font-size:11pt;color:#000}
  .prose{max-width:none}
  a{color:#000;text-decoration:underline}
}

/* ---- variant palette (UK) ---- */
:root{
  --accent:#C8102E;--accent-dark:#A00D25;--accent-tint:rgba(200,16,46,.10);
  --accent-glow:rgba(200,16,46,.30);--accent-glow-2:rgba(200,16,46,.28);
  --accent-lift:#C8102E;--accent-ui:var(--accent);--btn-ring:none;
}

/* --- enquiry forms ------------------------------------------------------ */
/* Honeypot. Off-screen rather than display:none, because some bots skip
   fields that are explicitly hidden. Never seen, never focused, never filled
   by a person. */
.hp{position:absolute!important;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}

.form-status{margin-top:14px;padding:12px 14px;border-radius:4px;font-size:15px;line-height:1.5}
.form-status--working{background:#f2f3f5;color:#5A6270}
.form-status--ok{background:#eaf6ee;color:#14532d;border-left:3px solid #1a7f37}
.form-status--error{background:#fbeaee;color:#8c0d22;border-left:3px solid var(--accent,#C8102E)}

/* one-off spacing used by the Insights article lede */
.lede-spaced{margin-top:36px}

/* ---------------------------------------------------------------------------
   Paper downloads. The link goes to /api/download, which records the download
   and then redirects to the PDF — see api/download/index.js.
   --------------------------------------------------------------------------- */

.paper-dl{margin:26px 0 0}
.paper-dl .btn svg{width:15px;height:15px;margin-left:9px;vertical-align:-2px}

.btn--ghost{background:transparent;color:var(--accent);border:1.5px solid var(--accent);padding:12px 20px;font-weight:600;display:inline-flex;align-items:center;border-radius:2px;transition:background .2s,color .2s}
.btn--ghost:hover{background:var(--accent);color:#fff}

.paper-cta{margin:46px 0 0;padding:30px 32px;background:var(--mist,#F4F5F7);border-left:4px solid var(--accent);border-radius:0 3px 3px 0}
.paper-cta .eyebrow{display:block;margin-bottom:8px}
.paper-cta h3{margin:0 0 12px;font-size:1.32rem}
.paper-cta p{margin:0 0 20px;color:#3C4654}
.paper-cta .btn svg{width:15px;height:15px;margin-left:9px;vertical-align:-2px}
