@font-face { font-family:"Newsreader"; src:url("../fonts/Newsreader-Variable.woff2") format("woff2");
  font-weight:200 800; font-style:normal; font-display:swap; }
@font-face { font-family:"Yantramanav"; src:url("../fonts/Yantramanav-Light.woff2")   format("woff2");
  font-weight:300; font-style:normal; font-display:swap; }
@font-face { font-family:"Yantramanav"; src:url("../fonts/Yantramanav-Regular.woff2") format("woff2");
  font-weight:400; font-style:normal; font-display:swap; }

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

body {
  margin: 0;
  background-color: var(--paper);
  color: var(--ink);
  font-family: var(--face-text);
  font-size: var(--t-body);
  font-weight: var(--w-regular);
  line-height: var(--lh-body);
  letter-spacing: var(--track-body);
  -webkit-font-smoothing: antialiased;
}
img, svg, video { max-inline-size: 100%; block-size: auto; display: block; }

::selection { background-color: var(--navy); color: var(--on-dark); }
.chapter--dark ::selection, .site-foot ::selection, .hero ::selection,
.site-head ::selection {
  background-color: var(--mark); color: var(--navy); }

.site-head .nav__panel ::selection, .site-head .nav-drawer ::selection {
  background-color: var(--navy); color: var(--on-dark); }
:root { color-scheme: light; accent-color: var(--navy); scrollbar-color: var(--edge-strong) var(--paper); }
input, textarea, select { caret-color: var(--navy); }
a { text-underline-offset: 5px; text-decoration-thickness: 1px; }

a[href^="tel:"], .hm-fact, address { font-variant-numeric: lining-nums tabular-nums; }

*, *::before, *::after { cursor: default !important; }
a[href], a[href] *,
button:not(:disabled), button:not(:disabled) *,
[role="button"]:not([aria-disabled="true"]),
label[for], summary { cursor: pointer !important; }
input:not([type]), input[type="text"], input[type="email"], input[type="tel"],
input[type="search"], input[type="url"], input[type="number"], input[type="password"],
input[type="date"], input[type="time"],
textarea, [contenteditable="true"] { cursor: text !important; }

:focus-visible { outline: 2px solid var(--navy); outline-offset: 3px; }
.chapter--dark :focus-visible, .chapter--deep :focus-visible,
.hero :focus-visible, .site-foot :focus-visible, .site-head :focus-visible {
  outline-color: var(--gold-on-dark); }

.site-head .nav__panel:focus-visible, .site-head .nav__panel :focus-visible,
.site-head .nav-drawer:focus-visible, .site-head .nav-drawer :focus-visible {
  outline-color: var(--navy); }

.skip {
  position: absolute; inset-inline-start: var(--s-4); inset-block-start: -100%;
  z-index: 200; background-color: var(--navy); color: var(--on-dark);
  padding-block: var(--s-3); padding-inline: var(--s-5);
  border-radius: var(--radius-control); text-decoration: none;
  transition: inset-block-start var(--duration-fast) var(--ease-smooth-out);
}
.skip:focus { inset-block-start: var(--s-4); }

.wrap { inline-size: min(100% - var(--gutter) * 2, var(--container)); margin-inline: auto; }
.wrap--wide { inline-size: min(100% - var(--gutter) * 2, var(--container-wide)); }

.chapter {
  position: relative;
  min-block-size: 100vh;
  display: flex; flex-direction: column; justify-content: center;
  padding-block: clamp(var(--s-6), 7vh, var(--s-10));
}
.chapter--auto { min-block-size: 0; display: block; }
.chapter--paper { background-color: var(--paper); }

.chapter--paper-deep { background-color: var(--paper-deep); }
.chapter--surface { background-color: var(--surface); }

.chapter--dark, .chapter--deep {
  background-color: var(--navy);
  background-image: linear-gradient(168deg, var(--navy) 0%, var(--navy-deep) 100%);
  border-block-start: 1px solid var(--gold-on-dark);
  color: var(--on-dark); }

h1, h2, h3 {
  margin-block: 0;
  font-family: var(--face-display);
  font-optical-sizing: auto;
  font-weight: var(--w-display);
  letter-spacing: var(--track-display);
  text-wrap: balance;
}
h1 { font-size: var(--t-display); line-height: var(--lh-display); }

h2 { font-size: var(--t-display); line-height: var(--lh-display); font-weight: var(--w-light); }

h1::after, h2::after {
  content: ""; display: block; block-size: 1px;
  background-color: var(--gold);
  transform-origin: left center;
}

h1::after, h2::after { inline-size: var(--s-9); margin-block-start: var(--s-4); }
.chapter--dark h1::after, .chapter--dark h2::after,
.chapter--deep h1::after, .chapter--deep h2::after,
.hero h1::after, .pin h2::after, .site-foot h1::after, .site-foot h2::after {
  background-color: var(--gold-on-dark); }

.h-split { display: block; }

.h-split--inline { display: inline; }
.h-split--inline + .h-split--inline { margin-inline-start: 0.24em; }
.h-split--em { color: var(--gold); font-weight: var(--w-light); }
.chapter--dark .h-split--em, .chapter--deep .h-split--em, .hero .h-split--em,
.pin .h-split--em { color: var(--gold-on-dark); }
h3 { font-size: var(--t-heading); line-height: var(--lh-heading); font-weight: var(--w-light); }

h4 { margin-block: 0; font-family: var(--face-text); font-size: var(--t-body);
  font-weight: var(--w-regular); line-height: var(--lh-heading); letter-spacing: 0; }

p { margin-block: 0; text-wrap: pretty; }
p + p { margin-block-start: var(--s-5); }

.p-lead { font-size: var(--t-lead); line-height: var(--lh-lead); font-weight: var(--w-light);
  color: var(--ink-soft); max-inline-size: 46ch; }
.p-body { font-size: var(--t-body); line-height: var(--lh-body); color: var(--ink-soft);
  max-inline-size: var(--measure); }
.prose { max-inline-size: var(--measure); color: var(--ink-soft); }
.prose p + p { margin-block-start: var(--s-5); }

.t-label { font-family: var(--face-text); font-size: var(--t-label); line-height: 1.5;
  font-weight: var(--w-regular); letter-spacing: var(--track-label);
  text-transform: uppercase; color: var(--ink-soft); }

.chapter--dark .p-lead, .chapter--deep .p-lead,
.chapter--dark .p-body, .chapter--deep .p-body, .hero .p-body,
.chapter--dark .prose, .chapter--deep .prose,
.chapter--dark .t-label, .chapter--deep .t-label, .site-foot .t-label {
  color: var(--on-dark-soft); }
.chapter--dark h1, .chapter--dark h2, .chapter--dark h3,
.chapter--deep h1, .chapter--deep h2, .chapter--deep h3 { color: var(--on-dark); }

.hero .p-lead, .pin .p-lead { color: var(--on-dark); }

a { color: inherit; }

.prose a, .p-body a, .disclosure a {
  color: var(--gold); text-decoration: underline;
  text-decoration-color: var(--gold);
  transition: text-decoration-color var(--duration-quick) var(--ease-out),
              color var(--duration-quick) var(--ease-out); }
.prose a:hover, .prose a:focus-visible,
.p-body a:hover, .p-body a:focus-visible { color: var(--navy); text-decoration-color: var(--navy); }

.site-foot .disclosure a, .chapter--dark .p-body a, .chapter--dark .prose a,
.chapter--dark .disclosure a {
  color: var(--gold-on-dark); text-decoration-color: var(--gold-on-dark); }
.site-foot .disclosure a:hover, .site-foot .disclosure a:focus-visible,
.chapter--dark .p-body a:hover, .chapter--dark .p-body a:focus-visible,
.chapter--dark .prose a:hover, .chapter--dark .prose a:focus-visible,
.chapter--dark .disclosure a:hover, .chapter--dark .disclosure a:focus-visible {
  color: var(--on-dark); text-decoration-color: var(--on-dark); }
a[href^="tel:"] { white-space: nowrap; }

.u-arrow { display: inline-block;
  transition: transform var(--duration-fast) var(--ease-smooth-out); }
*:hover > .u-arrow, *:hover > * > .u-arrow { transform: translateX(var(--distance-base)); }

