

@font-face { font-family: 'Barlow Semi Condensed'; src: url('../assets/fonts/barlow-semi-condensed-600-latin.woff2') format('woff2'); font-weight: 600; font-display: swap; }
@font-face { font-family: 'Barlow Semi Condensed'; src: url('../assets/fonts/barlow-semi-condensed-700-latin.woff2') format('woff2'); font-weight: 700; font-display: swap; }
@font-face { font-family: 'IBM Plex Sans'; src: url('../assets/fonts/ibm-plex-sans-var-latin.woff2') format('woff2'); font-weight: 100 700; font-display: swap; }

:root {

  --charcoal: #1c2327;
  --charcoal-deep: #13181b;
  --graphite: #2b3439;
  --paper: #f4f2ed;
  --paper-2: #e9e5dc;
  --white: #ffffff;
  --red: #fc0301;
  --red-btn: #d20300;
  --red-btn-hover: #ae0200;
  --red-ink: #c00300;
  --red-on-dark: #ff5a52;
  --red-on-graphite: #ff7a72;
  --ink: #1c2327;
  --ink-2: #434d54;
  --ink-3: #5c656b;
  --line: #ddd9cf;
  --line-2: #c9c4b8;
  --on-dark: #f4f2ed;
  --on-dark-2: #bcc3c7;
  --on-dark-3: #949ea4;
  --line-dark: rgba(244, 242, 237, .14);
  --display: 'Barlow Semi Condensed', 'Arial Narrow', 'Helvetica Neue', Arial, sans-serif;
  --font: 'IBM Plex Sans', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  --wrap: 1240px;
  --gut: clamp(16px, 4vw, 48px);
  --sec: clamp(64px, 8vw, 112px);
  --hdr: 76px;
  --r: 2px;
  --slant: polygon(32% 0, 100% 0, 68% 100%, 0 100%);
}
@media (min-width: 1100px) { :root { --hdr: 104px; } }
@media (min-width: 1680px) { :root { --wrap: 1400px; } }

*, *::before, *::after { box-sizing: border-box; }
* { margin: 0; padding: 0; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: calc(var(--hdr) + 16px); background: var(--charcoal); }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }
html.menu-open, html.menu-open body { overflow: hidden; }
body {
  background: var(--white); color: var(--ink-2);
  font-family: var(--font); font-size: 17px; line-height: 1.6;
  text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased;
}
img, svg { display: block; max-width: 100%; }
ul, ol { list-style: none; }
a { color: inherit; -webkit-tap-highlight-color: rgba(252, 3, 1, .14); }
a, button, summary, label { touch-action: manipulation; }
button { font: inherit; color: inherit; background: none; border: 0; cursor: pointer; }
:focus-visible { outline: 2px solid var(--red-ink); outline-offset: 3px; }
.k-dark :focus-visible, .c-first :focus-visible, .c-hdr :focus-visible, .c-mnav :focus-visible, .c-ftr :focus-visible, .c-band :focus-visible { outline-color: var(--on-dark); }
main:focus { outline: none; }
.sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.skip { position: absolute; left: 12px; top: -60px; z-index: 400; background: var(--white); color: var(--ink); padding: 10px 16px; font-weight: 600; text-decoration: none; }
.skip:focus { top: 12px; }
.i { width: 20px; height: 20px; flex: none; }
.i--sm { width: 16px; height: 16px; }
p { max-width: 68ch; text-wrap: pretty; }
.nw { white-space: nowrap; }

.c-h1, .c-h2, .c-h3, .c-h4 { font-family: var(--display); color: var(--ink); text-wrap: balance; font-weight: 700; }
.c-h1 { font-size: clamp(30px, 8vw, 40px); line-height: 1.04; letter-spacing: -.004em; overflow-wrap: break-word; }
@media (min-width: 1024px) {
  .c-h1 { font-size: clamp(40px, 3.3vw, 50px); }
}
.c-h2 { font-size: clamp(28px, 3vw, 42px); line-height: 1.06; letter-spacing: -.003em; }
.c-h3 { font-size: clamp(21px, 1.8vw, 25px); line-height: 1.14; font-weight: 600; }
.c-h4 { font-size: 19.5px; line-height: 1.22; font-weight: 600; }
.c-lede { font-size: clamp(17px, 1.3vw, 19px); line-height: 1.58; color: var(--ink-2); max-width: 36em; }
.c-kicker, .k-label {
  display: flex; align-items: center; gap: 12px;
  font-family: var(--display); font-size: 14.5px; font-weight: 600; line-height: 1.25; letter-spacing: .13em; text-transform: uppercase;
  color: var(--red-ink); margin-bottom: 18px;
}
.c-kicker, .k-label { max-width: none; }
.c-kicker::before, .k-label::before { content: ''; flex: none; width: 22px; height: 11px; background: var(--red); clip-path: var(--slant); }
.c-kicker svg.i { display: inline-block; vertical-align: -3px; margin-right: 6px; }
.k-label--rule::after { content: ''; flex: 1; height: 1px; background: var(--line-2); }
.k-dark .c-kicker, .k-dark .k-label, .c-first .c-kicker { color: var(--red-on-dark); }
.k-dark .k-label--rule::after { background: var(--line-dark); }
main a:not(.c-btn) { text-decoration-color: color-mix(in srgb, var(--red) 75%, transparent); text-decoration-thickness: 1px; text-underline-offset: 3px; }
main a:not(.c-btn):hover { color: var(--red-ink); }
.k-dark a:not(.c-btn):hover, .c-first a:not(.c-btn):hover { color: var(--white); text-decoration-color: var(--red); }
.c-small { font-size: 14.5px; color: var(--ink-3); }

.k-dark { background: var(--charcoal); color: var(--on-dark-2); }
.k-dark .c-h1, .k-dark .c-h2, .k-dark .c-h3, .k-dark .c-h4 { color: var(--white); }
.k-dark .c-lede { color: var(--on-dark-2); }

.c-wrap { width: 100%; max-width: calc(var(--wrap) + 2 * var(--gut)); margin-inline: auto; padding-inline: var(--gut); }

.c-first__grid, .k-intro, .k-feature, .c-hsq, .k-hsq, .c-two, .c-head, .k-work, .c-formwrap { grid-template-columns: minmax(0, 1fr); }
.c-sec { padding-block: var(--sec); }
.c-sec--tight { padding-block: clamp(48px, 5vw, 72px); }
.k-paper { background: var(--paper); }
.c-sec--line { border-top: 1px solid var(--line); }
.c-head { display: grid; gap: 18px; margin-bottom: clamp(36px, 4.5vw, 60px); }
.c-head__lead { display: grid; gap: 14px; color: var(--ink-2); }
.k-dark .c-head__lead { color: var(--on-dark-2); }
@media (min-width: 1024px) { .c-head--split { grid-template-columns: 6fr 5fr; gap: 72px; align-items: end; } }
.c-note { padding-left: 18px; border-left: 3px solid var(--red); font-size: 15.5px; }
.c-two { display: grid; gap: 40px; }
@media (min-width: 1024px) { .c-two { grid-template-columns: 5fr 6fr; gap: 72px; align-items: start; } }
.c-grid3 { display: grid; gap: 24px; }
@media (min-width: 640px) { .c-grid3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .c-grid3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

.c-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.c-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 50px; padding: 0 24px; border: 1.5px solid transparent; border-radius: var(--r);
  font-family: var(--display); font-size: 17px; font-weight: 600; line-height: 1.1; letter-spacing: .06em; text-transform: uppercase;
  text-decoration: none; white-space: nowrap;
  transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}
