@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/ibm-plex-sans-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/ibm-plex-sans-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/ibm-plex-sans-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Serif';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/ibm-plex-serif-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Serif';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/ibm-plex-serif-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Serif';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/ibm-plex-serif-latin-600-normal.woff2) format('woff2')}
:root{
  --navy:#13294B;
  --gold:#A8822E;
  --gold-text:#7A5E1F;
  --ink:#1B2A40;
  --text:#2E3B50;
  --muted:#556275;
  --line:#D9DFE7;
  --paper:#FFFFFF;
  --mist:#EEF2F6;
  --serif:"IBM Plex Serif", Georgia, "Times New Roman", serif;
  --sans:"IBM Plex Sans", "Helvetica Neue", Arial, sans-serif;
  --wrap:1120px;
  color-scheme: light;
}
@media (prefers-color-scheme: dark){
  :root{
    --navy:#E8EDF4;
    --gold:#D9B25F;
    --gold-text:#D9B25F;
    --ink:#F2F5F9;
    --text:#C9D2DE;
    --muted:#9AA6B6;
    --line:#2C3A52;
    --paper:#0F1B2E;
    --mist:#14233A;
    color-scheme: dark;
  }
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--paper);color:var(--text);font-family:var(--sans);font-size:17px;line-height:1.6}
img{max-width:100%;display:block}
a{color:var(--navy);text-decoration-color:var(--gold);text-underline-offset:3px}
a:hover{color:var(--gold-text)}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:2px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 28px}
h1,h2,h3{font-family:var(--serif);color:var(--ink);font-weight:500;margin:0}
h2{font-size:clamp(28px,3.4vw,38px);line-height:1.2;letter-spacing:-0.2px}
h3{font-size:21px;line-height:1.3;font-weight:600}
p{margin:0}

/* Header */
.site-header{border-bottom:1px solid var(--line);background:var(--paper)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:76px;flex-wrap:wrap;padding-top:12px;padding-bottom:12px}
.brand img{height:30px;width:auto}
.nav{display:flex;gap:28px;flex-wrap:wrap}
.nav a{text-decoration:none;color:var(--text);font-size:15px;font-weight:500}
.nav a:hover{color:var(--navy);text-decoration:underline;text-decoration-color:var(--gold)}