.btn {
  position: relative;

  --btn-ink: var(--navy);
  --btn-ground: var(--paper);
  display: inline-flex; align-items: center; justify-content: center; gap: var(--s-3);
  min-block-size: var(--tap);
  padding-block: var(--s-2); padding-inline: var(--s-5);
  border: 1px solid currentColor; border-radius: var(--radius-control);
  background-color: transparent; color: var(--btn-ink);
  font-family: var(--face-text); font-size: var(--t-small); font-weight: var(--w-regular);
  line-height: 1.2; letter-spacing: var(--track-label); text-transform: uppercase;
  text-decoration: none;
  transition: background-color var(--duration-fast) var(--ease-smooth-out),
              color            var(--duration-fast) var(--ease-smooth-out),
              border-color     var(--duration-fast) var(--ease-smooth-out);
}
.btn:hover, .btn:focus-visible { background-color: var(--navy); color: var(--paper); }

.btn--solid { background-color: var(--navy); color: var(--on-dark); border-color: var(--navy); }
.btn--solid:hover, .btn--solid:focus-visible {
  background-color: transparent; color: var(--navy); border-color: var(--navy); }

.chapter--dark .btn, .chapter--deep .btn, .hero .btn,
.site-head .btn, .site-foot .btn {
  color: var(--gold-on-dark);
  --btn-ink: var(--gold-on-dark); --btn-ground: var(--navy); }
.chapter--dark .btn:hover, .chapter--deep .btn:hover, .hero .btn:hover,
.site-head .btn:hover, .site-foot .btn:hover,
.chapter--dark .btn:focus-visible, .chapter--deep .btn:focus-visible,
.hero .btn:focus-visible, .site-head .btn:focus-visible,
.site-foot .btn:focus-visible {
  background-color: var(--gold-on-dark); color: var(--navy); }

.hero .btn--solid { background-color: var(--gold-on-dark); color: var(--navy);
  border-color: var(--gold-on-dark); }
.hero .btn--solid:hover, .hero .btn--solid:focus-visible {
  background-color: transparent; color: var(--gold-on-dark); border-color: var(--gold-on-dark); }
.hero .btn:not(.btn--solid) { color: var(--on-dark);
  --btn-ink: var(--on-dark); --btn-ground: var(--navy); }
.hero .btn:not(.btn--solid):hover, .hero .btn:not(.btn--solid):focus-visible {
  background-color: var(--on-dark); color: var(--navy); }

@supports (clip-path: inset(0)) {

  .btn { --btn-rest-bg: transparent; --btn-rest-ink: var(--btn-ink); }
  .btn--solid { --btn-rest-bg: var(--navy); --btn-rest-ink: var(--on-dark); }
  .chapter--dark .btn--solid, .chapter--deep .btn--solid,
  .site-head .btn--solid, .site-foot .btn--solid { --btn-rest-ink: var(--btn-ink); }
  .hero .btn:not(.btn--solid) { --btn-rest-ink: var(--on-dark); }
  .btn:hover, .btn:focus-visible {
    background-color: var(--btn-rest-bg) !important;
    color: var(--btn-rest-ink) !important; }

  .btn__t { display: inline-flex; align-items: center; gap: var(--s-3); }
  .btn__fill {
    position: absolute; inset: -1px; z-index: 1; pointer-events: none;
    display: flex; align-items: center; justify-content: center;
    padding-block: var(--s-2); padding-inline: var(--s-5);
    border-radius: var(--radius-control);
    background-color: var(--btn-ink); color: var(--btn-ground);
    clip-path: inset(0 0 0 100%);
    transition: clip-path var(--duration-slow) var(--ease-settle);
  }
  .btn:hover > .btn__fill, .btn:focus-visible > .btn__fill { clip-path: inset(0); }

  .btn--solid > .btn__fill {
    background-color: var(--btn-ground); color: var(--btn-ink); }
  .chapter--dark .btn--solid > .btn__fill, .chapter--deep .btn--solid > .btn__fill,
  .site-head .btn--solid > .btn__fill, .site-foot .btn--solid > .btn__fill {
    background-color: var(--btn-ink); color: var(--btn-ground); }

  .hero .btn--solid > .btn__fill { display: none; }
  .hero .btn--solid:hover, .hero .btn--solid:focus-visible {
    background-color: transparent !important; color: var(--gold-on-dark) !important; }
}

@supports not (clip-path: inset(0)) {
  .btn__fill { display: none; }
}

.tel-link {
  display: inline-flex; align-items: center; min-block-size: var(--tap);
  font-size: var(--t-small); letter-spacing: var(--track-label); text-transform: uppercase;
  text-decoration: none; color: var(--navy);
  border-block-end: 1px solid var(--hairline);
  transition: color var(--duration-quick) var(--ease-out),
              border-color var(--duration-quick) var(--ease-out); }
.tel-link:hover, .tel-link:focus-visible { color: var(--gold); border-block-end-color: var(--gold); }
.chapter--dark .tel-link, .chapter--deep .tel-link, .hero .tel-link {
  color: var(--on-dark); border-block-end-color: var(--hairline-on-dark); }
.chapter--dark .tel-link:hover, .chapter--deep .tel-link:hover, .hero .tel-link:hover,
.chapter--dark .tel-link:focus-visible, .chapter--deep .tel-link:focus-visible,
.hero .tel-link:focus-visible {
  color: var(--on-dark-soft); border-block-end-color: var(--on-dark-soft); }

.actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-4);
  inline-size: fit-content; max-inline-size: 100%; }

.needs-client { background-color: var(--mark); color: var(--ink);
  padding-inline: var(--s-2); font-family: var(--face-text); font-size: 0.95em;
  font-style: normal; font-weight: var(--w-regular); }

.rule { border: 0; border-block-start: 1px solid var(--hairline); margin-block: 0; }
.chapter--dark .rule, .chapter--deep .rule, .site-foot .rule {
  border-block-start-color: var(--gold-hairline-on-dark); }

:root { --header-h: 122px; }

html { scroll-padding-block-start: var(--header-h); }
@media (max-width: 1279px) { :root { --header-h: 73px; } }

.site-head {
  position: sticky; inset-block-start: 0; z-index: 100;
  background-color: var(--navy); color: var(--on-dark);
  border-block-end: 1px solid var(--hairline-on-dark);
}

.read-rail {
  position: absolute; inset-inline: 0; inset-block-end: 0;
  display: flex; align-items: flex-end; justify-content: space-between;
  block-size: 9px; padding-inline: var(--gutter);
  pointer-events: none;
  --p: 0;

  --n: 40;
}
.read-rail__bar {

  --d: max(calc(var(--i) / (var(--n) - 1) - var(--p)),
           calc(var(--p) - var(--i) / (var(--n) - 1)));
  inline-size: 2px; flex: 0 0 2px;
  block-size: calc(9px
                   - 5px * clamp(0, calc(var(--d) / 0.075), 1)
                   - 2px * clamp(0, calc((var(--d) - 0.075) / 0.925), 1));
  background-color: var(--gold-on-dark);
  opacity: calc(1
                - 0.6 * clamp(0, calc(var(--d) / 0.075), 1)
                - 0.3 * clamp(0, calc((var(--d) - 0.075) / 0.925), 1));
}

.read-rail__mark {
  position: absolute; inset-block-end: 0;

  inset-inline-start: calc(var(--gutter) + 1px
                           + var(--p) * (100% - 2 * var(--gutter) - 2px));
  inline-size: 2px; block-size: 9px;
  background-color: var(--gold-on-dark);
  transform: translateX(-50%);
}

.read-rail { display: none; }
.js .read-rail { display: flex; }

.site-head__in { display: flex; align-items: center; gap: var(--s-6); min-block-size: 72px; }
.site-head__logo { flex: 0 0 auto; display: flex; align-items: center; min-block-size: var(--tap);
  transition: opacity var(--duration-quick) var(--ease-out); }
.site-head__logo:hover, .site-head__logo:focus-visible { opacity: 0.72; }

.site-head__logo img { block-size: 44px; inline-size: auto; }
@media (max-width: 620px) { .site-head__logo img { block-size: 38px; } }

.site-head__aside { margin-inline-start: auto; display: flex; align-items: center; gap: var(--s-6); }
.site-head__tel { display: inline-flex; align-items: center; min-block-size: var(--tap);
  font-size: var(--t-small); color: inherit; text-decoration: none;
  font-variant-numeric: lining-nums tabular-nums;
  transition: color var(--duration-quick) var(--ease-out); }

.site-head__tel:hover, .site-head__tel:focus-visible { color: var(--on-dark-soft); }
.site-head__aside .btn { min-block-size: var(--tap); padding-inline: var(--s-4); }

.site-head__navrow { border-block-start: 1px solid var(--hairline-on-dark); }

.nav { display: flex; flex-wrap: wrap; align-items: stretch; gap: 0; margin-block: 0;
  padding-inline-start: 0; list-style: none; }
