:root{
  --cobalt:#1B3A6B;
  --cobalt-dark:#14294d;
  --cobalt-light:#4A7CC7;
  --bg:#FFFFFF;
  --bg-soft:#F2F4F8;
  --ink:#1A1A1A;
  --muted:#5A6270;
  --body:#33383F;
  --line:#DCDFE6;
  --serif:Georgia,'Times New Roman',serif;
  --sans:-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;
  --shadow:0 14px 40px rgba(27,58,107,.10);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{overflow-x:hidden;font-family:var(--sans);color:var(--ink);background:var(--bg);line-height:1.65;font-size:17px;-webkit-font-smoothing:antialiased;}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.16;color:var(--ink);letter-spacing:-.012em;}
a{color:var(--cobalt);text-decoration:none;}
svg{display:block;max-width:100%;}
.wrap{max-width:1200px;margin:0 auto;padding-left:max(32px, env(safe-area-inset-left));padding-right:max(32px, env(safe-area-inset-right));}
:focus-visible{outline:2px solid var(--cobalt-light);outline-offset:2px;}
.skip{position:absolute;left:-9999px;top:0;background:var(--cobalt);color:#fff;padding:10px 16px;z-index:100;}
.skip:focus{left:0;}

/* ---- Section label — the site's visual signature (Global 4) ---- */
.label{
  display:inline-flex;align-items:baseline;gap:14px;
  border-left:2px solid var(--cobalt);padding-left:14px;
  font-size:12px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--cobalt);font-weight:700;margin-bottom:22px;
}
.label .num{font-family:var(--serif);color:var(--cobalt-light);letter-spacing:0;font-size:13px;}

/* ---- Placeholder tag ---- */
.ph-tag{
  position:absolute;top:10px;right:10px;z-index:5;
  font-size:10px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--cobalt-light);border:1px dashed var(--cobalt-light);
  padding:2px 7px;border-radius:3px;background:rgba(255,255,255,.88);
}

/* ---- Buttons ---- */
.btn,.btn-ghost{
  display:inline-flex;align-items:center;gap:8px;
  padding:13px 26px;font-size:14.5px;font-weight:600;letter-spacing:.02em;
  transition:background .18s ease,color .18s ease,transform .18s ease;
}
.btn{background:var(--cobalt);color:#fff !important;}
.btn:hover{background:var(--cobalt-dark);transform:translateY(-1px);}
.btn-ghost{border:1px solid var(--cobalt);color:var(--cobalt) !important;background:transparent;}
.btn-ghost:hover{background:var(--bg-soft);transform:translateY(-1px);}
.arr{transition:transform .18s ease;display:inline-block;}
.btn:hover .arr,.btn-ghost:hover .arr,.idx-row:hover .arr{transform:translateX(4px);}

/* =================== TAGLINE BAR + HEADER (doc-exact flat nav) =================== */
.topbar{background:var(--cobalt);color:#fff;font-family:var(--serif);font-style:italic;font-size:13px;letter-spacing:.03em;}
.topbar .wrap{display:flex;justify-content:center;padding-top:7px;padding-bottom:7px;}
header.site{
  position:sticky;top:0;z-index:60;background:rgba(255,255,255,.97);
  border-bottom:1px solid var(--line);backdrop-filter:blur(8px);
  transition:box-shadow .25s ease;
}
header.site.scrolled{box-shadow:0 4px 20px rgba(26,26,26,.07);}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:76px;gap:20px;}
.brand{font-family:var(--serif);font-size:20px;color:var(--ink);font-weight:700;white-space:nowrap;}
.brand span{color:var(--cobalt);}
.nav-flat{display:flex;align-items:center;gap:2px;list-style:none;flex-wrap:nowrap;}
.nav-flat > li > a{
  display:inline-block;font-size:12.5px;letter-spacing:.05em;text-transform:uppercase;font-weight:600;
  color:var(--ink);padding:9px 11px;border-bottom:2px solid transparent;white-space:nowrap;
  transition:color .15s ease,border-color .15s ease;
}
.nav-flat > li > a:hover,.nav-flat > li > a.active{color:var(--cobalt);border-bottom-color:var(--cobalt);}
.nav-flat .btn{margin-left:10px;padding:11px 20px;font-size:13px;text-transform:uppercase;letter-spacing:.05em;}
.burger{display:none;background:none;border:1px solid var(--line);padding:12px 11px;cursor:pointer;}
.burger .bars{display:block;width:20px;height:2px;background:var(--cobalt);position:relative;}
.burger .bars::before,.burger .bars::after{content:"";position:absolute;left:0;width:20px;height:2px;background:var(--cobalt);}
.burger .bars::before{top:-6px;} .burger .bars::after{top:6px;}
.mobile-menu{
  display:none;position:fixed;top:0;left:0;right:0;bottom:0;z-index:80;background:#fff;overflow:auto;padding:26px 32px;
}
.mobile-menu.open{display:block;}
.mm-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;}
.mm-close{background:none;border:1px solid var(--line);padding:8px 14px;cursor:pointer;color:var(--cobalt);font-size:15px;}
.mobile-menu a{display:block;padding:14px 0;font-size:17px;color:var(--ink);border-bottom:1px solid var(--bg-soft);}
.mobile-menu .btn{display:inline-flex;margin-top:22px;border-bottom:none;}
.mobile-menu .tagline-m{font-family:var(--serif);font-style:italic;color:var(--cobalt);margin-top:26px;font-size:15px;}

