

*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }
html {
  -webkit-text-size-adjust: 100%; text-size-adjust: 100%;
  background: var(--ground-light); scroll-behavior: smooth;
}
html.rm { scroll-behavior: auto; }

html.is-landing { scroll-behavior: auto; }
html.is-landing, html.is-landing body { overflow-anchor: none; }
html { -webkit-tap-highlight-color: transparent; }

html { scroll-padding: calc(var(--frame) + 12px) 0 calc(var(--frame) + 12px); }
@media (max-width: 1023px) { html { scroll-padding-bottom: calc(var(--bar) + env(safe-area-inset-bottom, 0px) + 12px); } }
body {
  margin: 0; background: var(--ground-light); color: var(--black);
  font-family: var(--font); font-weight: 200; font-size: var(--t-body); line-height: var(--lh-body);
  font-synthesis: none; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}
main, footer { overflow-x: clip; }
html.intro-on body, html.is-locked body { overflow: hidden; }
html.is-locked.has-scrollbar body { padding-right: var(--sbw, 0px); }
img { display: block; max-width: 100%; }
button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; border-radius: 0; }
a { color: inherit; text-decoration: none; }
ol, ul { list-style: none; margin: 0; padding: 0; }
h1, h2, h3, h4, p, figure, dl, dd { margin: 0; }
h1, h2, h3, h4 { font-weight: 500; }
b, strong { font-weight: 500; }
em, i { font-style: normal; }
::selection { background: var(--fill-inv, var(--ground-dark)); color: var(--fg-inv, var(--white)); }

:focus-visible { outline: 2px solid var(--accent, var(--accent-on-light)); outline-offset: 3px; }
:focus:not(:focus-visible) { outline: none; }
main:focus, .sheet[tabindex="-1"]:focus { outline: none; }

@media (hover: hover) and (pointer: fine) {
  a[href], button, [role="button"], summary, select, label[for] { cursor: var(--cur-link); }
  button:disabled, [aria-disabled="true"] { cursor: default; }
  .skip { cursor: var(--cur-plus-w); }
}

.sr-only {
  position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden;
  clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0;
}
.skip {
  position: fixed; left: 12px; top: -80px; z-index: 400; background: var(--ground-dark); color: var(--white);
  padding: 12px 16px; font-weight: 300; font-size: var(--t-small); line-height: var(--lh-text);
}
.skip:focus { top: 12px; }

.wrap { padding-left: var(--lx); padding-right: var(--rx); }

.lbl {
  font-weight: 300; font-size: var(--t-label); line-height: var(--lh-text); letter-spacing: var(--tr-label); text-transform: uppercase;
  font-variant-numeric: tabular-nums;
}
.lbl--fg2 { color: var(--fg2); }
.h1 { font-weight: 500; font-size: var(--t-title); line-height: var(--lh-display); letter-spacing: var(--tr-display); text-wrap: balance; }
.num { font-variant-numeric: tabular-nums; }

.mark {
  display: block; aspect-ratio: 595.28 / 841.89; background-color: var(--logo, var(--black));
  -webkit-mask: url('../assets/logo/master-white.svg') center / contain no-repeat;
  mask: url('../assets/logo/master-white.svg') center / contain no-repeat;
}
@media (forced-colors: active) { .mark { forced-color-adjust: none; background-color: CanvasText; } }

.dv__name { color: var(--accent); }

.ul {
  background: linear-gradient(var(--accent), var(--accent)) 0 calc(100% - .04em) / 0 var(--ul-w, max(1px, .055em)) no-repeat;
  -webkit-box-decoration-break: clone; box-decoration-break: clone;
  transition: background-size .3s var(--ease-ui), color .25s var(--ease-ui);
}
a:focus-visible .ul, button:focus-visible .ul, a.ul:focus-visible {
  background-size: 100% var(--ul-w, max(1px, .055em));
  transition: background-size .45s var(--ease-light), color .2s var(--ease-ui);
}
@media (hover: hover) {
  a:hover .ul, button:hover .ul, a.ul:hover, [data-ul]:hover .ul {
    background-size: 100% var(--ul-w, max(1px, .055em));
    transition: background-size .45s var(--ease-light), color .2s var(--ease-ui);
  }
}
@media (forced-colors: active) { .ul { background: none; } a:hover .ul, a:focus-visible .ul, button:hover .ul, button:focus-visible .ul { text-decoration: underline; } }

.bub {
  flex: none; width: 30px; height: 30px; border-radius: 50%; border: 1px solid currentColor;
  display: inline-grid; place-items: center; font-weight: 500; font-size: var(--t-micro); line-height: var(--lh-micro);
  letter-spacing: var(--tr-text); font-variant-numeric: tabular-nums;
}

.arr { position: relative; flex: none; display: inline-block; width: 22px; height: 1px; background: currentColor; transition: width .35s var(--ease-light); }
.arr::after {
  content: ''; position: absolute; right: 0; top: 0; width: 7px; height: 7px;
  border-top: 1px solid currentColor; border-right: 1px solid currentColor; transform: rotate(45deg); transform-origin: 100% 0;
}
.arr--up { width: 1px; height: 12px; }
.arr--up::after { top: 1px; left: -3px; right: auto; border-right: 0; border-left: 1px solid currentColor; transform: rotate(45deg); transform-origin: 50% 50%; }