.nav__item { position: relative; display: flex; flex: 1 1 auto; }
.nav > .nav__item > a {
  display: flex; flex: 1; align-items: center; justify-content: center;
  min-block-size: var(--tap);
  padding-inline: var(--s-2);
  font-size: var(--t-small); white-space: nowrap; color: inherit; text-decoration: none;
  box-shadow: inset 0 -1px 0 0 transparent;
  transition: color var(--duration-quick) var(--ease-out),
              box-shadow var(--duration-quick) var(--ease-out);
}
.nav > .nav__item:first-child > a { justify-content: flex-start; }
.nav > .nav__item:last-child > a { justify-content: flex-end; }

.nav > .nav__item > a:hover, .nav > .nav__item > a:focus-visible {
  color: var(--mark); box-shadow: inset 0 -1px 0 0 var(--mark); }
.nav > .nav__item > a[aria-current="page"] { box-shadow: inset 0 -1px 0 0 var(--on-dark); }

.nav__panel {
  position: absolute; inset-block-start: 100%; inset-inline-start: 0; z-index: 1;
  inline-size: max-content; min-inline-size: 260px;

  max-inline-size: calc(100vw - var(--s-8)); overflow: auto;
  padding-block: var(--s-5); padding-inline: var(--s-5);
  background-color: var(--surface); color: var(--ink);
  border: 1px solid var(--hairline); border-block-start: 0;
  box-shadow: var(--shadow-card);
  opacity: 0; visibility: hidden; transform: translateY(calc(var(--distance-base) * -1));
  transition: opacity var(--duration-fast) var(--ease-smooth-out),
              transform var(--duration-fast) var(--ease-smooth-out),
              visibility 0s linear var(--duration-fast);
}

.nav__item:nth-last-child(-n+3) > .nav__panel { inset-inline-start: auto; inset-inline-end: 0; }
.nav__item:hover > .nav__panel, .nav__item:focus-within > .nav__panel {
  opacity: 1; visibility: visible; transform: none;
  transition: opacity var(--duration-medium) var(--ease-smooth-out),
              transform var(--duration-medium) var(--ease-smooth-out),
              visibility 0s;
}
.nav__panel-head {
  display: flex; align-items: center; gap: var(--s-3); min-block-size: var(--tap);
  font-family: var(--face-display); font-optical-sizing: auto;
  font-size: var(--t-heading); font-weight: var(--w-light);
  letter-spacing: var(--track-display); line-height: var(--lh-heading);
  color: var(--navy); text-decoration: none;
  border-block-end: 1px solid var(--hairline);
  padding-block-end: var(--s-3); margin-block-end: var(--s-4);
  transition: color var(--duration-quick) var(--ease-out); }
.nav__panel-head:hover, .nav__panel-head:focus-visible { color: var(--gold); }

.nav__panel-cols { display: grid; grid-template-columns: repeat(var(--cols, 1), max-content); }
.nav__panel-col { margin-block: 0; padding-inline-start: 0; list-style: none; }
.nav__panel-col:not(:last-child) {
  border-inline-end: 1px solid var(--hairline);
  padding-inline-end: var(--s-5); margin-inline-end: var(--s-5); }

.nav__panel-col > li {
  opacity: 0; transform: translateY(var(--distance-base));
  transition: opacity var(--duration-fast) var(--ease-smooth-out),
              transform var(--duration-fast) var(--ease-smooth-out); }
.nav__item:hover .nav__panel-col > li, .nav__item:focus-within .nav__panel-col > li {
  opacity: 1; transform: none;
  transition-delay: calc(var(--i, 0) * var(--duration-stagger)); }

.nav__panel a:not(.nav__panel-head) {
  display: flex; align-items: center; min-block-size: var(--tap);
  padding-inline: var(--s-4) var(--s-3); padding-block: var(--s-2);
  font-size: var(--t-small); color: var(--ink); text-decoration: none; white-space: nowrap;
  border-inline-start: 1px solid var(--hairline);
  transition: color var(--duration-quick) var(--ease-out),
              border-color var(--duration-quick) var(--ease-out),
              transform var(--duration-quick) var(--ease-smooth-out); }
.nav__panel a:not(.nav__panel-head):hover,
.nav__panel a:not(.nav__panel-head):focus-visible {
  color: var(--gold); border-inline-start-color: var(--gold);
  transform: translateX(var(--distance-base)); }

body::after {
  content: ""; position: fixed; inset: 0; z-index: 95;
  background-color: color-mix(in srgb, var(--navy) 42%, transparent);
  opacity: 0; visibility: hidden; pointer-events: none;
  transition: opacity var(--duration-medium) var(--ease-smooth-out),
              visibility 0s linear var(--duration-medium);
}
body:has(.nav__item:hover)::after, body:has(.nav__item:focus-within)::after {
  opacity: 1; visibility: visible;
  transition: opacity var(--duration-medium) var(--ease-smooth-out), visibility 0s; }

.nav-toggle { display: none; }
@media (max-width: 1279px) {
  .site-head__navrow, .site-head__aside { display: none; }

  @media (min-width: 620px) {
    .site-head__aside { display: flex; }
    .site-head__aside .btn { display: none; }

    .site-head__aside + .nav-toggle { margin-inline-start: var(--s-6); }
  }
  .nav-toggle {
    display: inline-flex; align-items: center; gap: var(--s-2); margin-inline-start: auto;
    min-block-size: var(--tap); padding-inline: var(--s-5);
    background-color: transparent; border: 1px solid currentColor;
    border-radius: var(--radius-control); font-family: var(--face-text);
    font-size: var(--t-small); letter-spacing: var(--track-label); text-transform: uppercase;
    color: inherit;
    transition: background-color var(--duration-quick) var(--ease-out),
                color var(--duration-quick) var(--ease-out); }

  @media (max-width: 380px) {
    .site-head__in { gap: var(--s-4); }
    .nav-toggle { padding-inline: var(--s-3); }
  }

  .nav-toggle:hover, .nav-toggle:focus-visible {
    background-color: var(--on-dark); color: var(--navy); }
  .nav-drawer[hidden] { display: none; }
  .nav-drawer { border-block-start: 1px solid var(--hairline); background-color: var(--surface);
    color: var(--ink); max-block-size: 72vh; overflow-y: auto; }
  .nav-drawer ul { margin-block: 0; padding-inline-start: 0; list-style: none; }
  .nav-drawer a { display: flex; align-items: center; min-block-size: var(--tap);
    padding-block: var(--s-3); padding-inline: var(--gutter);
    text-decoration: none; color: var(--ink); border-block-end: 1px solid var(--hairline);
    transition: background-color var(--duration-quick) var(--ease-out),
                color var(--duration-quick) var(--ease-out); }
  .nav-drawer a:hover, .nav-drawer a:focus-visible { background-color: var(--paper); color: var(--gold); }
  .nav-drawer .is-child { padding-inline-start: calc(var(--gutter) + var(--s-5));
    color: var(--ink-soft); font-size: var(--t-small); }
}

.frame { overflow: hidden; position: relative; display: block;
  background-color: var(--paper); aspect-ratio: var(--ratio, 4 / 5); }

.frame--plate {
  background-color: var(--navy);
  background-image: linear-gradient(168deg, var(--navy) 0%, var(--navy-deep) 100%); }
.frame > img { inline-size: 100%; block-size: 100%; object-fit: cover;
  transition: transform var(--duration-slow) var(--ease-smooth-out); }
@media (hover: hover) { .frame:hover > img { transform: scale(1.045); } }

.frame__empty { position: absolute; inset: 0; overflow: hidden;
  font-family: var(--face-text); font-size: var(--t-small); line-height: 1.5;
  color: var(--on-dark-soft); }

.frame__bracket { position: absolute; z-index: 1;
  inset-block-end: var(--s-5); inset-inline-start: var(--s-5);
  max-inline-size: calc(100% - var(--s-9)); }
@media (max-width: 480px) {
  .frame__bracket { inset-block-end: var(--s-4); inset-inline-start: var(--s-4);
    max-inline-size: calc(100% - var(--s-8)); }
}

.field { display: grid; gap: var(--s-2); }
.field > label { font-size: var(--t-small); color: var(--ink); }
.field input, .field textarea, .field select {
  inline-size: 100%; min-block-size: var(--tap);
  padding-block: var(--s-3); padding-inline: var(--s-4);
  font-family: var(--face-text); font-size: var(--t-body); line-height: var(--lh-heading);
  color: var(--ink); background-color: var(--surface);
  border: 1px solid var(--edge-strong); border-radius: var(--radius-control);
  transition: border-color var(--duration-fast) var(--ease-smooth-out); }