.c-btn .i { width: 18px; height: 18px; transition: transform .15s ease; }
.c-btn:hover .i { transform: translateX(2px); }
.c-btn--red { background: var(--red-btn); color: var(--white); }
.c-btn--red:hover { background: var(--red-btn-hover); }
.c-btn--line { background: transparent; color: var(--ink); border-color: var(--ink); }
.c-btn--line:hover { background: var(--ink); color: var(--white); }
.k-dark .c-btn--line, .c-first .c-btn--line, .c-band .c-btn--line, .c-mnav .c-btn--line, .c-ftr .c-btn--line { color: var(--white); border-color: rgba(244, 242, 237, .55); }
.k-dark .c-btn--line:hover, .c-first .c-btn--line:hover, .c-band .c-btn--line:hover, .c-ftr .c-btn--line:hover { background: var(--white); color: var(--ink); border-color: var(--white); }
.c-btn--sm { min-height: 42px; padding: 0 18px; font-size: 15.5px; }
@media (max-width: 479px) { .c-btn { white-space: normal; text-align: center; padding-block: 12px; } .c-actions > .c-btn { flex: 1 1 100%; } }
.c-more { display: inline-flex; align-items: center; gap: 8px; font-family: var(--display); font-size: 17px; font-weight: 600; letter-spacing: .02em; color: var(--ink); }
.k-dark .c-more, .c-first .c-more { color: var(--white); }
.c-more .i { color: var(--red); }
.c-linklist { display: flex; flex-wrap: wrap; gap: 6px 22px; }
.c-linklist a { display: inline-flex; align-items: center; gap: 6px; font-size: 15px; font-weight: 500; color: var(--ink); }
.c-linklist .i { color: var(--red); }
.k-dark .c-linklist a, .c-first .c-linklist a { color: var(--on-dark); }

.tbc__chip {
  display: inline-block; margin-left: .45em; padding: 1px 6px; vertical-align: .12em;
  font-family: var(--font); font-size: 10.5px; font-weight: 600; letter-spacing: .04em; line-height: 1.45; text-transform: uppercase;
  color: #6b3500; background: #fff3e0; border: 1px solid #eebf80; border-radius: 2px; white-space: nowrap;
}
.tbc--block { position: relative; outline: 1px dashed #eebf80; outline-offset: 6px; }
.tbc--block > .tbc__chip { position: absolute; top: -14px; right: -6px; margin: 0; }
.draft-note { margin-block: 20px; padding: 12px 16px; border: 1px dashed #eebf80; background: #fffaf2; font-size: 15px; }
.int-badge { position: fixed; left: 12px; bottom: 12px; z-index: 300; padding: 4px 10px; font-family: var(--display); font-size: 13px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: #6b3500; background: #fff3e0; border: 1px solid #eebf80; border-radius: 2px; pointer-events: none; }

.c-hdr { position: sticky; top: 0; z-index: 100; height: var(--hdr); background: var(--charcoal); color: var(--on-dark); border-bottom: 1px solid var(--line-dark); }
.c-hdr__in { display: flex; align-items: center; gap: 16px; height: 100%; }

.c-hdr__brand { flex: none; display: flex; align-items: center; height: 100%; }
.c-hdr__brand img { height: 58px; width: auto; }

.c-hdr__logo { position: relative; display: block; }
.c-hdr__logo > img { display: block; }
.c-hdr__anim { position: absolute; left: 0; top: -8.004%; width: 100%; height: 108.004%; max-width: none; object-fit: fill; opacity: 0; transition: opacity .4s ease; pointer-events: none; }
.c-hdr__logo.is-playing .c-hdr__anim { opacity: 1; }
@media (prefers-reduced-motion: reduce), (forced-colors: active) { .c-hdr__anim { display: none; } }
.c-hdr__nav { display: none; }
.c-hdr__list { display: flex; align-items: center; gap: 0; }
.c-hdr__list > li { position: relative; }
.c-hdr__has-sub { display: flex; align-items: center; }
.c-hdr__link {
  display: inline-flex; align-items: center; height: calc(var(--hdr) - 1px); padding: 0 11px;
  font-family: var(--display); font-size: 17px; font-weight: 600; letter-spacing: .02em; white-space: nowrap;
  color: var(--on-dark); text-decoration: none; box-shadow: inset 0 -3px 0 transparent; transition: box-shadow .15s ease, color .15s ease;
}
.c-hdr__link:hover { color: var(--white); box-shadow: inset 0 -3px 0 var(--line-dark); }
.c-hdr__link[aria-current="page"], .c-hdr__link[data-current] { color: var(--white); box-shadow: inset 0 -3px 0 var(--red); }
.c-hdr__sub-btn { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 40px; margin-left: -9px; color: var(--on-dark-3); }
.c-hdr__sub-btn:hover { color: var(--white); }
.c-hdr__sub-btn[aria-expanded="true"] .i { transform: rotate(180deg); }
.c-hdr__sub { position: absolute; top: 100%; left: -8px; width: min(720px, 80vw); padding: 28px; background: var(--white); color: var(--ink); border-top: 3px solid var(--red); box-shadow: 0 20px 48px rgba(10, 14, 16, .28); }
.c-hdr__sub-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.c-hdr__grp-h, .c-mnav__grp-h { font-family: var(--display); font-size: 13.5px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-3); margin-bottom: 8px; }
.c-hdr__grp a { display: block; padding: 6px 0; font-size: 15px; color: var(--ink); text-decoration: none; }
.c-hdr__grp a:hover, .c-hdr__grp a[aria-current="page"] { color: var(--red-ink); }
.c-hdr__sub-all { display: inline-flex; align-items: center; gap: 6px; margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--line); width: 100%; font-family: var(--display); font-size: 16.5px; font-weight: 600; color: var(--ink); text-decoration: none; }
.c-hdr__sub-all .i { color: var(--red); }
.c-hdr__sub :focus-visible { outline-color: var(--red-ink); }
.c-hdr__actions { display: flex; align-items: center; gap: 12px; margin-left: auto; }
.c-hdr__tel { display: none; flex-direction: column; align-items: flex-end; gap: 3px; color: var(--white); text-decoration: none; }
.c-hdr__tel-l { font-family: var(--display); font-size: 12.5px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--on-dark-3); line-height: 1; }
.c-hdr__tel-n { display: inline-flex; align-items: center; gap: 8px; font-family: var(--display); font-size: 21px; font-weight: 700; letter-spacing: .03em; line-height: 1; font-variant-numeric: tabular-nums; white-space: nowrap; }
.c-hdr__tel .i { width: 15px; height: 15px; color: var(--red); }
.c-hdr__tel:hover .c-hdr__tel-n { text-decoration: underline; text-decoration-color: var(--red); text-decoration-thickness: 2px; text-underline-offset: 4px; }
.c-hdr__cta { display: none; }
.c-hdr__call { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; color: var(--white); border: 1px solid var(--line-dark); border-radius: var(--r); }
.c-hdr__call .i { width: 18px; height: 18px; color: var(--red); }
.c-hdr__menu { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; margin-right: -10px; color: var(--white); }
@media (min-width: 640px) { .c-hdr__cta { display: inline-flex; } }
@media (min-width: 1100px) { .c-hdr__brand img { height: 84px; } }
@media (min-width: 1200px) {
  .c-hdr__in { gap: 0; }
  .c-hdr__brand { padding-right: 22px; margin-right: 10px; border-right: 1px solid var(--line-dark); }
  .c-hdr__nav { display: block; }
  .c-hdr__menu { display: none; }
  .c-hdr__actions { gap: 18px; }
}
@media (min-width: 1420px) { .c-hdr__tel { display: inline-flex; } .c-hdr__call { display: none; } .c-hdr__link { padding: 0 13px; } }

.c-mnav { position: fixed; inset: 0; z-index: 200; display: flex; flex-direction: column; gap: 24px; padding: 0 var(--gut) calc(24px + env(safe-area-inset-bottom)); background: var(--charcoal); color: var(--on-dark); overflow-y: auto; overscroll-behavior: contain; }
.c-mnav[hidden] { display: none; }
.c-mnav__top { display: flex; align-items: center; justify-content: space-between; min-height: var(--hdr); border-bottom: 1px solid var(--line-dark); }
.c-mnav__logo { width: 104px; height: auto; }
.c-mnav__close { width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; margin-right: -10px; color: var(--white); }
.c-mnav__main a { display: block; padding: 13px 0; font-family: var(--display); font-size: 24px; font-weight: 600; color: var(--white); text-decoration: none; border-bottom: 1px solid var(--line-dark); }
.c-mnav__main a[aria-current="page"] { box-shadow: inset 3px 0 0 var(--red); padding-left: 14px; }