.pn { font-variant-numeric: normal; }
.ext { display: inline-block; width: 8px; height: 8px; position: relative; margin-left: 5px; vertical-align: .08em; }
.ext::before { content: ''; position: absolute; right: 0; top: 0; width: 6px; height: 6px; border-top: 1px solid currentColor; border-right: 1px solid currentColor; }
.ext::after { content: ''; position: absolute; left: 0; top: 50%; width: 10px; height: 1px; background: currentColor; transform: translateY(-.5px) rotate(-45deg); transform-origin: 50% 50%; left: -1px; }
.x { width: 14px; height: 14px; position: relative; flex: none; }
.x::before, .x::after { content: ''; position: absolute; left: 50%; top: 0; bottom: 0; width: 1px; background: currentColor; }
.x::before { transform: rotate(45deg); }
.x::after { transform: rotate(-45deg); }

.sheet { position: relative; background: var(--bg); padding: clamp(64px, 7.2vw, 116px) 0 clamp(64px, 6.6vw, 106px); }
.shead { display: flex; align-items: center; gap: 14px; margin-bottom: clamp(44px, 6.4vw, 104px); }
.shead__no { width: 34px; height: 34px; }
.shead__title { white-space: nowrap; }
.shead__rule { flex: 1; height: 1px; position: relative; min-width: 24px; }
.shead__rule i { position: absolute; inset: 0; background: var(--accent); transform-origin: 0 50%; }
.shead__rule::before, .shead__rule::after {
  content: ''; position: absolute; top: -5px; width: 1px; height: 11px; background: var(--fg); transform: rotate(45deg);
}
.shead__rule::before { left: 0; }
.shead__rule::after { right: 0; }
.shead__meta { white-space: nowrap; }
@media (max-width: 640px) { .shead__meta { display: none; } }

html.js:not(.rm) [data-in] { opacity: 0; transform: translateY(16px); transition: opacity .9s var(--ease-light), transform 1s var(--ease-light); transition-delay: var(--d, 0s); }
html.js:not(.rm) [data-in].is-in { opacity: 1; transform: none; }

html.js:not(.rm) [data-in]:focus-within { opacity: 1; transform: none; transition-duration: .2s; transition-delay: 0s; }

html.no-js :is(#coverCues, .notes:has(#values), .sched, .dv__views, #workFilters, #workGrid,
  #leadGrid, .tb--contact, .tb__date, .strip__clock, #menuBtn) { display: none; }

html.no-js .tb--cta { grid-column: 1 / -1; }

html.no-js .cta__btn { pointer-events: none; }
html.js:not(.rm) .shead .shead__rule i { transform: scaleX(0); transition: transform 1.1s var(--ease-plot) .15s; }
html.js:not(.rm) .shead.is-in .shead__rule i { transform: scaleX(1); }

.vt { display: flex; gap: 12px; align-items: flex-start; min-width: 0; }
.vt__txt { min-width: 0; }
.vt__t { font-size: var(--t-small); line-height: var(--lh-text); }
.vt__t b { font-weight: 500; }
.vt__rule { height: 1px; background: currentColor; margin: 7px 0 8px; width: 100%; }
.vt__m { color: var(--fg2); }
.nw { white-space: nowrap; }

.mline { overflow: hidden; word-spacing: .88em; text-wrap: balance; }
.mline > span { word-spacing: normal; }

.sc { display: inline-block; max-width: 100%; }
.sc__k { letter-spacing: var(--tr-text); }

.sc__g { word-spacing: .88em; }
.sc__n { white-space: nowrap; position: relative; }
.sc__w { white-space: nowrap; }
.sc__w.is-loose { white-space: normal; }

.vt__m.is-tight, .wk__m.is-tight { -webkit-hyphens: auto; hyphens: auto; overflow-wrap: break-word; }
.sc__n::before { content: "\B7"; position: absolute; right: 100%; width: 1.42em; text-align: center; letter-spacing: var(--tr-text); }
.mline > span + span { white-space: nowrap; position: relative; }
.mline > span + span::before { content: "\B7"; position: absolute; right: 100%; width: 1.42em; text-align: center; letter-spacing: var(--tr-text); }
.vt__c { color: var(--fg2); font-size: var(--t-label); line-height: var(--lh-text); letter-spacing: var(--tr-label); text-transform: uppercase; font-weight: 300; margin-top: 5px; }

.ph {
  background:
    repeating-linear-gradient(90deg, var(--cons) 0 16px, transparent 16px 21px, var(--cons) 21px 23px, transparent 23px 28px) 0 50% / 100% 1px no-repeat,
    repeating-linear-gradient(180deg, var(--cons) 0 16px, transparent 16px 21px, var(--cons) 21px 23px, transparent 23px 28px) 50% 0 / 1px 100% no-repeat,
    var(--bg);
  box-shadow: inset 0 0 0 1px var(--cons);
}

html.rm *, html.rm *::before, html.rm *::after { animation: none !important; transition: none !important; }

@media (hover: none) { .cue__btn:active, .vw__btn:active, .mail:active, a.soc:active, .filters button:active { text-decoration: underline 1px var(--accent); text-underline-offset: .25em; } }

@media (forced-colors: active) {
  .arr, .x, .ext, .strip__ico { forced-color-adjust: none; color: CanvasText; }
  :is(button, [role="button"]) :is(.arr, .x, .ext, .strip__ico) { color: ButtonText; }
  a :is(.arr, .x, .ext) { color: LinkText; }
  .arr, .x::before, .x::after, .ext::after, .strip__ico::after { background: currentColor; }
}