.field input:hover, .field textarea:hover,
.field input:focus, .field textarea:focus { border-color: var(--navy); }
.field textarea { min-block-size: calc(var(--tap) * 3); resize: vertical; }

.field__error { min-block-size: var(--s-5); font-size: var(--t-small); color: var(--gold); }
.field input:user-invalid, .field textarea:user-invalid { border-color: var(--gold); }

.field__req { font-size: var(--t-label); letter-spacing: var(--track-label);
  text-transform: uppercase; color: var(--ink-soft); margin-inline-start: var(--s-2); }

.site-foot { background-color: var(--navy-deep);
  background-image: linear-gradient(168deg, var(--navy-deep) 0%, var(--navy) 100%);
  color: var(--on-dark); }

.site-foot__band { padding-block: var(--s-7); }

.site-foot__rule { border-block-start: 1px solid var(--gold-hairline-on-dark);
  padding-block: var(--s-7); }

.foot-lede { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: var(--s-8); align-items: start; }
.foot-label { font-family: var(--face-text); font-size: var(--t-label); line-height: 1.5;
  letter-spacing: var(--track-label); text-transform: uppercase; color: var(--on-dark-soft);
  margin-block-end: var(--s-4); }

.foot-tel { display: inline-flex; align-items: center; min-block-size: var(--tap);
  font-family: var(--face-display); font-optical-sizing: auto;

  font-size: min(var(--t-display), 11vw); font-weight: var(--w-display);
  line-height: var(--lh-display); letter-spacing: var(--track-display);
  font-variant-numeric: lining-nums tabular-nums;
  white-space: nowrap; color: var(--on-dark); text-decoration: none;
  transition: color var(--duration-medium) var(--ease-out); }
.foot-tel:hover, .foot-tel:focus-visible { color: var(--mark); }

.foot-mail { overflow-wrap: anywhere; }
.foot-tel__alt { display: flex; flex-wrap: wrap; align-items: center; column-gap: var(--s-6);
  margin-block-start: var(--s-4); font-size: var(--t-small); color: var(--on-dark-soft); }
.foot-lede__where { display: grid; gap: var(--s-7); }
.foot-addr { font-size: var(--t-small); color: var(--on-dark-soft); max-inline-size: 26ch; }

.foot-nav { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: var(--s-8); align-items: start;
  margin-block-start: var(--s-7); padding-block-start: var(--s-7);
  border-block-start: 1px solid var(--hairline-on-dark); }
.foot-list { display: flex; flex-wrap: wrap; align-items: center;
  column-gap: var(--s-6); row-gap: 0; margin-block: 0; padding-inline-start: 0;
  list-style: none; font-size: var(--t-small); }
.foot-list li { display: inline-flex; align-items: center; min-block-size: var(--tap);
  color: var(--on-dark-soft); }

.foot-legal { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: var(--s-8); align-items: start; }

.disclosure { font-size: var(--t-small); line-height: 1.65; color: var(--on-dark-soft);
  max-inline-size: 92ch; }
.disclosure p + p { margin-block-start: var(--s-4); }
.foot-certs { display: flex; flex-wrap: wrap; column-gap: var(--s-7);
  font-family: var(--face-display); font-optical-sizing: auto;
  font-size: var(--t-heading); font-weight: var(--w-light);
  letter-spacing: var(--track-display); }
.foot-register { display: inline-flex; align-items: baseline; margin-block-start: var(--s-6);

  font-size: var(--t-small); max-inline-size: 34ch; }
.site-foot__base { margin-block-start: var(--s-7); font-size: var(--t-small);
  color: var(--on-dark-soft); }

.site-foot a:not(.foot-tel) { color: inherit; text-decoration: underline;
  text-decoration-color: var(--hairline-on-dark);
  transition: text-decoration-color var(--duration-quick) var(--ease-out),
              color var(--duration-quick) var(--ease-out); }
.site-foot a:not(.foot-tel):hover, .site-foot a:not(.foot-tel):focus-visible {
  color: var(--on-dark); text-decoration-color: var(--on-dark); }

.foot-list a, .foot-certs a, .foot-register, .foot-mail, .foot-tel__alt a {
  display: inline-flex; align-items: center; min-block-size: var(--tap); }
.foot-register { align-items: baseline; }

@media (max-width: 980px) {
  .foot-lede, .foot-nav, .foot-legal { grid-template-columns: minmax(0, 1fr); gap: var(--s-7); }
}

.close-band { padding-block: var(--s-10); }
.close-band__in { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: var(--s-9); align-items: end; }

.close-band h2 { max-inline-size: 14ch; }
.close-band .p-lead { margin-block-start: var(--s-5); }

.close-band .actions { margin-block-start: var(--s-7); }
@media (max-width: 980px) {
  .close-band__in { grid-template-columns: minmax(0, 1fr); gap: var(--s-7); align-items: start; }
}

@media (prefers-reduced-motion: no-preference) {
  .deck:not(.js) { scroll-snap-type: y mandatory; }
  .deck:not(.js) .hero, .deck:not(.js) .chapter { scroll-snap-align: start; scroll-snap-stop: always; }
  .deck:not(.js) .chapter--auto { scroll-snap-align: none; }
  .deck:not(.js) .site-foot { scroll-snap-align: start; }
}
@media (prefers-reduced-motion: reduce) {
  .deck { scroll-snap-type: y proximity; }
  .deck .hero, .deck .chapter { scroll-snap-align: start; }
  .deck .chapter--auto { scroll-snap-align: none; }
  .deck .site-foot { scroll-snap-align: start; }
}

.deck-driving { scroll-behavior: auto !important; }
.deck-driving .pager__viewport { scroll-behavior: auto !important; }

.deck-rail {
  position: fixed; z-index: 90;
  inset-inline-start: var(--s-4); inset-block-end: var(--s-7);
  display: flex; flex-direction: column; align-items: center;
  color: var(--navy);
}

.deck-rail.is-on-dark { color: var(--on-dark); }
.deck-rail__marks { display: none; }
@media (min-width: 1280px) {
  .deck-rail {
    inset-inline-start: var(--s-3); inset-block-end: auto;
    inset-block-start: 50%; transform: translateY(-50%);
  }
  .deck-rail__marks { display: flex; flex-direction: column; align-items: center; }

  .deck main .wrap, .deck .site-foot .wrap { padding-inline-start: 80px; }
}

.deck-rail__dot {
  display: flex; align-items: center; justify-content: center;
  inline-size: 28px; block-size: 28px;
  color: inherit; text-decoration: none; opacity: 0.45;
  transition: opacity var(--duration-quick) var(--ease-out);
}
.deck-rail__dot:hover, .deck-rail__dot:focus-visible { opacity: 1; }
.deck-rail__dot[aria-current="true"] { opacity: 1; }
.deck-rail__dot svg { inline-size: 14px; block-size: 14px; overflow: visible; }
.deck-rail__core { fill: currentColor; }
.deck-rail__ring {
  fill: none; stroke: currentColor; stroke-width: 1;
  stroke-dasharray: 37.699; stroke-dashoffset: 37.699;

  transform: rotate(-90deg); transform-origin: 8px 8px;
}

.deck-rail__motion {
  display: flex; align-items: center; justify-content: center;
  inline-size: 32px; block-size: 32px; margin-block-start: var(--s-4);
  padding: 0; background-color: transparent; color: inherit;
  border: 1px solid currentColor; border-radius: var(--radius-circle);
  transition: background-color var(--duration-quick) var(--ease-out);
}
.deck-rail__motion:hover, .deck-rail__motion:focus-visible {
  background-color: color-mix(in srgb, currentColor 15%, transparent);
}
.deck-rail__motion svg { inline-size: 10px; block-size: 10px; display: block; }

.deck-rail__motion .ico-play { display: none; }
.deck-rail__motion[aria-pressed="true"] .ico-pause { display: none; }
.deck-rail__motion[aria-pressed="true"] .ico-play { display: block; }

.eyebrow {
  display: flex; align-items: center; gap: var(--s-4);
  inline-size: fit-content; max-inline-size: 100%;
  font-family: var(--face-text); font-size: var(--t-micro); font-weight: var(--w-regular);
  letter-spacing: var(--track-eyebrow); text-transform: uppercase;
  color: var(--ink-soft); margin-block-end: var(--s-6);
}
.eyebrow::before { content: ""; inline-size: var(--s-8); block-size: 1px;
  background-color: var(--gold); flex: 0 0 auto; }