.c-mnav__main .c-mnav__sub a { padding: 10px 0 11px 20px; font-size: 19px; color: var(--on-dark); }
.c-mnav__main .c-mnav__sub a[aria-current="page"] { padding-left: 20px; }
.c-mnav__grp { margin-top: 22px; }
.c-mnav__grp-h { color: var(--on-dark-3); }
.c-mnav__grp a { display: block; padding: 7px 0; color: var(--on-dark); text-decoration: none; }
.c-mnav__ctas { display: grid; gap: 10px; margin-top: auto; }

.crumbs ol { display: flex; flex-wrap: wrap; gap: 4px 0; font-size: 14px; color: var(--ink-3); }
.crumbs li + li::before { content: '/'; margin: 0 10px; color: var(--line-2); }
.crumbs a { color: var(--ink-3); text-decoration: none; }
.crumbs a:hover { color: var(--ink); text-decoration: underline; }
.c-first .crumbs ol, .c-first .crumbs a { color: var(--on-dark-3); }
.c-first .crumbs li + li::before { color: var(--on-dark-3); }
.c-first .crumbs [aria-current] { color: var(--on-dark-2); }
.c-first .crumbs a:hover { color: var(--white); }

.c-frame { position: relative; aspect-ratio: 4 / 3; overflow: hidden; border-radius: var(--r); background: var(--paper-2); }
.k-dark .c-frame, .c-first .c-frame { background: var(--graphite); }
.c-frame > a, .c-frame img { display: block; width: 100%; height: 100%; }
.c-frame picture { display: contents; }
.c-frame img { object-fit: cover; object-position: var(--focus, 50% 25%); transition: transform .5s cubic-bezier(.2, .7, .2, 1); }
.c-frame > a:hover img { transform: scale(1.025); }
.c-frame > a:focus-visible { outline-offset: -3px; outline: 3px solid var(--white); box-shadow: inset 0 0 0 5px var(--ink); }

.c-first { display: flex; flex-direction: column; background: var(--charcoal); color: var(--on-dark-2); }
.c-first .c-h1 { color: var(--white); }
.c-first .c-lede { color: var(--on-dark-2); }
.c-first__main { flex: 1 0 auto; display: flex; flex-direction: column; padding-block: 24px clamp(36px, 5vw, 56px); }
.c-first__main .crumbs { flex: none; margin-bottom: 24px; }
@media (max-width: 639px) { .c-first__main .crumbs { display: none; } .c-first__main { padding-top: 28px; } }
.c-first__grid { display: grid; gap: 36px; margin-block: auto; }
.c-first__copy .c-lede { margin-top: 20px; }
.c-first__copy .c-lede + .c-lede { margin-top: 12px; }

@media (max-width: 359px) {
  .c-first__copy .c-lede { margin-top: 14px; font-size: 16px; line-height: 1.5; }
  .c-first__copy .c-lede + .c-lede { margin-top: 10px; }
  .c-first__copy .c-actions { margin-top: 22px; }
}
.c-first__copy .c-actions { margin-top: 28px; }
.c-first__aside { min-width: 0; }
.c-first__base { flex: none; position: relative; background: var(--graphite); border-top: 1px solid var(--line-dark); }
.c-first__base::before { content: ''; position: absolute; top: -2px; left: max(var(--gut), calc((100% - var(--wrap)) / 2)); width: 64px; height: 3px; background: var(--red); }
.c-first { min-height: calc(100vh - var(--hdr)); min-height: calc(100svh - var(--hdr)); }
@media (min-width: 1024px) {
  .c-first__main { padding-block: 26px 40px; }
  .c-first__grid { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(48px, 6vw, 104px); align-items: center; }
  .c-first__grid--photo { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(40px, 5vw, 80px); }
  .c-first__grid--solo { grid-template-columns: minmax(0, 860px); }
  .c-first__copy .c-lede { margin-top: 22px; }
  .c-first__copy .c-actions { margin-top: 32px; }
}

@media (min-width: 1024px) and (max-height: 820px) {
  .c-first__main { padding-block: 18px 26px; }
  .c-first__main .crumbs { margin-bottom: 14px; }
  .c-h1 { font-size: clamp(38px, 3.1vw, 44px); }
  .c-first__copy .c-lede { margin-top: 16px; font-size: 17.5px; }
  .c-first__copy .c-actions { margin-top: 24px; }
  .c-first__grid--photo .c-first__aside { max-width: 470px; justify-self: end; width: 100%; }
}
@media (min-width: 1024px) and (max-height: 740px) {
  .c-first__grid--photo .c-first__aside { max-width: 420px; }
  .c-lede { line-height: 1.5; }
}

.c-first--reel {
  position: relative; isolation: isolate; --fade: 1.2s; --cycle: 9.2s; --drift: 24px; --shade: 28, 35, 39;

  --copy-end: calc(max(var(--gut), (100% - var(--wrap)) / 2) + 680px);
}
.c-reel { position: absolute; inset: 0; z-index: -1; overflow: hidden; background: var(--charcoal); }
.c-reel__slide { position: absolute; inset: 0; opacity: 0; transition: opacity var(--fade) ease-in-out; }
.c-reel__slide.is-prev { opacity: 1; z-index: 1; }
.c-reel__slide.is-on { opacity: 1; z-index: 2; }
.c-reel.is-instant .c-reel__slide { transition: none; }
.c-reel__intro { position: absolute; inset: 0; z-index: 2; width: 100%; height: 100%; object-fit: cover; object-position: var(--pos-v, 50% 50%); opacity: 0; transition: opacity var(--fade) ease-in-out; pointer-events: none; }
.c-reel.is-intro .c-reel__intro { opacity: 1; }
.c-reel.is-instant .c-reel__intro { transition: none; }
.c-reel__slide img { position: absolute; top: 0; left: 0; width: calc(100% + var(--drift)); max-width: none; height: 100%; object-fit: cover; object-position: var(--pos-t, 50% 50%); }

.c-reel::after {
  content: ''; position: absolute; inset: 0; z-index: 3;
  background: linear-gradient(0deg, rgba(var(--shade), .93) 0, rgba(var(--shade), .9) 560px, rgba(var(--shade), .34) 680px, rgba(var(--shade), .16) 100%);
}
@media (orientation: portrait) and (max-width: 359px) {
  .c-reel::after { background: linear-gradient(0deg, rgba(var(--shade), .93) 0, rgba(var(--shade), .9) 640px, rgba(var(--shade), .34) 740px, rgba(var(--shade), .16) 100%); }
}
@media (orientation: landscape) {
  .c-reel__slide img { object-position: var(--pos-w, 50% 50%); }

  .c-reel::after { background:
    linear-gradient(90deg, rgba(var(--shade), .93) 0, rgba(var(--shade), .88) calc(var(--copy-end) - 120px), rgba(var(--shade), .7) calc(var(--copy-end) + 40px), rgba(var(--shade), .3) calc(var(--copy-end) + 360px), rgba(var(--shade), .14) 100%),
    linear-gradient(180deg, rgba(var(--shade), .22) 0, rgba(var(--shade), 0) 22%, rgba(var(--shade), 0) 76%, rgba(var(--shade), .3) 100%); }
}
@keyframes c-reel-drift { from { transform: translate3d(0, 0, 0); } to { transform: translate3d(calc(-1 * var(--drift)), 0, 0); } }
@media (prefers-reduced-motion: no-preference) {
  .c-reel.is-live .is-on img, .c-reel.is-live .is-prev img { animation: c-reel-drift var(--cycle) linear both; will-change: transform; }
  .c-reel.is-live .c-reel__slide:nth-child(even) img { animation-direction: reverse; }
  .c-reel.is-live.is-paused .c-reel__slide img { animation-play-state: paused; }
}

@media (orientation: landscape) and (min-width: 1100px) {
  .c-first--reel { --drift: 40px; }
}

