/* Site-wide approved review corrections. */
.home-canvas .approach-find{--step:#244ed4}
.home-canvas .approach-understand{--step:#17656c}
.home-canvas .approach-fix{--step:#6024cc}
.home-canvas .approach-prevent{--step:#865500}
.home-canvas .approach-step :is(h3,.approach-gain strong,.approach-gain-icon){color:var(--step)!important}
.home-canvas .approach-rail span{color:var(--step)!important;border-color:var(--step)!important}
.home-canvas .approach-heading h2 em{color:#3655bf!important}

.home-canvas .svc-when .svc-training-resource{display:flex;margin-top:14px;max-width:100%}
.sitemap-links{margin:0;padding-left:1.4rem;line-height:1.7;color:#173a61}
.sitemap-links li+li{margin-top:.7rem}
.sitemap-links a{color:#075f98;text-underline-offset:4px;overflow-wrap:anywhere}

.site-footer .footer-contact-inline a{white-space:normal;overflow-wrap:anywhere}
.home-canvas .contact-v2-form-card :is(input,select,textarea){max-width:100%;min-width:0}
/* Approved blue 40% / teal 60% primary action palette, shared by every page. */
html body .home-canvas :is(.atk-primary-action,.hero-actions .button.primary,.stage-g-cta,.stage-h-cta,.svc-btn-primary,.header-cta,.contact-submit){
 background:linear-gradient(90deg,#438ff0 0%,#2ba3cf 40%,#12b6ad 80%,#12b6ad 100%)!important;
 color:#500020!important;
}
@media(hover:hover) and (pointer:fine){
 html body .home-canvas :is(.atk-primary-action,.hero-actions .button.primary,.stage-g-cta,.stage-h-cta,.svc-btn-primary,.header-cta,.contact-submit):hover{
  background:linear-gradient(90deg,#438ff0 0%,#2ba3cf 40%,#12b6ad 80%,#12b6ad 100%)!important;
 }
}
/* Preserve the approved gradient title treatment with stronger text colours. */
.home-canvas :is(.stage-d-grad,.stage-g-heading-accent){
 background-image:linear-gradient(90deg,#0963bd,#6733cc)!important;
}
@media(forced-colors:active){
 .home-canvas .approach-step :is(h3,.approach-gain strong,.approach-gain-icon),
 .home-canvas .approach-heading h2 em,.home-canvas .approach-rail span{color:CanvasText!important}
 .home-canvas .approach-rail span{border-color:CanvasText!important}
 .sitemap-links a{color:LinkText}
 html body .home-canvas :is(.atk-primary-action,.hero-actions .button.primary,.stage-g-cta,.stage-h-cta,.svc-btn-primary,.header-cta,.contact-submit){background:ButtonFace!important;color:ButtonText!important;border:1px solid ButtonText!important}
 .home-canvas :is(.stage-d-grad,.stage-g-heading-accent){background:none!important;color:CanvasText!important}
}

.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}

/* Sitemap uses the shared safe container with a compact, ordered two-column grid. */
html body .home-canvas .sitemap-page .container.container{width:min(calc(100% - 64px),1240px)!important;max-width:calc(100% - 64px)!important}
.sitemap-page .ab-hero{padding-block:44px 28px}
.sitemap-page .ab-hero p:last-child{max-width:65ch;margin-bottom:0}
.sitemap-page .sitemap-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding-bottom:64px}
.sitemap-page .sitemap-groups>section{padding:26px 28px;border:1px solid rgba(132,155,189,.35);border-radius:18px;box-shadow:inset 0 1px 1px #ffffffc9,0 5px 14px #213d6410;min-width:0}
.sitemap-page .sitemap-groups h2{font-size:clamp(1.4rem,2.2vw,1.8rem);line-height:1.25;margin-bottom:18px}
.sitemap-page .sitemap-links a{display:inline-block;border-radius:3px;transition:color .18s ease,background-color .18s ease;text-decoration-thickness:1px}
.sitemap-page .sitemap-links a:hover{color:#5930ad;background:#e4e8fa;text-decoration-thickness:2px;text-underline-offset:5px}
.sitemap-page .sitemap-links a:focus-visible{outline:3px solid #0b7774;outline-offset:4px;text-decoration-thickness:2px}
@media(max-width:700px){
 html body .home-canvas .sitemap-page .container.container{width:calc(100% - 32px)!important;max-width:calc(100% - 32px)!important}
 .sitemap-page .sitemap-groups{grid-template-columns:minmax(0,1fr);gap:20px;padding-bottom:36px}
 .sitemap-page .sitemap-groups>section{padding:22px 20px}
 .sitemap-page .ab-hero{padding-block:30px 24px}
}
/* Scale intact source images uniformly; compensate only for transparent margins.
   A shared 2.05:1 area fits the widest artwork without horizontal overflow. */
.home-canvas .stage-e-domain-art{position:relative;display:block;aspect-ratio:2.05;height:auto!important;min-height:0!important;width:100%;max-width:600px;margin:0 auto 20px;overflow:visible}
.home-canvas .stage-e-domain-art img{position:absolute;left:50%;top:50%;width:auto!important;height:var(--art-height,100%)!important;max-width:none!important;max-height:none!important;object-fit:contain!important;transform:translate(-50%,-50%)!important}
.home-canvas .web-domain .stage-e-domain-art{--art-height:103.33%}
.home-canvas .mobile-domain .stage-e-domain-art{--art-height:102.19%}
.home-canvas .docs-domain .stage-e-domain-art{--art-height:101.79%}
/* Six service actions follow the same two-line label pattern as home cards. */
.home-canvas .svc-grid>.svc-card .svc-text-link{display:flex;width:100%;min-height:68px;text-align:center;padding:10px 8px;justify-content:center}
.home-canvas .svc-card .svc-cta-label{display:block;line-height:1.4;font-size:clamp(.875rem,1.05vw,1rem);font-weight:500}
.home-canvas .svc-card .svc-cta-first{display:block}
.home-canvas .svc-card .svc-cta-last{display:block;white-space:nowrap}
.home-canvas .svc-card .svc-cta-arrow{margin-left:8px}
/* Balanced magenta-to-cyan secondary surface with the approved dark text. */
html body .home-canvas :is(.hero-actions .button.secondary,.svc-actions .svc-btn-secondary){background:linear-gradient(90deg,#eedcf5 0%,#c6eaf1 100%)!important;color:#244da0!important}
@media(hover:hover) and (pointer:fine){
 html body .home-canvas :is(.hero-actions .button.secondary,.svc-actions .svc-btn-secondary):hover{background:linear-gradient(90deg,#e5c9ef 0%,#acdde7 100%)!important;color:#173b89!important}
}
@media(prefers-reduced-motion:reduce){.sitemap-page .sitemap-links a{transition:none}}
@media(forced-colors:active){
 .sitemap-page .sitemap-links a:hover{color:LinkText;background:Canvas}
 .sitemap-page .sitemap-links a:focus-visible{outline-color:Highlight}
 .sitemap-page .sitemap-groups>section{border-color:CanvasText;box-shadow:none}
 html body .home-canvas :is(.hero-actions .button.secondary,.svc-actions .svc-btn-secondary){background:ButtonFace!important;color:ButtonText!important}
}
/* Domain columns have different inner padding; use one common height, not each
   column's width, to align both the visible artwork and heading baselines. */
.home-canvas .stage-e-domain-art{aspect-ratio:auto;height:min(14vw,200px)!important}
@media(max-width:900px){.home-canvas .stage-e-domain-art{height:min(42vw,280px)!important}}
/* Give the actions a full detail-column width before their labels need a third
   line. This also covers the featured training card's narrower middle layout. */
@media(max-width:1150px){
 .home-canvas .svc-intro-section .svc-grid>.svc-card .svc-card-details{grid-template-columns:minmax(0,1fr)!important}
}

/* Shared action motion: the header stays steady; content actions lift gently. */
html body .home-canvas .atk-primary-action{text-align:center!important;justify-content:center!important;filter:none!important;transition:transform .18s ease,box-shadow .18s ease}
html body .home-canvas .atk-primary-action>span[aria-hidden="true"]{display:inline-block;transition:transform .18s ease}
html body .home-canvas .header-cta.atk-primary-action,
html body .home-canvas .header-cta.atk-primary-action:hover,
html body .home-canvas .header-cta.atk-primary-action:hover>span[aria-hidden="true"]{transform:none!important}
.home-canvas .contact-submit.atk-primary-action{display:inline-flex;align-items:center;justify-content:center;gap:16px}
@media(hover:hover) and (pointer:fine){
 html body .home-canvas .atk-primary-action:not(.header-cta):not(:disabled):hover{transform:translateY(-2px)!important;box-shadow:0 12px 25px rgba(22,63,157,.2)!important}
 html body .home-canvas .atk-primary-action:not(.header-cta):not(:disabled):hover>span[aria-hidden="true"]{transform:translateX(3px)!important}
}
@media(prefers-reduced-motion:reduce){
 html body .home-canvas .atk-primary-action,
 html body .home-canvas .atk-primary-action>span[aria-hidden="true"]{transition:none!important}
 html body .home-canvas .atk-primary-action:not(.header-cta):not(:disabled):hover,
 html body .home-canvas .atk-primary-action:not(.header-cta):not(:disabled):hover>span[aria-hidden="true"]{transform:none!important}
}

/* Shared opening gap follows the approved homepage spacing. Breadcrumbs remain first. */
.home-canvas{--page-opening-gap:18px}
html body .home-canvas main>.page-opening{padding-top:var(--page-opening-gap)!important}
html body .home-canvas main>.page-opening>.container{padding-top:0!important;align-items:start!important}
html body .home-canvas .page-opening .contact-v2-hero-copy{align-self:start;padding-top:0!important}
@media(max-width:1120px){.home-canvas{--page-opening-gap:30px}}

/* Opening eyebrows reuse the homepage hero typography and marker. */
html body .home-canvas .page-opening .page-opening-eyebrow{
 display:flex!important;align-items:center!important;gap:10px!important;
 font-family:Arial,Helvetica,sans-serif!important;font-size:13px!important;
 font-weight:800!important;line-height:1.4!important;letter-spacing:.15em!important;
 text-transform:uppercase!important;color:#075fae!important;margin:0 0 14px!important;padding:0!important;
}
html body .home-canvas .page-opening .page-opening-eyebrow::before{
 content:""!important;display:block!important;width:25px!important;height:3px!important;
 flex:0 0 25px!important;background:var(--teal)!important;border-radius:0!important;
}
@media(max-width:1120px){html body .home-canvas .page-opening .page-opening-eyebrow{font-size:12px!important;margin-bottom:10px!important}}
@media(forced-colors:active){html body .home-canvas .page-opening .page-opening-eyebrow{color:CanvasText!important}html body .home-canvas .page-opening .page-opening-eyebrow::before{background:CanvasText!important}}

/* Shared hero columns use an invisible boundary and proportional image sizing. */
html body .home-canvas .atk-hero{overflow:visible!important;padding-top:var(--page-opening-gap)!important}
html body .home-canvas .atk-hero>.atk-hero-shell{display:block!important;padding-block:0!important;min-height:0!important}
html body .home-canvas .atk-hero-layout{position:relative;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:48px!important;align-items:start!important;min-height:0!important;padding:0!important}
html body .home-canvas .atk-hero-copy{min-width:0!important;overflow-wrap:break-word;max-width:none!important;width:auto!important;position:static!important;align-self:start!important;padding:0!important;margin:0!important;transform:none!important}
html body .home-canvas .atk-hero-copy h1{max-width:none!important;font-size:clamp(2.3rem,4.2vw,3.875rem)!important;line-height:1.08!important;letter-spacing:-.04em!important;margin:0 0 22px!important}
html body .home-canvas .atk-hero-copy>p:not(.page-opening-eyebrow){max-width:65ch!important}
html body .home-canvas .atk-hero-copy>:last-child{margin-bottom:0!important}
html body .home-canvas .atk-hero-visual{display:flex!important;align-items:center!important;justify-content:center!important;align-self:start!important;position:static!important;min-width:0!important;min-height:0!important;width:100%!important;max-width:none!important;height:auto!important;aspect-ratio:4/3;max-height:440px!important;margin:0!important;padding:0!important;overflow:visible!important;transform:none!important}
/* Empty future-image slots must not set the height of text-only openings. */
html body .home-canvas .atk-hero-visual[data-hero-empty]{display:none!important}
html body .home-canvas .atk-hero-visual>figure{display:flex!important;align-items:center;justify-content:center;width:100%!important;height:100%!important;max-width:none!important;margin:0!important;padding:0!important;transform:none!important}
html body .home-canvas .atk-hero-visual img{position:static!important;inset:auto!important;display:block!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:440px!important;object-fit:contain!important;object-position:center!important;margin:0!important;padding:0!important;transform:none!important}
html body .home-canvas .atk-hero .kc-breadcrumb{margin:0 0 24px!important}
html body .home-canvas .atk-hero .kc-on-page{margin-top:24px!important}
@media(max-width:1120px){
 html body .home-canvas .atk-hero-layout{grid-template-columns:minmax(0,1fr)!important;gap:28px!important}
 html body .home-canvas .atk-hero-visual{max-width:640px!important;justify-self:center;max-height:400px!important}
 html body .home-canvas .atk-hero-visual img{max-height:400px!important}
}

/* Compact hero artwork stays within the height set by its accompanying copy. */
html body .home-canvas .atk-hero-visual.atk-hero-visual--compact{width:90%!important;justify-self:center;align-self:stretch!important;aspect-ratio:auto;contain:size;max-height:396px!important}
html body .home-canvas .atk-hero-visual--compact img{object-position:center top!important}
@media(max-width:1120px){html body .home-canvas .atk-hero-visual.atk-hero-visual--compact{contain:none;aspect-ratio:4/3;align-self:start!important;max-height:360px!important}html body .home-canvas .atk-hero-visual--compact img{max-height:360px!important}}

/* Preserve the Services hero footprint while reducing its artwork uniformly. */
html body .home-canvas .svc-hero-artwork.atk-hero-visual img{transform:scale(.9)!important;transform-origin:center top}

/* External destinations announce and display their new-tab behaviour. */
.external-link-icon{display:inline-block;width:1em;height:1em;margin-left:.3em;vertical-align:-.12em;line-height:1}
.external-link-icon svg{display:block;width:100%;height:100%}

/* Standards strip: informational cells with a shared text starting line. */
.home-canvas .scope-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
.home-canvas .scope-standard{--scope-icon-size:60px;display:grid;grid-template-columns:var(--scope-icon-size) minmax(0,1fr);grid-template-rows:subgrid;grid-row:span 2;column-gap:10px;row-gap:0;min-width:0;align-items:start}
.home-canvas .scope-standard p,.home-canvas .scope-standard:first-child p{display:contents;min-width:0;max-width:none}
.home-canvas .scope-standard b{grid-column:2;grid-row:1;text-decoration:none}
.home-canvas .scope-standard p>span{grid-column:2;grid-row:2}
.home-canvas .scope-standard .scope-icon{grid-column:1;grid-row:1 / 3;align-self:center}
@media(max-width:1120px){.home-canvas .scope-standard{--scope-icon-size:66px}}
@media(max-width:700px){.home-canvas .scope-standard{--scope-icon-size:56px}}
@media(max-width:1279px) and (min-width:721px){.home-canvas .scope-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.home-canvas .scope-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.home-canvas .scope-grid{grid-template-columns:minmax(0,1fr)}.home-canvas .scope-standard{min-height:94px;border-right:0}}

/* Preserve the source shapes and colours of the jurisdiction symbols. */
.home-canvas .scope-icon svg.jurisdiction-symbol,.home-canvas .scope-icon svg.jurisdiction-symbol path{stroke:none;stroke-width:0}
@media(forced-colors:active){.home-canvas .jurisdiction-symbol path{fill:CanvasText!important}}

/* One text line separates the homepage hero and standards strip. */
.home-canvas .scope-strip{margin-block-start:1.5rem}