/* =================== HERO (split editorial) =================== */
.hero2{border-bottom:1px solid var(--line);}
.hero2-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:center;padding-top:92px;padding-bottom:96px;}
.hero2 h1{font-size:clamp(34px,4.6vw,60px);margin-bottom:24px;}
.hero2 h1 .alt{display:block;margin-top:22px;color:var(--cobalt);}
.hero2 p{font-size:clamp(16.5px,1.6vw,19.5px);color:var(--body);max-width:560px;margin-bottom:38px;}
.hero2-ctas{display:flex;gap:14px;flex-wrap:wrap;}
.hero2-art{position:relative;border:1px solid var(--line);background:#fff;padding:10px;}
.hero2-art svg{width:100%;height:auto;}

/* =================== SECTIONS =================== */
section{padding:96px 0;border-bottom:1px solid var(--line);}
section.soft{background:var(--bg-soft);}
section:last-of-type{border-bottom:none;}
.sec-head h2{font-size:clamp(25px,3vw,37px);max-width:800px;margin-bottom:24px;}
.sec-body{max-width:760px;color:var(--body);}
.sec-body p{margin-bottom:18px;}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s ease;}
.reveal.in{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none;}
  html{scroll-behavior:auto;}
}

/* ---- Premise ---- */
.premise-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:64px;align-items:center;}
.premise-art{position:relative;background:#fff;border:1px solid var(--line);padding:12px;}

/* ---- The Work: hairline columns ---- */
.cols3{display:grid;grid-template-columns:repeat(3,1fr);margin-top:52px;}
.col{padding:6px 36px 6px 0;margin-right:36px;border-right:1px solid var(--line);}
.col:last-child{border-right:none;margin-right:0;padding-right:0;}
.col h3{font-size:21px;margin:16px 0 12px;}
.col p{font-size:15.5px;color:var(--body);}
.col-rule{width:36px;height:3px;background:var(--cobalt);}

/* ---- Domains: editorial index rows ---- */
.idx{margin-top:48px;border-top:1px solid var(--line);}
.idx-row{
  display:grid;grid-template-columns:56px 62px 1fr auto;gap:30px;align-items:center;
  padding:34px 18px;border-bottom:1px solid var(--line);position:relative;
  transition:background .18s ease;
}
.idx-row::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--cobalt);opacity:0;transition:opacity .18s ease;}
.idx-row:hover{background:var(--bg-soft);}
.idx-row:hover::before{opacity:1;}
.idx-num{font-family:var(--serif);font-size:19px;color:var(--cobalt-light);}
.idx-row svg{width:52px;height:52px;}
.idx-row h3{font-size:21px;margin-bottom:6px;}
.idx-row p{font-size:15px;color:var(--body);max-width:640px;}
.idx-go{font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--cobalt);white-space:nowrap;}