.c-mast { margin-bottom: 22px; font-size: 14px; letter-spacing: .22em; }
.c-first .c-mast { color: var(--white); }
.c-mast::before { width: 30px; height: 14px; }
.c-mast__name { font-weight: 700; }
.c-mast__stop { color: var(--red); }

.c-first--reel .c-mast__stop { color: #ff2a20; }

.c-h1.c-h1--brand { font-size: clamp(34px, 11.6vw, 66px); line-height: .98; letter-spacing: -.012em; }
.c-h1__line { display: block; }
.c-h1__sub { display: block; margin-top: .38em; font-size: .56em; font-weight: 600; line-height: 1.08; letter-spacing: -.004em; color: var(--on-dark); }
.c-first--reel .c-first__copy { max-width: 720px; }
.c-first--reel .c-lede { color: var(--on-dark); max-width: 31em; margin-top: 22px; }
.c-first--reel .c-first__copy .c-actions { margin-top: 30px; }

.c-first--reel .c-first__grid { margin-top: auto; margin-bottom: 0; }
@media (orientation: landscape) { .c-first--reel .c-first__grid { margin-block: auto; } }
@media (min-width: 1024px) {
  .c-mast { margin-bottom: 28px; font-size: 15px; }

  .c-h1.c-h1--brand { font-size: clamp(66px, 5.6vw, 76px); }
  .c-first--reel .c-lede { margin-top: 28px; font-size: clamp(18.5px, 1.4vw, 21px); line-height: 1.55; }
  .c-first--reel .c-first__copy .c-actions { margin-top: 40px; }
}
@media (min-width: 1024px) and (max-height: 820px) {
  .c-mast { margin-bottom: 22px; }
  .c-h1.c-h1--brand { font-size: clamp(60px, 5.2vw, 76px); }
  .c-first--reel .c-lede { margin-top: 22px; font-size: 18.5px; }
  .c-first--reel .c-first__copy .c-actions { margin-top: 32px; }
}

@media (orientation: landscape) and (max-height: 500px) {
  .c-first--reel .c-first__main { padding-block: 16px 20px; }
  .c-mast { margin-bottom: 12px; font-size: 13px; }
  .c-h1.c-h1--brand { font-size: clamp(32px, 5vw, 40px); }
  .c-h1__sub { margin-top: .2em; }

  .c-first--reel .c-lede { max-width: 40em; margin-top: 10px; font-size: 15px; line-height: 1.4; }
  .c-first--reel .c-first__copy .c-actions { margin-top: 14px; }
  .c-first--reel .c-btn { min-height: 44px; }
}

.c-alist__h { max-width: none; font-family: var(--display); font-size: 13.5px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--on-dark-3); padding-bottom: 12px; border-bottom: 1px solid rgba(244, 242, 237, .3); }
.c-alist__items > li { display: flex; gap: 14px; padding: 13px 0 14px; border-bottom: 1px solid var(--line-dark); }
.c-alist__n { flex: none; width: 24px; padding-top: 2px; font-family: var(--display); font-size: 15px; font-weight: 700; color: var(--red-on-dark); font-variant-numeric: tabular-nums; }
.c-alist__t { display: grid; gap: 3px; font-family: var(--display); font-size: 19px; font-weight: 600; line-height: 1.2; color: var(--white); }
.c-alist__t a { color: var(--white); text-decoration: none; }
.c-alist__t a:hover { text-decoration: underline; text-decoration-color: var(--red); }
.c-alist__d { font-family: var(--font); font-size: 14.5px; font-weight: 400; line-height: 1.45; color: var(--on-dark-2); }
@media (min-width: 1024px) and (max-height: 820px) {
  .c-alist__items > li { padding: 10px 0 11px; }
  .c-direct { gap: 6px; }
  .c-direct__tel { font-size: 34px; }
  .c-direct__inc { margin-top: 10px; }
  .c-direct__list > li { padding: 6px 0 7px; font-size: 14.5px; }
}

.c-basefacts { display: grid; }
.c-basefacts > div { display: grid; gap: 4px; align-content: start; padding: 16px 0; }
.c-basefacts > div + div { border-top: 1px solid var(--line-dark); }
.c-basefacts dt { font-family: var(--display); font-size: 13px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--on-dark-3); }
.c-basefacts dd { font-size: 15px; line-height: 1.45; color: var(--on-dark); }
.c-basefacts dd a { color: var(--on-dark); }
.c-basefacts .c-linklist { gap: 2px 18px; }
.c-basefacts .c-linklist a { font-size: 14.5px; }
@media (min-width: 720px) {
  .c-basefacts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .c-basefacts > div { padding: 20px 24px 22px 0; }
  .c-basefacts > div + div { border-top: 0; padding-left: 24px; border-left: 1px solid var(--line-dark); }
}
@media (min-width: 1024px) and (max-height: 820px) {
  .c-basefacts > div { padding-block: 15px 16px; }
}

@media (max-width: 767px) { .c-first--projects .c-first__aside { display: none; } }

.c-direct { display: grid; gap: 10px; }
.c-direct .c-alist__h { margin-bottom: 6px; }
.c-direct__tel { font-family: var(--display); font-size: clamp(34px, 3.4vw, 46px); font-weight: 700; letter-spacing: .02em; line-height: 1.05; color: var(--white); text-decoration: none; font-variant-numeric: tabular-nums; }
.c-direct__tel:hover { text-decoration: underline; text-decoration-color: var(--red); text-decoration-thickness: 2px; }
.c-direct p { font-size: 15.5px; }
.c-direct__inc { margin-top: 18px; }
.c-direct__list > li { padding: 9px 0 10px; border-bottom: 1px solid var(--line-dark); font-size: 15px; line-height: 1.45; color: var(--on-dark); }

@media (min-width: 1680px) and (min-height: 960px) {
  .c-h1 { font-size: 56px; }
  .c-first .c-lede { font-size: 21px; }
  .c-first__copy .c-actions { margin-top: 38px; }
  .c-alist__h { font-size: 14.5px; padding-bottom: 14px; }
  .c-alist__t { font-size: 21px; }
  .c-alist__d { font-size: 16px; }
  .c-alist__items > li { padding: 18px 0 19px; }
  .c-direct__tel { font-size: 52px; }
  .c-basefacts > div { padding-block: 26px 28px; }
  .c-basefacts dd { font-size: 16.5px; }

  .c-first--reel .c-mast { margin-bottom: 38px; font-size: 16px; }
  .c-first--reel .c-h1__sub { margin-top: .42em; font-size: .6em; }
  .c-first--reel .c-lede { margin-top: 36px; font-size: 22px; }
  .c-first--reel .c-first__copy .c-actions { margin-top: 48px; }
}

