/* Base element styles + utilities. Kept minimal so WordPress themes can opt in. */
*,*::before,*::after{box-sizing:border-box}
.vx-root,body.vx-root{margin:0;background:var(--surface-page);color:var(--text-primary);font-family:var(--font-body);font-size:var(--fs-body-m);line-height:var(--lh-body-m);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:var(--text-link);text-decoration-color:var(--accent-line);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{color:var(--text-accent)}
:focus-visible{outline:2px solid var(--focus-color);outline-offset:2px}
.vx-display,.vx-h1,.vx-h2{font-family:var(--font-display);text-transform:uppercase;font-weight:var(--fw-black);margin:0;text-wrap:balance}
.vx-display{font-size:var(--fs-display);line-height:var(--lh-display);letter-spacing:var(--ls-display)}
.vx-h1{font-size:var(--fs-h1);line-height:var(--lh-h1);letter-spacing:var(--ls-h1)}
.vx-h2{font-size:var(--fs-h2);line-height:var(--lh-h2);font-weight:var(--fw-bold)}
.vx-h3,.vx-h4,.vx-h5{font-family:var(--font-display);font-weight:var(--fw-bold);margin:0;text-wrap:balance}
.vx-h3{font-size:var(--fs-h3);line-height:var(--lh-h3)}
.vx-h4{font-size:var(--fs-h4);line-height:var(--lh-h4)}
.vx-h5{font-size:var(--fs-h5);line-height:var(--lh-h5);font-weight:var(--fw-semibold)}
.vx-h6{font-family:var(--font-label);font-size:var(--fs-h6);line-height:var(--lh-h6);letter-spacing:var(--ls-h6);text-transform:uppercase;font-weight:var(--fw-bold);margin:0}
.vx-body-l{font-size:var(--fs-body-l);line-height:var(--lh-body-l)}
.vx-body-m{font-size:var(--fs-body-m);line-height:var(--lh-body-m)}
.vx-body-s{font-size:var(--fs-body-s);line-height:var(--lh-body-s)}
.vx-caption{font-size:var(--fs-caption);line-height:var(--lh-caption);color:var(--text-muted)}
.vx-overline{font-family:var(--font-label);font-size:var(--fs-overline);letter-spacing:var(--ls-overline);text-transform:uppercase;font-weight:var(--fw-semibold);color:var(--text-accent)}
.vx-spec-label{font-family:var(--font-label);font-size:var(--fs-spec-label);letter-spacing:var(--ls-spec-label);text-transform:uppercase;font-weight:var(--fw-semibold);color:var(--text-muted)}
.vx-num{font-family:var(--font-numeric);font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"tnum" 1,"lnum" 1}
.vx-prose{max-width:var(--measure);text-wrap:pretty}
.vx-container{width:100%;max-width:calc(var(--grid-content) + var(--grid-margin)*2);margin:0 auto;padding:0 var(--grid-margin)}
.vx-grid{display:grid;grid-template-columns:repeat(var(--grid-columns),minmax(0,1fr));gap:var(--grid-gutter)}
.vx-sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.vx-skip-link{position:absolute;left:8px;top:-60px;background:var(--white);color:var(--carbon-950);padding:12px 16px;z-index:999;font-weight:600}
.vx-skip-link:focus{top:8px}