/* Hero */
.hero{padding:88px 0 96px}
.hero .wrap{display:grid;grid-template-columns:1.15fr 0.85fr;gap:64px;align-items:center}
.hero h1{font-size:clamp(38px,5vw,60px);line-height:1.08;letter-spacing:-0.8px;max-width:14ch}
.hero .lede{margin-top:24px;font-size:19px;max-width:52ch;color:var(--text)}
.actions{margin-top:36px;display:flex;gap:16px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;border-radius:4px;font-weight:600;font-size:16px;text-decoration:none;font-family:var(--sans)}
.btn-primary{background:var(--navy);color:var(--paper)}
.btn-primary:hover{color:var(--paper);background:var(--gold-text)}
@media (prefers-color-scheme: dark){.btn-primary:hover{color:#0F1B2E;background:var(--gold)}}
.btn-secondary{border:1px solid var(--line);color:var(--navy)}
.btn-secondary:hover{border-color:var(--gold)}

/* The register entry: the page's one memorable element */
.register{border:1px solid var(--line);border-top:4px solid var(--gold);background:var(--paper);font-size:15px}
.register header{padding:18px 22px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.register header strong{font-family:var(--serif);font-size:18px;color:var(--ink);font-weight:600}
.register header span{color:var(--muted);font-size:13px}
.register dl{margin:0;display:grid;grid-template-columns:auto 1fr}
.register dt,.register dd{padding:11px 22px;border-bottom:1px solid var(--line);margin:0}
.register dt{color:var(--muted)}
.register dd{color:var(--ink);font-weight:500}
.register dl > :nth-last-child(-n+2){border-bottom:0}
.status{display:inline-block;padding:2px 10px;border-radius:999px;background:var(--mist);color:var(--ink);font-size:14px}
.register .caption{padding:12px 22px;background:var(--mist);color:var(--muted);font-size:13px;line-height:1.5}

/* Sections */
section{padding:96px 0}
.band{background:var(--mist)}
.section-head{max-width:640px;margin-bottom:48px}
.section-head p{margin-top:16px;font-size:18px}

/* Services as a ruled list, not a card grid */
.services{border-top:1px solid var(--line)}
.service{display:grid;grid-template-columns:minmax(220px,1fr) 2fr;gap:32px;padding:32px 0;border-bottom:1px solid var(--line)}
.service p{max-width:62ch}
.service ul{margin:12px 0 0;padding-left:20px;color:var(--muted);font-size:16px}
.service li{margin:4px 0}

/* Sectors */
.sectors{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.sectors h3{padding-top:16px;border-top:2px solid var(--navy)}
.sectors p{margin-top:12px}

/* Engagement steps: a real sequence */
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:40px;counter-reset:step}
.steps li{counter-increment:step}
.steps li::before{content:counter(step);display:block;font-family:var(--serif);font-size:44px;line-height:1;color:var(--gold-text);margin-bottom:16px}
.steps p{margin-top:10px}

/* Why */
.why{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.why p{margin-top:10px}

/* About */
.about{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.about p + p{margin-top:16px}
.creds{border:1px solid var(--line);padding:28px;background:var(--paper)}
.creds h3{font-size:18px;margin-bottom:12px}
.creds ul{margin:0 0 20px;padding-left:20px}
.creds ul:last-child{margin-bottom:0}
.creds li{margin:4px 0}

/* Contact */
.contact{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.contact .direct{margin-top:24px;font-size:17px}
.contact .direct p + p{margin-top:6px}
form{display:grid;gap:18px}
label{display:block;font-weight:500;color:var(--ink);font-size:15px;margin-bottom:6px}
input,textarea,select{width:100%;font:inherit;font-size:16px;padding:12px 14px;border:1px solid var(--line);border-radius:4px;background:var(--paper);color:var(--ink)}
input:focus,textarea:focus,select:focus{outline:3px solid var(--gold);outline-offset:1px;border-color:var(--gold)}
textarea{min-height:140px;resize:vertical}
.form-note{font-size:14px;color:var(--muted)}
button.btn{border:0;cursor:pointer;justify-self:start}

/* Footer */
.site-footer{border-top:1px solid var(--line);padding:40px 0;font-size:14px;color:var(--muted)}
.site-footer .wrap{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}
.site-footer p{max-width:60ch}
.site-footer a{color:var(--muted)}

@media (max-width: 900px){
  .hero .wrap,.about,.contact{grid-template-columns:1fr;gap:48px}
  .service{grid-template-columns:1fr;gap:12px}
  .sectors,.steps,.why{grid-template-columns:1fr;gap:32px}
  section{padding:72px 0}
  .hero{padding:56px 0 72px}
}
@media (max-width: 520px){
  .nav{gap:18px}
  .brand img{height:24px}
  .register dt,.register dd{padding:10px 16px}
}

/* Multi-page additions */
.nav a[aria-current="page"]{color:var(--navy);text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:2px}
.nav .nav-cta{border:1px solid var(--navy);padding:8px 16px;border-radius:4px;color:var(--navy)}
.nav .nav-cta:hover{border-color:var(--gold);text-decoration:none}
.page-head{padding:72px 0 56px;border-bottom:1px solid var(--line)}
.page-head h1{font-size:clamp(36px,4.4vw,52px);line-height:1.1;letter-spacing:-0.6px;max-width:20ch}
.page-head p{margin-top:20px;font-size:19px;max-width:60ch}
.summary{display:grid;grid-template-columns:repeat(3,1fr);gap:40px 48px}
.summary h3{padding-top:16px;border-top:2px solid var(--navy)}
.summary p{margin-top:10px}
.more{margin-top:40px}
.cta-band{background:var(--navy);color:#fff;padding:72px 0}
.cta-band .wrap{display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap}
.cta-band h2{color:#fff}
.cta-band p{margin-top:12px;color:#D6DEE9;max-width:52ch}
.cta-band .btn{background:#fff;color:#13294B}
.cta-band .btn:hover{background:#D9B25F;color:#13294B}
@media (prefers-color-scheme: dark){.cta-band{background:#1B3358}}
.cert-list{border-top:1px solid var(--line)}
.cert{display:grid;grid-template-columns:minmax(240px,1fr) 2fr;gap:32px;padding:28px 0;border-bottom:1px solid var(--line)}
.cert .issuer{display:block;margin-top:6px;color:var(--muted);font-family:var(--sans);font-size:15px;font-weight:400}
.cert p{max-width:62ch}
.frameworks{columns:2;column-gap:48px;padding-left:20px;margin:0}
.frameworks li{margin:6px 0;break-inside:avoid}
.sector{display:grid;grid-template-columns:minmax(240px,1fr) 2fr;gap:32px;padding:40px 0;border-bottom:1px solid var(--line)}
.sector:first-child{border-top:1px solid var(--line)}
.sector ul{margin:16px 0 0;padding-left:20px}
.sector li{margin:6px 0}
.prose{max-width:68ch}
.prose p + p{margin-top:16px}
.prose h2{margin:48px 0 12px;font-size:26px}
.prose ul{padding-left:20px}
@media (max-width: 900px){
  .summary{grid-template-columns:1fr;gap:32px}
  .cert,.sector{grid-template-columns:1fr;gap:12px}
  .frameworks{columns:1}
  .page-head{padding:48px 0 40px}
}
.nav{align-items:center}
.frameworks li{margin:0 0 12px}
.page-head + section{padding-top:64px}

/* Compact spacing */
section{padding:56px 0}
.hero{padding:56px 0 60px}
.hero .wrap{gap:48px}
.hero h1{font-size:clamp(34px,4.4vw,52px)}
.hero .lede{margin-top:18px}
.actions{margin-top:26px}
h2{font-size:clamp(26px,3vw,34px)}
.section-head{margin-bottom:28px}
.section-head p{margin-top:10px}
.service{padding:20px 0;gap:28px}
.service ul{margin-top:8px}
.cert{padding:16px 0;gap:28px}
.sector{padding:24px 0}
.sector ul{margin-top:10px}
.summary{gap:28px 40px}
.summary h3{padding-top:12px}
.more{margin-top:24px}
.steps,.why,.sectors{gap:28px}
.steps li::before{font-size:36px;margin-bottom:10px}
.page-head{padding:44px 0 32px}
.page-head p{margin-top:12px}
.page-head + section{padding-top:40px}
.cta-band{padding:44px 0}
.about,.contact{gap:48px}
.site-footer{padding:28px 0}
.register dt,.register dd{padding:9px 20px}
.register header{padding:14px 20px}
@media (max-width: 900px){
  section{padding:44px 0}
  .hero{padding:36px 0 44px}
  .page-head{padding:32px 0 24px}
  .hero .wrap,.about,.contact{gap:32px}
}

/* Certification grid */
.cert-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;border-top:0}
.cert{display:flex;align-items:flex-start;gap:14px;padding:16px;border:1px solid var(--line);border-radius:6px;background:var(--paper)}
.cert h3{font-size:16px;line-height:1.3}
.cert .issuer{font-size:13px;margin-top:4px}
.cert p{font-size:14px;line-height:1.5;margin-top:8px;color:var(--muted)}
.badge{flex:0 0 72px;width:72px;height:72px;object-fit:contain}
div.badge{display:flex;align-items:center;justify-content:center;border:1px dashed var(--line);border-radius:50%;background:var(--mist);color:var(--navy);font-family:var(--serif);font-weight:600;font-size:13px;text-align:center;line-height:1.1;padding:4px}
@media (max-width: 1000px){.cert-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width: 640px){.cert-list{grid-template-columns:1fr}}

/* Insights */
.post-list{max-width:760px;border-top:1px solid var(--line)}
.post-item{padding:22px 0;border-bottom:1px solid var(--line)}
.post-item h2{font-size:24px;line-height:1.25;margin:4px 0 8px}
.post-item h2 a{text-decoration:none;color:var(--ink)}
.post-item h2 a:hover{text-decoration:underline;text-decoration-color:var(--gold)}
.post-date{font-size:14px;color:var(--muted)}
.post-date a{color:var(--muted)}
.empty-note{padding:22px 0;color:var(--muted)}
.prose h2{font-size:26px}
.prose ul,.prose ol{margin:0 0 16px}
.prose li{margin:6px 0}
@media (max-width: 1100px){.nav{gap:20px}}

/* Packages */
.packages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.package{display:flex;flex-direction:column;border:1px solid var(--line);border-top:3px solid var(--navy);border-radius:6px;padding:22px;background:var(--paper)}
.package h3{font-size:19px}
.pkg-price{margin-top:8px;font-family:var(--serif);font-size:22px;font-weight:600;color:var(--gold-text)}
.pkg-price span{display:block;font-family:var(--sans);font-size:13px;font-weight:500;color:var(--muted);margin-top:2px}
.pkg-desc{margin-top:10px;font-size:15px}
.package ul{margin:12px 0 0;padding-left:18px;font-size:14px;color:var(--text)}
.package li{margin:4px 0}
.pkg-best{margin-top:12px;font-size:14px;color:var(--muted)}
.package .btn{margin-top:auto;align-self:flex-start;min-height:42px;font-size:15px}
.package .pkg-best{margin-bottom:16px}
@media (max-width: 1000px){.packages{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width: 640px){.packages{grid-template-columns:1fr}}

/* Clickable service summaries */
.svc-link{display:flex;flex-direction:column;text-decoration:none;color:var(--text);border-top:2px solid var(--navy);padding-top:12px}
.svc-link h3{color:var(--ink)}
.svc-link p{margin-top:8px}
.svc-link .svc-meta{margin-top:auto;padding-top:12px;display:flex;flex-wrap:wrap;gap:6px 14px;align-items:baseline;font-size:14px}
.svc-price{font-weight:600;color:var(--gold-text)}
.svc-more{color:var(--navy);text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:3px}
.svc-link:hover h3{text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:4px}
.svc-link:hover{border-top-color:var(--gold)}
.svc-links .svc-link h3{padding-top:0;border-top:0}
[id^="pkg-"],[id^="svc-"]{scroll-margin-top:24px}

/* Align package prices on the same row: reserve two lines for every package title */
@media (min-width: 641px){
  .package h3{min-height:2.6em}
}

/* Larger logo */
.brand img{height:60px}
.site-header .wrap{min-height:92px}
@media (max-width: 1100px){.brand img{height:48px}}
@media (max-width: 520px){.brand img{height:40px}}

/* Service detail pages */
.pkg-title{color:inherit;text-decoration:none}
.pkg-title:hover{text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:4px}
.crumbs{font-size:14px;color:var(--muted);margin:0 0 10px}
.crumbs a{color:var(--muted)}
.detail-head h1{max-width:24ch}
.detail-price{margin-top:18px;font-family:var(--serif);font-size:28px;font-weight:600;color:var(--gold-text)}
.detail-price span{display:block;font-family:var(--sans);font-size:15px;font-weight:500;color:var(--muted);margin-top:2px}
.detail-note{margin-top:14px;font-size:14px;color:var(--muted)}
.detail-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:56px;align-items:start}
.incl{columns:1}
.detail-steps{grid-template-columns:1fr;gap:20px}
.detail-steps li::before{font-size:30px;margin-bottom:6px}
.sector-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.sector-card{border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:6px;padding:22px;background:var(--paper);scroll-margin-top:24px}
.sector-card h3{font-size:20px}
.sector-card p{margin-top:8px;font-size:15px}
.sector-card ul{margin:12px 0 0;padding-left:18px;font-size:14px}
.sector-card li{margin:5px 0}
@media (max-width: 900px){.detail-grid{grid-template-columns:1fr;gap:32px}.sector-grid{grid-template-columns:1fr}}

/* Steps: number on the same line as the step title (detail pages) */
.detail-steps li{display:grid;grid-template-columns:40px 1fr;column-gap:6px;align-items:baseline}
.detail-steps li::before{grid-row:1 / span 2;margin:0;font-size:30px;line-height:1}
.detail-steps li h3,.detail-steps li p{grid-column:2}
.detail-steps li p{margin-top:6px}

/* Customer sector cards and pages */
.sector-link{display:flex;flex-direction:column;text-decoration:none;color:var(--text)}
.sector-link h3{color:var(--ink)}
.sector-link .svc-meta{margin-top:auto;padding-top:14px}
.sector-link:hover h3{text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:4px}
.sector-more{margin-top:12px;font-size:14px}
.summary.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width: 900px){.summary.two-col{grid-template-columns:1fr}}

/* Row alignment across cards: titles, descriptions, and footers line up across each row */
.summary > *,.why > *{display:grid;grid-template-rows:subgrid;grid-row:span 2;row-gap:0;align-content:start}
.svc-links > .svc-link{grid-row:span 3}
.packages > .package{display:grid;grid-template-rows:subgrid;grid-row:span 6;row-gap:0}
.package h3{min-height:0}
.package .btn{justify-self:start;align-self:end}
.sector-grid > *{display:grid;grid-template-rows:subgrid;grid-row:span 4;row-gap:0}
.cert-list > .cert{display:grid;grid-template-columns:72px 1fr;column-gap:14px;grid-template-rows:subgrid;grid-row:span 2;row-gap:0}
.cert > div{display:contents}
.cert .badge{grid-column:1;grid-row:1 / 3}
.cert h3,.cert p{grid-column:2}

/* Top contact bar */
.topbar{background:var(--navy);color:#fff;font-size:14px}
.site-header .topbar .wrap{min-height:36px;padding-top:0;padding-bottom:0;display:flex;justify-content:flex-end;align-items:center;gap:18px;flex-wrap:nowrap}
.topbar span{color:#C9D3E1}
.topbar a{color:#fff;text-decoration:none;font-weight:600;letter-spacing:.2px}
.topbar a:hover{text-decoration:underline;text-decoration-color:#D9B25F}
@media (prefers-color-scheme: dark){.topbar{background:#0A1424}}
@media (max-width: 520px){.topbar span{display:none}.site-header .topbar .wrap{justify-content:center}}

/* Wider text measures so headings and intros don't wrap early */
.section-head{max-width:880px}
.page-head p{max-width:80ch}
.cta-band p{max-width:72ch}

/* Step numbers aligned with step titles */
.detail-steps li{grid-template-columns:30px 1fr;column-gap:8px;align-items:baseline}
.detail-steps li::before{font-size:22px;line-height:1.3;grid-row:1}
.detail-steps li h3{font-size:22px;line-height:1.3;grid-row:1}
.detail-steps li p{grid-row:2}
.detail-steps li::before{font-weight:600}

/* Section intros use the full width */
.section-head{max-width:none}
.section-head p{max-width:none}

/* Hero: wider headline, justified intro */
.hero h1{max-width:none}
.hero .lede{text-align:justify;hyphens:auto}

/* Certifications: denser cards, description runs full width under badge and title */
.cert-list > .cert{grid-template-columns:60px 1fr;column-gap:14px;padding:14px 16px}
.cert .badge{grid-column:1;grid-row:1;width:60px;height:60px;flex-basis:60px}
.cert h3{grid-column:2;grid-row:1;align-self:center}
.cert p{grid-column:1 / -1;grid-row:2;margin-top:10px}

/* Numbered steps everywhere: "1." on the same line as the step title, description beneath */
.steps li{display:grid;grid-template-columns:34px 1fr;column-gap:8px;align-items:baseline}
.steps li::before{content:counter(step) ".";grid-column:1;grid-row:1;margin:0;font-size:22px;font-weight:600;line-height:1.3}
.steps li h3{grid-column:2;grid-row:1;line-height:1.3}
.steps li p{grid-column:2;grid-row:2;margin-top:6px}
.detail-steps li::before{content:counter(step) "."}

/* Service detail pages: start the steps lower so they sit beside the overview paragraph */
.detail-steps{margin-top:48px}

/* About Us: line up "Justin Davis, Managing Principal" with "At a glance" */
.about > div:first-child{padding-top:29px}
.steps li h3,.steps li::before{align-self:baseline}
.steps li p{align-self:start}

/* Resource Center */
.ind-card ul{columns:1}
.empty-note{color:var(--muted);font-size:16px;max-width:none}
.sub-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 32px;margin:0;padding-left:18px}
.res-meta{font-size:14px;color:var(--muted);margin-top:14px}
.res-body{max-width:860px}
.res-body h2{margin-top:44px}
.res-body h3{margin-top:22px}
.answer-box{border-left:4px solid var(--gold);background:var(--mist);padding:18px 22px;border-radius:0 6px 6px 0}
.answer-box p{margin:0}
.answer-label{font-size:13px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;color:var(--gold-text);margin-bottom:6px !important}
.table-wrap{overflow-x:auto;margin-top:16px;border:1px solid var(--line);border-radius:6px}
.res-table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.5}
.res-table th,.res-table td{padding:12px 14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.res-table thead th{background:var(--mist);font-size:13px;letter-spacing:.3px;text-transform:uppercase;color:var(--muted)}
.res-table tbody th{font-weight:600;color:var(--ink);min-width:180px}
.res-table tr:last-child th,.res-table tr:last-child td{border-bottom:0}
.res-steps{margin-top:16px}
.faq h3{font-size:19px}
.sources{font-size:14px;color:var(--muted)}
.disclaimer{margin-top:28px;font-size:14px;color:var(--muted);border-top:1px solid var(--line);padding-top:16px}
@media (max-width: 900px){.sub-list{grid-template-columns:1fr}}

/* Header: keep logo and seven navigation links on one row */
.nav{gap:22px}
.nav a{font-size:15.5px}
@media (max-width: 1240px){.brand img{height:50px}.nav{gap:18px}}
.nav{gap:20px}
.nav a{font-size:15px}
@media (max-width: 1400px){.brand img{height:52px}}
.detail-head h1{max-width:32ch}
.res-steps.detail-steps{margin-top:16px;gap:14px}

/* Resource content formats */
.col3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px}
.col3-card{border:1px solid var(--line);border-top:3px solid var(--navy);border-radius:6px;padding:16px 18px;display:grid;grid-template-rows:subgrid;grid-row:span 2;row-gap:0}
.col3{grid-auto-flow:row}
.col3-card h3{font-size:18px;margin:0}
.col3-card ul{margin:10px 0 0;padding-left:18px;font-size:15px}
.col3-card li{margin:5px 0}
.tier{display:inline-block;padding:2px 10px;border-radius:999px;font-size:13px;font-weight:600;white-space:nowrap}
.tier-high{background:#F8E1DE;color:#8A2A1E}
.tier-medium{background:#FBEFD6;color:#7A5410}
.tier-low{background:#E2F0E6;color:#1F5E33}
@media (prefers-color-scheme: dark){.tier-high{background:#4A1F1A;color:#F5C6BF}.tier-medium{background:#4A3A14;color:#F3D99B}.tier-low{background:#1C3A26;color:#B9E3C6}}
.checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px}
.check-group{border:1px solid var(--line);border-radius:6px;padding:16px 18px}
.check-group h3{font-size:18px;margin:0 0 8px}
.check-group ul{list-style:none;margin:0;padding:0}
.check-group li{position:relative;padding:6px 0 6px 30px;font-size:15px;border-top:1px solid var(--line)}
.check-group li:first-child{border-top:0}
.check-group li::before{content:"";position:absolute;left:0;top:9px;width:16px;height:16px;border:2px solid var(--gold);border-radius:3px}
.roles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px}
.role-card{border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:6px;padding:16px 18px;display:grid;grid-template-rows:subgrid;grid-row:span 3;row-gap:0}
.role-card h3{font-size:18px;margin:0}
.role-card .role-who{font-size:13px;color:var(--muted);margin:4px 0 0}
.role-card p{margin:8px 0 0;font-size:15px}
.timeline{list-style:none;margin:16px 0 0;padding:0;border-left:3px solid var(--gold)}
.timeline li{display:grid;grid-template-columns:150px 1fr;gap:16px;padding:12px 0 12px 18px;position:relative}
.timeline li::before{content:"";position:absolute;left:-8px;top:18px;width:13px;height:13px;border-radius:50%;background:var(--paper);border:3px solid var(--gold)}
.tl-when{font-weight:600;color:var(--gold-text);font-size:15px;padding-top:2px}
.timeline h3{font-size:18px;margin:0}
.timeline p{margin:4px 0 0}
.sheet{margin:16px 0 0;border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:6px;overflow:hidden}
.sheet div{display:grid;grid-template-columns:200px 1fr;border-top:1px solid var(--line)}
.sheet div:first-child{border-top:0}
.sheet dt{background:var(--mist);padding:10px 14px;font-size:14px;color:var(--muted);font-weight:600}
.sheet dd{margin:0;padding:10px 14px;font-size:15px}
.callout{margin-top:16px;padding:16px 20px;background:var(--mist);border-radius:6px;border-left:4px solid var(--navy)}
.callout p{margin:0}
@media (max-width: 760px){.col3,.roles,.checklist{grid-template-columns:1fr}.timeline li{grid-template-columns:1fr;gap:4px}.sheet div{grid-template-columns:1fr}}
.res-body{max-width:1000px}
.res-body .steps h3,.res-body .timeline h3,.res-body .col3 h3,.res-body .roles h3,.res-body .check-group h3{margin-top:0}
.res-steps.detail-steps{gap:18px}
.checklist:has(> .check-group:only-child){grid-template-columns:1fr}
.timeline li{padding-left:28px}

/* Training guide formats */
.overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:16px 0 0;border:1px solid var(--line);border-radius:6px;overflow:hidden}
.overview div{padding:14px 16px;border-left:1px solid var(--line)}
.overview div:first-child{border-left:0}
.overview dt{font-size:12px;letter-spacing:.4px;text-transform:uppercase;color:var(--muted);font-weight:600}
.overview dd{margin:4px 0 0;font-family:var(--serif);font-size:18px;color:var(--ink)}
.modules{margin-top:16px;display:grid;gap:10px}
.module{border:1px solid var(--line);border-radius:6px;background:var(--paper)}
.module summary{display:grid;grid-template-columns:96px 1fr auto;gap:12px;align-items:baseline;padding:14px 18px;cursor:pointer;list-style:none}
.module summary::-webkit-details-marker{display:none}
.module summary::after{content:"+";font-size:20px;color:var(--gold-text);grid-column:4}
.module[open] summary::after{content:"−"}
.mod-num{font-size:13px;font-weight:600;color:var(--gold-text);text-transform:uppercase;letter-spacing:.4px}
.mod-title{font-family:var(--serif);font-size:19px;color:var(--ink)}
.mod-meta{font-size:13px;color:var(--muted);white-space:nowrap}
.module ul{margin:0;padding:0 18px 16px 130px;font-size:15px}
.module li{margin:5px 0}
.dodont{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}
.dodont > div{border-radius:6px;padding:16px 18px}
.dodont h3{font-size:18px;margin:0 0 8px}
.dodont ul{list-style:none;margin:0;padding:0}
.dodont li{position:relative;padding:6px 0 6px 28px;font-size:15px}
.do{background:#E9F4EC}.dont{background:#FBE9E6}
.do li::before{content:"✓";position:absolute;left:4px;color:#1F6B3A;font-weight:700}
.dont li::before{content:"✕";position:absolute;left:4px;color:#9A2E22;font-weight:700}
@media (prefers-color-scheme: dark){.do{background:#16301F}.dont{background:#3A1A16}.do li::before{color:#8FD6A6}.dont li::before{color:#F2A89D}}
.scenarios{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px}
.scenario{border:1px solid var(--line);border-top:3px solid var(--navy);border-radius:6px;padding:16px 18px;display:grid;grid-template-rows:subgrid;grid-row:span 3;row-gap:0}
.sc-label{font-size:12px;letter-spacing:.4px;text-transform:uppercase;color:var(--muted);font-weight:600;margin:0}
.sc-q{font-family:var(--serif);font-size:17px;color:var(--ink);margin:6px 0 0}
.scenario details{margin-top:12px;align-self:end}
.scenario summary,.quiz summary{cursor:pointer;color:var(--navy);font-weight:600;font-size:14px}
.scenario details p,.quiz details p{margin:8px 0 0;font-size:15px}
.quiz{margin:16px 0 0;padding-left:22px}
.quiz li{margin:0 0 14px}
.quiz li p{margin:0}
@media (max-width: 760px){.overview{grid-template-columns:1fr 1fr}.dodont,.scenarios{grid-template-columns:1fr}.module summary{grid-template-columns:1fr auto}.mod-meta{grid-column:1}.module ul{padding-left:34px}}

/* Senior consultant profiles */
.team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.team-card{display:grid;grid-template-columns:96px 1fr;gap:18px;border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:6px;padding:22px;background:var(--paper)}
.team-photo{width:96px;height:96px;border-radius:50%;object-fit:cover}
.team-initials{display:flex;align-items:center;justify-content:center;background:var(--mist);color:var(--navy);font-family:var(--serif);font-size:30px;border:1px solid var(--line)}
.team-card h3{font-size:20px;margin:0}
.team-title{margin:4px 0 0;font-weight:600;color:var(--ink);font-size:15px}
.team-certs{margin:4px 0 0;font-size:14px;color:var(--gold-text)}
.team-card p{margin-top:10px;font-size:15px}
.team-card .team-title,.team-card .team-certs{margin-top:4px}
.team-focus{font-size:14px;color:var(--muted)}
@media (max-width: 760px){.team-grid{grid-template-columns:1fr}.team-card{grid-template-columns:72px 1fr}.team-photo{width:72px;height:72px}}

/* Careers */
.role{max-width:none}
.role-type{font-size:14px;color:var(--gold-text);font-weight:600;margin:0}
.role h2{margin-top:6px}
.role-sum{font-size:18px;margin-top:10px;max-width:none}
.role-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:22px}
.role-cols h3{font-size:18px;margin:0 0 8px;padding-top:12px;border-top:2px solid var(--navy)}
.role-cols ul{margin:0;padding-left:18px;font-size:15px}
.role-cols li{margin:6px 0}
.role-rate{margin-top:20px;font-size:15px}
.role .btn{margin-top:14px}
.eo-note{font-size:14px;color:var(--muted);max-width:none}
@media (max-width: 900px){.role-cols{grid-template-columns:1fr}}

/* Featured single package (AI procurement support) */
.packages-feature,.feature-pkg{display:grid !important;grid-template-columns:1fr 1fr;grid-template-rows:auto;grid-row:auto;gap:12px 40px;align-items:start}
.feature-pkg .fp-main{display:flex;flex-direction:column}
.feature-pkg .fp-main .btn{margin-top:16px;align-self:flex-start}
.feature-pkg > ul{margin:0;padding-left:18px;font-size:15px;align-self:center}
.feature-pkg > ul li{margin:6px 0}
@media (max-width: 900px){.feature-pkg{grid-template-columns:1fr}}

/* Practice areas */
.practice-nav-wrap{padding-top:28px;padding-bottom:0}
.practice-nav{display:flex;flex-wrap:wrap;gap:10px}
.practice-nav a{display:inline-block;padding:8px 14px;border:1px solid var(--line);border-radius:999px;font-size:14px;font-weight:500;color:var(--navy);text-decoration:none;background:var(--paper)}
.practice-nav a:hover{border-color:var(--gold)}
.packages.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.svc-row-price{margin:6px 0 0;font-weight:600;color:var(--gold-text);font-size:15px}
section[id]{scroll-margin-top:16px}
@media (max-width: 640px){.packages.cols-2{grid-template-columns:1fr}}
.cert > div.badge{display:flex}

/* ===== Resource visual components ===== */
.t-regulation-maps{--accent:#2F6690}
.t-ai-use-policy-guides{--accent:#3A7D44}
.t-ai-risk-registers{--accent:#B5452B}
.t-vendor-assessment-checklists{--accent:#7A4E9C}
.t-governance-blueprints{--accent:#13294B}
.t-training-guides{--accent:#C27C0E}
.t-ai-impact-assessments{--accent:#00796B}
.t-ai-incident-response-playbooks{--accent:#A3262A}
.t-board-oversight-guides{--accent:#4B5563}
.t-privacy-program-guides{--accent:#1E6FA8}
@media (prefers-color-scheme: dark){
 .t-regulation-maps{--accent:#7FB3D9}.t-ai-use-policy-guides{--accent:#86C995}.t-ai-risk-registers{--accent:#EE9A85}
 .t-vendor-assessment-checklists{--accent:#C3A3DE}.t-governance-blueprints{--accent:#A9BCD8}.t-training-guides{--accent:#F0BE6A}
 .t-ai-impact-assessments{--accent:#6FCFC1}.t-ai-incident-response-playbooks{--accent:#F09A9C}.t-board-oversight-guides{--accent:#C3C9D2}.t-privacy-program-guides{--accent:#86BFEA}}
.res-head{border-top:6px solid var(--accent)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.chip{display:inline-block;font-size:12.5px;font-weight:600;letter-spacing:.3px;padding:4px 10px;border-radius:999px;border:1px solid var(--line);color:var(--muted);background:var(--paper)}
.chip-type{background:var(--accent);border-color:var(--accent);color:#fff}
@media (prefers-color-scheme: dark){.chip-type{color:#0F1B2E}}
.res-body .answer-box{border-left-color:var(--accent)}
.res-body h2{position:relative;padding-left:16px}
.res-body h2::before{content:"";position:absolute;left:0;top:.2em;bottom:.2em;width:5px;border-radius:3px;background:var(--accent)}

/* stats strip */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-top:20px}
.stat{border:1px solid var(--line);border-radius:8px;padding:16px 18px;background:var(--paper);display:flex;flex-direction:column;gap:4px;border-bottom:4px solid var(--accent)}
.stat-v{font-family:var(--serif);font-size:30px;line-height:1.1;color:var(--ink);font-weight:600}
.stat-l{font-size:14px;color:var(--muted)}

/* applicability matrix */
.matrix{width:100%;border-collapse:collapse;font-size:14px}
.matrix th,.matrix td{border-bottom:1px solid var(--line);padding:10px 8px;text-align:center}
.matrix thead th{font-size:12px;letter-spacing:.3px;text-transform:uppercase;color:var(--muted);background:var(--mist);vertical-align:bottom}
.matrix tbody th{text-align:left;font-weight:600;color:var(--ink);min-width:170px}
.matrix .dot,.legend .dot{display:inline-block;width:16px;height:16px;border-radius:50%}
.m2 .dot{background:var(--accent)}
.m1 .dot{background:transparent;border:3px solid var(--accent)}
.m0 .dot{background:var(--line);width:8px;height:8px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.legend{display:flex;flex-wrap:wrap;gap:18px;font-size:13px;color:var(--muted);margin-top:10px}
.legend .lg{display:inline-flex;align-items:center;gap:6px}

/* traffic-light lanes */
.lanes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px}
.lane{border-radius:8px;padding:16px 18px;border:1px solid var(--line);background:var(--paper)}
.lane-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.lane-head h3{margin:0 !important;font-size:18px}
.light{width:18px;height:18px;border-radius:50%;box-shadow:0 0 0 4px var(--mist)}
.lane-green{border-top:5px solid #2E7D46}.lane-green .light{background:#2E7D46}
.lane-amber{border-top:5px solid #C98A12}.lane-amber .light{background:#C98A12}
.lane-red{border-top:5px solid #B3261E}.lane-red .light{background:#B3261E}
.lane ul{margin:0;padding-left:18px;font-size:15px}.lane li{margin:6px 0}

/* policy clauses */
.clauses{display:grid;gap:14px;margin-top:16px}
.clause{margin:0;border:1px solid var(--line);border-radius:6px;background:var(--paper);padding:0;overflow:hidden}
.clause figcaption{font-size:12px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;color:var(--muted);background:var(--mist);padding:8px 16px;border-bottom:1px solid var(--line)}
.clause blockquote{margin:0;padding:16px 20px;font-family:var(--serif);font-size:17px;line-height:1.6;color:var(--ink);border-left:4px solid var(--accent)}

/* risk heat map */
.heat{display:grid;grid-template-columns:28px minmax(0,420px) 1fr;grid-template-rows:auto auto;gap:8px 18px;margin-top:16px;align-items:start}
.heat-y{grid-row:1;grid-column:1;writing-mode:vertical-rl;transform:rotate(180deg);font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;text-align:center;align-self:center}
.heat-grid{grid-row:1;grid-column:2;display:grid;grid-template-columns:repeat(5,1fr);gap:4px;aspect-ratio:1}
.heat-x{grid-row:2;grid-column:2;font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;text-align:center}
.hcell{border-radius:4px;display:flex;flex-wrap:wrap;gap:4px;align-items:center;justify-content:center;padding:4px}
.hz-l{background:#DCEFE1}.hz-m{background:#FBE8C2}.hz-h{background:#F6CFC9}
@media (prefers-color-scheme: dark){.hz-l{background:#1F3A28}.hz-m{background:#4A3B16}.hz-h{background:#4E211D}}
.pin{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--ink);color:var(--paper);font-size:12px;font-weight:700}
.heat-key{grid-row:1 / 3;grid-column:3;list-style:none;margin:0;padding:0;font-size:15px}
.heat-key li{display:flex;align-items:center;gap:10px;padding:6px 0;border-bottom:1px solid var(--line)}

/* good answer / red flag cards */
.qa{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px}
.qa-card{border:1px solid var(--line);border-radius:8px;padding:16px 18px;background:var(--paper);display:flex;flex-direction:column}
.qa-cat{margin:0;font-size:12px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;color:var(--accent)}
.qa-q{margin:6px 0 12px;font-family:var(--serif);font-size:17px;color:var(--ink)}
.qa-ans{display:grid;gap:8px;margin-top:auto}
.qa-ans > div{font-size:14px;padding:10px 12px;border-radius:6px}
.qa-ans span{display:block;font-size:11.5px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;margin-bottom:3px}
.good{background:#E9F4EC}.good span{color:#1F6B3A}
.flag{background:#FBE9E6}.flag span{color:#9A2E22}
@media (prefers-color-scheme: dark){.good{background:#16301F}.good span{color:#8FD6A6}.flag{background:#3A1A16}.flag span{color:#F2A89D}}

/* org chart */
.org{display:flex;flex-direction:column;align-items:center;margin-top:18px}
.org-node{border:1px solid var(--line);border-radius:8px;background:var(--paper);padding:12px 16px;text-align:center;min-width:200px;max-width:260px}
.org-node strong{display:block;font-family:var(--serif);color:var(--ink);font-size:16px}
.org-node span{display:block;font-size:13px;color:var(--muted);margin-top:2px}
.org-top{border-top:4px solid var(--accent)}
.org-mid{border:2px solid var(--accent)}
.org-line{width:2px;height:22px;background:var(--accent)}
.org-leaves{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;width:100%;position:relative;padding-top:20px;border-top:2px solid var(--accent)}
.org-leaves .org-node{max-width:none;min-width:0;position:relative}
.org-leaves .org-node::before{content:"";position:absolute;top:-21px;left:50%;width:2px;height:20px;background:var(--accent)}

/* chevron flow */
.flow{list-style:none;margin:16px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:0}
.flow li{position:relative;background:var(--mist);padding:16px 26px 16px 34px;margin-right:4px;clip-path:polygon(0 0,calc(100% - 16px) 0,100% 50%,calc(100% - 16px) 100%,0 100%,16px 50%);display:flex;flex-direction:column;gap:4px}
.flow li:first-child{clip-path:polygon(0 0,calc(100% - 16px) 0,100% 50%,calc(100% - 16px) 100%,0 100%);padding-left:18px}
.flow li:nth-child(odd){background:color-mix(in srgb,var(--accent) 14%,var(--paper))}
.fl-n{font-size:12px;font-weight:700;color:var(--accent);letter-spacing:.4px}
.flow strong{font-family:var(--serif);font-size:16px;color:var(--ink)}
.flow li > span:last-child{font-size:13.5px;color:var(--text);line-height:1.45}

/* gauges */
.gauges{margin-top:16px;border:1px solid var(--line);border-radius:8px;padding:16px 18px;background:var(--paper)}
.g-key{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);margin:0 0 10px}
.gk{display:inline-block;width:14px;height:10px;border-radius:2px;margin-left:10px}.gk:first-child{margin-left:0}
.gk.in,.g-bar.in{background:#B4513F}.gk.re,.g-bar.re{background:var(--accent)}
.gauge{display:grid;grid-template-columns:180px 1fr;gap:14px;align-items:center;padding:8px 0;border-top:1px solid var(--line)}
.g-l{font-weight:600;color:var(--ink);font-size:15px}
.g-bars{display:grid;gap:4px}
.g-bar{height:16px;border-radius:3px;position:relative;min-width:28px}
.g-bar span{position:absolute;right:6px;top:0;font-size:11px;line-height:16px;color:#fff;font-weight:700}
@media (prefers-color-scheme: dark){.g-bar.re span{color:#0F1B2E}}
.g-note{font-size:12.5px;color:var(--muted);margin:10px 0 0}

/* severity cards */
.sev{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:16px}
.sev-card{border-radius:8px;padding:14px 16px;border:1px solid var(--line);background:var(--paper);border-top:6px solid}
.sev-1{border-top-color:#8B1A1A}.sev-2{border-top-color:#D0541E}.sev-3{border-top-color:#C98A12}.sev-4{border-top-color:#2E7D46}
.sev-lv{margin:0;font-size:12px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--muted)}
.sev-t{margin:4px 0 0;font-family:var(--serif);font-size:17px;color:var(--ink)}
.sev-ex{margin:8px 0 0;font-size:14px}
.sev-r{margin:8px 0 0;font-size:13.5px;color:var(--muted)}

/* board dashboard */
.dash{margin-top:16px;border:1px solid var(--line);border-radius:10px;background:var(--mist);padding:18px}
.dash-cap{margin:0 0 12px;font-size:12px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;color:var(--muted)}
.dash-mets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.dm{background:var(--paper);border-radius:8px;padding:14px;border:1px solid var(--line);display:flex;flex-direction:column}
.dm-v{font-family:var(--serif);font-size:30px;color:var(--ink);font-weight:600;line-height:1.1}
.dm-l{font-size:13px;color:var(--muted);margin-top:4px}
.dash-bars{display:grid;gap:12px;margin-top:14px;background:var(--paper);border-radius:8px;padding:14px;border:1px solid var(--line)}
.db-top{display:flex;justify-content:space-between;font-size:14px;color:var(--ink);margin-bottom:4px}
.db-track{height:10px;border-radius:999px;background:var(--mist)}
.db-fill{height:100%;border-radius:999px;background:var(--accent)}

/* data flow */
.dflow{display:flex;align-items:stretch;gap:8px;margin-top:16px;overflow-x:auto}
.df-col{flex:1 1 0;min-width:160px;display:flex;flex-direction:column;gap:8px}
.df-h{margin:0 0 2px;font-size:12px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--muted)}
.df-node{border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:6px;background:var(--paper);padding:10px 12px;font-size:14px;color:var(--ink);display:flex;justify-content:space-between;align-items:center;gap:6px}
.df-node span{font-size:10.5px;font-weight:700;padding:2px 6px;border-radius:999px;background:var(--accent);color:#fff}
@media (prefers-color-scheme: dark){.df-node span{color:#0F1B2E}}
.df-arrow{align-self:center;font-size:26px;color:var(--accent);padding-top:18px}

@media (max-width: 900px){.lanes,.qa,.sev,.dash-mets{grid-template-columns:1fr 1fr}.org-leaves{grid-template-columns:1fr 1fr}.heat{grid-template-columns:28px 1fr}.heat-key{grid-row:auto;grid-column:1 / -1}.gauge{grid-template-columns:1fr}}
@media (max-width: 600px){.lanes,.qa,.sev,.dash-mets,.org-leaves{grid-template-columns:1fr}.dflow{flex-direction:column}.df-arrow{transform:rotate(90deg);padding:0}}
.org-leaves{border-top:0}
.org-leaves::before{content:"";position:absolute;top:0;left:12.5%;right:12.5%;height:2px;background:var(--accent)}
@media (max-width: 900px){.org-leaves::before{left:25%;right:25%}}
@media (max-width: 600px){.org-leaves::before{display:none}.org-leaves .org-node::before{display:none}}

/* Resource Center: type tiles */
.type-tiles{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.type-tile{display:grid;grid-template-rows:subgrid;grid-row:span 4;row-gap:0;text-decoration:none;color:var(--text);border:1px solid var(--line);border-top:5px solid var(--accent);border-radius:8px;padding:16px;background:var(--paper);transition:transform .15s ease,box-shadow .15s ease}
.type-tile:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(19,41,75,.12)}
.type-tile:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.tt-n{font-family:var(--serif);font-size:22px;font-weight:600;color:var(--accent)}
.type-tile h3{font-size:17px;margin:6px 0 0;color:var(--ink)}
.type-tile p{font-size:14px;margin:8px 0 0;color:var(--text)}
.tt-c{margin-top:12px;font-size:12.5px;font-weight:600;color:var(--muted);align-self:end}
.more-subs{list-style:none;margin-left:-18px;color:var(--muted);font-style:italic}
@media (max-width: 1100px){.type-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width: 700px){.type-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Resource type pages: industry filter */
.rf-bar{display:grid;grid-template-columns:1fr 1fr auto;gap:12px 16px;align-items:end;background:var(--mist);border:1px solid var(--line);border-top:4px solid var(--accent);border-radius:8px;padding:18px 20px}
.rf-title{grid-column:1 / -1;margin:0;font-family:var(--serif);font-size:19px;color:var(--ink)}
.rf-field{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:var(--muted)}
.rf-field select{font:inherit;font-size:15px;font-weight:400;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:10px 12px;min-height:44px}
.rf-field select:disabled{opacity:.6}
.rf-reset{font:inherit;font-size:14px;font-weight:600;min-height:44px;padding:0 18px;border-radius:6px;border:1px solid var(--line);background:var(--paper);color:var(--navy);cursor:pointer}
.rf-status{margin:16px 0 10px;font-size:14px;color:var(--muted);font-weight:600}
.rf-list [hidden]{display:none !important}
.rf-empty{margin-top:8px;border:1px dashed var(--line);border-radius:8px;padding:22px;background:var(--paper)}
.rf-empty-t{font-family:var(--serif);font-size:19px;color:var(--ink);margin:0 0 6px}
.rf-empty .btn{margin-top:10px}
@media (max-width: 760px){.rf-bar{grid-template-columns:1fr}}

/* ===== Content types 11–15 ===== */
.t-ai-contract-clause-libraries{--accent:#5B4636}
.t-state-ai-law-trackers{--accent:#0E7490}
.t-ai-use-case-catalogs{--accent:#6D28D9}
.t-data-protection-assessment-templates{--accent:#2563EB}
.t-tabletop-exercise-scenarios{--accent:#BE185D}
@media (prefers-color-scheme: dark){.t-ai-contract-clause-libraries{--accent:#D6B89C}.t-state-ai-law-trackers{--accent:#67D2E8}.t-ai-use-case-catalogs{--accent:#C4B5FD}.t-data-protection-assessment-templates{--accent:#93C5FD}.t-tabletop-exercise-scenarios{--accent:#F9A8D4}}

/* clause library */
.clib{display:grid;gap:10px;margin-top:16px}
.clib-item{border:1px solid var(--line);border-left:5px solid var(--accent);border-radius:6px;background:var(--paper)}
.clib-item summary{display:grid;grid-template-columns:130px 1fr auto;gap:12px;align-items:center;padding:14px 18px;cursor:pointer;list-style:none}
.clib-item summary::-webkit-details-marker{display:none}
.clib-cat{font-size:12px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--muted)}
.clib-t{font-family:var(--serif);font-size:17px;color:var(--ink)}
.clib-p{font-size:12px;font-weight:700;padding:3px 10px;border-radius:999px;white-space:nowrap}
.clib-must{background:#F6CFC9;color:#7A1F17}.clib-recommended{background:#E2E8F0;color:#334155}
@media (prefers-color-scheme: dark){.clib-must{background:#4E211D;color:#F5C6BF}.clib-recommended{background:#334155;color:#E2E8F0}}
.clib-body{padding:0 18px 16px 160px}
.clib-text{margin:0;padding:14px 16px;background:var(--mist);border-radius:6px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:14px;line-height:1.6;color:var(--ink)}
.clib-why{margin:10px 0 0;font-size:14.5px}

/* state status grid */
.sgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}
.sg-card{border:1px solid var(--line);border-radius:8px;padding:16px;background:var(--paper);display:flex;flex-direction:column;border-top:6px solid}
.sg-in-effect{border-top-color:#2E7D46}.sg-effective-soon{border-top-color:#C98A12}.sg-proposed{border-top-color:#64748B}
.sg-state{margin:0;font-family:var(--serif);font-size:22px;color:var(--ink);font-weight:600}
.sg-law{margin:4px 0 12px;font-size:14.5px}
.sg-foot{margin:auto 0 0;display:flex;justify-content:space-between;align-items:center;gap:8px}
.sg-pill{font-size:12px;font-weight:700;padding:3px 10px;border-radius:999px}
.sg-in-effect .sg-pill{background:#DCEFE1;color:#1F5E33}.sg-effective-soon .sg-pill{background:#FBE8C2;color:#7A5410}.sg-proposed .sg-pill{background:#E2E8F0;color:#334155}
@media (prefers-color-scheme: dark){.sg-in-effect .sg-pill{background:#1F3A28;color:#B9E3C6}.sg-effective-soon .sg-pill{background:#4A3B16;color:#F3D99B}}
.sg-date{font-size:13px;color:var(--muted);font-weight:600}

/* use case catalog */
.ucs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}
.uc{position:relative;border:1px solid var(--line);border-radius:8px;padding:16px 18px;background:var(--paper)}
.uc-dept{margin:0;font-size:12px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--accent)}
.uc h3{margin:4px 0 0 !important;font-size:18px}
.uc-start{position:absolute;top:14px;right:14px;font-size:11.5px;font-weight:700;padding:3px 9px;border-radius:999px;background:#DCEFE1;color:#1F5E33}
@media (prefers-color-scheme: dark){.uc-start{background:#1F3A28;color:#B9E3C6}}
.uc-meters{display:grid;grid-template-columns:auto 1fr auto 1fr;gap:6px 10px;align-items:center;margin-top:12px}
.uc-ml{font-size:12px;font-weight:600;color:var(--muted)}
.dots{display:inline-flex;gap:4px}
.dots i{width:14px;height:14px;border-radius:3px;background:var(--line)}
.dots.val i.on{background:#2E7D46}.dots.risk i.on{background:#B3261E}
.uc-ctl{margin:12px 0 0;font-size:14px}

/* assessment form */
.dform{position:relative;margin-top:16px;border:1px solid var(--line);border-radius:8px;background:var(--paper);padding:18px 20px}
.stamp{position:absolute;top:14px;right:16px;transform:rotate(-4deg);border:2px solid var(--accent);color:var(--accent);font-weight:800;font-size:12px;letter-spacing:.6px;text-transform:uppercase;padding:4px 10px;border-radius:4px}
.df-part{border:0;border-top:1px solid var(--line);margin:0;padding:14px 0 6px}
.df-part:first-of-type{border-top:0}
.df-part legend{font-size:13px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--accent);padding:0}
.df-f{display:grid;grid-template-columns:190px 1fr;gap:12px;padding:6px 0}
.df-l{font-size:13.5px;color:var(--muted)}
.df-v{font-size:15px;color:var(--ink);border-bottom:1px dashed var(--line);padding-bottom:4px}
.df-checks{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px}
.df-checks li{display:flex;align-items:center;gap:10px;font-size:14.5px}
.box{width:18px;height:18px;border-radius:4px;border:2px solid var(--accent);flex:0 0 18px;position:relative}
.ck .box{background:var(--accent)}
.ck .box::after{content:"";position:absolute;left:4px;top:0;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}

/* tabletop: participants and injects */
.pchips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.pchip{font-size:13.5px;padding:6px 12px;border-radius:999px;background:var(--mist);border:1px solid var(--line);color:var(--ink)}
.injects{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(240px,1fr);gap:12px;overflow-x:auto;margin-top:16px;padding-bottom:6px}
.inj{border:1px solid var(--line);border-radius:8px;background:var(--paper);padding:16px;display:flex;flex-direction:column;border-top:5px solid var(--accent)}
.inj-clock{align-self:flex-start;font-size:12px;font-weight:800;color:#fff;background:var(--accent);padding:3px 10px;border-radius:999px}
@media (prefers-color-scheme: dark){.inj-clock{color:#0F1B2E}}
.inj h3{margin:10px 0 0 !important;font-size:17px}
.inj > p{font-size:14.5px;margin:6px 0 0}
.inj-q{margin-top:auto;padding-top:12px}
.inj-q p{margin:0;font-size:11.5px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--muted)}
.inj-q ul{margin:6px 0 0;padding-left:18px;font-size:14px}
@media (max-width: 900px){.sgrid{grid-template-columns:1fr 1fr}.ucs{grid-template-columns:1fr}.clib-item summary{grid-template-columns:1fr auto}.clib-cat{grid-column:1 / -1}.clib-body{padding-left:18px}.df-f{grid-template-columns:1fr}}
@media (max-width: 600px){.sgrid{grid-template-columns:1fr}}
.tt-c{color:var(--accent)}
.rf-status:empty{display:none}

/* Guide authority elements */
.align{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0 0}
.align-l{font-size:12px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--muted)}
.align-t{font-size:12.5px;font-weight:600;padding:4px 10px;border-radius:4px;border:1px solid var(--accent);color:var(--accent);background:var(--paper)}
.sources a{color:var(--navy);text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:3px}
.sources a::after{content:" ↗";font-size:.85em;color:var(--muted)}
.about-guide{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:28px}
.ag-col{border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:6px;padding:14px 16px;background:var(--mist);display:flex;flex-direction:column}
.ag-h{margin:0 0 6px;font-size:12px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--ink)}
.ag-col p{font-size:14px;margin:0}
.ag-cite{font-family:var(--serif);background:var(--paper);border:1px solid var(--line);border-radius:4px;padding:10px 12px;line-height:1.5;word-break:break-word}
.ag-copy{margin-top:10px;align-self:flex-start;font:inherit;font-size:13px;font-weight:600;padding:8px 14px;min-height:36px;border-radius:4px;border:1px solid var(--line);background:var(--paper);color:var(--navy);cursor:pointer}
.ag-link{margin-top:auto;padding-top:10px;font-size:14px;font-weight:600;color:var(--navy)}
@media (max-width: 900px){.about-guide{grid-template-columns:1fr}}

/* Service page: who this is for, privilege, FAQ */
.scen{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.scen-card{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line);border-radius:8px;background:var(--paper);padding:16px 18px}
.scen-n{flex:0 0 30px;height:30px;border-radius:50%;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px}
@media (prefers-color-scheme: dark){.scen-n{color:#0F1B2E}}
.scen-card p{margin:3px 0 0;font-size:15.5px;color:var(--ink)}
.callout.priv{border-left-color:var(--gold);margin-top:20px}
.svc-faq{max-width:860px}
.svc-faq h3{font-size:19px;margin:22px 0 0}
.svc-faq h3:first-child{margin-top:0}
.svc-faq p{margin:6px 0 0}
.verify{display:inline-block;margin-top:8px;font-size:13px;font-weight:600;color:var(--navy)}
.verify::after{content:" ↗";color:var(--muted)}
/* Maturity model */
.maturity{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.maturity > li{border:1px solid var(--line);border-radius:8px;padding:16px;background:var(--paper);display:grid;grid-template-rows:subgrid;grid-row:span 5;row-gap:0;border-top:5px solid}
.mat-0{border-top-color:#C98A12 !important}.mat-1{border-top-color:#2F6690 !important}.mat-2{border-top-color:#3A7D44 !important}.mat-3{border-top-color:#13294B !important}
.mat-n{font-size:12px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--muted)}
.maturity h3{margin:4px 0 0;font-size:19px}
.maturity p{margin:8px 0 0;font-size:14.5px}
.mat-start{font-size:12px !important;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--muted);margin-top:12px !important}
.maturity ul{margin:4px 0 0;padding-left:18px;font-size:14.5px}
.commit{margin-top:18px;font-weight:600;color:var(--ink)}
/* Glossary and print */
.gloss{margin:0;display:grid;gap:0;border-top:1px solid var(--line)}
.gloss > div{display:grid;grid-template-columns:260px 1fr;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);scroll-margin-top:20px}
.gloss dt{font-family:var(--serif);font-weight:600;color:var(--ink);font-size:17px}
.gloss dd{margin:0}
@media (max-width: 900px){.scen,.maturity{grid-template-columns:1fr 1fr}.gloss > div{grid-template-columns:1fr;gap:4px}}
@media (max-width: 600px){.scen,.maturity{grid-template-columns:1fr}}
@media print{.site-header,.site-footer,.cta-band,.no-print,.crumbs,.topbar{display:none !important}.check-group li::before{border-color:#000}}

/* Scorecard */
.scq{border:1px solid var(--line);border-top:4px solid var(--accent);border-radius:8px;padding:12px 18px 6px;margin:18px 0 0;background:var(--paper)}
.scq legend{font-weight:700;font-size:13px;letter-spacing:.4px;text-transform:uppercase;color:var(--accent);padding:0 6px}
.scq-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}
.scq-row:first-of-type{border-top:0}
.scq-row p{margin:0;font-size:15.5px;color:var(--ink)}
.scq-opts{display:flex;gap:14px;font-size:14.5px}
.scq-opts label{display:flex;align-items:center;gap:5px;cursor:pointer;min-height:32px}
.sc-result{margin-top:24px;border:1px solid var(--line);border-radius:10px;padding:20px;background:var(--mist)}
.sc-score{display:flex;gap:18px;align-items:center}
.sc-num{font-family:var(--serif);font-size:56px;font-weight:600;color:var(--accent);line-height:1}
.sc-num small{font-size:20px;color:var(--muted)}
.sc-stage{font-family:var(--serif);font-size:22px;color:var(--ink);margin:0 !important}
.sc-bars{display:grid;gap:10px;margin:16px 0;background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:14px}
.sc-warn{color:#9A2E22;font-weight:600}
/* Policy builder and templates */
.pbform{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px 16px;margin-top:16px;background:var(--mist);border:1px solid var(--line);border-radius:8px;padding:18px}
.pbform input[type=text]{font:inherit;font-size:15px;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:10px 12px;min-height:44px}
.pb-checks{grid-column:1 / -1;border:0;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:6px 18px}
.pb-checks legend{font-size:13px;font-weight:600;color:var(--muted);margin-bottom:6px}
.pb-checks label{display:flex;gap:8px;align-items:flex-start;font-size:14.5px}
.pbform > p{grid-column:1 / -1;margin:0}
.tpl-btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.tpl-doc{margin-top:16px;border:1px solid var(--line);border-radius:8px;background:var(--paper);padding:22px 26px;box-shadow:0 2px 10px rgba(19,41,75,.06)}
.tpl-doc h2{margin-top:0 !important;padding-left:0 !important}
.tpl-doc h2::before{display:none}
.tpl-table{width:100%;border-collapse:collapse;margin-top:8px;font-size:14.5px}
.tpl-table th,.tpl-table td{border:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top}
.tpl-table th{width:45%;background:var(--mist);font-weight:600;color:var(--ink)}
.tpl-table td{height:34px}
.tpl-note{margin-top:14px;font-size:14.5px}
/* Commitments */
.commits{margin-top:22px;border:1px solid var(--line);border-left:5px solid var(--gold);border-radius:8px;padding:16px 20px;background:var(--paper)}
.commits h3{margin:0 0 8px;font-size:19px}
.commits ul{margin:0;padding-left:18px;display:grid;grid-template-columns:1fr 1fr;gap:6px 28px;font-size:15px}
@media (max-width: 900px){.pbform{grid-template-columns:1fr}.pb-checks{grid-template-columns:1fr}.scq-row{grid-template-columns:1fr}.commits ul{grid-template-columns:1fr}}
@media print{.tpl-doc{box-shadow:none;border:0;padding:0}.answer-box,.tpl-note,.pbform{display:none !important}}
.t-training-guides{--accent:#8F5A06}
@media (prefers-color-scheme: dark){.t-training-guides{--accent:#F0BE6A}}

/* Skip link */
.skip-link{position:absolute;left:12px;top:-60px;z-index:100;background:var(--navy);color:#fff;padding:10px 16px;border-radius:0 0 6px 6px;font-weight:600;text-decoration:none}
.skip-link:focus{top:0}
@media (prefers-color-scheme: dark){.skip-link{color:#0F1B2E}}
main:focus{outline:none}
.site-footer a[href^="tel"]{white-space:nowrap}

/* Custom Engagements: two columns, rows aligned */
.services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:40px;border-top:0}
.services > .service{display:grid;grid-template-columns:1fr;grid-template-rows:subgrid;grid-row:span 3;row-gap:0;gap:0;border-top:2px solid var(--navy);border-bottom:0;padding:16px 0 32px}
.services > .service h3{margin:0}
.services > .service .svc-row-price{margin:6px 0 0}
.services > .service > div{margin-top:10px}
.services > .service ul{margin:10px 0 0;padding-left:18px}
@media (max-width: 760px){.services{grid-template-columns:1fr}}
.services > .service{grid-row:span 4}
.svc-detail-link{margin:16px 0 0;align-self:end}
.partner-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width: 900px){.partner-grid{grid-template-columns:1fr}}

/* Contact in the top bar; main tabs never wrap */
.topbar a.topbar-cta{border:1px solid rgba(255,255,255,.7);border-radius:4px;padding:4px 12px;line-height:1.3}
.topbar a.topbar-cta:hover,.topbar a.topbar-cta[aria-current="page"]{background:#fff;color:var(--navy);text-decoration:none}
.nav{flex-wrap:nowrap;white-space:nowrap;overflow-x:auto;max-width:100%;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.nav::-webkit-scrollbar{display:none}
.nav a{flex:0 0 auto}
@media (max-width: 520px){.topbar span{display:none}.site-header .topbar .wrap{justify-content:flex-end}}
@media (max-width: 760px){.nav{gap:16px}.nav a{font-size:14px}}
@media (prefers-color-scheme: dark){.topbar a.topbar-cta:hover,.topbar a.topbar-cta[aria-current="page"]{color:#0A1424}}
.home-partners{display:grid;grid-template-columns:1fr auto;gap:32px;align-items:center}
.home-partners h2{margin:0}
.home-partners p{margin:10px 0 0;max-width:760px}
@media (max-width: 760px){.home-partners{grid-template-columns:1fr;gap:18px}}
.fw-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.fw-n{display:inline-flex;width:30px;height:30px;border-radius:50%;background:var(--navy);color:#fff;align-items:center;justify-content:center;font-weight:700;font-size:14px;margin-bottom:6px}
@media (prefers-color-scheme: dark){.fw-n{color:#0F1B2E}}
.fw-note{margin-top:16px}
@media (max-width: 1000px){.fw-grid{grid-template-columns:1fr 1fr}}
@media (max-width: 600px){.fw-grid{grid-template-columns:1fr}}

/* Clickable state map */
.usmap-wrap{margin-top:28px}
.usmap-pick{max-width:320px;margin:10px 0 14px}
.usmap{border:1px solid var(--line);border-radius:10px;background:var(--paper);padding:12px}
.usmap svg{width:100%;height:auto;display:block}
.st{stroke:var(--paper);stroke-width:1;cursor:pointer;transition:opacity .15s}
.st:hover,.st:focus{opacity:.8;outline:none;stroke:var(--ink);stroke-width:1.5}
.st.on{stroke:var(--ink);stroke-width:2.5}
.st-comprehensive{fill:#13294B}
.st-targeted{fill:#2F6690}
.st-government{fill:#A8822E}
.st-none{fill:#C9D3E1}
@media (prefers-color-scheme: dark){.st-comprehensive{fill:#9DB8E0}.st-targeted{fill:#5E93BF}.st-government{fill:#D9B25F}.st-none{fill:#3A4A63}}
.usmap-legend{list-style:none;display:flex;flex-wrap:wrap;gap:10px 22px;padding:0;margin:14px 0 0;font-size:14px}
.usmap-legend li{display:flex;align-items:center;gap:8px}
.lg{width:16px;height:16px;border-radius:3px;display:inline-block}
.lg.st-comprehensive{background:#13294B}.lg.st-targeted{background:#2F6690}.lg.st-government{background:#A8822E}.lg.st-none{background:#C9D3E1}
@media (prefers-color-scheme: dark){.lg.st-comprehensive{background:#9DB8E0}.lg.st-targeted{background:#5E93BF}.lg.st-government{background:#D9B25F}.lg.st-none{background:#3A4A63}}
.usmap-panel{margin-top:16px;border:1px solid var(--line);border-left:5px solid var(--gold);border-radius:8px;padding:16px 20px;background:var(--mist)}
.usmap-panel h3{margin:4px 0 0}
.usmap-status{margin:0;font-size:12px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--muted)}

/* Compact hero register card */
.hero .register{font-size:14px;align-self:center;max-width:430px;justify-self:end;width:100%}
.hero .register header{padding:12px 18px}
.hero .register header strong{font-size:16px}
.hero .register dt,.hero .register dd{padding:8px 18px}
.usmap-hint{font-weight:600;color:var(--ink);margin:0 0 12px;font-size:16px}

/* Fast start, related guides, finder, thank-you */
.fast-start{border-top:1px solid var(--line)}
.guide-links{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:12px}
.guide-links li{border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:6px;padding:12px 16px;background:var(--paper)}
.guide-links a{font-family:var(--serif);font-size:18px;color:var(--navy);font-weight:600}
.guide-links span{display:block;margin-top:4px;font-size:15px;color:var(--text)}
.finder-opts{display:flex;flex-wrap:wrap;gap:10px}
.finder-btn{font:inherit;font-size:15px;font-weight:600;padding:10px 16px;min-height:44px;border-radius:999px;border:1px solid var(--line);background:var(--paper);color:var(--navy);cursor:pointer}
.finder-btn:hover{border-color:var(--gold)}
.finder-btn[aria-pressed="true"]{background:var(--navy);color:#fff;border-color:var(--navy)}
@media (prefers-color-scheme: dark){.finder-btn[aria-pressed="true"]{color:#0F1B2E}}
.finder-panel{margin-top:20px}
.ty-more{margin-top:20px}
.contact-form .form-error{color:#9A2E22;font-weight:600}
body{overflow-x:clip}
table.matrix{display:block;overflow-x:auto;max-width:100%}
html{overflow-x:clip}
.finder-panel[hidden],.usmap-panel[hidden],.sc-result[hidden],.pb-out[hidden]{display:none !important}
.st-privacy{fill:#3F7A63}
.lg.st-privacy{background:#3F7A63}
@media (prefers-color-scheme: dark){.st-privacy{fill:#7DBFA3}.lg.st-privacy{background:#7DBFA3}}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.st-noai{fill:#9A8F7D}.lg.st-noai{background:#9A8F7D}
@media (prefers-color-scheme: dark){.st-noai{fill:#857B6B}.lg.st-noai{background:#857B6B}}

/* state status groups (AI Laws by State) */
.sg-groups{display:grid;gap:14px;margin-top:16px}
.sg-group{border:1px solid var(--line);border-radius:8px;padding:16px 18px;background:var(--paper)}
.sg-group h3{display:flex;align-items:center;gap:10px;font-size:20px}
.sg-group h3 .lg{display:inline-block;width:14px;height:14px;border-radius:3px;flex:none}
.sg-group > p{margin:6px 0 10px;color:var(--muted);font-size:15px}
.sg-states,.prose ul.sg-states{list-style:none;margin:0 0 16px;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.sg-states li{margin:0}
.sg-states a{display:inline-block;padding:4px 12px;border:1px solid var(--line);border-radius:999px;font-size:14.5px;text-decoration:none;color:var(--ink);background:var(--mist)}
.sg-states a:hover{border-color:var(--accent,var(--gold));text-decoration:underline}
.sg-states a:focus-visible{outline:3px solid var(--accent,var(--gold));outline-offset:2px}

/* key dates on state pages */
.kd-table th[scope="row"]{white-space:nowrap;font-weight:600}
.kd-pill{display:inline-block;font-size:12px;font-weight:700;padding:3px 10px;border-radius:999px;white-space:nowrap}
.kd-now{background:#DCEFE1;color:#1F5E33}
.kd-soon{background:#FBE8C2;color:#6B4A0E}
@media (prefers-color-scheme: dark){.kd-now{background:#1F3A28;color:#B9E3C6}.kd-soon{background:#4A3B16;color:#F3D99B}}
.role-pay{margin:6px 0 14px}

/* certifications: register layout on wider screens (one credential per row) */
@media (min-width: 641px){
  .cert-list{grid-template-columns:1fr;gap:10px}
  .cert-list > .cert{grid-template-columns:60px minmax(240px,330px) 1fr;grid-template-rows:auto;grid-row:auto;column-gap:20px;align-items:center;padding:14px 18px}
  .cert-list > .cert .badge{grid-column:1;grid-row:1;width:60px;height:60px;flex-basis:60px}
  .cert-list > .cert h3{grid-column:2;grid-row:1;align-self:center}
  .cert-list > .cert p{grid-column:3;grid-row:1;margin-top:0;max-width:none}
  .cert-list > .cert .verify{grid-column:3}
}

/* compact service cards on the Services page (full detail lives on each service page) */
.packages > .package.compact{grid-row:span 3;position:relative;padding:20px 22px;transition:border-color .15s}
.package.compact .pkg-title::after{content:"";position:absolute;inset:0;border-radius:6px}
.package.compact:hover{border-color:var(--gold)}
.package.compact:focus-within{outline:3px solid var(--gold);outline-offset:2px}
.package.compact .pkg-title:focus-visible{outline:none}
@media (prefers-reduced-motion: reduce){.package.compact{transition:none}}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}

/* printable service catalog (Services page) */
.print-only{display:none}
.catalog-actions{margin-top:-8px;margin-bottom:8px}
@media print{
  @page{size:letter;margin:0.5in}
  .print-only{display:block}
  body:has(.catalog-head) .page-head,
  body:has(.catalog-head) .finder-sec,
  body:has(.catalog-head) .maturity-sec,
  body:has(.catalog-head) .practice-nav-wrap,
  body:has(.catalog-head) section[aria-labelledby="approach-title"]{display:none !important}
  .catalog-head{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:2px solid #13294B;padding:0 0 10px;margin:0 0 6px}
  .catalog-head img{width:220px;height:auto}
  .catalog-head p{margin:0;font-size:9.5pt;color:#333;text-align:right}
  body:has(.catalog-head) main section{padding:10px 0 !important;background:none !important;border:0 !important}
  body:has(.catalog-head) .wrap{max-width:none;padding:0}
  body:has(.catalog-head) .section-head{margin-bottom:8px}
  body:has(.catalog-head) .section-head h2{font-size:15pt;margin:0;break-after:avoid}
  body:has(.catalog-head) .section-head p{font-size:9.5pt;margin:2px 0 0;color:#333}
  body:has(.catalog-head) .packages{grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:8px}
  body:has(.catalog-head) .package{break-inside:avoid;padding:8px 10px !important;border:1px solid #9AA3AF !important;border-top:2px solid #13294B !important;background:#fff !important}
  body:has(.catalog-head) .package h3{font-size:10.5pt}
  body:has(.catalog-head) .pkg-price{font-size:10.5pt;margin-top:3px}
  body:has(.catalog-head) .pkg-price span{font-size:8pt}
  body:has(.catalog-head) .pkg-desc,body:has(.catalog-head) .package li,body:has(.catalog-head) .pkg-best{font-size:8.5pt;line-height:1.35;margin-top:4px}
  body:has(.catalog-head) .package ul{margin-top:4px}
  body:has(.catalog-head) .package .btn{display:none}
  body:has(.catalog-head) a{color:inherit;text-decoration:none}
}
.team-card.no-photo{grid-template-columns:1fr}
.dept-price{margin-top:10px;font-size:17px}
.dept-price strong{color:var(--gold-text)}

/* contact form: email-or-phone group and field errors */
.contact-pair{border:1px solid var(--line);border-radius:6px;padding:12px 14px 6px;margin:0 0 16px;display:grid;gap:12px}
.contact-pair legend{font-weight:600;padding:0 4px}
.field-error{color:#9A2E22;font-weight:600;margin:0}
@media (prefers-color-scheme: dark){.field-error,.contact-form .form-error{color:#F2A89C}}