.k-caps { display: grid; column-gap: 48px; }
.k-cap { position: relative; display: flex; flex-direction: column; gap: 12px; padding: 24px 0 34px; border-top: 1px solid var(--ink); }
.k-cap::before { content: ''; position: absolute; top: -2px; left: 0; width: 44px; height: 3px; background: var(--red); }
.k-cap__top { display: flex; align-items: baseline; gap: 14px; }
.k-cap__n { font-family: var(--display); font-size: 16px; font-weight: 700; letter-spacing: .06em; color: var(--red-ink); font-variant-numeric: tabular-nums; }
.k-cap__stage { font-family: var(--display); font-size: 13px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-3); }
.k-cap p { font-size: 16px; }
.k-cap .c-linklist { margin-top: auto; padding-top: 4px; display: grid; gap: 4px; }
@media (min-width: 720px) { .k-caps { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .k-caps { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

@supports (grid-template-rows: subgrid) {
  @media (min-width: 720px) {
    .k-cap { display: grid; grid-row: span 4; grid-template-rows: subgrid; row-gap: 12px; align-content: start; }
    .k-cap .c-linklist { margin-top: 0; align-self: start; }
  }
}

.k-work { display: grid; gap: clamp(44px, 5vw, 72px); }
.k-feature { display: grid; gap: 28px; align-items: end; }
.k-feature__text { display: grid; gap: 16px; align-content: start; }
.k-tag { font-family: var(--display); font-size: 13.5px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--red-on-dark); }
.k-tag--ink { color: var(--red-ink); }
.k-shown { display: grid; margin-top: 4px; border-top: 1px solid var(--line-dark); }
.k-shown > div { display: grid; gap: 2px; padding: 12px 0; border-bottom: 1px solid var(--line-dark); }
.k-shown dt { font-family: var(--display); font-size: 13px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--on-dark-3); }
.k-shown dd { font-size: 15.5px; color: var(--on-dark); }
.k-group { display: grid; gap: 24px; padding-top: clamp(28px, 3vw, 40px); border-top: 1px solid var(--line-dark); }
.k-group__head { display: grid; gap: 10px; }
.k-group__text { display: grid; gap: 10px; }
.k-group__text p { font-size: 15.5px; }
.k-group__photos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 14px; }
.k-group__photos > :first-child { grid-column: 1 / -1; }
.k-work__note { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 32px; padding-top: 24px; border-top: 1px solid var(--line-dark); font-size: 14px; color: var(--on-dark-3); }
@media (min-width: 720px) {
  .k-group__photos { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
  .k-group__photos > :first-child { grid-column: auto; }
}
@media (min-width: 1024px) {
  .k-feature { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 56px; }
  .k-feature__text { padding-bottom: 4px; }
  .k-group__head { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 56px; align-items: baseline; }
  .k-group__text { grid-template-columns: minmax(0, 1fr) auto; gap: 32px; align-items: baseline; }
  .k-group__text .c-linklist { display: grid; gap: 4px; }
}

.k-refband { padding-block: clamp(56px, 6vw, 88px); background: var(--white); }
.k-refband__head { display: grid; gap: 4px; margin-bottom: clamp(24px, 3vw, 36px); }
.k-refband__head .k-label { margin-bottom: 8px; }
.k-refband__title { font-size: clamp(26px, 2.4vw, 34px); }
.k-refband__logos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px 20px; align-items: center; padding-block: 34px; border-top: 1px solid var(--line-2); border-bottom: 1px solid var(--line-2); }
.k-refband__logos li { display: flex; align-items: center; justify-content: center; min-height: 48px; }
.k-refband__logos img { width: auto; height: calc(var(--h) * .8); max-width: 100%; }
@media (min-width: 720px) {
  .k-refband__logos { display: flex; justify-content: space-between; gap: 24px; padding: 40px clamp(8px, 2vw, 32px); }
  .k-refband__logos img { height: calc(var(--h) * .86); }
}
@media (min-width: 1024px) { .k-refband__logos img { height: var(--h); } }

.c-hsq, .k-hsq { display: grid; gap: 44px; }
.c-topics, .k-topics { display: grid; gap: 0 44px; }
.c-topic, .k-topic { padding: 22px 0; border-top: 1px solid var(--line-2); }
.k-topic { display: grid; grid-template-columns: 38px minmax(0, 1fr); gap: 0 8px; align-content: start; }
.k-topic__n { grid-row: span 2; font-family: var(--display); font-size: 16px; font-weight: 700; color: var(--red-ink); font-variant-numeric: tabular-nums; padding-top: 1px; }
.c-topic p, .k-topic p { margin-top: 6px; font-size: 15.5px; }
.k-topic > :not(.k-topic__n) { grid-column: 2; }
.c-topic p.c-topic__more, .k-topic p.c-topic__more { margin-top: 10px; font-size: 15px; color: var(--ink-3); }
@media (min-width: 720px) { .c-topics, .k-topics { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) {
  .c-hsq, .k-hsq { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 64px; align-items: start; }
  .c-topics--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .k-topics--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.c-panel { display: grid; gap: 18px; align-content: start; padding: clamp(24px, 3vw, 40px); background: var(--white); border: 1px solid var(--line); border-top: 4px solid var(--ink); }
.c-sec:not(.k-paper):not(.k-dark) .c-panel { background: var(--paper); border-color: var(--paper-2); border-top-color: var(--ink); }
.c-panel .c-btn { justify-self: start; }
.c-panel .c-actions .c-btn { justify-self: auto; }
.c-panel p { font-size: 16px; }
.c-ticks { display: grid; gap: 10px; font-size: 16px; color: var(--ink); }
.c-ticks li { position: relative; padding-left: 28px; }
.c-ticks li::before { content: ''; position: absolute; left: 2px; top: .4em; width: 12px; height: 7px; border-left: 2px solid var(--red); border-bottom: 2px solid var(--red); transform: rotate(-45deg); }

.c-creds { display: grid; gap: 28px; }
.c-creds__intro { display: grid; gap: 18px; justify-items: start; padding: clamp(22px, 3vw, 32px); background: var(--white); border-top: 4px solid var(--ink); }
.c-creds__list { display: grid; gap: 20px; }
.c-cred { padding: 22px 24px; background: var(--white); border: 1px solid var(--line); }
.c-cred--empty { border-style: dashed; border-color: #eebf80; }
.c-cred__k { font-family: var(--display); font-size: 13px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--red-ink); margin-bottom: 4px; }
.c-cred dl { display: grid; margin-top: 12px; border-top: 1px solid var(--line); }
.c-cred dl > div { display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: 12px; padding: 8px 0; border-bottom: 1px solid var(--line); font-size: 15px; }
.c-cred dt { color: var(--ink-3); }
.c-cred dd { color: var(--ink); min-height: 1.4em; }
@media (min-width: 900px) { .c-creds__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } .c-creds__intro { grid-template-columns: minmax(0, 1fr) auto; align-items: center; } }

.k-licence { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 6px 16px; align-items: start; margin-top: 36px; padding: 22px 0 24px; border-top: 2px solid var(--ink); border-bottom: 1px solid var(--line-2); }
.k-licence__icon { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; background: var(--ink); }
.k-licence__icon .i { width: 22px; height: 22px; color: var(--white); }
.k-licence__k { font-family: var(--display); font-size: 13px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--red-ink); }
.k-licence__body { grid-column: 1 / -1; display: grid; gap: 8px; }
.k-licence__body p { font-size: 16px; }
.k-licence__draft { font-size: 14px !important; color: #6b3500; }
.k-licence .c-fig { grid-column: 1 / -1; margin-top: 10px; }
@media (min-width: 900px) {
  .k-licence { grid-template-columns: 40px minmax(0, 4fr) minmax(0, 6fr) 260px; gap: 0 28px; align-items: center; }
  .k-licence__body, .k-licence .c-fig { grid-column: auto; margin-top: 0; }
}

.k-direct { display: grid; gap: 4px; }
.k-direct__tel { font-family: var(--display); font-size: clamp(30px, 3vw, 38px); font-weight: 700; letter-spacing: .02em; color: var(--white); text-decoration: none; font-variant-numeric: tabular-nums; }
.k-direct__tel:hover { text-decoration: underline; text-decoration-color: var(--red); text-decoration-thickness: 2px; }

.k-co { display: grid; gap: 28px; grid-template-columns: minmax(0, 1fr); }
.k-co__head { display: grid; gap: 22px; align-content: start; justify-items: start; }
.k-co__body { display: grid; gap: 16px; align-content: start; }
@media (min-width: 1024px) { .k-co { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 72px; } }
.k-disc { display: grid; margin-top: clamp(40px, 5vw, 64px); border-top: 1px solid var(--ink); }
.k-disc > li { display: grid; gap: 8px; align-content: start; padding: 24px 0 26px; border-bottom: 1px solid var(--line); }
.k-disc__n { font-family: var(--display); font-size: 15px; font-weight: 700; color: var(--red-ink); font-variant-numeric: tabular-nums; }
.k-disc p { font-size: 16px; }
.k-disc .c-linklist { margin-top: 4px; }
@media (min-width: 900px) {
  .k-disc { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .k-disc > li { padding: 26px 28px 28px 0; border-bottom: 0; }
  .k-disc > li + li { padding-left: 28px; border-left: 1px solid var(--line); }
}
.k-hsq__fig { align-self: start; }
.k-people { display: grid; gap: 36px; grid-template-columns: minmax(0, 1fr); }
.k-people__text { display: grid; gap: 16px; align-content: start; justify-items: start; }
.k-people__text .k-label { margin-bottom: 2px; }
.k-people__text .c-actions { margin-top: 10px; }
.k-trades { display: grid; width: 100%; border-top: 1px solid var(--line-2); }
.k-trades li { position: relative; padding: 11px 0 11px 20px; border-bottom: 1px solid var(--line-2); font-size: 15.5px; line-height: 1.4; color: var(--ink); }
.k-trades li::before { content: ''; position: absolute; left: 0; top: calc(11px + .66em); width: 9px; height: 2px; background: var(--red); }
@media (min-width: 640px) { .k-trades { grid-template-columns: 1fr 1fr; column-gap: 28px; } }
@media (min-width: 1024px) { .k-people { grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); gap: 72px; align-items: center; } }
.c-band .k-label { color: var(--red-on-graphite); }
.k-close .c-band__in { padding-block: clamp(64px, 7vw, 104px); }
.k-close .c-h2 { max-width: 18em; }
.k-close__act { display: grid; gap: 18px; justify-items: start; }
@media (min-width: 1024px) { .k-close__act { justify-items: end; } }

.k-intro { display: grid; gap: 32px; }
.k-intro__lead { font-size: clamp(19px, 1.6vw, 22px); line-height: 1.5; color: var(--ink); max-width: 34em; }
.k-intro__body { display: grid; gap: 16px; align-content: start; }
.k-intro__fig { margin-top: clamp(28px, 3vw, 40px); }
@media (min-width: 1024px) { .k-intro { grid-template-columns: 5fr 7fr; gap: 72px; } }
.c-values { display: grid; border-top: 1px solid rgba(244, 242, 237, .3); }
.c-values > li { display: grid; gap: 8px; align-content: start; padding: 24px 0 26px; border-bottom: 1px solid var(--line-dark); }
.c-values__n { font-family: var(--display); font-size: 15px; font-weight: 700; color: var(--red-on-dark); font-variant-numeric: tabular-nums; }
.c-values p { font-size: 15.5px; }
@media (min-width: 720px) { .c-values { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 32px; } }
@media (min-width: 1100px) {
  .c-values { grid-template-columns: repeat(5, minmax(0, 1fr)); column-gap: 0; }
  .c-values > li { padding: 26px 24px 30px 0; border-bottom: 0; }
  .c-values > li + li { padding-left: 24px; border-left: 1px solid var(--line-dark); }
}
.c-duo { display: grid; gap: 24px; }
.c-duo__item { display: grid; gap: 14px; justify-items: start; align-content: start; padding: clamp(24px, 3vw, 36px); background: var(--paper); border-top: 4px solid var(--ink); }
@media (min-width: 900px) { .c-duo { grid-template-columns: 1fr 1fr; } }

.k-sheet { display: grid; gap: 40px; border-top: 2px solid var(--ink); }
.k-sheet__col { padding-top: 20px; }
.k-sheet__h { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 16px; padding-bottom: 14px; border-bottom: 1px solid var(--ink); font-family: var(--display); font-size: 15px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--ink); }
.k-sheet__meta { font-size: 13px; font-weight: 600; letter-spacing: .06em; text-transform: none; color: var(--ink-3); }
.k-sheet__dl > div { display: grid; gap: 3px; padding: 14px 0 15px; border-bottom: 1px solid var(--line); }
.k-sheet__dl dt { font-family: var(--display); font-size: 13px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--ink-3); }
.k-sheet__dl dd { font-size: 16px; line-height: 1.5; color: var(--ink); }
.k-sched a { display: grid; grid-template-columns: 34px minmax(0, 1fr) 20px; gap: 6px 14px; align-items: start; padding: 17px 0 18px; border-bottom: 1px solid var(--line); color: var(--ink); text-decoration: none; }
.k-sched__n { padding-top: 2px; font-family: var(--display); font-size: 15px; font-weight: 600; color: var(--ink-3); font-variant-numeric: tabular-nums; }
.k-sched__main { display: grid; gap: 3px; }
.k-sched__t { font-family: var(--display); font-size: 20px; font-weight: 600; line-height: 1.15; }
.k-sched__d { font-size: 14.5px; line-height: 1.5; color: var(--ink-2); }
.k-sched__meta { grid-column: 2; display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 12px; }
.k-sched__disc { font-family: var(--display); font-size: 13px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--red-ink); }
.k-sched__stage { font-size: 13.5px; color: var(--ink-3); }
.k-sched__i { grid-column: 3; grid-row: 1; align-self: center; width: 20px; height: 20px; color: var(--red); transition: transform .15s ease; }
.k-sched a:hover .k-sched__t { color: var(--red-ink); }
.k-sched a:hover .k-sched__i { transform: translateX(3px); }
@media (min-width: 900px) {
  .k-sched a { grid-template-columns: 40px minmax(0, 1fr) 200px 20px; gap: 4px 20px; align-items: center; }
  .k-sched__meta { grid-column: 3; grid-row: 1; flex-direction: column; gap: 3px; }
  .k-sched__i { grid-column: 4; }
}
@media (min-width: 1100px) {
  .k-sheet { grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: 0; }
  .k-sheet__col--part { padding-right: 40px; border-right: 1px solid var(--line); }
  .k-sheet__col + .k-sheet__col { padding-left: 40px; }
}

