/* ==========================================================================
   FalconryTrust — falconrytrust.com
   Brand system: Falconry V5.0 master brand, FalconryTrust colourway
   Surfaces: warm grey (default) / white (long-form + tables) / ink (mastheads)
   ========================================================================== */

:root{
  /* Surfaces — three only, alternated hard */
  --paper:#F1F1F0;
  --white:#FFFFFF;
  --ink:#082239;

  /* Marks and structure */
  --navy:#0C4A7C;        /* lead + mark colour */
  --falcon:#0050A0;      /* working blue: links, accents, figures */
  --pale:#E6EBF1;
  --steel:#8FC1EA;
  --steel-deep:#3D7FB8;

  /* One accent only — the Trust suffix and primary actions */
  --orange:#FC4C00;      /* the single accent */
  --burnt:#A85400;

  /* Text */
  --text:#101C2B;
  --text-muted:#4A5A6B;
  --text-on-ink:#E9EFF5;
  --text-on-ink-muted:#9DB2C6;

  --rule:#D6DCE3;
  --rule-ink:rgba(143,193,234,.22);

  --measure:68ch;
  --gutter:clamp(20px,4vw,56px);
  --maxw:1220px;

  --step--1:clamp(.8rem,.78rem + .1vw,.86rem);
  --step-0:clamp(1rem,.97rem + .15vw,1.075rem);
  --step-1:clamp(1.18rem,1.1rem + .35vw,1.35rem);
  --step-2:clamp(1.45rem,1.3rem + .7vw,1.85rem);
  --step-3:clamp(1.85rem,1.55rem + 1.3vw,2.6rem);
  --step-4:clamp(2.3rem,1.75rem + 2.4vw,3.9rem);
  --step-5:clamp(2.8rem,1.9rem + 3.6vw,5rem);
}

*,*::before,*::after{box-sizing:border-box}

html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}

body{
  margin:0;
  background:var(--paper);
  color:var(--text);
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;
  font-size:var(--step-0);
  line-height:1.6;
  font-feature-settings:'cv05' 1,'ss01' 1;
  -webkit-font-smoothing:antialiased;
}

h1,h2,h3,h4{
  font-family:'Fraunces','Georgia',serif;
  font-variation-settings:'SOFT' 0,'WONK' 0,'opsz' 40;
  font-weight:600;
  line-height:1.08;
  letter-spacing:-.012em;
  margin:0 0 .5em;
  text-wrap:balance;
}
h1{font-size:var(--step-4)}
h2{font-size:var(--step-3)}
h3{font-size:var(--step-1);line-height:1.22;letter-spacing:-.005em}
h4{font-family:'Inter',sans-serif;font-weight:650;font-size:var(--step-0);letter-spacing:.005em;line-height:1.35}