/* ---- Frameworks: ledger rows ---- */
.fw-list{margin-top:50px;border-top:1px solid var(--line);}
.fw-row{display:grid;grid-template-columns:320px 1fr;gap:44px;padding:34px 0;border-bottom:1px solid var(--line);}
.fw-row h3{font-size:24px;color:var(--cobalt);margin-bottom:6px;}
.fw-row .fw-sub{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:600;}
.fw-row p{font-size:15.5px;color:var(--body);align-self:center;}

/* ---- Research ---- */
.art-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin:48px 0 36px;}
.art-card{border:1px solid var(--line);overflow:hidden;background:#fff;position:relative;transition:transform .2s ease,box-shadow .2s ease;}
.art-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);}
.art-thumb{position:relative;height:150px;background:var(--cobalt);overflow:hidden;}
.art-thumb svg{position:absolute;inset:0;width:100%;height:100%;opacity:.5;}
.art-meta{padding:22px 24px;}
.art-meta .tag{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--cobalt);font-weight:700;}
.art-meta h3{font-size:17.5px;margin:9px 0 7px;line-height:1.35;}
.art-meta .rt{font-size:13px;color:var(--muted);}
.capture{
  margin-top:34px;border:1px solid var(--line);border-left:3px solid var(--cobalt);background:#fff;
  padding:32px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;
}
.capture strong{font-family:var(--serif);font-size:21px;}
.capture form{display:flex;gap:10px;flex-wrap:wrap;flex:1;min-width:min(100%,300px);}
.capture input{border:1px solid var(--line);padding:12px 15px;font-size:15px;flex:1;min-width:0;width:auto;font-family:var(--sans);}
.capture input:focus{outline:2px solid var(--cobalt-light);}
.capture button{cursor:pointer;border:none;font-family:var(--sans);}

/* ---- About: pull quote ---- */
.quote{font-family:var(--serif);font-size:clamp(24px,2.8vw,34px);line-height:1.3;color:var(--ink);max-width:820px;margin-bottom:30px;}
.quote em{color:var(--cobalt);font-style:normal;}
.stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:44px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.stat{padding:26px 30px;border-right:1px solid var(--line);}
.stat:last-child{border-right:none;}
.stat b{font-family:var(--serif);font-size:34px;color:var(--cobalt);display:block;line-height:1.1;margin-bottom:5px;}
.stat span{font-size:13.5px;color:var(--muted);}