.k-clients { display: grid; border-top: 1px solid var(--ink); }
.k-clients > li { display: grid; gap: 6px; padding: 22px 0; border-bottom: 1px solid var(--line-2); }
.k-clients p { font-size: 15.5px; }
.k-clients .c-linklist { margin-top: 4px; }
@media (min-width: 900px) { .k-clients > li { grid-template-columns: 4fr 6fr 3fr; gap: 32px; align-items: baseline; } .k-clients .c-linklist { display: grid; gap: 2px; margin: 0; } }
.k-intro__more { margin-top: 6px; }

.k-team-sec { background: var(--charcoal-deep); }

.c-first--team .c-alist__items > li { padding-block: 25px 26px; }
@media (min-width: 1024px) and (max-height: 820px) { .c-first--team .c-alist__items > li { padding-block: 22px 23px; } }
@media (min-width: 1680px) and (min-height: 960px) { .c-first--team .c-alist__items > li { padding-block: 31px 32px; } }
.k-team { display: grid; gap: 12px; }
.k-team__grp {
  position: relative; display: grid; gap: 16px; padding: 22px 20px 6px;
  background: linear-gradient(100deg, var(--graphite), color-mix(in srgb, var(--graphite) 60%, var(--charcoal)));
  border: 1px solid rgba(244, 242, 237, .1); border-radius: 4px;
}
.k-team__grp::before { content: ''; position: absolute; top: -1px; left: 20px; width: 40px; height: 2px; background: var(--red); }
.k-team__head { display: grid; grid-template-columns: 34px minmax(0, 1fr); align-items: baseline; }
.k-team__n { font-family: var(--display); font-size: 15px; font-weight: 700; color: var(--red-on-graphite); font-variant-numeric: tabular-nums; }
.k-team__h { font-family: var(--display); font-size: clamp(21px, 1.8vw, 25px); font-weight: 600; line-height: 1.15; color: var(--white); text-wrap: balance; }
.k-team__list { display: grid; column-gap: 28px; }
.k-team__p { display: grid; gap: 6px; align-content: start; padding: 14px 0 16px; border-top: 1px solid var(--line-dark); }
.k-team__name { font-family: var(--display); font-size: 22px; font-weight: 600; line-height: 1.12; color: var(--on-dark); text-wrap: balance; }
.k-team__role { font-family: var(--display); font-size: 13.5px; font-weight: 600; line-height: 1.35; letter-spacing: .1em; text-transform: uppercase; color: var(--on-dark-2); }
.k-team__foot { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 24px; margin-top: clamp(32px, 4vw, 48px); padding-top: 24px; border-top: 1px solid var(--line-dark); }
.k-team__foot p { font-size: 15.5px; }
@media (min-width: 640px) {
  .k-team__grp { gap: 20px; padding: 26px 28px 30px; }
  .k-team__grp::before { left: 28px; }
  .k-team__list { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 22px; padding-top: 20px; border-top: 1px solid var(--line-dark); }
  .k-team__p { padding: 0; border-top: 0; }
}
@media (min-width: 1024px) {
  .k-team { gap: 14px; }
  .k-team__grp { grid-template-columns: minmax(0, 1fr) minmax(0, 3fr); align-items: start; gap: 0 clamp(28px, 3vw, 44px); padding: 32px clamp(28px, 2.8vw, 40px) 34px; }
  .k-team__grp::before { left: clamp(28px, 2.8vw, 40px); }
  .k-team__list { row-gap: 26px; column-gap: 28px; padding: 2px 0 0 clamp(28px, 3vw, 44px); border-top: 0; border-left: 1px solid var(--line-dark); }
  .k-team__name { font-size: clamp(22px, 1.7vw, 26px); }
  .k-team__role { letter-spacing: .08em; }
}