.chapter--dark .eyebrow, .chapter--deep .eyebrow, .hero .eyebrow, .pin .eyebrow,
.site-foot .eyebrow { color: var(--on-dark); }
.chapter--dark .eyebrow::before, .chapter--deep .eyebrow::before,
.hero .eyebrow::before, .pin .eyebrow::before, .site-foot .eyebrow::before {
  background-color: var(--mark); }

.monument { font-family: var(--face-display); font-optical-sizing: auto;
  font-weight: var(--w-display); font-size: var(--t-monument); line-height: 0.78;
  letter-spacing: -0.05em; color: var(--navy); margin-block: 0; text-wrap: nowrap; }
.monument__b { display: block; padding-inline-start: 18%; opacity: 0.62; }
@media (max-width: 780px) { .monument__b { padding-inline-start: 8%; } }

.numeral {
  font-family: var(--face-display); font-optical-sizing: auto;
  font-weight: var(--w-display);
  font-variant-numeric: lining-nums;
  letter-spacing: var(--track-display); line-height: 1;
  color: var(--ink-soft);
  transition: color   var(--duration-fast) var(--ease-smooth-out),
              opacity var(--duration-fast) var(--ease-smooth-out);
}
@media (hover: hover) {
  *:hover > .numeral, *:hover > .ord > .numeral { color: var(--gold); }
}
.chapter--dark .numeral, .chapter--deep .numeral, .pin .numeral {
  color: var(--on-dark); opacity: 0.55; }
@media (hover: hover) {
  .chapter--dark *:hover .numeral, .chapter--deep *:hover .numeral {
    color: var(--gold-on-dark); opacity: 1; }
}
.tally {
  display: block; inline-size: var(--s-8); block-size: 1px;
  margin-block-start: var(--s-4);
  background-color: var(--hairline);
  background-image: linear-gradient(to right, var(--gold) var(--fill, 0%), transparent var(--fill, 0%));
  transition: background-image var(--duration-fast) var(--ease-smooth-out); }
.chapter--dark .tally, .chapter--deep .tally {
  background-color: var(--gold-hairline-on-dark);
  background-image: linear-gradient(to right, var(--gold-on-dark) var(--fill, 0%), transparent var(--fill, 0%)); }
.ord { display: flex; flex-direction: column; align-items: flex-start;
  margin-block-end: var(--s-4); }

.hero { position: relative; background-color: var(--navy); color: var(--on-dark);
  min-block-size: calc(100vh - var(--header-h)); display: flex; align-items: flex-end;
  overflow: hidden; }
.deck .hero { scroll-margin-block-start: var(--header-h); }
.hero__media { position: absolute; inset: 0; z-index: 0; overflow: hidden; }
.hero__media img { inline-size: 100%; block-size: 100%; object-fit: cover;
  object-position: 50% 42%; }
.hero__in { position: relative; z-index: 3;
  padding-block: clamp(var(--s-5), 4.5vh, var(--s-9)) clamp(var(--s-6), 6vh, var(--s-10)); }
@media (max-width: 1279px) {

  .hero__in { padding-block-end: calc(var(--s-6) + var(--s-9)); }
}

.hero h1 { font-size: var(--t-hero); line-height: var(--lh-hero);
  font-weight: var(--w-display); color: var(--on-dark);
  inline-size: fit-content; max-inline-size: 19ch; }

.hero h1 > span { display: block; }
.hero .p-lead { margin-block-start: var(--s-7); max-inline-size: 46ch; }
.hero .actions { margin-block-start: var(--s-8); }

.hero__scrim {
  position: absolute; inset: 0; z-index: 2; pointer-events: none;
  opacity: var(--hero-scrim, 0.56);
  background-image:
    linear-gradient(105deg,
      color-mix(in srgb, var(--navy) 94%, transparent) 0%,
      color-mix(in srgb, var(--navy) 86%, transparent) 30%,
      color-mix(in srgb, var(--navy) 62%, transparent) 52%,
      color-mix(in srgb, var(--navy) 22%, transparent) 74%,
      color-mix(in srgb, var(--navy) 2%, transparent) 92%,
      transparent 100%),
    linear-gradient(to top,
      color-mix(in srgb, var(--navy) 55%, transparent) 0%,
      color-mix(in srgb, var(--navy) 10%, transparent) 34%,
      transparent 60%);
}
@media (max-width: 780px) {
  .hero__scrim {
    background-image: linear-gradient(to top,
      color-mix(in srgb, var(--navy) 90%, transparent) 0%,
      color-mix(in srgb, var(--navy) 86%, transparent) 35%,
      color-mix(in srgb, var(--navy) 80%, transparent) 65%,
      color-mix(in srgb, var(--navy) 74%, transparent) 85%,
      color-mix(in srgb, var(--navy) 70%, transparent) 100%); }
}

.hero__cue { position: absolute; inset-inline-start: 50%; inset-block-end: var(--s-6); z-index: 3;
  transform: translateX(-50%); display: flex; flex-direction: column; align-items: center;
  gap: var(--s-2);
  font-size: var(--t-micro); letter-spacing: var(--track-eyebrow); text-transform: uppercase;
  color: var(--on-dark); opacity: 0.7; }
.hero__cue span { inline-size: 1px; block-size: var(--s-7); background-color: var(--on-dark);
  display: block; }

.hero__video, .ambient__video {
  position: absolute; inset: 0; z-index: 1;
  inline-size: 100%; block-size: 100%;
  object-fit: cover; object-position: 50% 42%;
  opacity: 0;
  transition: opacity var(--duration-reveal) var(--ease-reveal); }
.ambient__video.is-ready { opacity: 1; }

.ambient.is-paused .hero__media img,
.ambient.is-paused .hero__media .ambient__video { animation-play-state: paused; }

.pin { position: relative; min-block-size: 190vh; display: block; padding-block: 0;
  background-color: var(--navy-deep); color: var(--on-dark); }
.pin__stage { position: sticky; inset-block-start: 0; block-size: 100vh; overflow: hidden;
  display: flex; align-items: center; }
.pin__media { position: absolute; inset: -8% 0; z-index: 0; will-change: transform; }
.pin__media img, .pin__media .ambient__video {
  inline-size: 100%; block-size: 100%; object-fit: cover; object-position: 50% 55%; }
.pin__scrim-flat { position: absolute; inset: 0; z-index: 1;
  background-color: var(--pin-scrim-flat); }
.pin__scrim-grad { position: absolute; inset: 0; z-index: 2;
  background-image: linear-gradient(to top,
    var(--pin-scrim-0) 0%, var(--pin-scrim-1) 52%, var(--pin-scrim-2) 100%); }
.pin__in { position: relative; z-index: 3; inline-size: 100%; }
.pin h2 { color: var(--on-dark); }

.pin__progress { position: absolute; inset-block-end: 0; inset-inline: 0; z-index: 4;
  block-size: 2px; background-color: var(--gold-hairline-on-dark); }
.pin__progress i { display: block; block-size: 100%; inline-size: var(--pin-progress, 0%);
  background-color: var(--gold-on-dark); transform-origin: left center; }

.rows { border-block-start: 1px solid var(--hairline); }
.chapter--dark .rows, .chapter--deep .rows, .pin .rows {
  border-block-start-color: var(--gold-hairline-on-dark); }
.row { position: relative; display: flex; flex-wrap: wrap; align-items: baseline;
  gap: var(--s-5);
  padding-block: var(--s-6); padding-inline: var(--s-4);
  border-block-end: 1px solid var(--hairline);
  text-decoration: none; color: inherit;
  transition: background-color var(--duration-fast) var(--ease-smooth-out),
              transform var(--duration-fast) var(--ease-smooth-out); }
.chapter--dark .row, .chapter--deep .row { border-block-end-color: var(--gold-hairline-on-dark); }
.row::after { content: ""; position: absolute; inset-inline: 0; inset-block-end: -1px;
  block-size: 1px; background-color: var(--gold);
  transform: scaleX(0); transform-origin: left center;
  transition: transform var(--duration-slow) var(--ease-smooth-out); }
.chapter--dark .row::after, .chapter--deep .row::after { background-color: var(--gold-on-dark); }
.row:hover, .row:focus-visible { background-color: var(--navy-wash);
  transform: translateX(var(--distance-base)); }
.chapter--dark .row:hover, .chapter--deep .row:hover { background-color: var(--white-wash); }
.row:hover::after, .row:focus-visible::after { transform: scaleX(1); }
.row__n { flex: 0 0 auto; inline-size: 84px;
  display: flex; flex-direction: column; align-items: flex-start; }
