/* DC Digital base: fallbacks, reset, type, layout, buttons, lockup, rows,
   breadcrumbs, prose. Values come from tokens.css (the handoff, unchanged). */

/* Size-adjusted fallbacks (brief 2.11, handoff Performance): metrics computed
   from the WOFF2 files against Arial and Arial Bold so the swap does not shift layout.
   QA cycle 2 (layout-shift sampling): Poppins now has one face per weight,
   calibrated against the site's own layout (every text element on the 29
   published pages at 1350, 1440, 412 and 390px wide, line count with the web
   font against line count with the fallback; the size with the fewest
   differences wins): 300 and 400 against Arial at 110.5% and 111.5%, 500 at
   112%, 600 against Arial Bold at 105.4%. The single 103.9% face left fallback
   text about 7% narrower, so late fonts re-wrapped lines. Archivo 800 keeps
   103.4%, which the same calibration confirmed as the best fit.
   Liberation Sans and Arimo are Arial's metric twins on Linux and ChromeOS. */
@font-face{font-family:'Archivo Fallback';src:local('Arial Bold'),local('Arial-BoldMT'),local('Liberation Sans Bold'),local('LiberationSans-Bold'),local('Arimo Bold'),local('Arimo-Bold'),local('Arial');font-weight:700 800;size-adjust:103.4%;ascent-override:84.9%;descent-override:20.3%;line-gap-override:0%}
@font-face{font-family:'Archivo Fallback';src:local('Arial Bold'),local('Arial-BoldMT'),local('Liberation Sans Bold'),local('LiberationSans-Bold'),local('Arimo Bold'),local('Arimo-Bold'),local('Arial');font-weight:900;size-adjust:109.1%;ascent-override:80.5%;descent-override:19.2%;line-gap-override:0%}
@font-face{font-family:'Poppins Fallback';src:local('Arial'),local('ArialMT'),local('Liberation Sans'),local('LiberationSans'),local('Arimo'),local('Arimo-Regular');font-weight:300;size-adjust:110.5%;ascent-override:95%;descent-override:31.7%;line-gap-override:9%}
@font-face{font-family:'Poppins Fallback';src:local('Arial'),local('ArialMT'),local('Liberation Sans'),local('LiberationSans'),local('Arimo'),local('Arimo-Regular');font-weight:400;size-adjust:111.5%;ascent-override:94.2%;descent-override:31.4%;line-gap-override:9%}
@font-face{font-family:'Poppins Fallback';src:local('Arial'),local('ArialMT'),local('Liberation Sans'),local('LiberationSans'),local('Arimo'),local('Arimo-Regular');font-weight:500;size-adjust:112%;ascent-override:93.8%;descent-override:31.3%;line-gap-override:8.9%}
@font-face{font-family:'Poppins Fallback';src:local('Arial Bold'),local('Arial-BoldMT'),local('Liberation Sans Bold'),local('LiberationSans-Bold'),local('Arimo Bold'),local('Arimo-Bold');font-weight:600;size-adjust:105.4%;ascent-override:99.6%;descent-override:33.2%;line-gap-override:9.5%}
:root{
	--font-display:'Archivo','Archivo Fallback',system-ui,sans-serif;
	--font-body:'Poppins','Poppins Fallback',system-ui,sans-serif;
	--header-h:88px;
	--hero-top:168px;
}
@media (max-width:759px){:root{--header-h:68px;--hero-top:116px}}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--dc-paper);color:var(--dc-ink);font:400 var(--text-body)/1.6 var(--font-body);-webkit-font-smoothing:antialiased;overflow-x:clip}
img,video,svg{max-width:100%;height:auto}
img{display:block}
a{color:var(--dc-blue);text-underline-offset:.18em}
a:hover{color:var(--dc-deep-blue)}
button{font-family:inherit}
:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}
::selection{background:var(--dc-blue);color:#fff}
.wp-site-blocks{padding:0}
.wp-site-blocks>*+*{margin-block-start:0}
.dc-main{display:block}
[hidden]{display:none!important}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* QA cycle 4: the skip link slides in by transform (its box sits at 16px throughout). */
.dc-skip{position:fixed;left:16px;top:16px;z-index:200;background:var(--dc-ink);color:#fff;padding:12px 16px;font:500 14px var(--font-body);text-decoration:none;transform:translateY(-96px);transition:transform 160ms var(--ease-ui)}
.dc-skip:focus{transform:none;color:#fff}
#wp-skip-link{display:none!important}
/* <main> takes programmatic focus (skip link, consent banner choice); it is not a control, so no ring. */
#main:focus{outline:none}

/* Layout: frame, 12-column grid, sections, colour chapters ------------- */
.dc-frame{width:100%;max-width:var(--frame-max);margin-inline:auto;padding-inline:var(--margin)}
.dc-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gutter);row-gap:var(--space-8)}
@media (max-width:759px){.dc-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.dc-section{position:relative;padding-block:var(--section-pad);margin:0}
.dc-section--chapter{padding-block:var(--section-pad-chapter)}
.dc-section--tight{padding-block:var(--space-12)}
.dc-section:not([class*="is-style-dc-"])+.dc-section:not([class*="is-style-dc-"]):not(.dc-band){border-top:var(--rule)}
@media (max-width:759px){
	.dc-section{padding-block:var(--section-pad-mobile)}
	.dc-section--chapter{padding-block:var(--section-pad-chapter-mobile)}
	.dc-section--tight{padding-block:var(--space-10)}
}
.is-style-dc-ink{background:var(--dc-ink);color:var(--dc-paper)}
.is-style-dc-blue{background:var(--dc-blue);color:#fff}
.is-style-dc-white{background:var(--dc-white)}
.is-style-dc-ink a:not(.wp-block-button__link):not(.dc-btn){color:var(--dc-paper)}
.is-style-dc-ink a:not(.wp-block-button__link):not(.dc-btn):hover{color:var(--dc-signal-blue)}
.is-style-dc-blue a:not(.wp-block-button__link):not(.dc-btn){color:#fff}
.is-style-dc-blue a:not(.wp-block-button__link):not(.dc-btn):hover{color:#fff;text-decoration-thickness:2px}

/* Type ------------------------------------------------------------------ */
h1,h2,h3,h4,h5,h6{margin:0;font-family:var(--font-display);font-weight:800;text-wrap:balance;overflow-wrap:break-word}
p{margin:0}
.dc-eyebrow,.wp-block-heading.dc-eyebrow,.dc-eyebrow a{font:500 var(--text-label)/1.4 var(--font-body);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--dc-blue);text-decoration:none}
.is-style-dc-ink .dc-eyebrow,.dc-on-ink .dc-eyebrow{color:var(--dc-signal-blue)}
.is-style-dc-blue .dc-eyebrow{color:#fff}
.dc-display{font-family:var(--font-display);font-weight:900;font-size:var(--text-display);line-height:.94;letter-spacing:-.045em}
.dc-h2,.wp-block-heading.dc-h2{font-family:var(--font-display);font-weight:800;font-size:var(--text-section);line-height:1.05;letter-spacing:-.025em}
.dc-h3,.wp-block-heading.dc-h3{font-family:var(--font-display);font-weight:800;font-size:var(--text-h3);line-height:1.15;letter-spacing:-.02em}
.dc-ui-h3{font:600 20px/1.4 var(--font-body);letter-spacing:0}
.dc-lead{font-size:var(--text-lead);line-height:1.45;max-width:46ch;text-wrap:pretty}
.dc-small{font-size:var(--text-small)}
.dc-caption{font-size:var(--text-caption);line-height:1.5}
.dc-label{font:500 var(--text-label)/1.4 var(--font-body);letter-spacing:var(--track-label);text-transform:uppercase}
.dc-muted{color:var(--dc-graphite)}
.is-style-dc-ink .dc-muted,.dc-on-ink .dc-muted{color:var(--dc-silver)}
.is-style-dc-blue .dc-muted{color:#fff}
.dc-measure{max-width:68ch}
.dc-slash-sep{font-family:var(--font-body);font-weight:300;color:var(--dc-blue);margin:0 .12em}
.is-style-dc-ink .dc-slash-sep{color:var(--dc-signal-blue)}

/* Buttons (handoff Buttons) ---------------------------------------------
   A label longer than its column wraps onto a second line, balanced, with the
   arrow kept on the last line (a no-break space before it, inc/blocks.php);
   the 44px (54px large) minimum height and square corners stay, and a label
   that fits reads on one line exactly as before (the padding sits inside the
   minimum height). */
.wp-block-buttons{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.wp-block-buttons>.wp-block-button{margin:0}
[data-magnetic]{display:inline-block;transition:transform 420ms var(--ease-out)}
.dc-btn,.wp-block-button .wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;max-width:100%;padding:8px 20px;font:500 14px/1.25 var(--font-body);text-align:center;text-wrap:balance;border:1px solid transparent;border-radius:0;text-decoration:none;cursor:pointer;white-space:normal;background:var(--dc-blue);color:#fff;transition:background-color var(--dur-micro) var(--ease-ui),color var(--dur-micro) var(--ease-ui),border-color var(--dur-micro) var(--ease-ui),transform 120ms var(--ease-ui)}
.dc-btn:hover,.wp-block-button .wp-block-button__link:hover{background:var(--dc-deep-blue);color:#fff}
.dc-btn:active,.wp-block-button .wp-block-button__link:active{transform:translateY(1px)}
.dc-btn--sm,.wp-block-button.is-size-sm .wp-block-button__link{min-height:36px;padding:6px 14px;font-size:13px}
.dc-btn--lg,.wp-block-button.is-size-lg .wp-block-button__link{min-height:54px;padding:8px 26px;font-size:16px}
.dc-btn--secondary,.wp-block-button.is-style-dc-secondary .wp-block-button__link{background:transparent;color:var(--dc-ink);border-color:var(--dc-ink)}
.dc-btn--secondary:hover,.wp-block-button.is-style-dc-secondary .wp-block-button__link:hover{background:var(--dc-ink);color:var(--dc-paper)}
.is-style-dc-ink .wp-block-button.is-style-dc-secondary .wp-block-button__link,.dc-on-ink .dc-btn--secondary{color:var(--dc-paper);border-color:var(--dc-paper)}
.is-style-dc-ink .wp-block-button.is-style-dc-secondary .wp-block-button__link:hover,.dc-on-ink .dc-btn--secondary:hover{background:var(--dc-paper);color:var(--dc-ink)}
.dc-btn--inverse,.wp-block-button.is-style-dc-inverse .wp-block-button__link{background:var(--dc-paper);color:var(--dc-ink)}
.dc-btn--inverse:hover,.wp-block-button.is-style-dc-inverse .wp-block-button__link:hover{background:#fff;color:var(--dc-ink)}
.dc-btn--dark,.wp-block-button.is-style-dc-dark .wp-block-button__link{background:var(--dc-ink);color:var(--dc-paper)}
.dc-btn--dark:hover,.wp-block-button.is-style-dc-dark .wp-block-button__link:hover{background:var(--dc-ink-2);color:var(--dc-paper)}
.is-style-dc-blue :focus-visible,.dc-band :focus-visible{outline-color:#fff}
.dc-link-arrow{font-weight:500;text-decoration:none}
.dc-link-arrow:hover{text-decoration:underline}

/* The lockup (brief 2.11): DC / WORD built from type ------------------- */
.dc-lockup{--lk-s:min(12vw,184px);--lk-slash:var(--dc-blue);display:flex;flex-wrap:wrap;align-items:center;margin:0;font-size:var(--lk-s);line-height:1;width:fit-content;max-width:100%;user-select:none;color:var(--dc-ink)}
.dc-lockup__dcwrap{display:inline-block;overflow:hidden;padding:.03em .07em .03em 0;margin-right:-.07em}
.dc-lockup__dc{display:inline-block;font-family:var(--font-display);font-weight:900;letter-spacing:-.05em;line-height:1}
.dc-lockup__slash{display:block;flex:none;width:var(--slash-bar);height:var(--slash-height);background:var(--lk-slash);transform:skewX(-18deg);transform-origin:50% 100%;margin:0 var(--slash-gap-after) 0 var(--slash-gap-before)}
.dc-lockup__break{flex-basis:0;height:0}
.dc-lockup__word{display:inline-block;font-family:var(--font-body);font-weight:300;font-size:var(--lockup-word);letter-spacing:var(--lockup-word-track);line-height:1.3;text-transform:uppercase;margin-left:-.24em;white-space:nowrap}
/* QA cycle 4: a rolling word's mask has the box the Ticker gives it (dc-motion.js)
   from first paint, so the Ticker taking it over moves nothing. */
.dc-lockup__tick,.dc-nav[data-nav] .dc-nav__tick{position:relative;display:inline-block;overflow:hidden;white-space:nowrap;vertical-align:top}
.dc-lockup__tick:not(.is-ticker),.dc-nav[data-nav] .dc-nav__tick:not(.is-ticker){padding:0 .2em 0 .24em}
.dc-lockup.is-ink{color:var(--dc-paper);--lk-slash:var(--dc-signal-blue)}
.dc-lockup.is-blue{color:#fff;--lk-slash:var(--dc-ink)}
.dc-lockup--hero{--lk-s:min(15vw,232px)}
.dc-lockup--page{--lk-s:min(12vw,184px)}
.dc-lockup--explorer{--lk-s:min(8vw,15vh,124px)}
.dc-lockup--band{--lk-s:min(13vw,200px)}
.dc-lockup--menu{--lk-s:min(21vw,180px)}
.dc-lockup--case{--lk-s:min(9vw,140px)}
.dc-lockup--inline{--lk-s:1em}
@media (max-width:759px){
	.dc-lockup.is-stacked .dc-lockup__break{flex-basis:100%}
	.dc-lockup.is-stacked .dc-lockup__word{font-size:.25em;letter-spacing:.28em;margin-top:.06em}
	.dc-lockup.is-stacked .dc-faq-search__field,.dc-lockup.is-stacked .dc-final-cta__field{flex-basis:100%}
	.dc-lockup--hero{--lk-s:34vw}
	.dc-lockup--page{--lk-s:26vw}
	.dc-lockup--band{--lk-s:34vw}
	.dc-lockup--explorer{--lk-s:18vw}
	.dc-lockup--menu{--lk-s:21vw}
}
/* The Blue CTA band lockup fits its column at every width. The DC size S is the smaller of the
   handoff size and the size at which the widest word it can show (dc_lockup()
   prints --lk-row and --lk-stack, the word in ems with its tracking) fits the
   frame, so DC, the slash and the word scale together and stay in proportion,
   and the band has the same height before and after its word rolls in.
   Geometry in units of S, measured on the built lockup: the word starts 1.978
   after the lockup's left edge in the one-line layout; the word box adds 0.44em
   of ticker padding and the skewed mask 0.212em at its top corner; below 760px
   the word sits under DC (0.25em, tracking 0.28em) starting 0.06 to the left and
   the DC / slash line is 2.09 wide. 98% of the column leaves room for rounding.
   One line from 760px (no wrap, so the height never changes); under DC below. */
@supports (width:1cqi){
	.dc-band>.dc-frame{container-type:inline-size}
	.dc-lockup--band.is-fit{flex-wrap:nowrap;--lk-s:min(13vw,200px,calc(98cqi / (1.978 + .345 * (var(--lk-row) + .652))))}
	@media (max-width:759px){
		.dc-lockup--band.is-fit{flex-wrap:wrap;--lk-s:min(34vw,calc(98cqi / max(2.09, .25 * (var(--lk-stack) + .412))))}
	}
}

/* Typographic rows (route-rows, insight-rows, 404) ------------------------ */
.dc-rows{list-style:none;margin:0;padding:0;border-top:var(--rule)}
.dc-rows>li,.dc-rows>.wp-block-post{border-bottom:var(--rule);margin:0}
.dc-row{display:grid;grid-template-columns:minmax(0,200px) minmax(0,1fr) auto 32px;gap:var(--space-5);align-items:baseline;padding:var(--space-6) 0;color:inherit;text-decoration:none;transition:background-color 320ms var(--ease-out)}
/* QA cycle 4: the row's 16px hover indent is drawn by transform (its cells move in; the row's box never changes), so pointing at a row moves no layout. */
.dc-row>.dc-row__meta,.dc-row>.dc-row__title,.dc-row>.dc-row__aside{transition:transform 320ms var(--ease-out)}
a.dc-row:hover{background:var(--dc-white);color:inherit}
a.dc-row:hover>.dc-row__meta,a.dc-row:hover>.dc-row__title{transform:translateX(var(--space-4))}
a.dc-row:hover>.dc-row__aside{transform:translateX(calc(-1 * var(--space-4)))}
.dc-row__meta{font:500 var(--text-label)/1.4 var(--font-body);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--dc-graphite)}
.dc-row__meta a{color:inherit;text-decoration:none}
.dc-row__title{font-family:var(--font-display);font-weight:800;font-size:clamp(20px,1.8vw,26px);line-height:1.2;letter-spacing:-.02em}
.dc-row__title a{color:inherit;text-decoration:none}
.dc-row__aside{font-size:var(--text-small);color:var(--dc-graphite)}
.dc-row__arrow{font-size:20px;color:var(--dc-blue);transition:transform 320ms var(--ease-out)}
a.dc-row:hover .dc-row__arrow{transform:translateX(calc(6px - var(--space-4)))}
.dc-row--static{grid-template-columns:minmax(0,200px) minmax(0,1fr) auto}
.dc-row--quiet .dc-row__title{font-family:var(--font-body);font-weight:500;font-size:var(--text-body);letter-spacing:0}
@media (max-width:759px){
	.dc-row,.dc-row--static{grid-template-columns:minmax(0,1fr) 24px;row-gap:var(--space-1)}
	.dc-row__meta{grid-column:1/-1}
	.dc-row__aside{grid-column:1}
	.dc-row__arrow{grid-row:2;grid-column:2}
}

/* Breadcrumb (brief 2.6) ------------------------------------------------- */
.dc-breadcrumb ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-2);font:400 var(--text-small)/1.5 var(--font-body)}
.dc-breadcrumb li{display:inline-flex;gap:var(--space-2);align-items:baseline}
.dc-breadcrumb a{color:inherit;text-decoration:none}
.dc-breadcrumb a:hover{text-decoration:underline}
.dc-breadcrumb__sep{font-weight:300;color:var(--dc-blue)}
.dc-breadcrumb [aria-current]{color:var(--dc-graphite)}
.dc-breadcrumb.is-ink [aria-current]{color:var(--dc-silver)}
.dc-breadcrumb.is-ink .dc-breadcrumb__sep{color:var(--dc-signal-blue)}

/* Prose (legal, posts, biography) --------------------------------------- */
.dc-prose{max-width:68ch;font-size:var(--text-body);line-height:1.6}
.dc-prose>*+*{margin-block-start:1em}
.dc-prose h2{font-size:var(--text-section);margin-block-start:1.6em}
.dc-prose h3{font-size:var(--text-h3);margin-block-start:1.4em}
.dc-prose ul{list-style:none;padding-left:1.4em}
.dc-prose ul>li{position:relative}
.dc-prose ul>li::before{content:'/';position:absolute;left:-1.1em;font-weight:300;color:var(--dc-blue)}
.dc-prose table{width:100%;border-collapse:collapse;font-size:var(--text-small)}
.dc-prose th{font:500 var(--text-label)/1.4 var(--font-body);letter-spacing:var(--track-label);text-transform:uppercase;text-align:left}
.dc-prose th,.dc-prose td{padding:var(--space-3) var(--space-3) var(--space-3) 0;border-bottom:var(--rule);vertical-align:top}
.dc-prose .wp-block-table table,.dc-prose .wp-block-table th,.dc-prose .wp-block-table td,.dc-prose .wp-block-table thead{border:0}
.dc-prose .wp-block-table th,.dc-prose .wp-block-table td{border-bottom:var(--rule)}
.dc-prose .wp-block-table thead{border-bottom:1px solid var(--dc-ink)}
.dc-prose blockquote{margin:1.6em 0;padding-left:var(--space-5);border-left:3px solid var(--dc-blue);font-family:var(--font-display);font-weight:800;font-size:var(--text-h3);line-height:1.2}
.dc-prose figure figcaption{font-size:var(--text-caption);color:var(--dc-graphite);margin-top:var(--space-2)}
.wp-block-list.is-style-dc-slash{list-style:none;padding-left:1.4em}
.wp-block-list.is-style-dc-slash>li{position:relative}
.wp-block-list.is-style-dc-slash>li::before{content:'/';position:absolute;left:-1.1em;font-weight:300;color:var(--dc-blue)}
.is-style-dc-ink .wp-block-list.is-style-dc-slash>li::before{color:var(--dc-signal-blue)}

/* Chips (handoff: filters and form options) ------------------------------ */
.dc-chip{display:inline-flex;align-items:center;min-height:40px;padding:0 16px;border:1px solid var(--dc-stone);background:var(--dc-white);color:var(--dc-ink);font:500 14px/1 var(--font-body);cursor:pointer;transition:background-color var(--dur-micro) var(--ease-ui),color var(--dur-micro) var(--ease-ui),border-color var(--dur-micro) var(--ease-ui)}
.dc-chip:hover{border-color:var(--dc-ink)}
.dc-chip[aria-pressed=true]{background:var(--dc-ink);color:var(--dc-paper);border-color:var(--dc-ink)}
@media (max-width:759px){.dc-chip{min-height:48px}}

/* Reduced motion: no smooth scrolling anywhere, and no CSS transitions.
   QA cycle 4: the duration is 0s, not 1ms. A 1ms duration turned every
   instant style change into a one-frame transition (transition-property is
   "all" by default), so for one frame a changed box kept its old padding,
   size or place and then jumped, which the browser counts as layout shift. */
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:0s!important}}