.c-scope { display: grid; gap: 0 48px; border-top: 1px solid var(--ink); }
.c-scope > li { padding: 24px 0; border-bottom: 1px solid var(--line); }
.c-scope p { margin-top: 6px; font-size: 16px; }
@media (min-width: 900px) { .c-scope { grid-template-columns: 1fr 1fr; } }
.c-scope p + p { margin-top: 10px; }
.c-scope .c-linklist { margin-top: 12px; }

.c-pair { display: grid; gap: 20px 24px; margin-bottom: clamp(40px, 4.5vw, 64px); }
.c-pair__head { display: grid; gap: 6px; }
.c-pair__head p { font-size: 15.5px; color: var(--ink-3); }
.k-dark .c-pair__head p { color: var(--on-dark-2); }
@media (min-width: 720px) { .c-pair { grid-template-columns: 1fr 1fr; } .c-pair__head { grid-column: 1 / -1; } }
.c-steps { display: grid; gap: 0; border-top: 1px solid var(--line-2); }
.c-steps li { position: relative; padding: 24px 0; border-bottom: 1px solid var(--line-2); }
.c-steps li::before { content: ''; position: absolute; top: -2px; left: 0; width: 44px; height: 3px; background: var(--red); }
.c-steps__n { display: block; margin-bottom: 8px; font-family: var(--display); font-size: 14px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-3); }
.c-steps p { margin-top: 6px; font-size: 15.5px; }
@media (min-width: 640px) { .c-steps { grid-template-columns: 1fr 1fr; column-gap: 32px; } }
@media (min-width: 1024px) { .c-steps { grid-template-columns: repeat(4, minmax(0, 1fr)); } .c-steps--3 { grid-template-columns: minmax(0, 1fr); } }