.row__n .numeral { font-size: var(--t-display-2); }
.row__n .tally { margin-block-start: var(--s-3); }
.row__body { flex: 1 1 380px; }
.row__body h3 { font-family: var(--face-display); font-optical-sizing: auto;
  font-size: var(--t-display-2); font-weight: var(--w-display);
  letter-spacing: var(--track-display); line-height: 1.05; margin-block: 0 var(--s-3); }

.row__body h3::after { display: none; }
.row__body .p-body { color: var(--ink-soft); font-size: var(--t-small); max-inline-size: 74ch; }
.chapter--dark .row__body .p-body, .chapter--deep .row__body .p-body { color: var(--on-dark-soft); }
.row__go { flex: 0 0 auto; align-self: center; margin-inline-start: auto; color: var(--gold);
  font-size: var(--t-small); letter-spacing: var(--track-eyebrow); text-transform: uppercase; }
.chapter--dark .row__go, .chapter--deep .row__go { color: var(--gold-on-dark); }

.cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s-5);
  align-items: stretch; }
.cards--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.cards--5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.cards--triad { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 980px) { .cards, .cards--4, .cards--5 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 620px) {
  .cards, .cards--4, .cards--5 { grid-template-columns: minmax(0, 1fr); }

  .cards--concerns { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-4); }
  .cards--triad { grid-template-columns: minmax(0, 1fr); gap: var(--s-4); }
}
.card { background-color: var(--surface); border: 1px solid var(--hairline); }
.card__body { display: block; padding: var(--s-6); }
.card h3, .tenet h3 {
  font-family: var(--face-text); font-size: var(--t-heading); font-weight: var(--w-regular);
  line-height: var(--lh-heading); letter-spacing: -0.01em; margin-block: 0 var(--s-3); }

.card h3::after, .tenet h3::after { display: none; }
.card .p-body { color: var(--ink-soft); max-inline-size: none; font-size: var(--t-small); }
.card-link { display: block; text-decoration: none; color: inherit;
  transition: border-color var(--duration-fast) var(--ease-smooth-out),
              transform var(--duration-fast) var(--ease-smooth-out); }
.card-link:hover, .card-link:focus-visible { border-color: var(--navy);
  transform: translateY(-4px); }
@media (hover: hover) {
  .card-link:hover .frame > img, .card-link:hover .frame > .frame__empty { transform: scale(1.045); }
}

.concern { border-block-start: 1px solid var(--gold-hairline-on-dark);
  padding-block-start: var(--s-5); }
.concern .numeral { font-size: var(--t-heading); display: block; line-height: 1; }
.concern .t { font-family: var(--face-display); font-optical-sizing: auto;
  font-size: var(--t-heading); font-weight: var(--w-light);
  line-height: 1.18; letter-spacing: var(--track-display); }

.tenet { border-block-start: 1px solid var(--hairline); padding-block-start: var(--s-5); }
.chapter--dark .tenet, .chapter--deep .tenet { border-block-start-color: var(--gold-hairline-on-dark); }
.tenet p { color: var(--ink-soft); font-size: var(--t-small); line-height: var(--lh-body);
  max-inline-size: 46ch; }
.chapter--dark .tenet p, .chapter--deep .tenet p { color: var(--on-dark-soft); }

.pager { --pager-gap: var(--s-5); }
.pager__viewport {
  overflow-x: auto; overflow-y: hidden;
  scroll-behavior: smooth;
  scrollbar-width: none; -ms-overflow-style: none;
}
.pager__viewport::-webkit-scrollbar { display: none; }
@media (prefers-reduced-motion: reduce) { .pager__viewport { scroll-behavior: auto; } }
.pager__track { display: flex; gap: var(--pager-gap); margin-block: 0;
  padding-inline-start: 0; list-style: none; }
.pager--cards { --pager-per: 3; }
.pager--cards .pager__item {
  flex: 0 0 calc((100% - (var(--pager-per) - 1) * var(--pager-gap)) / var(--pager-per)); }

.pager--rows .pager__track { display: grid; grid-auto-flow: column;
  grid-auto-columns: 100%; grid-template-rows: repeat(3, auto); }
.pager--cards .frame { aspect-ratio: auto; block-size: min(34vh, 360px); }
.pager--cards .frame > img, .pager--cards .frame > .frame__empty { block-size: 100%; }
.pager__nav { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-3);
  margin-block-start: var(--s-4); }

.pager--rows .row { padding-block: var(--s-5); }

.pager__arrow {
  display: inline-flex; align-items: center; justify-content: center;
  inline-size: var(--tap); block-size: var(--tap);
  color: var(--ink-soft); text-decoration: none;
  border: 1px solid var(--edge-strong); border-radius: var(--radius-circle);
  transition: color var(--duration-quick) var(--ease-out),
              border-color var(--duration-quick) var(--ease-out),
              opacity var(--duration-quick) var(--ease-out); }
.pager__arrow svg { inline-size: 16px; block-size: 16px; }
.pager__arrow:hover, .pager__arrow:focus-visible { color: var(--gold); border-color: var(--gold); }

.pager__arrow[aria-disabled="true"] { opacity: 0.3; }
.pager__count {
  min-inline-size: 4ch; text-align: center;
  font-size: var(--t-small); color: var(--ink-soft);
  font-variant-numeric: tabular-nums; }
.chapter--dark .pager__arrow, .chapter--deep .pager__arrow {
  color: var(--on-dark); border-color: var(--gold-hairline-on-dark); }
.chapter--dark .pager__arrow:hover, .chapter--deep .pager__arrow:hover,
.chapter--dark .pager__arrow:focus-visible, .chapter--deep .pager__arrow:focus-visible {
  color: var(--gold-on-dark); border-color: var(--gold-on-dark); }
.chapter--dark .pager__count, .chapter--deep .pager__count { color: var(--on-dark-soft); }
@media (max-width: 980px) {
  .pager--cards { --pager-per: 2; }
  .pager--rows .pager__track { grid-template-rows: repeat(2, auto); }
}
@media (max-width: 620px) {
  .pager--cards { --pager-per: 1; }
  .pager--rows .pager__track { grid-template-rows: repeat(1, auto); }
}

.split { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 6fr);
  gap: var(--s-9); align-items: center; }
.split--wide-media { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
@media (max-width: 980px) {
  .split, .split--wide-media { grid-template-columns: minmax(0, 1fr); gap: var(--s-7); }
}
.split .frame { inline-size: 100%; }

.p-quote { font-family: var(--face-display); font-optical-sizing: auto;
  font-size: var(--t-quote); font-weight: var(--w-light); line-height: 1.3;
  letter-spacing: var(--track-display); color: var(--ink); max-inline-size: 36ch; }

.hm-fact { margin-block-start: var(--s-5); font-size: var(--t-small); color: var(--on-dark-soft); }

:root {

  --in-portrait: 200px;

  --fig-close: 480px;

  --in-rule: 1px solid var(--gold);
}

.in-open { padding-block: var(--s-9) var(--s-8); }

@media (min-width: 1280px) { .in-open { padding-block: var(--s-10) var(--s-8); } }

@media (max-width: 767px) { .in-open { padding-block: var(--s-8) var(--s-7); } }

.in-open .p-lead { margin-block-start: var(--s-6); }

.in-crumbs { margin-block-end: var(--s-7); font-size: var(--t-small); color: var(--ink-soft); }

.in-crumbs a {
  text-decoration: none;
  transition: color var(--duration-quick) var(--ease-out);
}

.in-crumbs a:hover,
.in-crumbs a:focus-visible { color: var(--gold); }

.in-crumbs [aria-current] { color: var(--ink); }

.in-small { font-size: var(--t-small); line-height: var(--lh-lead); color: var(--ink-soft);
  max-inline-size: var(--measure); }

.in-owed { margin-block-start: var(--s-7); }

.in-small a {
  color: var(--navy); text-decoration: underline;
  text-decoration-color: var(--hairline);
  transition: color var(--duration-quick) var(--ease-out),
              text-decoration-color var(--duration-quick) var(--ease-out);
}

.in-small a:hover,
.in-small a:focus-visible { color: var(--gold); text-decoration-color: var(--gold); }

.in-disclosure { font-size: var(--t-small); line-height: var(--lh-body); color: var(--ink-soft); }

.in-disclosure p + p { margin-block-start: var(--s-4); }

.in-figure { margin-block-start: var(--s-7); }

.in-figure--flush { margin-block-start: 0; }

.in-figure--major { max-inline-size: calc(var(--container) / 3 * 2); }

.in-split { display: grid; gap: var(--s-9); align-items: start; }

@media (min-width: 1024px) {
  .in-split { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); column-gap: var(--s-10); }

  .in-split--media { grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); }

  .in-split--figure { grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); }
}

