/* TENET STANDARD color tokens. Graphite and yellow are the live values until the designer's finals arrive. */
:root{
  --tenet-graphite:#1C1E22; --tenet-yellow:#FFD000; --tenet-white:#FFFFFF;
  --tenet-offwhite:#F4F4F2; --tenet-gray-200:#D9DADC; --tenet-gray-500:#8A8D93;
  --tenet-red:#C8102E; --tenet-green:#00875A;
  --bg-page:var(--tenet-white); --bg-alt:var(--tenet-offwhite); --bg-dark:var(--tenet-graphite);
  --text-body:var(--tenet-graphite); --text-on-dark:var(--tenet-white); --rule:var(--tenet-gray-200);
  --cta-bg:var(--tenet-yellow); --cta-text:var(--tenet-graphite); --link-hover:var(--tenet-yellow);
  --form-error:var(--tenet-red); --form-success:var(--tenet-green);
}
/* Footer legal line in mid gray on graphite */
.footer-bottom{color:var(--tenet-gray-500)!important}
/* Inline text links on light sections: yellow text on a graphite chip */
:is(.section.light,.section.paper) :is(p,li,dd,td) a:not([class]):is(:hover,:focus-visible){color:var(--tenet-yellow)!important;background:var(--tenet-graphite);text-decoration:none;border-radius:2px;box-shadow:0 0 0 3px var(--tenet-graphite)}
/* Inquiry form only: red for errors, green for sent */
form :is(input,select,textarea):user-invalid{border-color:var(--form-error)!important;box-shadow:inset 3px 0 0 var(--form-error)}
.form-feedback.is-error:not(:empty){border-left-color:var(--form-error)!important}
.form-feedback.is-sent:not(:empty){border-left-color:var(--form-success)!important}
.form-feedback.is-error:not(:empty)::before,.form-feedback.is-sent:not(:empty)::before{display:block;font-weight:800;font-size:11px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:4px}
.form-feedback.is-error:not(:empty)::before{content:"Not sent";color:var(--form-error)}
.form-feedback.is-sent:not(:empty)::before{content:"Sent";color:var(--form-success)}