p{margin:0 0 1.1em;max-width:var(--measure)}
a{color:var(--falcon);text-decoration:none;text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{text-decoration:underline}
:focus-visible{outline:2px solid var(--orange);outline-offset:3px;border-radius:1px}
img,svg{max-width:100%;height:auto}
strong{font-weight:650}

.wrap{max-width:var(--maxw);margin:0 auto;padding-inline:var(--gutter)}
.narrow{max-width:860px}

/* --------------------------------------------------------------- Header */
.site-head{
  position:sticky;top:0;z-index:60;
  background:var(--ink);
  border-bottom:1px solid var(--rule-ink);
}
.head-inner{
  max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter);
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  min-height:70px;
}
.brand{display:inline-flex;align-items:baseline;gap:.12em;text-decoration:none;line-height:1;color:#fff}
.brand:hover{text-decoration:none}
.brand-mark{
  font-family:'Fraunces',Georgia,serif;font-weight:600;
  font-size:1.34rem;letter-spacing:-.015em;color:#fff;
}
.brand-mark em{font-style:normal;color:var(--orange)}
.brand-sub{
  display:block;font-size:.58rem;letter-spacing:.24em;
  color:var(--text-on-ink-muted);margin-top:5px;font-weight:500;
}
.brand-stack{display:flex;flex-direction:column}

.nav{display:flex;align-items:center;gap:4px}
.nav>li{list-style:none;position:relative;color:var(--text-on-ink)}
.nav ul{list-style:none;margin:0;padding:0}
.nav-link{
  display:block;padding:10px 14px;font-size:.875rem;font-weight:500;
  color:var(--text-on-ink);border-radius:2px;background:none;border:0;
  font-family:inherit;cursor:pointer;
}
a.nav-link:hover,.nav-link:hover,.nav-link[aria-expanded="true"]{background:rgba(143,193,234,.13);text-decoration:none;color:#fff}
.nav-link.is-current{box-shadow:inset 0 -2px 0 var(--orange)}

.mega{
  position:absolute;top:calc(100% + 1px);left:50%;transform:translateX(-50%);
  background:var(--white);border:1px solid var(--rule);
  border-top:2px solid var(--orange);
  padding:22px;display:none;
  box-shadow:0 22px 44px -20px rgba(8,34,57,.4);
}
.mega[data-open="true"]{display:block}
.mega-1col{min-width:360px}
.mega-2col{min-width:640px}
.mega-3col{min-width:840px}
.mega-grid{display:grid;gap:0 30px}
.mega-1col .mega-grid{grid-template-columns:1fr}
.mega-2col .mega-grid{grid-template-columns:1fr 1fr}
.mega-3col .mega-grid{grid-template-columns:1fr 1fr .85fr}
.mega-col+.mega-col{border-left:1px solid var(--rule);padding-left:30px}
.mega a{display:block;padding:8px 10px;color:var(--text);font-size:.86rem;border-radius:2px}
.mega a:hover{background:var(--pale);text-decoration:none;color:var(--navy)}
.mega a span{display:block;font-size:.74rem;color:var(--text-muted);margin-top:1px}
.mega-head{
  font-size:.68rem;letter-spacing:.16em;color:var(--text-muted);
  font-weight:600;padding:0 10px 8px;border-bottom:1px solid var(--rule);margin-bottom:8px;
}

.head-cta{
  padding:9px 17px;font-size:.83rem;font-weight:650;
  background:var(--orange);color:var(--ink);border-radius:2px;white-space:nowrap;
}
.head-cta:hover{background:#D93F00;text-decoration:none;color:var(--ink)}

@media (max-width:560px){.brand-sub{display:none}.brand-mark{font-size:1.22rem}}
.nav-cta{display:none}
.burger{display:none;background:none;border:1px solid var(--rule-ink);color:#fff;padding:9px 12px;border-radius:2px;font:inherit;font-size:.8rem;cursor:pointer}

@media (max-width:1080px){
  .nav,.head-cta{display:none}
  .burger{display:block}
  .nav.is-open{
    display:block;position:absolute;top:100%;left:0;right:0;
    background:var(--ink);border-top:1px solid var(--rule-ink);
    padding:10px var(--gutter) 40px;max-height:80vh;overflow-y:auto;
    box-shadow:0 18px 30px -12px rgba(0,0,0,.55);
  }
  .nav.is-open>li{border-bottom:1px solid var(--rule-ink)}
  .nav.is-open .nav-cta{display:block;border-bottom:0;padding:18px 2px 4px}
  .nav.is-open .nav-cta a{display:inline-block}
  .nav.is-open .nav-link{width:100%;text-align:left;padding:14px 2px}
  .mega{position:static;transform:none;min-width:0;background:transparent;border:0;box-shadow:none;padding:0 0 14px}
  .mega-1col,.mega-2col,.mega-3col{min-width:0}
  .mega-1col .mega-grid,.mega-2col .mega-grid,.mega-3col .mega-grid{grid-template-columns:1fr}
  .mega-col+.mega-col{border-left:0;padding-left:0;margin-top:10px}
  .mega a{color:var(--text-on-ink-muted);padding:9px 12px}
  .mega a:hover{background:rgba(143,193,234,.1);color:#fff}
  .mega a span{color:#71889d}
  .mega-head{color:#71889d;border-color:var(--rule-ink)}
}

/* -------------------------------------------------------------- Sections */
.band{padding:clamp(52px,7vw,92px) 0}
.band-ink{background:var(--ink);color:var(--text-on-ink)}
.band-ink h1,.band-ink h2,.band-ink h3{color:#fff}
.band-ink p{color:var(--text-on-ink-muted)}
.band-ink a{color:var(--steel)}
.band-white{background:var(--white)}
.band-tight{padding:clamp(38px,5vw,62px) 0}

.lede{font-size:var(--step-1);line-height:1.45;color:var(--text-muted);max-width:58ch}
.band-ink .lede{color:#B9CBDC}

.sec-head{margin-bottom:36px;max-width:var(--measure)}
.mast-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(28px,5vw,64px);align-items:end}
@media (max-width:900px){.mast-grid{grid-template-columns:1fr;align-items:start}}
.mast-aside{border-top:2px solid var(--orange);padding-top:18px}
.mast-aside dt{font-size:.72rem;letter-spacing:.13em;color:var(--steel);font-weight:600;margin-bottom:4px}
.mast-aside dd{margin:0 0 16px;font-size:.9rem;color:#fff;line-height:1.45}
.mast-aside dd:last-child{margin-bottom:0}
.sec-head p{margin-bottom:0}

/* Kicker — used only where it carries locating information */
.kicker{
  font-size:.72rem;letter-spacing:.15em;font-weight:600;
  color:var(--falcon);margin:0 0 14px;
}
.band-ink .kicker{color:var(--steel)}

/* ----------------------------------------------------------------- Hero */
.hero{background:var(--ink);color:var(--text-on-ink);padding:clamp(58px,8vw,112px) 0 0;position:relative;overflow:hidden}
.hero::after{
  content:"";position:absolute;inset:auto 0 0 0;height:1px;background:var(--rule-ink);
}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:clamp(30px,5vw,72px);align-items:end}
@media (max-width:900px){.hero-grid{grid-template-columns:1fr;align-items:start}}
.hero h1{font-size:var(--step-5);color:#fff;margin-bottom:.32em;font-variation-settings:'SOFT' 0,'WONK' 1,'opsz' 144}
.hero .lede{max-width:52ch;color:#B9CBDC}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px;padding-bottom:14px}
.hero-foot{padding:6px 0 40px}
.hero-foot .hero-actions{margin-top:0;padding-bottom:0}
.btn{
  display:inline-block;padding:13px 24px;border-radius:2px;font-weight:600;font-size:.9rem;
  border:1px solid transparent;
}
.btn:hover{text-decoration:none}
.btn-primary{background:var(--orange);color:var(--ink);font-weight:650}
.btn-primary:hover{background:#D93F00}
.band-ink .btn-primary,.hero .btn-primary{color:var(--ink)}
.btn-ghost{border-color:rgba(143,193,234,.4);color:#fff}
.btn-ghost:hover{background:rgba(143,193,234,.13)}
.btn-solid{background:var(--navy);color:#fff}
.btn-solid:hover{background:#0a3d67}

/* The pillar spine — recurring structural device */
.spine{
  border-top:1px solid var(--rule-ink);
  display:grid;grid-template-columns:repeat(5,1fr);
}
.spine a{
  padding:22px 18px 26px;border-right:1px solid var(--rule-ink);
  color:var(--text-on-ink);display:block;
}
.spine a:last-child{border-right:0}
.spine a:hover{background:rgba(143,193,234,.09);text-decoration:none}
.spine b{
  display:block;font-family:'Fraunces',Georgia,serif;font-weight:600;
  font-size:1.06rem;color:#fff;margin-bottom:6px;letter-spacing:-.01em;
}
.spine span{display:block;font-size:.78rem;color:var(--text-on-ink-muted);line-height:1.45}
@media (max-width:860px){
  .spine{grid-template-columns:1fr 1fr}
  .spine a{border-bottom:1px solid var(--rule-ink)}
  .spine a:nth-child(2n){border-right:0}
  .spine a:last-child{grid-column:1/-1}
}

/* ------------------------------------------------- Jurisdiction register */
.jrail{background:var(--navy);color:#fff}
.jrail-inner{display:grid;grid-template-columns:repeat(7,1fr)}
.jrail a{
  padding:16px 18px;color:#fff;min-width:0;
  border-right:1px solid rgba(255,255,255,.15);
}
@media (max-width:1180px){.jrail-inner{grid-template-columns:repeat(4,1fr)}}
@media (max-width:820px){.jrail-inner{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.jrail-inner{grid-template-columns:1fr}}
@media (max-width:1180px){.jrail a{border-bottom:1px solid rgba(255,255,255,.15)}}
.jrail a:last-child{border-right:0}
.jrail a:hover{background:rgba(255,255,255,.09);text-decoration:none}
.jrail b{display:block;font-size:.92rem;font-weight:600;margin-bottom:3px}
.jrail span{display:block;font-size:.72rem;color:#C4DAEE;line-height:1.4}

/* ---------------------------------------------------------------- Tables */
.reg-table{width:100%;border-collapse:collapse;margin:0 0 28px;font-size:.885rem;background:var(--white)}
.reg-table caption{
  text-align:left;font-weight:650;font-size:.95rem;color:var(--navy);
  padding:0 0 10px;
}
.reg-table th,.reg-table td{
  text-align:left;vertical-align:top;padding:13px 16px;border-bottom:1px solid var(--rule);
}
.reg-table thead th{
  font-size:.72rem;letter-spacing:.09em;font-weight:650;color:var(--text-muted);
  border-bottom:1.5px solid var(--navy);white-space:nowrap;
}
.reg-table tbody tr:hover{background:#FAFBFC}
.reg-table td:first-child{font-weight:600;color:var(--navy);width:24%}
.reg-table td em{font-style:normal;color:var(--text-muted);display:block;font-size:.82rem;margin-top:3px}
.table-scroll{overflow-x:auto;border:1px solid var(--rule);margin-bottom:28px}
.table-scroll .reg-table{margin-bottom:0;min-width:640px}

/* ----------------------------------------------------------------- Cards */
.grid{display:grid;gap:1px;background:var(--rule);border:1px solid var(--rule)}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}
.cell{background:var(--white);padding:26px 24px}
.cell h3{margin-bottom:.45em}
.cell p:last-child{margin-bottom:0}
.cell p{font-size:.92rem;color:var(--text-muted)}
.band-ink .grid{background:var(--rule-ink);border-color:var(--rule-ink)}
.band-ink .cell{background:var(--ink)}
.band-ink .cell p{color:var(--text-on-ink-muted)}
@media (max-width:940px){.grid-4{grid-template-columns:1fr 1fr}.grid-3{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}

.cell-num{
  font-family:'Fraunces',Georgia,serif;font-size:.95rem;color:var(--burnt);
  font-weight:600;display:block;margin-bottom:10px;
}

/* Framework chips */
.chips{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 24px;padding:0;list-style:none}
.chips li{
  border:1px solid var(--rule);background:var(--white);
  padding:6px 12px;font-size:.79rem;color:var(--navy);border-radius:2px;font-weight:500;
}
.band-ink .chips li{background:transparent;border-color:var(--rule-ink);color:var(--steel)}

/* Definition list — capability register */
.dl{margin:0;border-top:1px solid var(--rule)}
.dl>div{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.7fr);gap:8px 34px;
  padding:20px 0;border-bottom:1px solid var(--rule);
}
.dl dt{font-weight:650;color:var(--navy);font-size:.95rem;margin:0}
.dl dd{margin:0;color:var(--text-muted);font-size:.92rem}
.band-ink .dl,.band-ink .dl>div{border-color:var(--rule-ink)}
.band-ink .dl dt{color:#fff}
.band-ink .dl dd{color:var(--text-on-ink-muted)}
@media (max-width:760px){.dl>div{grid-template-columns:1fr;gap:4px}}

/* Pull statement */
.pull{
  border-left:3px solid var(--falcon);padding:6px 0 6px 24px;
  font-family:'Fraunces',Georgia,serif;font-size:var(--step-2);line-height:1.3;
  color:var(--navy);max-width:24ch;margin:0;font-weight:600;letter-spacing:-.01em;
}
.band-ink .pull{color:#fff}

/* Tier columns */
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule)}
@media (max-width:820px){.tiers{grid-template-columns:1fr}}
.tier{background:var(--white);padding:30px 26px;display:flex;flex-direction:column}
.tier.is-flagship{background:var(--ink);color:var(--text-on-ink)}
.tier.is-flagship h3{color:#fff}
.tier.is-flagship p{color:var(--text-on-ink-muted)}
.tier.is-flagship .tier-note{color:var(--steel)}
.tier.is-flagship ul li{color:var(--text-on-ink-muted);border-color:var(--rule-ink)}
.tier-note{font-size:.78rem;letter-spacing:.1em;color:var(--burnt);font-weight:650;margin-bottom:10px}
.tier ul{list-style:none;margin:14px 0 0;padding:0}
.tier ul li{padding:10px 0;border-top:1px solid var(--rule);font-size:.88rem;color:var(--text-muted)}

/* Journey — genuinely sequential, so numbered */
.journey{counter-reset:step;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule-ink);border:1px solid var(--rule-ink)}
@media (max-width:760px){.journey{grid-template-columns:1fr}}
.journey>div{background:var(--ink);padding:28px 24px;counter-increment:step;color:var(--text-on-ink-muted)}
.journey>div h3{color:#fff}
.journey>div p{color:var(--text-on-ink-muted)}
.journey>div a{color:var(--steel)}
.journey h3{color:#fff}
.journey p{color:var(--text-on-ink-muted);margin-bottom:0}
.journey>div::before{
  content:counter(step,decimal-leading-zero);
  font-family:'Fraunces',Georgia,serif;color:var(--steel);
  font-size:.9rem;display:block;margin-bottom:12px;font-weight:600;
}

/* Lists */
.list-clean{list-style:none;margin:0 0 22px;padding:0}
.list-clean li{
  padding:11px 0 11px 22px;border-bottom:1px solid var(--rule);
  font-size:.92rem;position:relative;color:var(--text-muted);
}
.list-clean li::before{
  content:"";position:absolute;left:0;top:19px;width:8px;height:1.5px;background:var(--falcon);
}
.list-clean li strong{color:var(--text);font-weight:650}
.band-ink .list-clean li{border-color:var(--rule-ink);color:var(--text-on-ink-muted)}
.band-ink .list-clean li strong{color:#fff}

/* Two-column prose */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:clamp(28px,5vw,72px);align-items:start}
@media (max-width:880px){.split{grid-template-columns:1fr}}

/* Callout */
.note{
  background:var(--pale);border-left:3px solid var(--navy);
  padding:20px 24px;font-size:.9rem;color:var(--text-muted);margin:0 0 26px;
}
.note p:last-child{margin-bottom:0}
.note strong{color:var(--navy)}

/* FalconryX band */
.fx{background-color:#0A2B48;background-image:linear-gradient(180deg,#0A2B48 0%,#082239 100%);color:var(--text-on-ink);padding:34px 0;border-top:1px solid var(--rule-ink);border-bottom:1px solid var(--rule-ink)}
.fx .wrap{display:flex;gap:26px;align-items:flex-start;flex-wrap:wrap}
.fx-tag{
  font-family:'Fraunces',Georgia,serif;font-size:1.15rem;color:#fff;
  font-weight:600;flex:0 0 auto;letter-spacing:-.01em;
}
.fx p{margin:0;color:var(--text-on-ink-muted);font-size:.92rem;flex:1 1 380px}
.fx a{color:var(--steel);text-decoration:underline;text-underline-offset:3px}
.fx a:hover{color:#fff}

/* Breadcrumb */
.crumb{font-size:.78rem;color:var(--text-on-ink-muted);margin-bottom:20px}
.crumb a{color:var(--steel)}
.crumb span{opacity:.5;padding:0 7px}

/* Next links */
.next{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--rule);border:1px solid var(--rule)}
@media (max-width:640px){.next{grid-template-columns:1fr}}
.next a{background:var(--white);padding:24px;color:var(--text);display:block}
.next a:hover{background:var(--pale);text-decoration:none}
.next a b{display:block;font-family:'Fraunces',Georgia,serif;font-size:1.1rem;color:var(--navy);margin-bottom:5px;font-weight:600}
.next a span{font-size:.85rem;color:var(--text-muted)}

/* Contact form */
.form{display:grid;gap:16px;max-width:560px}
.field{display:grid;gap:6px}
.field label{font-size:.82rem;font-weight:600;color:var(--navy)}
.field input,.field select,.field textarea{
  padding:12px 14px;border:1px solid var(--rule);border-radius:2px;
  font:inherit;font-size:.92rem;background:var(--white);color:var(--text);
}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--falcon);outline:2px solid var(--orange);outline-offset:1px}

/* ---------------------------------------------------------------- Footer */
.site-foot{background:var(--ink);color:var(--text-on-ink-muted);padding:60px 0 30px;font-size:.86rem}
.foot-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:36px;padding-bottom:40px;border-bottom:1px solid var(--rule-ink)}
@media (max-width:860px){.foot-grid{grid-template-columns:1fr 1fr;gap:30px}}
@media (max-width:520px){.foot-grid{grid-template-columns:1fr}}
.foot-grid h4{color:#fff;font-size:.75rem;letter-spacing:.13em;margin-bottom:14px;font-weight:600}
.foot-grid ul{list-style:none;margin:0;padding:0}
.foot-grid li{margin-bottom:9px}
.foot-grid a{color:var(--text-on-ink-muted);font-size:.85rem}
.foot-grid a:hover{color:#fff}
.foot-base{padding-top:26px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:.78rem;color:#71889d}
.foot-line{font-family:'Fraunces',Georgia,serif;font-size:1.05rem;color:#fff;margin:14px 0 10px;font-weight:600}

.skip{position:absolute;left:-9999px;top:0;background:var(--orange);color:var(--ink);font-weight:650;padding:12px 18px;z-index:100}
.skip:focus{left:12px;top:12px}


/* -------------------------------------------------- Architecture stack */
.stack{border:1px solid var(--rule-ink);background:rgba(143,193,234,.05)}
.stack-row{display:grid;grid-template-columns:170px minmax(0,1fr);border-bottom:1px solid var(--rule-ink)}
.stack-row:last-child{border-bottom:0}
.stack-label{
  padding:20px 18px;border-right:1px solid var(--rule-ink);
  font-size:.74rem;letter-spacing:.12em;font-weight:650;color:var(--steel);
  display:flex;align-items:center;
}
.stack-body{padding:18px}
.stack-body p{margin:0;font-size:.86rem;color:var(--text-on-ink-muted);max-width:none}
.stack-items{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 9px;padding:0;list-style:none}
.stack-items li{
  border:1px solid var(--rule-ink);padding:8px 13px;font-size:.83rem;
  color:#fff;border-radius:2px;background:rgba(143,193,234,.07);
}
.stack-items li.is-key{border-color:var(--falcon);color:#fff}
.stack-items a{color:#fff}
@media (max-width:700px){
  .stack-row{grid-template-columns:1fr}
  .stack-label{border-right:0;border-bottom:1px solid var(--rule-ink);padding:14px 18px}
}

/* ------------------------------------------------------ Dashboard rows */
.roles{border-top:1px solid var(--rule)}
.roles>div{
  display:grid;grid-template-columns:200px minmax(0,1fr);gap:8px 30px;
  padding:20px 0;border-bottom:1px solid var(--rule);
}
.roles h3{margin:0;font-size:1rem;color:var(--navy)}
.roles ul{margin:0;padding-left:18px;color:var(--text-muted);font-size:.9rem}
.roles li{margin-bottom:5px}
@media (max-width:760px){.roles>div{grid-template-columns:1fr}}

/* --------------------------------------------------------- Sector rail */
.sectors{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule)}
@media (max-width:900px){.sectors{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.sectors{grid-template-columns:1fr}}
.sectors a{background:var(--white);padding:24px;display:block;color:var(--text)}
.sectors a:hover{background:var(--pale);text-decoration:none}
.sectors a b{display:block;font-family:'Fraunces',Georgia,serif;font-size:1.08rem;color:var(--navy);margin-bottom:6px;font-weight:600}
.sectors a span{font-size:.86rem;color:var(--text-muted);display:block}


/* ------------------------------------------------- Architecture diagram */
.arch{background:var(--ink);border:1px solid var(--rule-ink);padding:clamp(18px,3vw,34px)}
.arch svg{display:block;width:100%;height:auto}
.arch-key{display:flex;flex-wrap:wrap;gap:18px;margin-top:22px;padding-top:18px;border-top:1px solid var(--rule-ink)}
.arch-key div{flex:1 1 190px;font-size:.82rem;color:var(--text-on-ink-muted)}
.arch-key b{display:block;color:#fff;font-size:.88rem;margin-bottom:3px}

/* Layer stack — the four architecture layers as text */
.layers{border-top:1px solid var(--rule);margin:0}
.layers>div{
  display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 28px;
  padding:22px 0;border-bottom:1px solid var(--rule);align-items:start;
}
.layers .layer-n{
  font-family:'Fraunces',Georgia,serif;font-size:.9rem;color:var(--falcon);
  font-weight:600;padding-top:3px;min-width:46px;
}
.layers h3{margin-bottom:.3em}
.layers p{margin-bottom:0;font-size:.92rem;color:var(--text-muted)}
.band-ink .layers,.band-ink .layers>div{border-color:var(--rule-ink)}
.band-ink .layers p{color:var(--text-on-ink-muted)}
@media (max-width:640px){.layers>div{grid-template-columns:1fr;gap:4px}}

/* Role dashboard table */
.roles td:first-child{width:22%}

/* Sector index cards */
.sector-grid .cell h3 a{color:var(--navy)}
.sector-grid .cell h3 a:hover{color:var(--falcon)}


/* ------------------------------------------------------------- Figures */
.fig{margin:0 0 30px;border:1px solid var(--rule);background:var(--white);padding:clamp(16px,2.6vw,30px)}
.fig svg{display:block;width:100%;height:auto}
.fig figcaption{margin-top:16px;padding-top:14px;border-top:1px solid var(--rule);
  font-size:.84rem;color:var(--text-muted);max-width:78ch}
.band-ink .fig{background:transparent;border-color:var(--rule-ink)}
.band-ink .fig figcaption{border-color:var(--rule-ink);color:var(--text-on-ink-muted)}
.fig-ink{background:var(--ink);border-color:var(--ink)}
.fig-ink figcaption{color:var(--text-on-ink-muted);border-color:var(--rule-ink)}
.fig-plain{border:0;background:none;padding:0}

.sector-mark{width:52px;height:52px;margin-bottom:16px}
.sector-mark svg{display:block;width:100%;height:100%}

.split-fig{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);
  gap:clamp(28px,5vw,60px);align-items:center}
@media (max-width:880px){.split-fig{grid-template-columns:1fr}}


/* ------------------------------------------------------------ Team cards */
.team .cell{padding:28px 24px}
.person h3{margin-bottom:.2em}
.person .role{
  font-size:.78rem;letter-spacing:.06em;font-weight:600;color:var(--orange);
  margin:0 0 12px;text-transform:none;
}
.band-ink .team .cell p.role{color:#FF7A3D}
.band-ink .team .cell p{color:var(--text-on-ink-muted)}
@media (max-width:940px){.team{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.team{grid-template-columns:1fr}}


/* --------------------------------------------------------- Insight cards */
.post h3{margin:.15em 0 .5em;font-size:1.02rem}
.post-soon{font-size:.74rem;letter-spacing:.1em;font-weight:600;color:var(--text-muted);
  margin:14px 0 0;padding-top:12px;border-top:1px solid var(--rule)}
.band-ink .post-soon{color:#7F97AC;border-color:var(--rule-ink)}

.band-ink .note,.band-ink .note p,.band-ink .note li{color:var(--text-muted)}
.band-ink .note strong{color:var(--navy)}

/* -------------------------------------------------------- V5 additions */
.brand{gap:14px;align-items:center}.brand-logo{width:160px;height:auto;display:block}.brand-stack{gap:3px}.brand-powered{font-size:.62rem;letter-spacing:.08em;color:#B9CBDC}.brand-sub{margin-top:0;letter-spacing:.13em;font-size:.58rem}.foot-brand{font-family:'Fraunces',Georgia,serif;font-size:1.4rem;color:#fff!important;display:inline-block;margin-bottom:4px}.foot-grid>div>a:not(.foot-brand){display:block;margin:.35em 0}.foot-legal{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;border-top:1px solid var(--rule-ink);padding-top:22px;margin-top:34px;font-size:.76rem;color:#7F97AC}.foot-legal a{color:#9DB2C6}.prose h2{margin-top:1.7em}.prose h2:first-child{margin-top:0}.prose p{max-width:72ch}.prose a{text-decoration:underline}.form-card{background:var(--white);border:1px solid var(--rule);padding:clamp(22px,3vw,36px);box-shadow:0 16px 34px -26px rgba(8,34,57,.45)}.field-check{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start}.field-check input{margin-top:6px;width:17px;height:17px}.field-check label{font-size:.78rem;font-weight:400;color:var(--text-muted)}.field-check label a{text-decoration:underline}.hp{position:absolute;left:-9999px;opacity:0}.form-status{min-height:1.4em;margin:.75em 0 0;font-size:.84rem;color:var(--navy)}.form-note{font-size:.76rem!important;color:var(--text-muted);margin:12px 0 0!important}.callout{border-left:3px solid var(--orange);background:var(--pale);padding:24px}.callout span,.callout-good>span{display:block;font-size:.7rem;letter-spacing:.15em;font-weight:700;color:var(--burnt);margin-bottom:9px}.callout strong{display:block;font-family:'Fraunces',Georgia,serif;font-size:1.35rem;line-height:1.22;color:var(--navy)}
.product-showcase{padding-top:clamp(58px,7vw,92px)}.demo-tabs{display:flex;gap:0;overflow-x:auto;border-bottom:1px solid var(--rule-ink);margin:28px 0 0}.demo-tab{font:inherit;color:var(--text-on-ink-muted);background:transparent;border:0;border-bottom:2px solid transparent;padding:13px 19px;cursor:pointer;white-space:nowrap}.demo-tab:hover,.demo-tab:focus-visible{color:#fff}.demo-tab.is-active{color:#fff;border-bottom-color:var(--orange)}.demo-panel{background:#0D2B45;border:1px solid var(--rule-ink);padding:clamp(20px,3vw,34px);min-height:370px}.demo-panel[hidden]{display:none}.demo-head{display:flex;justify-content:space-between;gap:20px;align-items:start;margin-bottom:24px}.demo-eyebrow{display:block;color:var(--steel);font-size:.68rem;letter-spacing:.14em;font-weight:650;margin-bottom:8px}.demo-head h3{color:#fff;font-size:1.55rem;margin:0}.demo-period{font-size:.75rem;color:var(--text-on-ink-muted);text-align:right}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--rule-ink);margin-bottom:26px}.metric{background:#0A243A;padding:17px}.metric span,.metric small{display:block;color:var(--text-on-ink-muted);font-size:.76rem}.metric strong{display:block;color:#fff;font-family:'Fraunces',Georgia,serif;font-size:1.55rem;margin:6px 0}.metric small{font-size:.71rem}.metric-warn{color:#FF9A67!important}.demo-columns{display:grid;grid-template-columns:1.4fr 1fr;gap:22px}.demo-section-title{display:block;color:var(--steel);font-size:.72rem;letter-spacing:.11em;font-weight:650;margin-bottom:12px}.bar-row{display:grid;grid-template-columns:1.35fr 1fr auto;gap:12px;align-items:center;margin:14px 0;font-size:.78rem;color:#D6E2EC}.bar-row b{height:7px;background:#173D59;border-radius:99px;overflow:hidden}.bar-row i{height:100%;display:block;background:var(--orange);border-radius:99px}.bar-row em{font-style:normal;color:#fff;font-size:.72rem;white-space:nowrap}.decision-card,.dependency-card,.callout-good{border:1px solid var(--rule-ink);background:rgba(143,193,234,.06);padding:18px}.decision-card strong{display:block;color:#fff;font-family:'Fraunces',Georgia,serif;font-size:1.1rem;line-height:1.25}.decision-card p,.callout-good p{font-size:.78rem;color:var(--text-on-ink-muted);margin:10px 0}.decision-card a{color:var(--steel);font-size:.8rem}.evidence-table{border:1px solid var(--rule-ink);font-size:.75rem}.evidence-table>div{display:grid;grid-template-columns:1.3fr 1.35fr .8fr .55fr;gap:10px;padding:12px;border-bottom:1px solid var(--rule-ink);color:var(--text-on-ink-muted);align-items:center}.evidence-table>div:first-child{color:var(--steel);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase}.evidence-table>div:last-child{border-bottom:0}.status-good{color:#7ED6A2;font-weight:600}.status-warn{color:#FFB17D;font-weight:600}.resilience-track{display:flex;align-items:center;margin:34px 0 40px}.track-node{flex:0 0 21%;border:1px solid var(--rule-ink);padding:15px 12px;background:#0A243A}.track-node b,.track-node span{display:block}.track-node b{color:#fff;font-size:.78rem}.track-node span{color:var(--text-on-ink-muted);font-size:.7rem;margin-top:6px}.track-node.done{border-color:#397859}.track-node.done span{color:#7ED6A2}.track-node.active{border-color:var(--orange)}.track-line{height:2px;background:var(--rule-ink);flex:1}.track-line.done{background:#397859}.dependency-card p{color:var(--text-on-ink-muted);font-size:.78rem;margin:9px 0}.dependency-card b{color:#fff}.callout-good>span{color:#7ED6A2}.callout-good strong{display:block;color:#fff;font-family:'Fraunces',Georgia,serif;font-size:1.25rem;line-height:1.25}.owner-list{border:1px solid var(--rule-ink)}.owner-list>div{display:grid;grid-template-columns:auto 1.2fr 1fr auto;align-items:center;gap:14px;padding:12px 14px;border-bottom:1px solid var(--rule-ink)}.owner-list>div:last-child{border-bottom:0}.owner-list b{color:#fff;font-size:.82rem}.owner-list small{color:var(--text-on-ink-muted);font-size:.72rem}.owner-avatar{display:grid;place-items:center;width:30px;height:30px;background:#164463;color:#fff;font-size:.68rem;font-weight:650}.demo-note{font-size:.72rem!important;color:#7F97AC!important;margin:12px 0 0!important}.delivery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule)}.delivery-card{background:var(--white);padding:28px 24px;min-height:220px}.delivery-card-featured{background:var(--ink);color:var(--text-on-ink)}.delivery-card-featured h3{color:#fff}.delivery-card-featured p{color:var(--text-on-ink-muted)}.delivery-number{display:block;color:var(--burnt);font-family:'Fraunces',Georgia,serif;font-size:1.1rem;margin-bottom:18px}.delivery-card-featured .delivery-number{color:var(--orange)}.delivery-card h3{margin-bottom:10px}.delivery-card p{font-size:.9rem;color:var(--text-muted);min-height:70px}.delivery-card a{font-size:.82rem;font-weight:650}.mast{padding:clamp(58px,8vw,104px) 0}.mast h1{font-size:var(--step-5)}
@media (max-width:800px){.brand-logo{width:135px}.brand-powered{font-size:.55rem}.metric-grid{grid-template-columns:1fr 1fr}.demo-columns,.delivery-grid{grid-template-columns:1fr}.resilience-track{display:grid;grid-template-columns:1fr;gap:0}.track-node{width:100%}.track-line{width:2px;height:18px;margin-left:20px}.evidence-table>div{grid-template-columns:1.1fr 1fr .7fr}.evidence-table>div>*:nth-child(4){grid-column:4}.owner-list>div{grid-template-columns:auto 1fr auto}.owner-list small{grid-column:2}.owner-list strong{grid-column:3;grid-row:1 / span 2}.demo-head{display:block}.demo-period{text-align:left;display:block;margin-top:10px}}
@media (max-width:520px){.brand-stack{display:none}.metric{padding:13px}.metric strong{font-size:1.28rem}.demo-panel{padding:18px 14px}.bar-row{grid-template-columns:1fr auto}.bar-row b{grid-column:1 / -1;grid-row:2}.evidence-table>div{grid-template-columns:1.1fr 1fr}.evidence-table>div>*:nth-child(3),.evidence-table>div>*:nth-child(4){grid-column:auto}.foot-legal{display:block}.foot-legal span{display:block;margin-top:8px}}


/* ------------------------------------------------------ V6 narrative and product views */
.narrative-hero{padding:clamp(58px,8vw,112px) 0 82px}.narrative-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);gap:clamp(34px,6vw,82px);align-items:center}.narrative-grid>div:first-child{padding-bottom:12px}.narrative-hero h1{max-width:14ch}.narrative-hero .lede{max-width:54ch}.section-intro{max-width:78ch;margin-bottom:38px}.section-intro .lede{max-width:68ch}.story-grid,.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule)}.feature-card{background:var(--white);padding:28px 24px;min-height:210px}.feature-card h3{color:var(--navy);margin-bottom:10px}.feature-card p{font-size:.9rem;color:var(--text-muted);margin:0}.role-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule)}.role-card{background:var(--white);padding:26px 23px;min-height:220px;display:flex;flex-direction:column}.role-label,.card-tag{font-size:.68rem;letter-spacing:.14em;color:var(--burnt);font-weight:700;margin-bottom:12px}.role-card h3{color:var(--navy);margin-bottom:10px}.role-card p{font-size:.88rem;color:var(--text-muted);margin:0 0 18px}.role-card strong{margin-top:auto;font-size:.78rem;color:var(--falcon);font-weight:700}.platform-figure{margin:0;border:1px solid var(--rule-ink);background:#071D31;padding:13px;box-shadow:0 24px 55px -34px rgba(0,0,0,.7)}.platform-image-frame{position:relative}.platform-figure img{display:block;width:100%;height:auto}.platform-image-label{position:absolute;right:12px;bottom:10px;background:rgba(8,34,57,.86);border:1px solid rgba(143,193,234,.4);color:#B9CBDC;padding:6px 9px;font-size:.63rem;letter-spacing:.08em;text-transform:uppercase}.platform-figure figcaption{color:#B9CBDC;font-size:.78rem;line-height:1.45;padding:12px 4px 2px}.band-white .platform-figure{background:var(--ink)}.pillar-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule)}.pillar-card{background:var(--white);padding:24px 18px;display:flex;flex-direction:column;min-height:260px;color:var(--text)}.pillar-card:hover{background:var(--pale);text-decoration:none}.pillar-card h3{color:var(--navy);font-size:1.18rem;margin-bottom:10px}.pillar-card p{font-size:.86rem;color:var(--text-muted);margin:0 0 20px}.card-link{font-size:.77rem;font-weight:700;color:var(--falcon);margin-top:auto}.persona-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule)}.persona-card{background:var(--white);padding:28px 24px;min-height:235px}.persona-card h3{color:var(--navy);margin-bottom:10px}.persona-card p{font-size:.9rem;color:var(--text-muted);margin-bottom:16px}.persona-card a{font-size:.8rem;font-weight:700}.connected-line{display:flex;flex-wrap:wrap;gap:9px 12px;align-items:center;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:16px 0;margin-top:28px;max-width:none;color:var(--navy);font-size:.86rem}.connected-line b{color:var(--orange);font-weight:700}.connected-chain{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule);margin-top:28px}.connected-chain>div{background:var(--white);padding:18px 15px;min-height:130px}.connected-chain b{display:block;color:var(--orange);font-family:'Fraunces',Georgia,serif;font-size:1.1rem;margin-bottom:12px}.connected-chain span{display:block;color:var(--navy);font-weight:700;font-size:.9rem}.connected-chain small{display:block;color:var(--text-muted);font-size:.75rem;line-height:1.4;margin-top:5px}.workflow-rail{border-top:1px solid var(--rule)}.workflow-step{display:grid;grid-template-columns:54px 1fr;column-gap:20px;align-items:start;padding:20px 0;border-bottom:1px solid var(--rule)}.workflow-step>span{grid-row:1 / span 2;color:var(--orange);font-family:'Fraunces',Georgia,serif;font-size:1.1rem;font-weight:600}.workflow-step h3{margin:0 0 4px;color:var(--navy);font-size:1.05rem}.workflow-step p{font-size:.88rem;color:var(--text-muted);margin:0}.muted-note{font-size:.82rem;color:var(--text-muted);margin-top:20px}.platform-callout{border-left:3px solid var(--orange);padding:22px 24px;background:var(--pale)}
@media (max-width:980px){.narrative-grid{grid-template-columns:1fr}.narrative-hero h1{max-width:18ch}.pillar-grid{grid-template-columns:repeat(3,1fr)}.role-grid,.persona-grid{grid-template-columns:1fr 1fr}.story-grid,.feature-grid{grid-template-columns:1fr 1fr}}
@media (max-width:680px){.story-grid,.feature-grid,.role-grid,.persona-grid,.pillar-grid{grid-template-columns:1fr}.connected-chain{grid-template-columns:1fr 1fr}.workflow-step{grid-template-columns:40px 1fr}.platform-figure figcaption{font-size:.74rem}}
@media (max-width:460px){.connected-chain{grid-template-columns:1fr}.platform-image-label{font-size:.56rem;right:7px;bottom:7px}}

/* ------------------------------------------------------ V6 platform bridge */
.architecture-bridge .narrative-grid,.dashboard-bridge .narrative-grid{align-items:center}.architecture-bridge .platform-figure,.dashboard-bridge .platform-figure{max-width:640px;justify-self:end}.dashboard-bridge .role-grid{grid-template-columns:1fr;max-width:680px;margin:28px 0 0}.dashboard-bridge .role-card{min-height:0;padding:20px}.dashboard-bridge .role-card h3{font-size:1.03rem}.dashboard-bridge .role-card p{margin-bottom:8px}@media (max-width:980px){.architecture-bridge .platform-figure,.dashboard-bridge .platform-figure{max-width:none;justify-self:stretch}}

/* ------------------------------------------------------ V7 service narratives */
.service-hero .platform-figure{max-width:700px}.output-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--rule-ink);border:1px solid var(--rule-ink)}.output-grid>article{background:#0D2B45;padding:24px 20px;min-height:240px}.output-grid b{display:block;color:var(--orange);font-size:.72rem;letter-spacing:.13em;margin-bottom:15px}.output-grid h3{color:#fff;margin-bottom:14px}.output-grid .list-clean{margin:0}.output-grid .list-clean li{color:var(--text-on-ink-muted);border-color:var(--rule-ink);font-size:.82rem;padding-left:18px}.output-grid .list-clean li strong{color:#fff}.solution-visual .platform-figure{max-width:700px;justify-self:end}.solution-visual .narrative-grid{align-items:center}@media (max-width:980px){.output-grid{grid-template-columns:1fr 1fr}.service-hero .platform-figure,.solution-visual .platform-figure{max-width:none;justify-self:stretch}}@media (max-width:600px){.output-grid{grid-template-columns:1fr}}

/* ------------------------------------------------------ V8 pillars and footer */
.role-grid-four{grid-template-columns:repeat(2,minmax(0,1fr))}.role-grid-four .role-card{min-height:238px}.falconryx-use-cases{background:#EEF3F7}.ai-intro{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(250px,.55fr);gap:clamp(30px,6vw,78px);align-items:end;margin-bottom:34px}.ai-intro h2{max-width:18ch}.ai-intro .lede{max-width:68ch}.ai-position{border-left:3px solid var(--orange);padding:18px 0 18px 22px}.ai-position span,.ai-guardrail>span{display:block;color:var(--burnt);font-size:.72rem;letter-spacing:.14em;font-weight:700;margin-bottom:8px}.ai-position strong{display:block;color:var(--navy);font-family:'Fraunces',Georgia,serif;font-size:1.35rem;line-height:1.2}.ai-position p{font-size:.84rem;color:var(--text-muted);margin:8px 0 0}.ai-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--rule);border:1px solid var(--rule)}.ai-card{background:var(--white);padding:28px 26px;min-height:245px;display:flex;flex-direction:column}.ai-card-top{display:flex;justify-content:space-between;gap:16px;align-items:start}.ai-number{color:#9AABBA;font-family:'Fraunces',Georgia,serif;font-size:.9rem}.ai-card h3{color:var(--navy);max-width:25ch;margin:6px 0 12px}.ai-card p{font-size:.92rem;color:var(--text-muted);margin:0 0 20px}.ai-card small{display:block;margin-top:auto;padding-top:14px;border-top:1px solid var(--rule);color:var(--falcon);font-size:.76rem;font-weight:700;letter-spacing:.02em}.ai-guardrail{display:grid;grid-template-columns:190px minmax(0,1fr);gap:24px;border:1px solid var(--rule);border-top:0;background:#E4EBF1;padding:20px 24px;align-items:start}.ai-guardrail>span{margin:2px 0 0}.ai-guardrail p{margin:0;max-width:none;font-size:.86rem;color:var(--text-muted)}
.pre-footer-cta{position:relative;background:#EDF3F7!important;color:var(--text)!important;border-top:1px solid #D5DEE6;border-bottom:1px solid #D5DEE6}.pre-footer-cta::before{content:'';position:absolute;left:0;top:0;width:100%;height:4px;background:var(--orange)}.pre-footer-cta h2{color:var(--navy)!important}.pre-footer-cta .kicker{color:var(--burnt)!important}.pre-footer-cta p,.pre-footer-cta .lede{color:var(--text-muted)!important}.pre-footer-cta .btn-ghost{border-color:var(--navy);color:var(--navy)}.pre-footer-cta .btn-ghost:hover{background:var(--navy);color:#fff}.site-foot{border-top:0;padding:66px 0 28px}.foot-grid-v8{grid-template-columns:minmax(240px,1.55fr) repeat(4,minmax(125px,1fr));gap:clamp(26px,3.5vw,48px);padding-bottom:40px;border-bottom:0}.foot-identity{padding-right:18px}.foot-logo-link{display:inline-block}.foot-logo{display:block;width:200px;height:auto;margin-bottom:18px}.foot-copy{max-width:32ch;color:#9DB2C6;font-size:.88rem;margin:0 0 16px}.foot-email{display:inline-block!important;color:#fff!important;font-size:.86rem!important;border-bottom:1px solid rgba(255,255,255,.32);padding-bottom:3px}.foot-grid-v8 h4{color:var(--steel);font-size:.72rem;margin-bottom:18px}.foot-grid-v8 .foot-col>a{display:block;color:#B9CBDC;font-size:.86rem;margin:0 0 11px}.foot-grid-v8 .foot-col>a:hover{color:#fff}.foot-pillars{display:flex;justify-content:space-between;gap:26px;align-items:center;padding:20px 0;border-top:1px solid var(--rule-ink);border-bottom:1px solid var(--rule-ink)}.foot-pillars>span{color:var(--steel);font-size:.7rem;letter-spacing:.14em;font-weight:700}.foot-pillars>div{display:flex;flex-wrap:wrap;gap:10px 24px}.foot-pillars a{color:#fff;font-size:.84rem;font-weight:600}.foot-pillars a:hover{color:var(--orange)}.foot-legal{border-top:0;padding-top:22px;margin-top:0}.foot-legal span:first-child{max-width:72ch}
@media (max-width:1080px){.foot-grid-v8{grid-template-columns:repeat(4,minmax(0,1fr))}.foot-identity{grid-column:1/-1;max-width:560px}.foot-logo{width:190px}}
@media (max-width:760px){.role-grid-four,.ai-grid{grid-template-columns:1fr}.role-grid-four .role-card,.ai-card{min-height:0}.ai-intro{grid-template-columns:1fr}.ai-position{max-width:420px}.ai-guardrail{grid-template-columns:1fr;gap:8px}.foot-grid-v8{grid-template-columns:repeat(2,minmax(0,1fr))}.foot-identity{grid-column:1/-1}.foot-pillars{align-items:flex-start;flex-direction:column}}
@media (max-width:520px){.foot-grid-v8{grid-template-columns:1fr}.foot-identity{grid-column:1}.foot-pillars>div{display:grid;grid-template-columns:1fr 1fr;width:100%}.foot-logo{width:174px}}

/* ------------------------------------------------------ V9 CISO-led Comply */
.anchor-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--rule);border:1px solid var(--rule);margin-top:8px}.anchor-groups>div{background:var(--white);padding:26px 24px 18px}.anchor-label{color:var(--burnt);font-size:.7rem;letter-spacing:.13em;font-weight:700;margin:0 0 16px}.anchor-groups .chips{margin-bottom:0}
@media (max-width:760px){.anchor-groups{grid-template-columns:1fr}}


/* ===================== V10 ===================== */

/* Contrast corrections */
.band-white .stack-items .is-key,.ai-number{color:#5D7186}
.band-ink .co-manage p,.band-ink .co-manage a{color:var(--text-on-ink)}
.journey>div::before,.step-num,.ai-card-top .ai-number{color:#C8551F}
.band-ink .journey>div::before{color:var(--orange)}

/* Masthead motif — a quiet field graphic behind every page header */
.band-ink.mast{position:relative;overflow:hidden}
.mast-motif{position:absolute;top:0;right:0;bottom:0;width:46%;pointer-events:none;opacity:.42;
  -webkit-mask-image:linear-gradient(to right,transparent 0%,#000 34%,#000 100%);
  mask-image:linear-gradient(to right,transparent 0%,#000 34%,#000 100%)}
.mast-motif svg{position:absolute;right:-8%;top:50%;transform:translateY(-50%);height:128%;width:auto}
@media (max-width:1100px){.mast-motif{width:38%;opacity:.3}}
@media (max-width:900px){.mast-motif{opacity:.18;width:60%}.mast-motif svg{right:-26%}}
.band-ink.mast .wrap{position:relative;z-index:1}

/* Falconry angle — creation and protection */
.dyad{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--rule-ink);border:1px solid var(--rule-ink)}
@media (max-width:760px){.dyad{grid-template-columns:1fr}}
.dyad>div{background:var(--ink);padding:32px 28px}
.dyad h3{color:#fff;font-family:'Fraunces',Georgia,serif;font-size:1.5rem;margin-bottom:.3em}
.dyad .dyad-tag{display:block;font-size:.7rem;letter-spacing:.16em;font-weight:700;color:var(--orange);margin-bottom:14px}
.dyad p{color:var(--text-on-ink-muted);margin-bottom:0}

/* Anonymised engagement profiles */
.proof{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule)}
@media (max-width:940px){.proof{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.proof{grid-template-columns:1fr}}
.proof-card{background:var(--white);padding:28px 26px;display:flex;flex-direction:column}
.proof-card .proof-sector{font-size:.7rem;letter-spacing:.14em;font-weight:700;color:var(--burnt);margin:0 0 12px}
.proof-card h3{font-size:1.05rem;color:var(--navy);margin-bottom:.5em;line-height:1.25}
.proof-card p{font-size:.9rem;color:var(--text-muted);margin-bottom:16px}
.proof-card dl{margin:auto 0 0;padding-top:16px;border-top:1px solid var(--rule);display:grid;gap:8px}
.proof-card dt{font-size:.68rem;letter-spacing:.12em;font-weight:700;color:var(--text-muted)}
.proof-card dd{margin:0 0 6px;font-size:.88rem;color:var(--text);font-weight:600}
.band-ink .proof{background:var(--rule-ink);border-color:var(--rule-ink)}
.band-ink .proof-card{background:var(--ink)}
.band-ink .proof-card h3{color:#fff}
.band-ink .proof-card p{color:var(--text-on-ink-muted)}
.band-ink .proof-card dl{border-color:var(--rule-ink)}
.band-ink .proof-card dd{color:#fff}
.band-ink .proof-card .proof-sector{color:var(--orange)}

/* AI agent cards */
.agents{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule)}
@media (max-width:820px){.agents{grid-template-columns:1fr}}
.agent{background:var(--white);padding:30px 28px}
.agent-head{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin-bottom:14px}
.agent-head h3{margin:0;font-size:1.12rem;color:var(--navy)}
.agent-pill{font-size:.66rem;letter-spacing:.12em;font-weight:700;padding:4px 9px;border-radius:2px;white-space:nowrap;background:var(--pale);color:var(--navy)}
.agent-pill.is-draft{background:#FCEDE6;color:#A8400F}
.agent p{font-size:.92rem;color:var(--text-muted);margin-bottom:14px}
.agent ul{list-style:none;margin:0;padding:0}
.agent ul li{font-size:.86rem;color:var(--text-muted);padding:8px 0 8px 20px;border-top:1px solid var(--rule);position:relative}
.agent ul li::before{content:"";position:absolute;left:0;top:16px;width:8px;height:1.5px;background:var(--orange)}
.agent-guard{margin-top:16px;padding-top:14px;border-top:1px solid var(--rule);font-size:.8rem;color:var(--burnt);font-weight:600}

/* Market story blocks */
.story{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(26px,5vw,62px);align-items:start}
@media (max-width:880px){.story{grid-template-columns:1fr}}
.timeline{list-style:none;margin:0;padding:0;counter-reset:tl}
.timeline li{counter-increment:tl;position:relative;padding:0 0 26px 46px;border-left:1px solid var(--rule);margin-left:12px}
.timeline li:last-child{border-left-color:transparent;padding-bottom:0}
.timeline li::before{content:counter(tl,decimal-leading-zero);position:absolute;left:-13px;top:-2px;width:26px;height:26px;border-radius:50%;background:var(--navy);color:#fff;font-family:'Fraunces',Georgia,serif;font-size:.72rem;display:flex;align-items:center;justify-content:center}
.timeline strong{display:block;color:var(--navy);font-size:.98rem;margin-bottom:5px}
.timeline p{font-size:.9rem;color:var(--text-muted);margin:0}
.band-ink .timeline li{border-left-color:var(--rule-ink)}
.band-ink .timeline li::before{background:var(--orange);color:var(--ink)}
.band-ink .timeline strong{color:#fff}
.band-ink .timeline p{color:var(--text-on-ink-muted)}

/* Team */
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule-ink);border:1px solid var(--rule-ink)}
@media (max-width:940px){.team-grid{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.team-grid{grid-template-columns:1fr}}
.team-card{background:var(--ink);padding:28px 26px}
.team-card h3{color:#fff;font-size:1.05rem;margin-bottom:.15em}
.team-card .team-role{font-size:.76rem;letter-spacing:.05em;font-weight:700;color:var(--orange);margin:0 0 12px}
.team-card p{font-size:.88rem;color:var(--text-on-ink-muted);margin:0}

.delivery-card-featured{color:var(--text-on-ink)}
.delivery-card-featured p,.delivery-card-featured li{color:var(--text-on-ink-muted)}
.delivery-card-featured a{color:var(--steel)}
.delivery-card-featured h3,.delivery-card-featured h4{color:#fff}


.ai-guardrail>span,.dyad .dyad-tag{color:#FF8A55}





/* ================= Accent contrast — resolved per component surface =========
   Each component below has a KNOWN surface, so the accent is set against that
   surface rather than against the band it happens to sit in. Several V9
   components use dark cards inside light sections, which is why band-based
   selectors are wrong here. ------------------------------------------------ */

/* Components whose card is DARK (accent stays bright) */
.output-grid>article b,
.dyad .dyad-tag,
.team-card .team-role,
.delivery-card-featured .delivery-number,
.band-ink .proof-card .proof-sector,
.band-ink .workflow-step>span,
.band-ink .workflow-step>b,
.band-ink .connected-line b,
.band-ink .connected-chain b,
.band-ink .ai-number,
.band-ink .ai-guardrail>span,
.band-ink .ai-position>span,
.band-ink .journey>div::before{color:#FF8A55}

/* Components whose card is LIGHT (accent darkens to clear AA) */
.band-white .workflow-step>span,
.band-white .workflow-step>b,
.band-white .connected-line b,
.band-white .connected-chain b,
.band-white .ai-number,
.band-white .ai-guardrail>span,
.band-white .ai-position>span,
.band-white .proof-card .proof-sector,
.band:not(.band-ink):not(.band-white) .workflow-step>span,
.band:not(.band-ink):not(.band-white) .workflow-step>b,
.band:not(.band-ink):not(.band-white) .connected-line b,
.band:not(.band-ink):not(.band-white) .connected-chain b,
.band:not(.band-ink):not(.band-white) .ai-number,
.band:not(.band-ink):not(.band-white) .ai-guardrail>span,
.band:not(.band-ink):not(.band-white) .ai-position>span,
.band:not(.band-ink):not(.band-white) .proof-card .proof-sector{color:#8A4400}

/* Stack chips inherit their card, not their band */
.stack-items li{color:#fff;background:rgba(143,193,234,.07)}
.band-ink .stack-items li,.band-ink .stack-items .is-key{color:#fff;background:rgba(143,193,234,.07)}
.band-white .stack-items li,.band-white .stack-items .is-key,
.band:not(.band-ink):not(.band-white) .stack-items li,
.band:not(.band-ink):not(.band-white) .stack-items .is-key{color:var(--navy);background:rgba(12,74,124,.09)}
.band-white .stack,.band:not(.band-ink):not(.band-white) .stack{background:rgba(12,74,124,.045)}

/* Featured delivery card is always ink */
.delivery-card-featured{color:var(--text-on-ink)}
.delivery-card-featured p,.delivery-card-featured li{color:var(--text-on-ink-muted)}
.delivery-card-featured a{color:var(--steel)}
.delivery-card-featured h3,.delivery-card-featured h4{color:#fff}

/* Stack body copy follows the stack's surface */
.band-white .stack-body p,.band-white .stack-body li:not(.is-key),
.band:not(.band-ink):not(.band-white) .stack-body p,
.band:not(.band-ink):not(.band-white) .stack-body li:not(.is-key){color:var(--text-muted)}
.band-white .stack-body h3,.band-white .stack-body h4,
.band:not(.band-ink):not(.band-white) .stack-body h3,
.band:not(.band-ink):not(.band-white) .stack-body h4{color:var(--navy)}
.band-ink .stack-body p{color:var(--text-on-ink-muted)}


/* ===================== V11 ===================== */

/* Architecture and lifecycle diagrams */
.arch-figure{background:var(--white);border:1px solid var(--rule);padding:clamp(18px,3vw,34px)}
.band-ink .arch-figure{background:#0D2B45;border-color:var(--rule-ink)}
.arch-figure svg{display:block;width:100%;height:auto}
.fig figcaption{margin-top:14px;padding-top:14px;border-top:1px solid var(--rule);
  font-size:.86rem;color:var(--text-muted);max-width:80ch}
.band-ink .fig figcaption{border-color:var(--rule-ink);color:var(--text-on-ink-muted)}

/* About — boardroom image */
.about-photo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.82fr);
  gap:clamp(28px,5vw,64px);align-items:center}
@media (max-width:880px){.about-photo{grid-template-columns:1fr}}
.about-photo figure{margin:0}
.about-photo img{display:block;width:100%;height:auto;border:1px solid var(--rule-ink)}
.about-photo figcaption{margin-top:12px;font-size:.8rem;color:var(--text-on-ink-muted)}
.photo-frame{position:relative}
.photo-frame::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;
  background:var(--orange)}

/* Diagram label contrast on dark panels */
.arch-figure text[fill="var(--orange)"]{fill:#FF8A55}


/* ===================== V12 ===================== */

/* The footer is always visually separated from the last content band */
main+.site-foot,main+footer{border-top:4px solid var(--orange)}
.site-foot,footer.site-foot{position:relative}
/* Where the last band is ink, add breathing room so the two do not merge */
main>section.band-ink:last-of-type{padding-bottom:clamp(56px,7vw,92px)}


/* ---------- Masthead texture --------------------------------------------
   Three quiet layers, all CSS so nothing extra loads:
   1. a fine engraved grid, like a control register ruled on paper
   2. a broad directional wash that lifts the left where the headline sits
   3. a soft corner glow behind the motif so the field has depth
   The SVG motif already in .mast-motif sits on top of all three. --------- */
.band-ink.mast{
  background-color:var(--ink);
  background-image:
    radial-gradient(120% 90% at 88% 18%, rgba(0,80,160,.34) 0%, rgba(8,34,57,0) 62%),
    linear-gradient(104deg, rgba(3,17,31,.92) 0%, rgba(8,34,57,.34) 46%, rgba(8,34,57,0) 78%),
    repeating-linear-gradient(0deg, rgba(143,193,234,.055) 0 1px, rgba(143,193,234,0) 1px 46px),
    repeating-linear-gradient(90deg, rgba(143,193,234,.055) 0 1px, rgba(143,193,234,0) 1px 46px);
  background-repeat:no-repeat,no-repeat,repeat,repeat;
}
/* A hairline of the accent along the bottom edge, so the masthead closes */
.band-ink.mast::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:1px;
  background:linear-gradient(90deg,var(--orange) 0,var(--orange) 168px,rgba(143,193,234,.22) 168px,rgba(143,193,234,.10) 100%);
}
/* Home hero gets the same treatment where it is not already a .mast */
.hero,.band-ink.hero{
  background-color:var(--ink);
  background-image:
    radial-gradient(110% 86% at 86% 14%, rgba(0,80,160,.30) 0%, rgba(8,34,57,0) 60%),
    repeating-linear-gradient(0deg, rgba(143,193,234,.045) 0 1px, rgba(143,193,234,0) 1px 52px),
    repeating-linear-gradient(90deg, rgba(143,193,234,.045) 0 1px, rgba(143,193,234,0) 1px 52px);
  background-repeat:no-repeat,repeat,repeat;
}
@media (max-width:760px){
  .band-ink.mast{background-image:
    radial-gradient(150% 70% at 92% 10%, rgba(0,80,160,.28) 0%, rgba(8,34,57,0) 64%),
    repeating-linear-gradient(0deg, rgba(143,193,234,.04) 0 1px, rgba(143,193,234,0) 1px 40px);}
}
@media (prefers-reduced-motion:no-preference){
  .band-ink.mast .mast-motif svg{animation:mastFade 1.1s ease-out both}
  @keyframes mastFade{from{opacity:0;transform:translateY(-50%) translateX(18px)}
                      to{opacity:1;transform:translateY(-50%) translateX(0)}}
}