.in-rows { margin-block-start: var(--s-8); border-block-start: var(--in-rule); }

.in-row { display: grid; gap: var(--s-3); padding-block: var(--s-5);
  border-block-end: var(--in-rule); }

@media (min-width: 768px) {
  .in-row { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); column-gap: var(--s-8);
    align-items: baseline; }
  .in-row--plain { grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); }
}

.in-row__name a {
  display: inline-block; padding-block: var(--s-2);
  text-decoration: none;
  transition: color var(--duration-quick) var(--ease-out);
}

.in-row__name a:hover,
.in-row__name a:focus-visible { color: var(--gold); }

.in-row__text { color: var(--ink-soft); max-inline-size: var(--measure); }

.in-row__aside { font-size: var(--t-small); color: var(--ink-soft); }

.in-rows--compact .in-row { padding-block: var(--s-2); grid-template-columns: none; }

.in-rows--compact .in-row__name {
  font-family: var(--face-text); font-size: var(--t-body); font-weight: var(--w-regular);
  line-height: var(--lh-heading); letter-spacing: var(--track-body);
}

.in-rows--compact .in-row__name a { padding-block: var(--s-3); }

@media (min-width: 768px) { .in-row__aside { text-align: end; } }

.in-people { margin-block-start: var(--s-9); border-block-start: var(--in-rule); }

.in-person { display: grid; gap: var(--s-6); padding-block: var(--s-7);
  border-block-end: var(--in-rule); }

@media (min-width: 768px) {
  .in-person { grid-template-columns: var(--in-portrait) minmax(0, 1fr);
    column-gap: var(--s-8); }
}

@media (min-width: 1024px) { .in-person { column-gap: var(--s-10); } }

.in-person__media { max-inline-size: var(--in-portrait); }

.in-person__name a {
  display: inline-block; padding-block: var(--s-2); text-decoration: none;
  transition: color var(--duration-quick) var(--ease-out);
}

.in-person__name a:hover,
.in-person__name a:focus-visible { color: var(--gold); }

.in-person__title { margin-block: 0 var(--s-4); }
.in-person__title + .p-body { margin-block-start: 0; }

.in-person__bio { margin-block-start: var(--s-5); }

.in-steps { margin-block-start: var(--s-9); border-block-start: var(--in-rule); }

.in-step { padding-block: var(--s-8); border-block-end: var(--in-rule); }

.in-step .p-body { margin-block-start: var(--s-5); }

.in-faqs { margin-block-start: var(--s-8); border-block-start: var(--in-rule); }

.in-faq { border-block-end: var(--in-rule); }

.in-faq__q {

  display: flex; align-items: baseline; justify-content: space-between; gap: var(--s-5);
  padding-block: var(--s-5); min-block-size: var(--tap);
  list-style: none;
  transition: color var(--duration-quick) var(--ease-out);
}

.in-faq__q::-webkit-details-marker { display: none; }

.in-faq__t { font-family: var(--face-display); font-optical-sizing: auto;
  font-size: var(--t-heading); font-weight: var(--w-light);
  line-height: var(--lh-heading); letter-spacing: var(--track-display); }

.in-faq__q:hover { color: var(--gold); }

.in-faq__mark {
  flex: none; inline-size: var(--s-2); block-size: var(--s-2);
  border-inline-end: 1px solid currentColor; border-block-end: 1px solid currentColor;
  transform: rotate(45deg);
  transition: transform var(--duration-fast) var(--ease-smooth-out);
}

.in-faq[open] .in-faq__mark { transform: rotate(-135deg); }

.in-faq__a { padding-block-end: var(--s-6); padding-inline: var(--s-4); }

@media (prefers-reduced-motion: reduce) { .in-faq__mark { transition: none; } }

.in-cats {
  display: flex; flex-wrap: wrap; gap: var(--s-6);
  margin-block-start: var(--s-7); padding-block-start: var(--s-5);
  border-block-start: var(--in-rule);
}

.in-cats > * {
  display: inline-flex; align-items: center; min-block-size: var(--tap);
  font-size: var(--t-small); color: var(--ink-soft); text-decoration: none;
  border-block-end: 1px solid transparent;
  transition: color var(--duration-quick) var(--ease-out),
              border-color var(--duration-quick) var(--ease-out);
}

.in-cats a:hover,
.in-cats a:focus-visible { color: var(--gold); border-block-end-color: var(--gold); }

.in-cats [aria-current] { color: var(--ink); border-block-end-color: var(--edge-strong); }

.in-marks { display: grid; grid-template-columns: repeat(3, max-content);
  justify-content: start; column-gap: var(--s-8); row-gap: var(--s-4);
  align-items: center; margin-block-start: var(--s-7); }

@media (max-width: 767px) { .in-marks { grid-template-columns: max-content; } }

.in-mark { display: inline-flex; align-items: center; min-block-size: var(--tap);
  padding-block: var(--s-2); padding-inline: var(--s-4);
  box-shadow: inset 0 0 0 1px transparent;
  transition: box-shadow var(--duration-fast) var(--ease-out),
              transform var(--duration-fast) var(--ease-out); }

.in-mark img { block-size: var(--s-7); inline-size: auto; }

.in-mark:hover,
.in-mark:focus-visible { box-shadow: inset 0 0 0 2px var(--navy);
  transform: translateY(-2px); }

.in-certs { display: flex; gap: var(--s-7); margin-block-start: var(--s-7);
  font-family: var(--face-display); font-optical-sizing: auto;
  font-size: var(--t-heading); font-weight: var(--w-light); color: var(--ink); }

.in-list { list-style: none; margin: 0; padding: 0; }

.in-list a {
  display: inline-flex; align-items: center; min-block-size: var(--tap);
  text-decoration: none;
  transition: color var(--duration-quick) var(--ease-out);
}

.in-list a:hover,
.in-list a:focus-visible { color: var(--gold); }

.in-facts__block + .in-facts__block,
.in-facts__block + .actions,
.actions + .in-facts__block,
.in-facts__block + .in-figure { margin-block-start: var(--s-7); }

.in-facts__block > * + * { margin-block-start: var(--s-2); }

.in-tel {
  display: inline-flex; align-items: center; min-block-size: var(--tap);
  font-family: var(--face-display); font-optical-sizing: auto;
  font-size: var(--t-h2); font-weight: var(--w-display);
  line-height: var(--lh-h2); letter-spacing: var(--track-display);
  text-decoration: none;
  transition: color var(--duration-quick) var(--ease-out);
}

.in-tel:hover,
.in-tel:focus-visible { color: var(--gold); }

.in-err { visibility: hidden; }

.field input:user-invalid ~ .field__error .in-err,
.field textarea:user-invalid ~ .field__error .in-err { visibility: visible; }

.in-form > .field + .field { margin-block-start: var(--s-6); }

.in-form__note { margin-block-start: var(--s-6); }

.in-form__send { margin-block-start: var(--s-7); }

.in-map { display: grid; gap: var(--s-8) var(--s-7); margin-block-start: var(--s-8);
  align-items: start; }