/* ---- CTA band ---- */
.cta-band{position:relative;background:var(--cobalt);color:#fff;overflow:hidden;border-bottom:none;}
.cta-art{position:absolute;inset:0;width:100%;height:100%;opacity:.14;}
.cta-band .wrap{position:relative;}
.cta-band h2{color:#fff;font-size:clamp(25px,3vw,36px);max-width:740px;margin-bottom:20px;}
.cta-band p{max-width:690px;color:#D7E0F0;margin-bottom:34px;}
.cta-band .btn{background:#fff;color:var(--cobalt) !important;}
.cta-band .btn:hover{background:var(--bg-soft);}

/* =================== FOOTER =================== */
footer{padding:56px 0 34px;font-size:14px;color:var(--muted);background:#fff;border-top:1px solid var(--line);}
.foot-top{display:flex;justify-content:space-between;align-items:flex-start;gap:30px;flex-wrap:wrap;margin-bottom:36px;}
.foot-nav{display:flex;gap:4px 22px;flex-wrap:wrap;max-width:640px;}
.foot-nav a{color:var(--muted);font-size:13px;letter-spacing:.04em;text-transform:uppercase;font-weight:600;padding:4px 0;}
.foot-nav a:hover{color:var(--cobalt);}
.tagline{font-family:var(--serif);font-style:italic;color:var(--cobalt);margin-top:8px;font-size:15.5px;}
.foot-bottom{border-top:1px solid var(--bg-soft);padding-top:22px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13.5px;}

/* =================== COMING SOON PAGES =================== */
.cs-main{min-height:58vh;display:flex;align-items:center;border-bottom:1px solid var(--line);}
.cs-inner{padding-top:90px;padding-bottom:90px;max-width:760px;}
.cs-inner h1{font-size:clamp(30px,4vw,50px);margin-bottom:20px;}
.cs-inner .cs-note{font-size:17px;color:var(--body);margin-bottom:36px;max-width:600px;}
.cs-badge{display:inline-block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--cobalt);border:1px solid var(--cobalt-light);padding:5px 12px;margin-bottom:26px;}
.cs-ctas{display:flex;gap:14px;flex-wrap:wrap;}

/* =================== RESPONSIVE =================== */
@media (max-width:1140px){
  .nav-flat{display:none;}
  .burger{display:block;}
}
@media (max-width:1020px){
  .hero2-grid{grid-template-columns:1fr;gap:44px;padding-top:70px;padding-bottom:70px;}
  .cols3{grid-template-columns:1fr;}
  .col{border-right:none;margin-right:0;padding:22px 0;border-bottom:1px solid var(--line);}
  .col:last-child{border-bottom:none;}
  .premise-grid{grid-template-columns:1fr;gap:44px;}
  .idx-row{grid-template-columns:40px 1fr;grid-template-rows:auto auto;gap:12px 20px;padding:26px 12px;}
  .idx-row svg{display:none;}
  .idx-go{grid-column:2;justify-self:start;}
  .fw-row{grid-template-columns:1fr;gap:14px;padding:28px 0;}
  .art-grid{grid-template-columns:1fr;}
  .stats-row{grid-template-columns:1fr;}
  .stat{border-right:none;border-bottom:1px solid var(--line);}
  .stat:last-child{border-bottom:none;}
  section{padding:64px 0;}
}
@media (min-width:640px) and (max-width:1020px){
  .art-grid{grid-template-columns:repeat(2,1fr);}
}

/* ---- Brand logos (client-provided lockups) ---- */
.brand{display:flex;align-items:center;}
.logo-img{height:54px;width:auto;display:block;}
.logo-foot{height:84px;width:auto;display:block;margin-bottom:10px;}
@media (max-width:640px){ .logo-img{height:38px;} .logo-foot{height:64px;} }

/* =================== DOMAIN PAGE (Organizational Transformation) =================== */
.page-hero{border-bottom:1px solid var(--line);}
.page-hero .hero2-grid{padding-top:80px;padding-bottom:84px;}
.lede{font-size:clamp(16.5px,1.5vw,19px);color:var(--body);max-width:600px;}
.traits{list-style:none;margin-top:30px;max-width:760px;}
.traits li{
  padding:16px 20px 16px 24px;border-left:2px solid var(--cobalt);background:var(--bg-soft);
  margin-bottom:12px;font-size:16px;color:var(--body);
}
.dim-block{padding:52px 0;border-bottom:1px solid var(--line);}
.dim-block:last-child{border-bottom:none;}
.dim-kicker{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:700;margin-bottom:10px;}
.dim-block h3{font-size:clamp(21px,2.2vw,27px);color:var(--cobalt);max-width:760px;margin-bottom:18px;}
.dim-band{width:100%;height:40px;margin-bottom:22px;display:block;}
.read-link{display:inline-block;margin-top:16px;font-weight:700;font-size:14.5px;color:var(--cobalt);}
.read-link:hover .arr{transform:translateX(4px);}
.stack-panel{position:relative;border:1px solid var(--line);background:#fff;padding:30px;max-width:720px;margin:44px 0 0;}
.stack-panel svg{width:100%;height:auto;}
.cip-grid{display:grid;grid-template-columns:1.25fr .9fr;gap:60px;align-items:center;}
.cip-art{position:relative;border:1px solid var(--line);background:#fff;padding:14px;}
@media (max-width:1020px){
  .cip-grid{grid-template-columns:1fr;gap:40px;}
  .stack-panel{padding:18px;}
}

@media (max-width:480px){
  .topbar{font-size:11px;}
  .btn,.btn-ghost{padding:12px 20px;}
}

/* =================== DARK HERO (Healthcare — Image 3.1 treatment) =================== */
.hero-dark{position:relative;overflow:hidden;background:#0F2140;border-bottom:1px solid var(--line);}
.hero-dark .hero-art{position:absolute;inset:0;width:100%;height:100%;}
.hero-dark-inner{position:relative;padding-top:110px;padding-bottom:118px;max-width:720px;}
.hero-dark .label{border-left-color:#7FA6DF;color:#BFD3F2;}
.hero-dark h1{color:#FFFFFF;font-size:clamp(30px,4vw,50px);margin-bottom:22px;}
.hero-dark h1 .alt{display:block;margin-top:18px;color:#8FB4E8;}
.hero-dark p{color:#C7D4E8;font-size:clamp(16.5px,1.5vw,19px);max-width:620px;}
.hero-dark .ph-tag{background:rgba(15,33,64,.85);color:#8FB4E8;border-color:#4A7CC7;}

/* Sentient Hospital page pieces */
.conv-block{padding:34px 0;border-bottom:1px solid var(--line);}
.conv-block:last-child{border-bottom:none;}
.conv-grid{display:grid;grid-template-columns:1.4fr .8fr;gap:48px;align-items:center;}
.conv-art{position:relative;border:1px solid var(--line);background:#fff;padding:12px;}
.rings-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:52px;align-items:center;margin-top:44px;}
.rings-panel{position:relative;border:1px solid var(--line);background:#fff;padding:20px;}
.layers{list-style:none;counter-reset:layer;}
.layers li{
  counter-increment:layer;position:relative;padding:15px 18px 15px 58px;margin-bottom:10px;
  background:var(--bg-soft);border-left:2px solid var(--cobalt);font-size:15.5px;color:var(--body);
}
.layers li::before{
  content:counter(layer);position:absolute;left:18px;top:50%;transform:translateY(-50%);
  font-family:var(--serif);font-size:19px;color:var(--cobalt);
}
.layers li strong{color:var(--ink);}
@media (max-width:1020px){
  .conv-grid,.rings-grid{grid-template-columns:1fr;gap:36px;}
  .hero-dark-inner{padding-top:80px;padding-bottom:88px;}
}

/* Beyond Core Domains — equal-weight sector grid */
.sector-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:48px;}
.sector-card{background:#fff;border:1px solid var(--line);border-radius:4px;padding:30px 28px;transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease;}
.sector-card:hover{border-color:var(--cobalt-light);transform:translateY(-3px);box-shadow:var(--shadow);}
.sector-card h3{font-size:19.5px;margin:14px 0 10px;}
.sector-card p{font-size:15px;color:var(--body);}
.sector-card svg{width:44px;height:44px;}
.problem-block{padding:26px 0;border-bottom:1px solid var(--line);}
.problem-block:last-child{border-bottom:none;}
@media (max-width:820px){ .sector-grid{grid-template-columns:1fr;} }

/* About page */
.portrait-panel{position:relative;border:1px solid var(--line);background:var(--bg-soft);padding:0;overflow:hidden;}
.cred-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:44px;}
.cred-list{list-style:none;}
.cred-list li{padding:13px 0 13px 18px;border-left:2px solid var(--line);border-bottom:1px solid var(--bg-soft);font-size:15px;color:var(--body);}
.cred-list li strong{color:var(--ink);}
.cred-list li:hover{border-left-color:var(--cobalt);}
.timeline-panel{position:relative;border:1px solid var(--line);background:#fff;padding:24px;margin-top:44px;}
.pub-list{columns:2;column-gap:48px;margin-top:36px;max-width:900px;}
.pub-list a{display:block;break-inside:avoid;padding:13px 0;border-bottom:1px solid var(--line);font-family:var(--serif);font-size:17px;color:var(--ink);}
.pub-list a:hover{color:var(--cobalt);}
.pub-list span{display:block;font-family:var(--sans);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--cobalt);margin-top:3px;}
.pnote-grid{display:grid;grid-template-columns:1.5fr .6fr;gap:56px;align-items:start;}
@media (max-width:900px){
  .cred-grid{grid-template-columns:1fr;gap:28px;}
  .pub-list{columns:1;}
  .pnote-grid{grid-template-columns:1fr;gap:32px;}
}

/* Research Hub */
.filter-bar{display:flex;gap:8px;flex-wrap:wrap;margin:36px 0 8px;}
.filter-bar .f-label{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:700;align-self:center;margin-right:6px;}
.f-btn{
  background:#fff;border:1px solid var(--line);padding:8px 16px;font-size:13.5px;color:var(--ink);
  cursor:pointer;font-family:var(--sans);transition:all .15s ease;
}
.f-btn:hover{border-color:var(--cobalt-light);color:var(--cobalt);}
.f-btn.on{background:var(--cobalt);border-color:var(--cobalt);color:#fff;}
.hub-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:36px;}
.hub-grid .art-card.hidden{display:none;}
.hub-empty{display:none;padding:44px 0;color:var(--muted);font-size:15.5px;}
@media (max-width:1020px){ .hub-grid{grid-template-columns:1fr;} }
@media (min-width:640px) and (max-width:1020px){ .hub-grid{grid-template-columns:repeat(2,1fr);} }

/* Contact page */
.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:start;}
.c-form{border:1px solid var(--line);border-top:3px solid var(--cobalt);background:#fff;padding:36px;}
.c-form label{display:block;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--cobalt);font-weight:700;margin:20px 0 7px;}
.c-form label:first-of-type{margin-top:0;}
.c-form input,.c-form textarea{
  width:100%;border:1px solid var(--line);padding:13px 15px;font-size:15.5px;font-family:var(--sans);color:var(--ink);
}
.c-form input:focus,.c-form textarea:focus{outline:2px solid var(--cobalt-light);}
.c-form textarea{min-height:150px;resize:vertical;}
.c-form .btn{margin-top:26px;border:none;cursor:pointer;font-family:var(--sans);}
.c-side{padding-top:8px;}
.c-side .c-item{padding:20px 0;border-bottom:1px solid var(--line);font-size:15.5px;color:var(--body);}
.c-side .c-item strong{display:block;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--cobalt);margin-bottom:6px;}
@media (max-width:1020px){ .contact-grid{grid-template-columns:1fr;gap:40px;} }

/* Article template */
.article-head{border-bottom:1px solid var(--line);}
.article-head .wrap{padding-top:72px;padding-bottom:56px;max-width:880px;}
.a-tags{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:22px;}
.a-tag{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--cobalt);border:1px solid var(--cobalt-light);padding:5px 12px;}
.article-head h1{font-size:clamp(28px,3.8vw,46px);max-width:820px;}
.a-meta{display:flex;gap:18px;flex-wrap:wrap;margin-top:22px;font-size:14px;color:var(--muted);}
.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:64px;align-items:start;padding-top:64px;padding-bottom:80px;}
.a-body{max-width:720px;font-size:17.5px;color:var(--body);}
.a-body p{margin-bottom:22px;}
.a-body h2{font-size:26px;margin:44px 0 16px;color:var(--ink);}
.a-body h3{font-size:20px;margin:34px 0 12px;color:var(--cobalt);}
.a-body ul,.a-body ol{margin:0 0 22px 22px;}
.a-body li{margin-bottom:9px;}
.a-body .pull{
  font-family:var(--serif);font-size:clamp(20px,2.2vw,25px);line-height:1.42;color:var(--ink);
  border-left:2px solid var(--cobalt);padding:8px 0 8px 26px;margin:36px 0;
}
.a-body .fig{position:relative;border:1px solid var(--line);background:#fff;padding:20px;margin:36px 0;}
.a-body .fig figcaption{font-size:13px;color:var(--muted);margin-top:12px;}
.a-side{position:sticky;top:100px;}
.a-side h4{font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--cobalt);border-left:2px solid var(--cobalt);padding-left:10px;margin-bottom:16px;font-family:var(--sans);}
.rel-card{display:block;padding:16px 0;border-bottom:1px solid var(--line);}
.rel-card b{display:block;font-family:var(--serif);font-size:16px;font-weight:600;color:var(--ink);line-height:1.35;}
.rel-card:hover b{color:var(--cobalt);}
.rel-card span{font-size:12px;color:var(--muted);}
.a-side .capture-mini{margin-top:28px;border:1px solid var(--line);border-left:3px solid var(--cobalt);padding:20px;background:var(--bg-soft);}
.a-side .capture-mini strong{font-family:var(--serif);font-size:17px;display:block;margin-bottom:10px;}
.a-side .capture-mini input{width:100%;border:1px solid var(--line);padding:10px 12px;font-size:14px;margin-bottom:10px;font-family:var(--sans);}
.a-side .capture-mini .btn{width:100%;justify-content:center;border:none;cursor:pointer;font-family:var(--sans);}
@media (max-width:1020px){
  .article-layout{grid-template-columns:1fr;gap:44px;}
  .a-side{position:static;}
}

/* Frameworks page */
.fw-block{padding:56px 0;border-bottom:1px solid var(--line);}
.fw-block:last-child{border-bottom:none;}
.fw-block .fw-head{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;margin-bottom:14px;}
.fw-block h2{font-size:clamp(24px,2.6vw,32px);color:var(--cobalt);}
.fw-block .fw-sector{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:700;}
.fw-block p{max-width:760px;color:var(--body);margin-bottom:18px;}
.fw-layers{display:grid;grid-template-columns:1fr 1fr;gap:8px 32px;max-width:760px;margin:18px 0 22px;padding:0;list-style:none;counter-reset:fl;}
.fw-layers li{counter-increment:fl;font-size:14.5px;color:var(--body);padding:9px 0 9px 34px;position:relative;border-bottom:1px solid var(--bg-soft);}
.fw-layers li::before{content:counter(fl);position:absolute;left:8px;font-family:var(--serif);color:var(--cobalt-light);font-size:16px;}
.fw-links{display:flex;gap:22px;flex-wrap:wrap;}
/* 404 */
.nf{min-height:56vh;display:flex;align-items:center;border-bottom:1px solid var(--line);}
.nf-num{font-family:var(--serif);font-size:clamp(90px,14vw,170px);color:#D7E4F6;line-height:1;}
@media (max-width:820px){ .fw-layers{grid-template-columns:1fr;} }

/* Healthcare — numbered layer list with descriptions */
.layers li em{font-style:normal;color:var(--muted);}

/* ---- Contact form states ---- */
.c-trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.c-error{background:#FCF0F0;border-left:3px solid #A32A2A;color:#7C1F1F;padding:12px 16px;margin-bottom:20px;font-size:14.5px;}
.c-sent{border:1px solid var(--line);border-left:3px solid var(--cobalt);background:var(--bg-soft);padding:32px;}