.c-matrix { display: grid; gap: 32px; border-top: 2px solid var(--ink); }
.c-matrix__col { padding-top: 18px; }
.c-matrix__h { padding-bottom: 12px; border-bottom: 1px solid var(--ink); font-family: var(--display); font-size: 15px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--ink); }
.c-matrix__dl > div { display: grid; gap: 2px; padding: 13px 0; border-bottom: 1px solid var(--line); }
.c-matrix__dl dt { font-family: var(--display); font-size: 18px; font-weight: 600; line-height: 1.2; color: var(--ink); }
.c-matrix__dl dd { font-size: 15px; color: var(--ink-2); }
.c-matrix__list > li { position: relative; padding: 13px 0 13px 20px; border-bottom: 1px solid var(--line); font-size: 15.5px; color: var(--ink); }
.c-matrix__list > li::before { content: ''; position: absolute; left: 0; top: calc(13px + .76em); width: 9px; height: 2px; background: var(--red); }
@media (min-width: 1024px) {
  .c-matrix { grid-template-columns: minmax(0, 5fr) minmax(0, 4fr) minmax(0, 4fr); gap: 0; }
  .c-matrix__col + .c-matrix__col { padding-left: 32px; margin-left: 32px; border-left: 1px solid var(--line); }
}
.c-limits { display: grid; gap: 16px; align-content: start; }
.c-limits__list { border-top: 1px solid var(--ink); }
.c-limits__list > li { position: relative; padding: 15px 0 15px 20px; border-bottom: 1px solid var(--line); font-size: 15.5px; color: var(--ink-2); }
.c-limits__list > li::before { content: ''; position: absolute; left: 0; top: calc(15px + .78em); width: 9px; height: 2px; background: var(--red); }
.c-related { margin-top: 20px; display: grid; gap: 0 40px; border-top: 1px solid var(--line); }
.c-related a { display: grid; grid-template-columns: 1fr auto; gap: 4px 16px; padding: 18px 0; border-bottom: 1px solid var(--line); text-decoration: none; color: var(--ink); }
.c-related__t { font-family: var(--display); font-size: 19px; font-weight: 600; line-height: 1.2; }
.c-related__d { grid-column: 1; font-size: 15px; color: var(--ink-3); }
.c-related .i { grid-column: 2; grid-row: 1 / span 2; align-self: center; color: var(--red); }
.c-related a:hover .c-related__t { color: var(--red-ink); }
@media (min-width: 1024px) { .c-related { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.c-related--all { margin-top: 0; }

.c-svcrows { border-top: 1px solid var(--ink); }
.c-svcrows a { display: grid; grid-template-columns: minmax(0, 1fr) 24px; gap: 4px 24px; padding: 22px 0; border-bottom: 1px solid var(--line-2); text-decoration: none; color: var(--ink); }
.c-svcrows__t { font-family: var(--display); font-size: 23px; font-weight: 600; line-height: 1.15; }
.c-svcrows__d { font-size: 16px; color: var(--ink-2); }
.c-svcrows__g { font-size: 14px; color: var(--ink-3); }
.c-svcrows .i { grid-column: 2; grid-row: 1 / span 3; align-self: center; width: 24px; height: 24px; color: var(--red); transition: transform .15s ease; }
.c-svcrows a:hover .c-svcrows__t { color: var(--red-ink); }
.c-svcrows a:hover .i { transform: translateX(4px); }
@media (min-width: 1024px) {
  .c-svcrows a { grid-template-columns: minmax(0, 4fr) minmax(0, 5fr) 24px; gap: 4px 40px; align-items: baseline; }
  .c-svcrows__t { grid-row: span 2; }
  .c-svcrows__d, .c-svcrows__g { grid-column: 2; }
  .c-svcrows .i { grid-column: 3; grid-row: 1 / span 2; }
}

.c-areas { display: grid; border-top: 1px solid var(--ink); }
.c-areas > li { display: grid; grid-template-columns: 38px minmax(0, 1fr); gap: 4px 8px; align-content: start; padding: 22px 0 24px; border-bottom: 1px solid var(--line); }
.c-areas__n { grid-row: span 2; font-family: var(--display); font-size: 16px; font-weight: 700; color: var(--red-ink); font-variant-numeric: tabular-nums; padding-top: 1px; }
.c-areas p { font-size: 15.5px; }
@media (min-width: 720px) { .c-areas { grid-template-columns: 1fr 1fr; column-gap: 40px; } }
@media (min-width: 1100px) { .c-areas { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

.c-formwrap { display: grid; gap: 40px; }
.c-formwrap__intro { display: grid; gap: 16px; align-content: start; }
.c-formwrap__intro .c-head { margin-bottom: 6px; }
.c-formwrap__form { padding: clamp(20px, 3vw, 40px); background: var(--white); border: 1px solid var(--line); border-top: 4px solid var(--ink); }
.c-sec:not(.k-paper) .c-formwrap__form { background: var(--paper); border-color: var(--paper-2); border-top-color: var(--ink); }
@media (min-width: 1024px) { .c-formwrap { grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: 72px; align-items: start; } }
.enq { display: grid; gap: 20px; }
.enq[hidden], .enq-done[hidden] { display: none; }
.enq__hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.field { display: grid; gap: 6px; min-width: 0; border: 0; }
.field > label, .field > legend { font-family: var(--display); font-size: 16.5px; font-weight: 600; letter-spacing: .01em; color: var(--ink); }
.field > legend { margin-bottom: 10px; }
.field input:not([type="checkbox"]), .field select, .field textarea {
  width: 100%; min-height: 48px; padding: 10px 12px; font: inherit; font-size: 16px; line-height: 1.4; color: var(--ink);
  background: var(--white); border: 1px solid var(--line-2); border-radius: var(--r);
}
.field textarea { min-height: 112px; resize: vertical; }
.field input:not([type="checkbox"]):focus-visible, .field select:focus-visible, .field textarea:focus-visible { outline: 2px solid var(--red-ink); outline-offset: 1px; border-color: var(--ink); }
.field [aria-invalid="true"], fieldset[aria-invalid="true"] .check input { border-color: var(--red-ink); }
fieldset.field[aria-invalid="true"] { padding-left: 12px; border-left: 3px solid var(--red-ink); }
.field-row { display: grid; gap: 20px; }
@media (min-width: 640px) { .field-row { grid-template-columns: 1fr 1fr; } }
.checks { display: grid; gap: 10px 20px; }
@media (min-width: 640px) { .checks { grid-template-columns: 1fr 1fr; } }
.check { display: flex; align-items: flex-start; gap: 10px; font-size: 15.5px; line-height: 1.45; color: var(--ink-2); cursor: pointer; }
.check input { flex: none; width: 20px; height: 20px; margin-top: 1px; accent-color: var(--red-btn); }
.field > label.check { font-family: var(--font); font-weight: 400; letter-spacing: 0; }
.check--consent { font-size: 15px; }
.field__err { font-size: 14.5px; font-weight: 500; color: var(--red-ink); }
.field__err[hidden] { display: none; }
.field__hint { margin-top: -10px; font-size: 14px; color: var(--ink-3); }
.enq__summary { padding: 14px 16px; border: 1px solid var(--red-ink); border-left-width: 4px; background: #fff5f4; color: var(--ink); font-size: 15.5px; }
.enq__summary[hidden] { display: none; }
.enq__summary ul { margin-top: 6px; padding-left: 20px; list-style: disc; }
.enq__summary a { color: var(--red-ink); }
.enq__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; }
.enq__status { font-size: 15px; color: var(--ink-2); }
.enq-done { display: grid; gap: 10px; padding: clamp(20px, 3vw, 32px); background: var(--white); border-top: 4px solid var(--red); }
.enq-done .c-kicker { margin-bottom: 0; }

.filters { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 28px; }
.filters[hidden] { display: none; }
.filters button { min-height: 42px; padding: 0 14px; font-family: var(--display); font-size: 16px; font-weight: 600; letter-spacing: .02em; color: var(--ink); background: var(--white); border: 1px solid var(--line-2); border-radius: var(--r); }
.filters button span { margin-left: 4px; color: var(--ink-3); font-variant-numeric: tabular-nums; }
.filters button:hover { border-color: var(--ink); }
.filters button[aria-pressed="true"] { color: var(--white); background: var(--ink); border-color: var(--ink); }
.filters button[aria-pressed="true"] span { color: var(--on-dark-3); }
.gallery { display: grid; gap: 30px 24px; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 640px) { .gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .gallery { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.gal.is-hidden { display: none; }
.gal__link { display: block; aspect-ratio: 4 / 3; overflow: hidden; border-radius: var(--r); background: var(--paper-2); }
.gal__link img { width: 100%; height: 100%; object-fit: cover; object-position: var(--focus, 50% 25%); transition: transform .5s cubic-bezier(.2, .7, .2, 1); }
.gal__link:hover img { transform: scale(1.025); }
.gal__link:focus-visible { outline-offset: -3px; outline: 3px solid var(--white); box-shadow: inset 0 0 0 5px var(--ink); }
.lb { width: 100%; max-width: 100%; height: 100%; max-height: 100%; margin: 0; padding: 0; border: 0; color: var(--on-dark); background: rgba(14, 18, 20, .97); }
.lb::backdrop { background: rgba(14, 18, 20, .9); }
.lb__inner { position: relative; display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; padding: 64px 72px 32px; }
.lb__fig { display: grid; gap: 12px; justify-items: center; max-width: 100%; }
.lb__img { width: auto; height: auto; max-width: min(1200px, 100%); max-height: calc(100vh - 210px); object-fit: contain; }
.lb__count { margin: 0; font-family: var(--display); font-size: 15px; font-weight: 600; letter-spacing: .1em; color: var(--on-dark-3); }
.lb__btn { position: absolute; display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; color: var(--white); background: rgba(28, 35, 39, .85); border: 1px solid var(--line-dark); border-radius: var(--r); }
.lb__btn:hover { border-color: var(--on-dark-2); }
.lb__close { top: 12px; right: 12px; }
.lb__prev { top: 50%; left: 12px; transform: translateY(-50%); }
.lb__next { top: 50%; right: 12px; transform: translateY(-50%); }
.lb :focus-visible { outline-color: var(--on-dark); }
@media (max-width: 639px) { .lb__inner { padding: 64px 12px 84px; } .lb__prev, .lb__next { top: auto; bottom: 16px; transform: none; } .lb__prev { left: calc(50% - 60px); } .lb__next { right: calc(50% - 60px); } }

.c-prose { display: grid; gap: 14px; max-width: calc(760px + 2 * var(--gut)); margin-left: 0; }
@media (min-width: 1024px) { .c-prose { margin-left: max(0px, calc((100% - var(--wrap)) / 2 - var(--gut))); } }
.c-prose .c-h3 { margin-top: 18px; }
.c-prose p { font-size: 16.5px; }

.c-band { background: var(--graphite); color: var(--on-dark-2); }
.c-band .c-h2 { color: var(--white); }
.c-band__in { display: grid; gap: 28px; padding-block: clamp(48px, 6vw, 80px); }
.c-band p { margin-top: 12px; }
@media (min-width: 1024px) { .c-band__in { grid-template-columns: 1fr auto; align-items: center; gap: 48px; } }

.c-ftr { background: var(--charcoal); color: var(--on-dark-2); font-size: 15px; border-top: 1px solid var(--line-dark); }
.c-ftr__grid { display: grid; gap: 40px; padding-block: clamp(48px, 6vw, 72px) 44px; }
.c-ftr__brand { display: grid; gap: 12px; align-content: start; justify-items: start; }
.c-ftr__brand img { width: 150px; height: auto; margin-bottom: 8px; }
.c-ftr a.c-ftr__tel { font-family: var(--display); font-size: 24px; font-weight: 700; letter-spacing: .02em; color: var(--white); text-decoration: none; font-variant-numeric: tabular-nums; }
.c-ftr__brand .c-more { margin-top: 2px; font-size: 16.5px; color: var(--white); }
.c-ftr__h { font-family: var(--display); font-size: 13.5px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--on-dark-3); margin-bottom: 12px; }
.c-ftr ul { display: grid; gap: 5px; }
.c-ftr a:not(.c-btn) { color: var(--on-dark-2); text-decoration: none; }
.c-ftr a:not(.c-btn):hover { color: var(--white); text-decoration: underline; text-decoration-color: var(--red); text-underline-offset: 3px; }
.c-ftr__legal { display: grid; gap: 6px; padding-block: 22px 32px; border-top: 1px solid var(--line-dark); font-size: 13px; color: var(--on-dark-3); }
.c-ftr__legal p { max-width: 110ch; }
@media (min-width: 640px) { .c-ftr__grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .c-ftr__grid { grid-template-columns: 4fr 3fr 3fr 2fr; gap: 48px; } }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; }
  .c-frame > a:hover img, .gal__link:hover img { transform: none; }
}
@media print {
  .c-hdr, .c-mnav, .c-band .c-actions, .int-badge, .c-reel { display: none; }
  .k-dark, .c-first, .c-first__base, .c-ftr, .c-band { background: #fff !important; color: #000 !important; }
  .k-team__grp { background: none !important; border-color: #999 !important; }
  .k-team__h, .k-team__name, .k-team__role { color: #000 !important; }
}
