.stage {
  --caps: uppercase;
  --track: 1;
  --field-bg: #0c0d0f;
  --field-border: #6a6e74;
  background:
    radial-gradient(60% 45% at 50% 38%, #1c1d21 0%, rgba(28, 29, 33, 0) 70%),
    linear-gradient(180deg, #0b0c0e 0%, var(--bg) 60%, #030304 100%);
}

.stage::before {
  content: "";
  position: fixed;
  inset: -100px;
  z-index: 5;
  pointer-events: none;
  opacity: .07;
  mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .6 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  background-size: 220px 220px;
}

.stage::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 4;
  pointer-events: none;
  background: radial-gradient(120% 90% at 50% 45%, rgba(6, 6, 7, 0) 55%, rgba(6, 6, 7, .75) 100%);
}

.door {
  --ease-door: cubic-bezier(.65, 0, .18, 1);
  --side: clamp(22px, 6vw, 110px);
  --head: clamp(44px, 9vh, 120px);
  --ground: clamp(96px, 23vh, 240px);
  --trim: clamp(6px, .7vw, 11px);
  --alu: #d6d7d3;
  --alu-dark: #9fa19d;
  --alu-light: #f2f2ef;
  --bw: 72px;
  --bh: 24px;
  --m: 3px;
  --mortar: #a8a299;
  --mortar-dark: #6b655e;
  --mortar-light: #c4beb4;

  display: block;
  padding: var(--head) var(--side) var(--ground);
  background: none;
  transform-origin: 50% calc(50% + (var(--head) - var(--ground)) / 2);
  will-change: transform, opacity;
}

.door::before {
  content: "";
  position: absolute;
  inset: 0;
  padding: var(--head) var(--side) var(--ground);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask-composite: exclude;
  background-color: #9a4a37;
  background-image:
    radial-gradient(70% 55% at 50% 0%, rgba(255, 240, 220, .10) 0%, rgba(255, 240, 220, 0) 70%),
    radial-gradient(120% 100% at 50% 60%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, .5) 100%),
    url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 .22 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"),
    linear-gradient(180deg, #0000 calc(var(--bh) - var(--m)), var(--mortar-dark) 0 calc(var(--bh) - var(--m) + 1px), var(--mortar) 0 calc(var(--bh) - 1px), var(--mortar-light) 0),
    conic-gradient(at var(--m) var(--bh), #0000 75%, var(--mortar) 0),
    conic-gradient(at var(--m) var(--bh), #0000 75%, var(--mortar) 0),
    repeating-linear-gradient(-32deg, #0000 0 140px, rgba(0, 0, 0, .12) 190px 260px, #0000 320px 420px, rgba(255, 220, 190, .07) 470px 520px, #0000 580px),
    repeating-linear-gradient(71deg, #0000 0 90px, rgba(40, 10, 0, .14) 110px 170px, #0000 200px 330px, rgba(255, 200, 150, .08) 350px 400px, #0000 430px),
    linear-gradient(112deg, #a85340 0%, #8f4232 28%, #b25d47 52%, #8a4131 78%, #a04c3a 100%);
  background-size:
    auto,
    auto,
    180px 180px,
    var(--bw) var(--bh),
    var(--bw) calc(var(--bh) * 2),
    var(--bw) calc(var(--bh) * 2),
    auto,
    auto,
    auto;
  background-position:
    0 0,
    0 0,
    0 0,
    0 0,
    calc(var(--bw) - var(--m)) 0,
    calc(var(--bw) / 2 - var(--m)) var(--bh),
    0 0,
    0 0,
    0 0;
  background-repeat: no-repeat, no-repeat, repeat, repeat, repeat, repeat, repeat, repeat, no-repeat;
}

.door__lintel {
  position: absolute;
  left: var(--side);
  right: var(--side);
  top: calc(var(--head) - 8px);
  height: 8px;
  z-index: 1;
  background: linear-gradient(180deg, var(--alu-light) 0%, var(--alu) 40%, var(--alu-dark) 100%);
  box-shadow: 0 2px 5px rgba(0, 0, 0, .45);
}

.door__opening {
  position: relative;
  height: 100%;
  overflow: hidden;
  border: var(--trim) solid var(--alu);
  border-bottom: 0;
  box-shadow:
    0 0 0 1px rgba(0, 0, 0, .6),
    inset 0 0 0 1px rgba(0, 0, 0, .35),
    0 10px 30px rgba(0, 0, 0, .55);
}

.door__opening::before {
  content: "";
  position: absolute;
  inset: calc(var(--trim) * -1);
  pointer-events: none;
  z-index: 6;
  border: var(--trim) solid transparent;
  border-image: linear-gradient(180deg, rgba(255, 255, 255, .55), rgba(255, 255, 255, .08) 20%, rgba(0, 0, 0, .05) 80%, rgba(0, 0, 0, .22)) 1;
}

.door__opening::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 5;
  box-shadow:
    inset 0 22px 26px -10px rgba(0, 0, 0, .7),
    inset 16px 0 24px -12px rgba(0, 0, 0, .55),
    inset -16px 0 24px -12px rgba(0, 0, 0, .55);
}

.door__panel {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  will-change: transform;
  background: linear-gradient(180deg, var(--alu-light) 0%, var(--alu) 30%, #c9cac6 100%);
}

.door__panel::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(108deg, #0000 0 30%, rgba(255, 255, 255, .10) 34% 41%, #0000 45%, #0000 52%, rgba(255, 255, 255, .05) 55% 58%, #0000 61%),
    linear-gradient(160deg, rgba(210, 222, 232, .16) 0%, rgba(210, 222, 232, 0) 45%);
}

.door__panel::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 6px;
  background: linear-gradient(180deg, #2b2d31, #121316);
  box-shadow: 0 -1px 0 rgba(0, 0, 0, .25);
}

.door__section {
  --rail: clamp(5px, .6vw, 9px);
  flex: 1;
  position: relative;
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 1fr;
  gap: var(--rail);
  padding: var(--rail) calc(var(--rail) * 1.6);
  min-height: 0;
}

.door__section + .door__section {
  border-top: 1px solid rgba(0, 0, 0, .28);
}
.door__section + .door__section::before {
  content: "";
  position: absolute;
  left: 0; right: 0; top: 0;
  height: 5px;
  background: linear-gradient(180deg, rgba(255, 255, 255, .7) 0 1px, rgba(0, 0, 0, .18) 1px, rgba(0, 0, 0, 0));
}

.door__section:nth-child(n+6) { display: none; }

.pane {
  position: relative;
  height: auto;
  min-height: 0;
  border-radius: 1px;
  background:
    linear-gradient(172deg, rgba(225, 232, 238, .5) 0%, rgba(190, 200, 210, .28) 24%, rgba(120, 130, 140, .1) 42%, rgba(0, 0, 0, 0) 55%),
    rgba(14, 16, 20, .78);
  box-shadow:
    inset 0 0 0 1px rgba(0, 0, 0, .45),
    inset 0 2px 4px rgba(0, 0, 0, .5),
    0 1px 0 rgba(255, 255, 255, .55);
}

.door__ground {
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: var(--ground);
  overflow: hidden;
  background:
    url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 .18 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"),
    linear-gradient(180deg, #34353a 0%, #2a2b2f 64%, #1f2024 66%, #191a1d 100%);
}

.door__ground::before {
  content: "";
  position: absolute;
  left: 0; right: 0; top: 0;
  height: 22px;
  z-index: 2;
  background: linear-gradient(180deg, rgba(0, 0, 0, .6), rgba(0, 0, 0, 0));
}

.door__ground::after {
  content: "";
  position: absolute;
  left: 0; right: 0; top: calc(66% - 2px);
  height: 4px;
  z-index: 2;
  background: linear-gradient(180deg, rgba(0, 0, 0, .45), rgba(0, 0, 0, .55) 60%, rgba(255, 255, 255, .06));
}
.door__ramp {
  --spread: 16vw;
  position: absolute;
  top: 0;
  left: calc(var(--side) - var(--spread));
  right: calc(var(--side) - var(--spread));
  height: 66%;
  clip-path: polygon(var(--spread) 0, calc(100% - var(--spread)) 0, 100% 100%, 0 100%);
  background:
    url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 .16 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"),

    linear-gradient(90deg, #0000 calc(50% - 1px), rgba(0, 0, 0, .28) 0 calc(50% + 1px), #0000 0),
    linear-gradient(180deg, #0000 0 26%, rgba(0, 0, 0, .3) 26% calc(26% + 2px), #0000 0 60%, rgba(0, 0, 0, .3) 60% calc(60% + 2px), #0000 0),

    linear-gradient(90deg, rgba(0, 0, 0, .22), #0000 30%, #0000 70%, rgba(0, 0, 0, .22)),
    linear-gradient(180deg, #a6a49f 0%, #93918c 45%, #7e7c77 100%);
}

.door__light {

  position: absolute;
  left: 0; right: 0; bottom: 0;
  z-index: 7;
  height: 2px;
  background: linear-gradient(90deg, rgba(241, 242, 244, 0), rgba(241, 242, 244, .9) 50%, rgba(241, 242, 244, 0));
  box-shadow: 0 0 24px 4px rgba(241, 242, 244, .35);
  transform: scaleX(0);
}

.door__label {
  position: absolute;
  left: 50%;
  bottom: 12vh;
  z-index: 7;
  transform: translateX(-50%);
  margin: 0;
  font-family: var(--font-label);
  font-size: 11px;
  letter-spacing: .3em;
  text-transform: uppercase;
  white-space: nowrap;
  color: var(--text);
  opacity: .35;
  animation: label-idle 1.4s ease-in-out infinite alternate;
}
.door__label p { margin: 0; }

@keyframes label-idle { from { opacity: .22; } to { opacity: .5; } }

@media (max-width: 900px) {
  .door__section:nth-child(6) { display: grid; }
}
@media (max-width: 560px) {
  .door { --bw: 54px; --bh: 18px; --m: 2px; --side: clamp(16px, 4.5vw, 110px); --ground: clamp(80px, 17vh, 240px); }
  .door__ramp { --spread: 22vw; }
  .door__section:nth-child(n+7) { display: grid; }
}

.has-intro .top, .has-intro .announce, .has-intro .hero .copy, .has-intro .hero .actions, .has-intro .actionbar { opacity: 0; }
.has-intro .line > span { transform: translateY(110%); }
.is-ready .door__label { animation: fade-in .5s var(--ease-out) .1s both, fade-out .3s ease .95s both; }
.is-ready .door__light { animation: light-spill .6s var(--ease-out) .45s both; }
.is-ready .door__panel { animation: door-lift 1.6s var(--ease-door) .95s both; }
.is-ready .door { animation: drive-in 1.2s cubic-bezier(.55, 0, .45, 1) 1.95s both, door-done 0s linear 3.15s both; }
.has-intro .consent { opacity: 0; }
.has-intro.is-ready .consent { animation: fade-in .3s ease 3.15s both; }
.has-intro .logo__card { animation: none; }
.has-intro.is-ready .logo__card { animation: logo-in 2s var(--ease-out) 1.15s both; }
@keyframes fade-out { from { opacity: 1; } to { opacity: 0; } }
@keyframes label-idle { from { opacity: .22; } to { opacity: .5; } }
@keyframes light-spill { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes door-lift { from { transform: translateY(0); } to { transform: translateY(-102%); } }
@keyframes door-done { to { visibility: hidden; transform: none; display: none; } }
@keyframes drive-in { from { transform: scale(1); opacity: 1; } 50% { opacity: 1; } to { transform: scale(1.7); opacity: 0; } }

.top { font-size: 12px; }
.brand__wordmark { filter: drop-shadow(0 2px 6px rgba(0, 0, 0, .5)); }
.plate__inner { background: linear-gradient(180deg, rgba(255, 255, 255, .035), rgba(255, 255, 255, 0) 30%), var(--surface); }
.cta-band, .coupon { background: linear-gradient(180deg, rgba(255, 255, 255, .035), rgba(255, 255, 255, 0) 40%), var(--surface); }
.plate__inner, .cta-band { box-shadow: var(--shadow-card), inset 0 1px 0 rgba(255, 255, 255, .04); }
.consent {
  background: linear-gradient(180deg, rgba(255, 255, 255, .035), rgba(255, 255, 255, 0) 40%), color-mix(in srgb, var(--surface) 98%, transparent);
  box-shadow: 0 30px 60px -20px rgba(0, 0, 0, .9);
}
.field input::placeholder, .field textarea::placeholder { color: #5d6066; }
.contact__map iframe { filter: grayscale(1) invert(.9) contrast(.85); }
.logo__card { transform: rotateY(-32deg) translateZ(-140px); opacity: 0; }
.logo::before {
  /* pool of light on the showroom floor */
  content: "";
  position: absolute;
  left: 50%;
  bottom: -4%;
  width: 90%;
  height: 20%;
  transform: translateX(-50%);
  background: radial-gradient(50% 50% at 50% 50%, rgba(203, 206, 211, .16), rgba(203, 206, 211, 0) 70%);
  filter: blur(8px);
  pointer-events: none;
}
.logo__img img {
  filter: brightness(.55) drop-shadow(0 20px 40px rgba(0, 0, 0, .6));
}
.logo__img::after {
  /* a light bar that only shows on the logo's own shapes */
  content: "";
  position: absolute;
  inset: 0;
  -webkit-mask-image: url("/brand/logo-on-dark.svg");
  mask-image: url("/brand/logo-on-dark.svg");
  background:linear-gradient(100deg, rgba(255, 255, 255, 0) 43%, rgba(255, 255, 255, .8) 47%, #fff 48.5%, #fff 51.5%, rgba(255, 255, 255, .8) 53%, rgba(255, 255, 255, 0) 57%);
  background-size: 300% 100%;
  background-position: 86% 0;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  mask-repeat: no-repeat;
  pointer-events: none;
}
.grain {
  content: "";
  position: fixed;
  inset: -100px;
  z-index: 5;
  pointer-events: none;
  opacity: .07;
  mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .6 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  background-size: 220px 220px;
}
.vignette {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 4;
  pointer-events: none;
  background: radial-gradient(120% 90% at 50% 45%, rgba(6, 6, 7, 0) 55%, rgba(6, 6, 7, .75) 100%);
}
.logo__card { animation: logo-in 2s var(--ease-out) .2s both; }
.logo__img::after { animation: sheen 2.4s linear 1.6s infinite; }
.is-ready .top, .is-ready .announce, .is-ready .actionbar { animation: fade-in .8s var(--ease-out) 2.5s both; }
.is-ready .line:nth-child(1) > span { animation: rise-in .9s var(--ease-out) 2.8s both; }
.is-ready .line:nth-child(2) > span { animation: rise-in .9s var(--ease-out) 2.9s both; }
.is-ready .hero .copy { animation: fade-up .8s var(--ease-out) 3.05s both; }
.is-ready .hero .actions { animation: fade-up .8s var(--ease-out) 3.2s both; }
@keyframes fade-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes fade-up { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@keyframes rise-in { from { transform: translateY(115%); } to { transform: translateY(0); } }
@keyframes sheen { from { background-position: 86% 0; } to { background-position: 14% 0; } }
@keyframes logo-in { from { opacity: 0; transform: rotateY(-32deg) translateZ(-140px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
:root .logo__card { opacity: 1; transform: none; animation: none; }
:root .logo__img::after { animation: none; }
:root .line:nth-child(n) > span { transform: none; animation: none; }

}
.top { flex-wrap: wrap; row-gap: 0; }
.top > .announce { order: -1; flex: 0 0 auto; width: calc(100% + 2 * var(--pad)); margin: calc(-1 * var(--header-pad, 14px)) calc(-1 * var(--pad)) var(--header-pad, 14px); letter-spacing: 0; text-transform: none; }
.top > .top__cta { flex-wrap: nowrap; margin-left: auto; gap: 16px; }
.top .view-link { margin: 0; }
.foot > .view-text > p { margin: 0; }
.site-foot__col .site-foot__head { margin-bottom: 14px; }
.site-foot .foot { padding: 18px 0 22px; gap: 14px 18px; align-items: center; }
@media (min-width: 861px) {
.site-foot .foot > .view-text.foot__item:last-child { margin-left: auto; }

}
@media (max-width: 860px) {
.site-foot .foot { gap: 12px 20px; padding-bottom: 26px; }
.site-foot .foot > .view-text.foot__item:last-child { flex-basis: 100%; }

}
.site-foot .foot .foot { display: contents; }
.foot > .view-text { margin: 0; }
.foot > .foot__item p { margin: 0; }
.foot a.foot__item { text-decoration: none; }
.callout > .view-rich:not(.checklist) { margin-top: 16px; }
.site-foot .site-foot__head p { margin: 0; font: inherit; letter-spacing: inherit; text-transform: inherit; }
.stage .actions { gap: 10px; }
.stage .actionbar { display: none; }
@media (max-width: 860px) {
.stage .actionbar { display: grid; gap: 0; grid-template-columns: repeat(4, 1fr); flex-wrap: nowrap; }
.actionbar > .view-link { margin: 0; text-align: center; }
.actionbar > .view-link + .view-link { border-left: 1px solid var(--border); }
.actionbar > .view-link:nth-child(3) { background: var(--accent); }
.actionbar > .view-link:nth-child(3) a { color: var(--on-accent); }
.actionbar > .view-link:nth-child(4) { background: none; }
.actionbar > .view-link:nth-child(4) a { color: var(--strong); }

}
.top > .top__cta { order: 4; }
.top > .menu-toggle { order: 5; }
.drawer__cta { display: none; }
.actionbar a { display: block; }
.view-rich.checklist { display: block; }
.view-rich.checklist > ul { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.view-rich.checklist li { position: relative; padding-left: 28px; }
.prose h3 { margin: 1.9em 0 .6em; font-size: clamp(22px, 2.3vw, 28px); line-height: 1.15; font-weight: 500; letter-spacing: -.01em; color: var(--strong); }
.prose h3:first-child { margin-top: 0; }
.page, .page-hero, .block, .block__head, .callout, .aside, .plate__inner { display: block; }
.card { display: flex; flex-direction: column; gap: 10px; padding: 22px 22px 20px; transition: background-color .25s ease; }
.card:hover, .card:focus-within { background: var(--surface-raised); }
.card__title, .card__text, .card__text p, .card__more { margin: 0; }
.card__more { margin-top: auto; }
.card__more a { color: inherit; text-decoration: none; }
.card__more a::after { content: ""; position: absolute; inset: 0; }
.card:hover .card__more { color: var(--strong); }
.card:hover .card__more::after { transform: translateX(4px); }
.prose ul { display: grid; gap: 10px; margin: .4em 0 1.4em; padding: 0; list-style: none; font-size: 16px; }
.prose ul li { position: relative; padding-left: 28px; }
.prose ul li::before { content: ""; position: absolute; left: 2px; top: .45em; width: 11px; height: 6px; border-left: 1.5px solid var(--accent); border-bottom: 1.5px solid var(--accent); transform: rotate(-45deg); }
.page-hero:not(:has(.actions .btn)) .page-lede { margin-bottom: 0; }
.plate__head > .view-text { margin: 0; }
.card__more { display: flex; align-items: baseline; }
.chip a { color: inherit; text-decoration: none; }
.chip.view-link, .chip.view-text { margin: 0; }
.chip.view-text p { margin: 0; }
.chips.view-grid { display: flex; }
.plate__head { flex-wrap: nowrap; }
.plate__head p { margin: 0; }
.table caption { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.table tbody td:first-child { font-weight: 500; }
.table tbody td:first-child a { color: var(--strong); text-decoration: none; }
.table tbody td:first-child a:hover { text-decoration: underline; text-underline-offset: 3px; }
.view-placed:has(> .page-hero) + .block { border-top: 0; }
.toc + .view-placed > .block { border-top: 0; }
.logo__img img { display: block; width: auto; max-width: none; height: 100%; }
.title > .line { margin: 0 0 -.08em; font: inherit; letter-spacing: inherit; font-variation-settings: inherit; }
.top__phone a { color: inherit; text-decoration: none; }
.top__phone a:hover { text-decoration: underline; text-underline-offset: 4px; }
.steps li strong { display: block; margin: 0 0 8px; font-size: 19px; line-height: 1.5; font-weight: 600; color: var(--strong); }
.steps li { font-size: 14.5px; color: var(--text); }
.block > .contact { padding: 0; }
.contact__card { position: relative; }
.contact__card p { margin: 0; }
.contact > [data-feature="map"] { display: flex; }
.contact > [data-feature="map"] > .contact__map { flex: 1; }
@keyframes person-focus { 0%, 100% { opacity: .4; transform: scale(.84); } 50% { opacity: 1; transform: none; } }
.card__text > p + p { margin-top: 10px; }


.site-foot .site-foot__grid {
  grid-template-columns: minmax(0, 1fr) repeat(3, max-content);
  gap: 36px clamp(40px, 5vw, 72px);
}
.site-foot__brand .view-link, .site-foot__brand .view-text { margin: 0; }
.site-foot__brand .view-link { line-height: 1.75; }
.site-foot__brand .view-text { max-width: 34ch; margin-bottom: 16px; color: var(--muted); text-wrap: pretty; }
.site-foot__brand > .view-stack + .view-stack { max-width: 34ch; margin-top: 28px; }
.site-foot__grid > .site-foot__brand p:not(.site-foot__status) { max-width: none; margin: 0; color: inherit; }
.site-foot__grid > .site-foot__brand .site-foot__status { color: var(--strong); }
.site-foot__brand .view-text.site-foot__head { margin-bottom: 14px; }
.site-foot__col .site-foot__head { margin-bottom: 14px; }
.site-foot__col > .view-stack > .view-list:has(+ .view-list) { margin-bottom: 7px; }
.site-foot__col > .view-stack:not(:has(.view-list, .view-social)), .block#follow:not(:has(.view-social)) { display: none; }
.site-foot .foot > .view-text.foot__item:last-child, .site-foot .foot button.foot__item { color: #83878d; }
@media (min-width: 861px) {
  .site-foot .foot > .view-text.foot__item:last-child { margin-left: auto; }
}
@media (max-width: 1100px) {
  .site-foot .site-foot__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .site-foot__brand { grid-column: 1 / -1; }
}
@media (min-width: 561px) and (max-width: 1100px) {
  .site-foot__brand { display: grid; grid-template-columns: subgrid; column-gap: normal; align-items: start; }
  .site-foot__brand > .view-stack + .view-stack { max-width: none; margin-top: 0; }
}
@media (max-width: 860px) {
  .site-foot .site-foot__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .site-foot__col:has(.view-social) { grid-column: 1 / -1; display: grid; grid-template-columns: subgrid; column-gap: normal; align-items: start; }
  .site-foot .foot > .view-text.foot__item:last-child { flex-basis: 100%; }
}
@media (max-width: 560px) {
  .site-foot .site-foot__grid { grid-template-columns: minmax(0, 1fr); row-gap: 0; }
  .site-foot__brand .view-text, .site-foot__brand > .view-stack + .view-stack { max-width: none; }
  .site-foot__grid > .site-foot__brand { margin-bottom: 10px; }
  .site-foot__col > .view-stack:not(:has(.view-social)) { display: none; }
}

html:not(.menu-open) .top:has(+ main .hero) { background: transparent; border-bottom-color: transparent; -webkit-backdrop-filter: none; backdrop-filter: none; }
html:not(.menu-open) .top:has(+ main .hero) .brand { opacity: 0; transform: translateY(-8px); pointer-events: none; }
html.is-scrolled:not(.menu-open) .top:has(+ main .hero) { background: var(--header-bg); border-bottom-color: var(--header-line); -webkit-backdrop-filter: var(--header-blur); backdrop-filter: var(--header-blur); }
html.is-scrolled .top:has(+ main .hero) .brand { opacity: 1; transform: none; pointer-events: auto; }

.split > .view-image { width: 100%; }
.split > .view-image img { border-radius: 50%; }
.view-image--small img { border-radius: 50%; }
.view-image--small { max-width: 140px; }
.page-hero .view-image--small { max-width: 48px; }
.split:has(> .view-image) { grid-template-columns: clamp(176px, 22vw, 264px) minmax(0, 36rem); align-items: center; column-gap: clamp(32px, 6vw, 88px); }
@media (max-width: 860px) {
  .split:has(> .view-image) { grid-template-columns: 1fr; justify-items: start; }
  .split:has(> .view-image) > .view-image { max-width: 200px; }
}
.mega > .view-grid { grid-column: 1 / -1; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px 32px; }
.mega { max-height: calc(100vh - 84px); overflow-y: auto; overscroll-behavior: contain; }

.copy > p, .page-lede > p, .block__lede > p, .eyebrow > p, .split__label > p, .visit__pay > p, .card__text > p, .card__no > p, .foot__item > p, .plate__term > p, .plate__def > p, .plate__head > p, .site-foot__head > p, .panel__text > p, .cta-band__copy > p { margin: 0; }
.view-rich.checklist--tight > ul { gap: 7px; }
.page, .page-hero, .block, .block__head, .callout, .article__main, .aside, .aside__body, .plate__inner { display: block; }
.card__title, .card__text, .card__text p, .card__no, .card__more { margin: 0; }
.sitemap__cats { display: contents; }
.toc + :is(.faq-groups, .category-sections) > :first-child { border-top: 0; }
.sitemap__col > .sitemap__list + .sitemap__list { margin-top: 7px; }
.article--single + .article--single { padding-top: 0; }
.article__main > .actions { margin-top: 8px; }
.plate__term { margin: 0; padding-top: 2px; color: var(--muted); text-transform: var(--caps); letter-spacing: calc(.1em * var(--track)); font-size: 10.5px; }
.plate__def { margin: 0; color: var(--strong); }
.plate__term p, .plate__def p { margin: 0; }
.plate__no { margin: 0; padding: 0; list-style: none; }
.plate__no li { display: inline; }
.plate__no li:not(:last-child)::after { content: " · "; }
.plate__no { min-width: 0; }
.visit__addr .view-link { margin: 0; }
.visit__pay p { margin: 0; }
.visit__pay { display: block; }
.contact__card--wide { grid-column: 1 / -1; }
.contact__big a { color: inherit; text-decoration: none; }
.contact__big a::after { content: ""; position: absolute; inset: 0; }
.visit__note { display: block; max-width: 62ch; margin: 0 0 clamp(24px, 3vw, 40px); }
.visit__note p { margin: 0; }
.visit--photo { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr) minmax(0, 1fr); }
.visit__photo { min-width: 0; }
.guide-figure img { border: 1px solid var(--line); filter: brightness(.94); }
.card__media img, .service-photo img, .guide-photo img, .block__photo img, .author-box__photo img, .person__photo img { filter: saturate(.65) brightness(.8) contrast(1.1); -webkit-mask-image: linear-gradient(to right, rgba(0, 0, 0, .1), #000 6%, #000 94%, rgba(0, 0, 0, .1)), linear-gradient(to bottom, rgba(0, 0, 0, .15), #000 7%, #000 72%, rgba(0, 0, 0, .05)); -webkit-mask-composite: source-in; mask-image: linear-gradient(to right, rgba(0, 0, 0, .1), #000 6%, #000 94%, rgba(0, 0, 0, .1)), linear-gradient(to bottom, rgba(0, 0, 0, .15), #000 7%, #000 72%, rgba(0, 0, 0, .05)); mask-composite: intersect; transition: filter .45s ease, transform var(--motion-time) var(--motion-ease), scale var(--motion-time) var(--motion-ease), translate calc(var(--motion-time) / 2) var(--motion-ease); }
.card:hover .card__media img, .card:focus-within .card__media img { filter: saturate(.9) brightness(.95) contrast(1.05); }
.block__photo figcaption, .service-photo figcaption, .guide-figure figcaption { margin-top: 10px; font-size: 13px; line-height: 1.5; color: var(--muted); }
.aside > .block__photo { margin: 16px 0 0; }
.area-map { margin-bottom: clamp(32px, 4vw, 48px); }
.service-photo, .guide-photo, .guide-figure { margin: 0 0 clamp(28px, 3vw, 40px); }
.prose + .guide-figure { margin-top: clamp(28px, 3vw, 40px); }
.byline { gap: 14px; margin: 0 0 22px; }
.byline__photo { flex: 0 0 auto; width: 44px; }
.byline__photo img { filter: saturate(.65) brightness(.8) contrast(1.1); }
.byline__name { font-size: 14px; color: var(--muted); }
.byline__name a { color: var(--strong); }
.byline p, .byline .eyebrow { margin: 0; }
.byline .eyebrow { margin-top: 4px; }
.author-box { margin-top: clamp(40px, 5vw, 64px); padding-top: clamp(28px, 3vw, 40px); border-top: 1px solid var(--line); }
.author-box__photo { flex: 0 0 auto; width: 160px; }
.author-box__name p, .author-box__bio p:last-child { margin-bottom: 0; }
.team__people { gap: clamp(56px, 8vw, 112px); }
.team + .article { border-top: 1px solid var(--line); }
.person { flex-wrap: nowrap; column-gap: clamp(32px, 6vw, 88px); }
.person:nth-child(even) { flex-direction: row-reverse; }
.person__photo { flex: 0 0 clamp(176px, 22vw, 264px); }
.person__photo img, .author-box__photo img, .byline__photo img { border-radius: 50%; }
.person__body { flex: 1 1 0; max-width: 36rem; }
.person__name { margin: 0 0 10px; font-size: clamp(22px, 2.3vw, 28px); line-height: 1.15; font-weight: 500; letter-spacing: -.01em; color: var(--strong); }
.person__role { margin: 0 0 18px; font-family: var(--font-label); font-size: 11px; letter-spacing: calc(.14em * var(--track)); text-transform: var(--caps); color: var(--muted); }
.person__bio p, .person__role p, .person__since p { margin: 0; }
.person__bio p { font-size: 16px; line-height: 1.65; }
.person__bio p + p { margin-top: 1em; }
.person__body > .checklist { margin: 18px 0 0; }
.person__since { margin: 16px 0 0; font-family: var(--font-label); font-size: 12px; color: var(--muted); }
@media (max-width: 1100px) {
  .visit--photo { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .visit--photo > .visit__photo { grid-column: 1 / -1; max-width: 640px; }
}
@media (max-width: 860px) {
  .visit--photo { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .author-box { flex-wrap: wrap; }
  .author-box__photo { width: 120px; }
  .team__people.view-grid { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: min(68vw, 280px); gap: 0; margin-inline: calc(-1 * var(--pad)); padding: 4px calc((100% + 2 * var(--pad) - min(68vw, 280px)) / 2) 8px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scrollbar-width: none; scroll-marker-group: after; }
  .team__people::-webkit-scrollbar { display: none; }
  .team__people::scroll-marker-group { display: flex; justify-content: center; gap: 10px; margin-top: 20px; }
  .person, .person:nth-child(even) { flex-direction: column; align-items: center; row-gap: 20px; padding: 26px 18px 24px; text-align: center; background: var(--surface); border: 1px solid var(--border); scroll-snap-align: center; scroll-snap-stop: always; }
  .person__photo { flex: none; width: 148px; }
  .person__body { flex: none; align-self: stretch; max-width: none; }
  .person::scroll-marker { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--muted); opacity: .4; }
  .person::scroll-marker:target-current { background: var(--strong); opacity: 1; }
}