/* Thank-you panel after a sent request */
form.is-thanked{display:none!important}
.form-thanks{padding:8px 0 4px;outline:none;animation:ftIn .35s ease-out}
@keyframes ftIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.ft-mark{width:56px;height:56px;border-radius:50%;background:var(--form-success);color:#fff;display:grid;place-items:center;margin-bottom:18px}
.ft-eyebrow{display:block;font:800 12px var(--head,inherit);letter-spacing:.16em;text-transform:uppercase;color:var(--form-success);margin-bottom:8px}
.ft-title{font-family:var(--head,inherit);font-size:clamp(34px,4vw,48px);line-height:1.05;margin:0 0 14px;color:var(--tenet-graphite)}
.ft-lead{font-size:17px;line-height:1.6;color:#5D6066;margin:0 0 26px;max-width:46ch}
.ft-steps{list-style:none;counter-reset:ft;padding:0;margin:0 0 30px;display:grid;gap:16px}
.ft-steps li{counter-increment:ft;display:grid;grid-template-columns:40px 1fr;column-gap:14px;border-top:3px solid var(--tenet-yellow);padding-top:14px}
.ft-steps li::before{content:"0" counter(ft);grid-row:span 2;font:800 15px var(--head,inherit);color:var(--tenet-graphite)}
.ft-steps b{display:block;font:800 17px var(--head,inherit);color:var(--tenet-graphite)}
.ft-steps span{color:#5D6066;font-size:15px}
.ft-done{display:inline-flex;align-items:center;gap:10px;background:none;border:0;padding:0;cursor:pointer;color:var(--tenet-graphite)}
.ft-done span{color:var(--tenet-yellow)!important}
.modal.is-thanked [data-modal-intro],.modal.is-thanked .modal-head>div{display:none!important}
.modal.is-thanked .modal-head{justify-content:flex-end}

.scope-grid.three{grid-template-columns:repeat(3,1fr)}@media(max-width:900px){.scope-grid.three{grid-template-columns:1fr}}

/* v17.26: darker mega nav so it reads over light sections */
.mega-shell{background:#1C1E22!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.site-header:has(.mega-shell:not([hidden])){background:#1C1E22!important}
.mobile-nav{background:#1C1E22!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.site-header:has(.mobile-nav:not([hidden])){background:#1C1E22!important}

/* v17.27: Services mega menu, grouped */
.mega-layout.mega-v2{grid-template-columns:minmax(220px,.85fr) 2fr minmax(220px,.8fr);gap:44px;padding:34px 0 36px;align-items:start}
.mega-v2 .mega-overview h2{font-size:26px;margin:14px 0 12px}
.mega-v2 .mega-overview p{margin:0 0 16px}
.mega-v2 .mega-cta{display:inline-flex;margin-top:0}
.mega-v2 .mega-all{display:block;margin-top:14px;font-size:12px;font-weight:700;color:#BABCC0}
.mega-v2 .mega-all:hover,.mega-v2 .mega-all:focus-visible{color:#FFD000}
.mega-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 36px}
.mega-group{display:flex;flex-direction:column}
.mega-group-h{font:700 11px/1.3 var(--head);letter-spacing:.14em;text-transform:uppercase;color:#FFD000;margin:0 0 6px;padding-bottom:10px;border-bottom:1px solid #4D5056}
.mega-group a{font:600 13.5px/1.35 var(--head);color:#fff;padding:8px 0;border-bottom:1px solid #2E3136}
.mega-group a:last-child{border-bottom:0}
.mega-group a:hover,.mega-group a:focus-visible{color:#FFD000}
.mega-v2 .mega-help{padding:22px 24px;gap:0}
.mega-v2 .mega-help .menu-eyebrow{margin-bottom:8px}
.mega-v2 .mega-help a{padding:11px 0;font-size:12.5px;line-height:1.4}
.mega-v2 .mega-help a:last-child{border-bottom:0;padding-bottom:0}
@media(max-width:1180px){.mega-layout.mega-v2{grid-template-columns:1fr 2fr;}.mega-v2 .mega-help{grid-column:1/-1}}
/* focus visibility */
.site-header .nav-trigger:focus-visible,.site-header a:focus-visible,.mega-shell a:focus-visible,.mobile-nav summary:focus-visible,.mobile-nav a:focus-visible,.mobile-toggle:focus-visible{outline:2px solid #FFD000;outline-offset:3px;border-radius:2px}
/* mobile accordion groups */
.mobile-nav .mnav-group{display:block;padding-left:23px;font:700 11px/1.3 var(--head);letter-spacing:.14em;text-transform:uppercase;color:#FFD000;margin:18px 0 4px}
/* services directory */
.service-directory{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:34px 36px;margin-top:36px}
.dir-group h3{font:700 12px/1.3 var(--head);letter-spacing:.14em;text-transform:uppercase;margin:0 0 6px;padding-bottom:12px;border-bottom:3px solid #FFD000}
.dir-group a{display:flex;flex-direction:column;gap:4px;padding:14px 0;border-bottom:1px solid #D4D5D7}
.dir-group a strong{font:700 15px/1.3 var(--head)}
.dir-group a small{font-size:13px;line-height:1.5;color:#5E6168}
.dir-group a:hover strong,.dir-group a:focus-visible strong{color:var(--hover-ink,#FFD000)}
.service-directory{grid-template-columns:repeat(4,minmax(0,1fr))}
.dir-group.dir-start{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:36px}
.dir-group.dir-start h3{grid-column:1/-1}
@media(max-width:1000px){.service-directory{grid-template-columns:repeat(2,minmax(0,1fr))}.dir-group.dir-start{grid-template-columns:1fr}}
@media(max-width:620px){.service-directory{grid-template-columns:1fr}}
/* Gap Analysis action in the Services menu: site CTA style, yellow arrow */
.mega-v2 .mega-cta.mega-cta-primary{font:700 15px/1.3 var(--head)!important;color:#fff!important;gap:12px;align-items:center}
.mega-v2 .mega-cta.mega-cta-primary span{color:#FFD000;font-size:18px;transition:transform .2s ease}
.mega-v2 .mega-cta.mega-cta-primary:hover,.mega-v2 .mega-cta.mega-cta-primary:focus-visible{color:#FFD000!important}
.mega-v2 .mega-all{margin-top:16px;font-weight:600;color:#8A8C92}
/* Gap Analysis action: yellow at rest so it is not overlooked; arrow slides on hover */
.mega-v2 .mega-cta.mega-cta-primary{color:#FFD000!important}
.mega-v2 .mega-cta.mega-cta-primary:hover span,.mega-v2 .mega-cta.mega-cta-primary:focus-visible span{transform:translateX(6px)}