@media (min-width: 768px) { .in-map { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

@media (min-width: 1024px) { .in-map { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

@media (min-width: 1280px) { .in-map { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

.in-map__cell { border-block-start: var(--in-rule); padding-block-start: var(--s-5); }

.in-map__head { display: flex; align-items: center; gap: var(--s-3);
  min-block-size: var(--tap); padding-block: var(--s-2); text-decoration: none;
  transition: color var(--duration-quick) var(--ease-out); }

a.in-map__head:hover,
a.in-map__head:focus-visible { color: var(--gold); }

.in-map__head--plain { color: var(--ink-soft); }

.in-map__cell ul { margin-block-start: var(--s-3); }

.sprite { position: absolute; inline-size: 0; block-size: 0; overflow: hidden; }

.device { display: block; block-size: 100%; inline-size: auto; fill: none; stroke: none; }

.device--mark { display: inline-block; block-size: 0.72em; inline-size: auto;
  margin-inline-end: 0.34em; vertical-align: baseline; fill: var(--gold); }
.chapter--dark .device--mark, .chapter--deep .device--mark, .hero .device--mark,
.pin .device--mark, .site-foot .device--mark { fill: var(--gold-on-dark); }

.device--row { display: block; block-size: var(--s-5); inline-size: auto;
  fill: var(--gold); }

.device--figure { stroke: var(--gold-figure); stroke-width: 1.5;
  vector-effect: non-scaling-stroke; stroke-linejoin: round; fill: none; }

.fig-panel { position: absolute; inset: 0; overflow: hidden;
  pointer-events: none; z-index: 0; }

.hm-close, .close-band { position: relative; }
.hm-close > .wrap, .close-band > .wrap { position: relative; z-index: 1; }

.dot-ground {
  position: absolute; inset: 0;
  inline-size: 100%; block-size: 100%;
  display: block; pointer-events: none;
}

.dot-ground { visibility: hidden; }
.js .dot-ground { visibility: visible; }

.hm-close__figure .device, .close-band__figure .device {
  position: absolute; inset-block-start: var(--s-1); inset-inline-end: 0;
  block-size: var(--fig-close);
  -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 15%, transparent 23%);
  mask-image: linear-gradient(to bottom, #000 0%, #000 15%, transparent 23%); }
@media (max-width: 980px) {

  .hm-close__figure .device, .close-band__figure .device {
    inset-inline-end: calc(var(--fig-close) * -0.12); }
}

.device--plate { position: absolute; inset-block-start: 12%; inset-inline-end: 9%;
  block-size: 62%; stroke: var(--gold-on-dark); stroke-width: 1.5;
  vector-effect: non-scaling-stroke; stroke-linejoin: round; fill: none; }

@container (max-width: 260px) {
  .device--plate { block-size: 68%; inset-block-start: 6%; inset-inline-end: 6%; }
}
.frame { container-type: inline-size; }

.in-map__cell h2::after { display: none; }

.in-map__cell h2 { font-size: var(--t-heading); line-height: 1.1; }

.chapter--deep .in-crumbs { color: var(--on-dark-soft); }
.chapter--deep .in-crumbs [aria-current] { color: var(--on-dark); }
.chapter--deep .in-crumbs a:hover,
.chapter--deep .in-crumbs a:focus-visible { color: var(--gold-on-dark); }

.in-opener__media { margin-block-start: var(--s-9); }

.in-h1--section { max-inline-size: 18ch; }
.in-h1--page { max-inline-size: 16ch; }

.in-h1--service { max-inline-size: 13ch; }

.in-lead--section { max-inline-size: 52ch; }

.in-grid {
  display: grid;
  grid-template-columns: repeat(var(--cols, 3), minmax(0, 1fr));
  gap: var(--s-5);
  align-items: stretch;
  margin-block-start: var(--s-8);
}
@media (max-width: 1279px) { .in-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px)  { .in-grid { grid-template-columns: minmax(0, 1fr); } }

@media (min-width: 768px) and (max-width: 1279px) {
  .in-grid__wide { grid-column: 1 / -1; }
  .in-grid__wide .frame { aspect-ratio: 16 / 9; }
}

.in-more {
  display: grid;
  grid-template-columns: repeat(var(--cols, 3), minmax(0, 1fr));
  gap: var(--s-5);
  align-items: stretch;
  margin-block-start: var(--s-7);
}
@media (min-width: 768px) and (max-width: 1279px) {
  .in-more { grid-template-columns: repeat(var(--cols-md, 2), minmax(0, 1fr)); }
  .in-more__wide { grid-column: span 2; }
  .in-more__wide .frame { aspect-ratio: 16 / 9; }
}

@media (max-width: 767px) { .in-more { grid-template-columns: minmax(0, 1fr); } }

.in-res-grid,
.in-team,
.in-browse {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--s-5);
  align-items: stretch;
  margin-block-start: var(--s-8);
}
.in-res-grid { margin-block-start: var(--s-9); }

@media (max-width: 1279px) {
  .in-res-grid, .in-team, .in-browse { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .in-res-grid, .in-team, .in-browse { grid-template-columns: minmax(0, 1fr); }
}
@media (min-width: 768px) and (max-width: 1279px) {
  .in-res-grid__wide { grid-column: 1 / -1; }
  .in-res-grid__wide .frame { aspect-ratio: 21 / 9; }

  .in-browse > :nth-child(9) { grid-column: 1 / -1; }
  .in-browse > :nth-child(9) .frame { aspect-ratio: 16 / 9; }
}

.in-team .p-body + .p-body { margin-block-start: var(--s-4); }

.in-cat {
  margin-block-start: var(--s-3);
  font-size: var(--t-micro); font-weight: var(--w-regular);
  letter-spacing: var(--track-eyebrow); text-transform: uppercase;
  color: var(--ink-soft);
}

.in-band { padding-block: 0; display: block; }
.in-band__in { inline-size: 100%; }
.in-band .frame {
  aspect-ratio: auto;
  inline-size: 100%;
  block-size: min(calc(100vw * 9 / 21), 60vh);
}

@media (max-width: 620px) { .in-band .frame { block-size: 44vh; } }

.in-duo {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--s-5);
  align-items: start;
}
@media (max-width: 620px) { .in-duo { grid-template-columns: minmax(0, 1fr); } }

.in-vsteps { display: grid; gap: var(--s-10); margin-block-start: var(--s-9); }
.in-vstep { align-items: start; }
@media (min-width: 981px) {
  .in-vstep--flip .in-vstep__media { grid-column: 1; grid-row: 1; }
  .in-vstep--flip .in-vstep__text  { grid-column: 2; grid-row: 1; }
}

@media (min-width: 981px) and (prefers-reduced-motion: no-preference) {
  .in-vsteps--stack .stack-row { position: relative; min-block-size: 108vh; }
  .in-vsteps--stack .stack-row + .stack-row {
    margin-block-start: calc(-48vh - var(--s-10)); }
  .in-vsteps--stack .stack-sticky {
    position: sticky;

    inset-block-start: calc(var(--header-h) + var(--s-6));
    padding-block: var(--s-6);
    background-color: var(--paper);

    transform: scale(var(--s, 1));
    transform-origin: 50% 0;
  }

}
.in-vstep__text h3 { max-inline-size: 18ch; margin-block-start: var(--s-5); }
.in-vstep__text .p-body { margin-block-start: var(--s-5); }

.in-register {
  display: inline-flex; align-items: baseline;
  min-block-size: var(--tap);
  margin-block-start: var(--s-4);
  max-inline-size: 44ch;
  font-size: var(--t-small);
  color: var(--gold);
  text-decoration: underline; text-decoration-thickness: 1px;
  text-underline-offset: var(--s-1); text-decoration-color: var(--hairline);
  transition: text-decoration-color var(--duration-quick) var(--ease-out);
}
.in-register:hover,
.in-register:focus-visible { text-decoration-color: var(--gold); }

.in-pills { position: relative;
  display: flex; flex-wrap: wrap; gap: var(--s-3); margin-block-start: var(--s-7); }

.in-pills__slide {
  position: absolute; inset-block-start: 0; inset-inline-start: 0;
  display: none;
  inline-size: 1px; block-size: 2px;
  background-color: var(--gold-on-dark);
  transform-origin: 0 0;
  transform: translate(var(--x, 0px), var(--y, 0px)) scaleX(var(--w, 0));
  transition: transform var(--duration-fast) var(--ease-smooth-out);
}

.js .in-pills__slide { display: block; }

.chapter--deep .in-pills .btn { color: var(--gold-on-dark); }
.chapter--deep .in-pills .btn:hover,
.chapter--deep .in-pills .btn:focus-visible {
  background-color: var(--gold-on-dark); color: var(--navy); border-color: var(--gold-on-dark);
}
.in-pills__current {
  display: inline-flex; align-items: center; justify-content: center;
  min-block-size: var(--tap);
  padding-inline: var(--s-5);
  background-color: var(--on-dark); color: var(--navy);
  box-shadow: inset 0 0 0 1px var(--on-dark);
  border-radius: var(--radius-control);
  font-size: var(--t-small); font-weight: var(--w-regular);
}

.split.in-qa { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); align-items: start; }
.split.in-contact { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; }
@media (max-width: 980px) {
  .split.in-qa, .split.in-contact { grid-template-columns: minmax(0, 1fr); }
}

.in-facts__block > .in-list {
  display: flex; flex-wrap: wrap; column-gap: var(--s-6); row-gap: 0;
}

.in-search { display: flex; flex-wrap: wrap; align-items: end; gap: var(--s-4); }
.in-search__field { flex: 1 1 320px; }

.in-search input { font-size: var(--t-lead); }

.in-map__cell .in-list a {

  font-size: var(--t-small); color: var(--ink-soft);
  padding-inline-start: var(--s-4);
  border-inline-start: 4px solid var(--paper-deep);
  transition: color var(--duration-quick) var(--ease-out),
              border-color var(--duration-quick) var(--ease-out);
}
.in-map__cell .in-list a:hover,
.in-map__cell .in-list a:focus-visible { border-inline-start-color: var(--gold); }
