.hero {
  position: relative;
  min-height: 100svh;
  display: flex;
  align-items: flex-end;
  padding-top: 130px;
  padding-bottom: clamp(38px, 5vw, 66px);
  overflow: hidden;
  background:
    radial-gradient(120% 90% at 76% 18%, rgba(22,84,79,0.10) 0%, transparent 58%),
    radial-gradient(90% 70% at 8% 92%, rgba(168,124,46,0.12) 0%, transparent 60%),
    var(--sand);
}
.hero__art {
  position: absolute;
  top: -6%;
  right: -14%;
  width: min(70vw, 880px);
  height: 116%;
  opacity: .62;
  pointer-events: none;
  z-index: 0;
  mask-image: linear-gradient(to left, #000 46%, rgba(0,0,0,.22) 82%, transparent 99%);
  -webkit-mask-image: linear-gradient(to left, #000 46%, rgba(0,0,0,.22) 82%, transparent 99%);
}
.hero__inner { position: relative; z-index: 2; width: 100%; }

.hero__title { margin-bottom: 34px; }
.hero__title em {
  font-style: italic;
  font-family: var(--f-display);
  color: var(--teal);
}

.hero__foot {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: clamp(28px, 4vw, 64px);
  align-items: end;
  padding-top: 34px;
  border-top: 1px solid var(--rule);
}
.hero__actions { display: flex; gap: 12px; flex-wrap: wrap; }
.specs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--rule);
  margin-top: clamp(38px, 5vw, 60px);
}
.specs__item {
  padding: 26px clamp(14px, 2vw, 28px) 4px 0;
  border-right: 1px solid var(--rule);
}
.specs__item:last-child { border-right: 0; }
.specs__n {
  font-family: var(--f-display);
  font-size: clamp(1.9rem, 3.1vw, 2.7rem);
  line-height: 1;
  letter-spacing: -0.02em;
  display: block;
  margin-bottom: 10px;
}
.specs__l { font-family: var(--f-mono); font-size: 0.58rem; letter-spacing: 0.19em; text-transform: uppercase; color: var(--ink-mute); line-height: 1.6; }
.ticker {
  contain: content;
  background: var(--basalt);
  color: var(--on-dark);
  padding-block: 17px;
  overflow: hidden;
  white-space: nowrap;
  position: relative;
}
.ticker__row {
  display: inline-flex; align-items: center;
  animation: ticker 46s linear infinite;
  will-change: transform;
}
.ticker.is-rest .ticker__row { animation-play-state: paused; }
@media (max-width: 760px) {
  .ticker__row { animation-duration: 32s; }
}
.ticker:hover .ticker__row { animation-play-state: paused; }
.ticker__item {
  font-family: var(--f-mono);
  font-size: 0.66rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--on-dark-mute);
  padding-inline: 26px;
  display: inline-flex; align-items: center; gap: 26px;
}
.ticker__item::after {
  content: ""; width: 4px; height: 4px; border: 1px solid var(--gold-2);
  transform: rotate(45deg); flex: none;
}
@keyframes ticker { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.pillars {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  background: none;
  border-block: 1px solid var(--rule);
}
.pillar {
  background: none;
  padding: clamp(30px, 3.4vw, 46px) clamp(22px, 2.4vw, 36px);
  position: relative;
  transition: background-color .5s var(--ease);
}
.pillar + .pillar { border-left: 1px solid var(--rule); }
.pillar:hover { background-color: rgba(247, 241, 232, .55); }
.pillar__i { font-family: var(--f-mono); font-size: 0.56rem; letter-spacing: 0.22em; color: var(--gold-ink); display: block; margin-bottom: 22px; }
.pillar__t { font-family: var(--f-display); font-size: clamp(1.25rem, 1.65vw, 1.5rem); margin-bottom: 14px; }
.pillar__d { font-size: 0.93rem; color: var(--ink-soft); line-height: 1.7; }
.rail-shell { position: relative; }
.rail {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: clamp(268px, 25vw, 372px);
  gap: 20px;
  overflow-x: auto;
  scroll-snap-type: x proximity;
  scroll-padding-inline-start: clamp(20px, 4.5vw, 68px);
  padding-bottom: 22px;
  scrollbar-width: none;
  -ms-overflow-style: none;
  contain: paint;
}
.rail::-webkit-scrollbar { display: none; }
.rail.is-railing { scroll-snap-type: none; }
.rail-bleed {
  padding-inline: clamp(20px, 4.5vw, 68px);
  margin-inline: calc(-1 * clamp(20px, 4.5vw, 68px));
}

.card {
  scroll-snap-align: start;
  display: flex;
  flex-direction: column;
  background: var(--marble);
  position: relative;
  transition: transform .6s var(--ease);
}
.card:hover { transform: translateY(-6px); }
.card__media { position: relative; overflow: hidden; }
.card__media .plate { transition: transform .7s var(--ease); }
.card:hover .card__media .plate { transform: scale(1.045); }
.card__no {
  position: absolute; top: 14px; left: 14px; z-index: 5;
  font-family: var(--f-mono); font-size: 0.55rem; letter-spacing: 0.2em;
  color: rgba(255,255,255,.8); text-shadow: 0 1px 6px rgba(0,0,0,.5);
}
.card__body { padding: 24px 24px 28px; display: flex; flex-direction: column; flex: 1; }
.card__t { font-family: var(--f-display); font-size: 1.35rem; margin-bottom: 11px; line-height: 1.16; }
.card__d { font-size: 0.9rem; color: var(--ink-soft); line-height: 1.68; margin-bottom: 22px; }
.card__k { font-family: var(--f-mono); font-size: 0.55rem; letter-spacing: 0.17em; text-transform: uppercase; color: var(--gold-ink); }

.rail-nav { display: flex; gap: 8px; }
.rail-btn {
  width: 44px; height: 44px;
  border: 1px solid var(--rule);
  display: grid; place-items: center;
  transition: background .4s, border-color .4s, color .4s;
}
.rail-btn:hover { background: var(--teal); border-color: var(--teal); color: var(--marble); }
.rail-btn[disabled] { opacity: .3; pointer-events: none; }
.works { display: grid; grid-template-columns: repeat(12, 1fr); gap: clamp(20px, 2.6vw, 40px); }
.work { position: relative; display: block; }
.work__media { position: relative; overflow: hidden; }
.work__media .plate,
.card__media .plate {
  position: absolute; inset: 0;
  display: block;
  background: var(--stone-150);
}
.work__media .plate img,
.card__media .plate img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
}
.work__media .plate { transition: transform .7s var(--ease); }
.work:hover .work__media .plate { transform: scale(1.05); }
.work__veil {
  position: absolute; inset: 0; z-index: 4;
  background: linear-gradient(to top, rgba(20,18,15,0.72) 0%, rgba(20,18,15,0.14) 42%, transparent 70%);
  opacity: .85; transition: opacity .6s;
}
.work:hover .work__veil { opacity: 1; }
.work__cap { position: absolute; left: 0; bottom: 0; z-index: 5; padding: clamp(20px, 2.3vw, 34px); width: 100%; }
.work__meta {
  font-family: var(--f-mono); font-size: 0.55rem; letter-spacing: 0.2em; text-transform: uppercase;
  color: var(--gold-2); margin-bottom: 12px; display: flex; gap: 14px; flex-wrap: wrap;
}
.work__t { font-family: var(--f-display); color: var(--marble); font-size: clamp(1.35rem, 2.2vw, 2rem); line-height: 1.1; margin-bottom: 8px; }
.work__s { color: rgba(247,242,233,.72); font-size: 0.9rem; max-width: 44ch; }
.work__line { height: 1px; background: var(--gold-2); width: 0; transition: width .8s var(--ease); margin-top: 16px; }
.work:hover .work__line { width: 72px; }

.w-7 { grid-column: span 7; } .w-5 { grid-column: span 5; }
.w-6 { grid-column: span 6; } .w-12 { grid-column: span 12; }
.w-8 { grid-column: span 8; } .w-4 { grid-column: span 4; }
.feature { position: relative; }
.feature__media { grid-column: 1 / span 7; position: relative; }
.feature__text  { grid-column: 8 / span 5; align-self: center; }
.feature--flip .feature__media { grid-column: 6 / span 7; grid-row: 1; }
.feature--flip .feature__text  { grid-column: 1 / span 4; grid-row: 1; }
.feature__stamp {
  position: absolute; z-index: 6;
  background: var(--teal); color: var(--marble);
  padding: 18px 22px;
  right: -18px; bottom: 34px;
  max-width: 210px;
}
.feature__stamp .mono { font-size: 0.55rem; color: var(--gold-2); display: block; margin-bottom: 7px; }
.feature__stamp p { font-size: 0.86rem; line-height: 1.5; }
.process { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: var(--rule-dark); }
.proc {
  background: var(--basalt);
  padding: clamp(30px, 3.6vw, 52px);
  position: relative;
}
.proc__k { font-family: var(--f-mono); font-size: 0.56rem; letter-spacing: 0.24em; text-transform: uppercase; color: var(--gold-2); margin-bottom: 26px; display: block; }
.proc__t { font-family: var(--f-display); font-size: clamp(1.5rem, 2.3vw, 2.05rem); color: var(--on-dark); margin-bottom: 16px; line-height: 1.12; }
.proc__d { color: var(--on-dark-mute); font-size: 0.95rem; line-height: 1.75; }
.proc__list { margin-top: 26px; }
.proc__list li {
  font-family: var(--f-mono); font-size: 0.6rem; letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--on-dark-mute); padding: 11px 0; border-top: 1px solid var(--rule-dark);
  display: flex; justify-content: space-between; gap: 14px;
}
.proc__list li span:last-child { color: var(--gold-2); }
.process--light { background: var(--rule); }
.process--light .proc { background: var(--marble); }
.process--light .proc__k { color: var(--accent); }
.process--light .proc__t { color: var(--ink); }
.process--light .proc__d { color: var(--ink-soft); }
.process--light .proc__list li { color: var(--ink-mute); border-top-color: var(--rule); }
.process--light .proc__list li span:last-child { color: var(--accent); }
.tl { position: relative; }
.tl__axis { position: absolute; left: 0; top: 8px; bottom: 8px; width: 1px; background: var(--rule); }
.tl__item { position: relative; padding-left: clamp(34px, 5vw, 74px); padding-bottom: clamp(42px, 5vw, 68px); }
.tl__item:last-child { padding-bottom: 0; }
.tl__dot {
  position: absolute; left: -4px; top: 9px;
  width: 9px; height: 9px; background: var(--sand);
  border: 1px solid var(--teal); transform: rotate(45deg);
}
.tl__item--now .tl__dot { background: var(--teal); }
.tl__yr { font-family: var(--f-mono); font-size: 0.62rem; letter-spacing: 0.22em; color: var(--gold-ink); display: block; margin-bottom: 12px; }
.tl__t { font-family: var(--f-display); font-size: clamp(1.35rem, 2vw, 1.8rem); margin-bottom: 12px; line-height: 1.14; }
.tl__d { color: var(--ink-soft); font-size: 0.98rem; line-height: 1.75; max-width: 58ch; }
.stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--rule-dark); }
.stat { background: var(--basalt); padding: clamp(28px, 3.2vw, 44px) clamp(20px, 2.4vw, 32px); }
.stat__n { font-family: var(--f-display); font-size: clamp(2rem, 3.4vw, 3rem); line-height: 1; color: var(--marble); display: block; margin-bottom: 14px; }
.stat__l { font-family: var(--f-mono); font-size: 0.57rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--on-dark-mute); line-height: 1.6; }
.stats--light { background: var(--rule); }
.stats--light .stat { background: var(--marble); }
.stats--light .stat__n { color: var(--accent); }
.stats--light .stat__l { color: var(--ink-mute); }
.markets { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--rule); border: 1px solid var(--rule); }
.market { background: var(--sand); padding: clamp(24px, 2.8vw, 38px); transition: background .5s; }
.market:hover { background: var(--marble); }
.market__c { font-family: var(--f-display); font-size: 1.3rem; margin-bottom: 9px; }
.market__d { font-family: var(--f-mono); font-size: 0.56rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--ink-mute); line-height: 1.7; overflow-wrap: anywhere; }
.post {
  border-top: 1px solid var(--rule);
  display: grid;
  grid-template-columns: 90px minmax(0, 1fr) 200px;
  gap: clamp(20px, 3vw, 46px);
  padding-block: clamp(28px, 3.2vw, 44px);
  align-items: start;
  transition: background .5s;
}
.post:last-of-type { border-bottom: 1px solid var(--rule); }
.post__n { font-family: var(--f-mono); font-size: 0.6rem; letter-spacing: 0.2em; color: var(--gold-ink); padding-top: 7px; }
.post__cover {
  position: relative;
  overflow: hidden;
  margin-bottom: clamp(14px, 1.6vw, 20px);
  background: var(--stone-100, rgba(0, 0, 0, .05));
}
.post__cover img,
.post__cover video {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: contain;
  display: block;
}
.post__t { font-family: var(--f-display); font-size: clamp(1.35rem, 2.1vw, 1.85rem); line-height: 1.18; margin-bottom: 12px; }
.post__x { color: var(--ink-soft); font-size: 0.96rem; line-height: 1.72; max-width: 62ch; }
.post__side { display: flex; flex-direction: column; gap: 14px; align-items: flex-start; }
.post__tag { font-family: var(--f-mono); font-size: 0.55rem; letter-spacing: 0.17em; text-transform: uppercase; color: var(--ink-mute); }
.post__full {
  display: none;
  grid-column: 2 / 3;
  padding-top: 22px;
  border-top: 1px solid var(--rule-soft);
  margin-top: 22px;
}
.post.is-open .post__full { display: block; }
.post__full h3 {
  font-family: var(--f-display); font-size: 1.2rem; margin: 26px 0 10px; color: var(--teal);
}
.post__full p { color: var(--ink-soft); line-height: 1.78; font-size: 0.96rem; }
.post__full p + p { margin-top: 1em; }
.post__full ul { margin-top: 14px; }
.post__full li {
  padding-left: 20px; position: relative; color: var(--ink-soft);
  font-size: 0.95rem; line-height: 1.72; margin-bottom: 9px;
}
.post__full li::before {
  content: ""; position: absolute; left: 0; top: 11px;
  width: 5px; height: 5px; border: 1px solid var(--gold-ink); transform: rotate(45deg);
}
.post__toggle .lbl-more { display: inline; }
.post__toggle .lbl-less { display: none; }
.post.is-open .post__toggle .lbl-more { display: none; }
.post.is-open .post__toggle .lbl-less { display: inline; }
.acc__item { border-top: 1px solid var(--rule); }
.acc__item:last-child { border-bottom: 1px solid var(--rule); }
.acc__btn {
  width: 100%; text-align: left;
  display: flex; justify-content: space-between; align-items: center; gap: 24px;
  padding-block: clamp(20px, 2.2vw, 28px);
  font-family: var(--f-display); font-size: clamp(1.08rem, 1.5vw, 1.32rem);
  transition: color .35s;
}
.acc__btn:hover { color: var(--teal); }
.acc__sign { position: relative; width: 13px; height: 13px; flex: none; }
.acc__sign::before, .acc__sign::after {
  content: ""; position: absolute; background: var(--teal); transition: transform .45s var(--ease);
}
.acc__sign::before { left: 0; top: 6px; width: 13px; height: 1px; }
.acc__sign::after  { left: 6px; top: 0; width: 1px; height: 13px; }
.acc__item.is-open .acc__sign::after { transform: rotate(90deg); }
.acc__panel { max-height: 0; overflow: hidden; transition: max-height .6s var(--ease); }
.acc__inner { padding-bottom: 26px; color: var(--ink-soft); line-height: 1.75; max-width: 68ch; font-size: 0.96rem; }
.form { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px; }
.field { display: flex; flex-direction: column; gap: 9px; }
.field--full { grid-column: 1 / -1; }
.field label { font-family: var(--f-mono); font-size: 0.57rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--ink-mute); }
.field input, .field select, .field textarea {
  font-family: var(--f-body); font-size: 0.97rem; color: var(--ink);
  background: transparent; border: 0; border-bottom: 1px solid var(--rule);
  padding: 11px 0; transition: border-color .4s;
  border-radius: 0; -webkit-appearance: none; appearance: none;
}
.field select { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%237C7264' fill='none' stroke-width='1'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 2px center; }
.field textarea { resize: vertical; min-height: 116px; }
.field input:focus, .field select:focus, .field textarea:focus { outline: none; border-bottom-color: var(--teal); }
.field input::placeholder, .field textarea::placeholder { color: var(--ink-mute); opacity: .55; }
.form__note { font-family: var(--f-mono); font-size: 0.55rem; letter-spacing: 0.15em; text-transform: uppercase; color: var(--ink-mute); line-height: 1.8; }
.form__msg { grid-column: 1 / -1; font-size: 0.9rem; color: var(--teal); display: none; }
.form__msg.is-on { display: block; }
.cdl__item { border-top: 1px solid var(--rule); padding-block: 20px; }
.cdl__item:last-child { border-bottom: 1px solid var(--rule); }
.cdl__k { font-family: var(--f-mono); font-size: 0.55rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--ink-mute); display: block; margin-bottom: 7px; }
.cdl__v { font-size: 1rem; color: var(--ink); }
.phead {
  position: relative;
  padding-top: clamp(140px, 16vw, 210px);
  padding-bottom: clamp(48px, 6vw, 88px);
  overflow: hidden;
  background:
    radial-gradient(80% 100% at 88% 0%, rgba(22,84,79,0.10) 0%, transparent 62%),
    var(--sand);
}
.phead__art { position: absolute; pointer-events: none; z-index: 0; }
.phead__art {
  -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 13%) !important;
  mask-image: linear-gradient(to right, transparent 0%, #000 13%) !important;
}
.phead__crumb { font-family: var(--f-mono); font-size: 0.57rem; letter-spacing: 0.22em; text-transform: uppercase; color: var(--ink-mute); margin-bottom: 26px; display: flex; gap: 10px; align-items: center; }
.phead__crumb a { transition: color .3s; }
.phead__crumb a:hover { color: var(--teal); }
.cta { background: var(--teal); color: var(--marble); position: relative; overflow: hidden; }
.cta__inner { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 40px; align-items: end; }
.cta h2 { color: var(--marble); }
.cta p { color: rgba(247,242,233,.76); }
.cta .btn { border-color: rgba(247,242,233,.4); color: var(--marble); }
.cta .btn::before { background: var(--marble); }
.cta .btn:hover { color: var(--teal); border-color: var(--marble); }
.cta__watermark {
  position: absolute; right: -4%; top: 50%; transform: translateY(-50%);
  font-family: var(--f-display); font-size: clamp(9rem, 22vw, 22rem);
  color: rgba(247,242,233,.05); line-height: .8; z-index: 1; pointer-events: none;
  user-select: none; white-space: nowrap;
}
@media (max-width: 1100px) {
  .works .w-7, .works .w-5, .works .w-6, .works .w-8, .works .w-4 { grid-column: span 6; }
  .feature__media, .feature__text,
  .feature--flip .feature__media, .feature--flip .feature__text { grid-column: 1 / -1; grid-row: auto; }
  .feature__stamp { position: static; max-width: none; margin-top: 18px; }
  .specs { grid-template-columns: repeat(2, 1fr); }
  .specs__item:nth-child(2) { border-right: 0; }
  .specs__item:nth-child(3), .specs__item:nth-child(4) { border-top: 1px solid var(--rule); }
  .stats, .markets { grid-template-columns: repeat(2, 1fr); }
  .hero__art { right: -34%; opacity: .3; }
}
@media (max-width: 900px) {
  .pillars { grid-template-columns: 1fr; }
  .pillar + .pillar { border-left: 0; border-top: 1px solid var(--rule); }
  .hero__foot { grid-template-columns: 1fr; }
  .cta__inner { grid-template-columns: 1fr; }
  .post { grid-template-columns: 1fr; gap: 14px; }
  .post__n { padding-top: 0; }
  .post__full { grid-column: 1 / -1; }
  .form { grid-template-columns: 1fr; }
}
@media (max-width: 1100px) {
  .process[style*="repeat(3"],
  .process[style*="repeat(4"] { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 900px) {
  .grid > [style*="grid-column"] { grid-column: 1 / -1 !important; }
  .process[style*="grid-template-columns"] { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .grid > * + * { margin-top: 4px; }
}

@media (max-width: 620px) {
  .stats, .markets { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 16px; }
  .works {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }
  .works > .w-7, .works > .w-5, .works > .w-6,
  .works > .w-8, .works > .w-4, .works > .w-12 { grid-column: span 1; }
  .works > .work:first-child,
  .works > .work:last-child { grid-column: span 2; }
  .works > .work:not(:first-child):not(:last-child) .work__t,
  .works > .w-5 .work__t { font-size: 0.98rem; line-height: 1.25; }
  .works > .work:not(:first-child):not(:last-child) .work__s,
  .works > .w-5 .work__s { font-size: 0.52rem; letter-spacing: 0.12em; }
  .process,
  .process[style*="grid-template-columns"] { grid-template-columns: 1fr !important; }
  .specs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .specs__item {
    border-top: 0;
    border-right: 1px solid var(--rule);
    padding: 18px clamp(8px, 2.6vw, 14px) 2px 0;
  }
  .specs__item:last-child { border-right: 0; }
  .specs__l { font-size: 0.54rem; letter-spacing: 0.14em; }
  .foot__col { min-width: 0; }
  .foot__col[data-foldable] { border-top: 1px solid var(--rule-dark); padding-top: 12px; }
  .foot__col[data-foldable] .foot__head {
    cursor: pointer; display: flex; align-items: center; justify-content: space-between;
    margin-bottom: 0; padding: 6px 0; user-select: none;
  }
  .foot__col[data-foldable] .foot__head::after {
    content: ""; width: 7px; height: 7px; flex: none; margin-left: 12px;
    border-right: 1px solid currentColor; border-bottom: 1px solid currentColor;
    transform: rotate(45deg) translateY(-2px);
    transition: transform .35s var(--ease);
  }
  .foot__col[data-foldable].is-folded .foot__head::after { transform: rotate(-45deg) translateY(1px); }
  .foot__col[data-foldable] .foot__list {
    overflow: hidden; max-height: 60vh;
    transition: max-height .45s var(--ease), opacity .35s;
    opacity: 1;
  }
  .foot__col[data-foldable].is-folded .foot__list { max-height: 0; opacity: 0; }
  .band { padding-block: clamp(38px, 9vw, 52px); }
  .band--tight { padding-block: clamp(30px, 7vw, 42px); }
}
.brand { display: flex; align-items: center; gap: 12px; }
.brand__logo {
  width: 34px; height: 38px;
  object-fit: contain;
  flex: none;
  transition: transform .6s var(--ease), opacity .4s;
}
.brand:hover .brand__logo { transform: translateY(-2px); }
.brand__text { display: flex; flex-direction: column; gap: 2px; }
.brand__mark { font-size: 1.24rem; letter-spacing: .14em; line-height: 1; }
.brand__sub  { font-size: .5rem; letter-spacing: .28em; }
.foot .brand__logo { filter: invert(1) brightness(1.6) saturate(0); opacity: .8; }
:root { --mark-src: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACkAAAAwCAYAAACMuVOlAAAIAElEQVR42sWZfZCVZRnGf+c9h2VZWBSWlhYXUJAARVkSBgFLydaiDEEwm1Fg/KipjLQsonTSySawxtScyBmYaXJKKzTHGlGkLxHBSkNEwSVgS0KW/IAFFmE/zumf3+M8vHPOstkR35l3znve83zcz31f93Xdz3Og/NeHgaScA5ZrsIyfpwEfBfLlNDQp4zgJMAH4FNA/Zfx7bmQGyOq9A0CFn4VyOSFbJuO6gDOB7wIHff+8hoZ2BU7wFXtoIHAN8CxwH1AF/BVYDUwtgd0TZuApwI+BvUAb8H2gTkOqgd8AR4HfAxcBuRNlaDBwuuHcCzwMnBdNHnt5MvBzjV0FDLNd8m4ZmPGuAbYCfwamlAhn2pBpQDOwpAy50O3Vy8FnAw8Bs1Lvi+Eu8XeAS0yeMyPKetcSZSlwvc+5HiZGWMR64PzoXaZcPJlIMyOBz/j5mr+laaUAjC0ybqCiNuCrtqGntJT00MAbzeQFwGBgqJMWUh4cDiy2TzEvPQOMA/7keHX/b7aHEC0EOoHlZnHfIiGu8HkJ0G6iJEXgEBZ+PvBr4Cm1/h2pX1jd+4FdwB/14PESayPwT+AXxxkXSX8n8LN3amTOTlcAhyLlqCgy4Rhgns/bNPIPhnWeGE4bWBGVdbuESaZU6JNuVpwH6oFHzMrEUMZ9c3pjBnC/Rg4D+gEXAPuB3baLDejw+7OO009853pqZOIgjSZIs+/Sq+wSqx3iq1EsHrB9NfAScMR2+VS2F1Sit4CvAAMi43uU7dcDW4DNFg9JytAhwJeBQX6vB16wsLgfeAz4u9l7sp5eoOGxevUCrgPetP2k4+EzZPM5hmmlk6fxlDUsV4q/G31/G7DWYmIdsAg4A9gOtKj3pZRmoKFviqDRLT5/KPBP70ZVQttXgFfN0BzwaWAi8Am9vNPE+Gk3HgqyOdKx5qX1PYkmLgC9gYuBX+qBrHhKq0fA173AYWA+8EEVZQmwCbjB8L5lQpHCZZxEOWCHFDYz7ckkNXkigF9MKUrsxd4a8CNghJhrE/xrNToLzNGTAw31De6Bst0wynojEDvibSMToNaJDwJvFDEw8d0Is/hqP1cphfXejwOV6vsG8VgJ3ARcC5xaIvQF23YA42NpTSI8PAlcKuX0KwLc0GkrcJle6QIagP+YaNNVkml+/xAwWtydayY3Fwl9GHuz8HpC1aqKDTgH+LcUkCuRUBP0Qhbo47s64Bb3NuOArwMPAt9Tpe4Fvi3Bo0dDITKqSKEc5rtNCowVjvGu8OQilXN4vgq4vIQQzLCymStBzzQJ5pRov0jYpOktZPrHjWwu7nhE144ukjDh+WngLuCO6JQCvbpGnusD3KyXNgG/i0JWAC5UZucqlxSBVBizLo3bBjsNSilCNroBviButmrAWVH7/ha0AMtSteJUy7Ij9p+bGj9JRe0y4B8h3OHHTvHSL2pcMDHCndML9SZKpdvYybY9AOzz+xZgj+8vl8wrHOOQns9GY+dT3HjUCCSxmuSA1kiSOsXneJ+3aEBGzT7DexjwRSlrh7ieLj6xSL5ZmX3VHWaThXOrCz7dpN0ehTuxTy+9D054WMyELega4HU99Nvot/hqBB6QMzMWHgsMfZU0UqrvUiWz4NzLouyf5dzvizuMVTUuNAxNqsdNkvVrwL/kuZCFITQ1Us0UJ2nw/eesiAakthkZYIXG7fHw4C7gZeBW214M/AU4KTZynDgbLlduMNThWqwGv2iIwn46UMYHoqQ5Vc1+PKKZisjAmY61JqqgcN4WtykzlMhjEqdDOazS9a1SSK0TLvVMp1oM5u3Toee3idlGPT7HneFOcd7uXXBjt8PsvUO6qfFdVsNajewxRvZyBVmr6WYroSVRMv3ETue6r5kt6ENmPqEXEyOzItqGjDHLz4vebfA5B3zDzd7D4vQUdwXt6XB3GLZwTYx2iIkGPqcxj+ixmmgiLCCGA59NbXXDEcsK+z+lY4KTapXdcF0hFx+zbTlbDw4tIotxkXuWZPyy+FkYLSJjgbLY2jI2YL0YbBICE1L9SBXYs63us+mid5Sey0Sey0YymdXAmVbu64BvmZ21ttluSA8Z0skebp2kcY8BH1HX49PfbOr8sk36qUhXY5+MZLGn1wiT6k6TarBVTzbK1luExf9y9VUUcsHqB/1r40mtrzPLN7qLm+SK31DfqwX2SvseEb+zTLQr5ceHLN02eawyw0Xt1xkDoq3x0yZhzveHZZsaYF9GoM8HvqM6vGnJ3xKJ/0EXcppJhkS8Tbq4zgHH+f5sk6MN+JXf09deF9wqm9RHIX7d+ZcDq+J4X6SM3ep5d5UN+3ga0Sk9NLqVHep/Ns1K50oZYmrEsXd7wD9E3d6tN1tVlLzE3l+eHQ18yYPWadYMb1ceOSf4pqEbY+eXbPioq24w1LucpK/emqj+/0DtXmZSHZC2KvXmWPnwFeBvwMfcoNVK7ruNRAtwjzTVmf5Ha6BY3B8dheTlrPl6uBAtaKlE/IyebBBbC13gA3pmn3cYc7nVUSjxunzea60wqLs/ACrFYbUlWd7jj2Y9NlgpK0hBq02eq6Wd5/ToHo1aZIm2Q4Vp19tTHKPJBXYBXzPsvaNqqOi/AJ12bjecTRL0UXG42dOKKWbsSAfuEGejPNOcZP/DJlte41cb3kuiynww8Hm9ezQ6CDvu33YBpy94YpZ1dc0S832RLA7RuLVm6EQxt1HM9XbR9wC3i9kWqWaz0FjnfEXP0P8Li6IfeGmLkHYAAAAASUVORK5CYII="); }

.eyebrow--mark::before {
  content: "";
  width: 15px; height: 17px;
  background: currentColor;
  -webkit-mask: var(--mark-src) center / contain no-repeat;
  mask: var(--mark-src) center / contain no-repeat;
  opacity: .85;
}
.pcard {
  display: flex;
  flex-direction: column;
  background: var(--marble);
  border: 1px solid var(--rule-soft);
  position: relative;
  overflow: hidden;
  transition: transform .7s var(--ease), border-color .5s, box-shadow .7s var(--ease);
}
.pcard:hover {
  transform: translateY(-5px);
  border-color: var(--rule);
  box-shadow: 13px 26px 60px -30px rgba(36, 31, 24, .38);
}
.pcard__media { position: relative; overflow: hidden; background: var(--stone-200); }
.pcard__media .plate,
.pcard__media img,
.pcard__media video { transition: transform .7s var(--ease); }
.pcard:hover .pcard__media .plate,
.pcard:hover .pcard__media img,
.pcard:hover .pcard__media video { transform: scale(1.04); }

.pcard__badges {
  position: absolute; top: 13px; left: 13px; z-index: 6;
  display: flex; gap: 6px; flex-wrap: wrap;
}
.pcard__badge {
  font-family: var(--f-mono); font-size: .53rem; letter-spacing: .16em;
  text-transform: uppercase; padding: 5px 9px;
  background: rgba(30, 26, 20, .9); color: var(--on-dark);
}
.pcard__badge--live { background: var(--accent); color: var(--marble); }

.pcard__body { padding: 24px 24px 26px; display: flex; flex-direction: column; flex: 1; }
.pcard__meta {
  font-family: var(--f-mono); font-size: .55rem; letter-spacing: .18em;
  text-transform: uppercase; color: var(--ink-mute);
  display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 13px;
}
.pcard__t { font-family: var(--f-display); font-size: 1.42rem; line-height: 1.14; margin-bottom: 8px; }
.pcard__sub { font-size: .88rem; color: var(--accent); margin-bottom: 13px; }
.pcard__d { font-size: .92rem; color: var(--ink-soft); line-height: 1.7; margin-bottom: 22px; }
.frame { position: relative; overflow: hidden; background: var(--stone-200); }
.frame > img,
.frame > video,
.frame > iframe {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: var(--focus, center);
  display: block; border: 0;
  z-index: 2;
}
.frame--contain > img,
.frame--contain > video { object-fit: contain; background: var(--stone-150); }
.frame > img,
.frame > video {
  object-fit: contain;
}
.frame__note {
  position: absolute; inset: 0; z-index: 1;
  display: grid; place-content: center; gap: 8px; text-align: center;
  padding: 20px; color: var(--stone-500);
  font-family: var(--f-mono); font-size: .55rem; letter-spacing: .18em;
  text-transform: uppercase; line-height: 1.9;
}
.frame__note b { display: block; color: var(--ink-mute); font-weight: 500; }
.panel {
  position: fixed; inset: 0; z-index: 200;
  display: grid; place-items: center;
  padding: clamp(16px, 4vw, 48px);
  visibility: hidden;
}
.panel.is-open { visibility: visible; }
.panel__veil {
  position: absolute; inset: 0;
  background: rgba(20, 17, 12, .72);
  opacity: 0; transition: opacity .45s var(--ease);
}
.panel.is-open .panel__veil { opacity: 1; }
.panel__card {
  position: relative;
  width: min(940px, 100%);
  max-height: calc(100vh - clamp(32px, 8vw, 96px));
  overflow-y: auto;
  background: var(--marble);
  display: grid;
  grid-template-columns: 1fr 1.15fr;
  opacity: 0;
  transform: translateY(22px) scale(.985);
  transition: opacity .6s var(--ease), transform .7s var(--ease);
}
.panel.is-open .panel__card { opacity: 1; transform: none; }

.panel__aside { background: var(--stone-900); color: var(--on-dark); padding: clamp(28px, 3.4vw, 42px); }
.panel__aside .display { color: var(--marble); }
.panel__main  { padding: clamp(28px, 3.4vw, 42px); }

.panel__close {
  position: absolute; top: 12px; right: 12px; z-index: 4;
  width: 42px; height: 42px; display: grid; place-items: center;
  color: var(--marble); transition: transform .5s var(--ease), opacity .3s;
}
.panel__close:hover { transform: rotate(90deg); }
.chan { margin-top: 26px; }
.chan__row {
  display: flex; align-items: center; gap: 14px;
  padding: 13px 0;
  border-top: 1px solid var(--rule-dark);
  color: var(--on-dark-mute);
  transition: color .35s, padding-left .45s var(--ease);
}
.chan__row:last-child { border-bottom: 1px solid var(--rule-dark); }
.chan__row:hover { color: var(--on-dark); padding-left: 7px; }
.chan__icon {
  width: 30px; height: 30px; flex: none;
  display: grid; place-items: center;
  border: 1px solid var(--rule-dark);
  transition: border-color .35s, background .35s;
}
.chan__row:hover .chan__icon { border-color: var(--accent-dark); background: rgba(194, 170, 126, .12); }
.chan__icon svg { width: 14px; height: 14px; }
.chan__l { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.chan__k { font-family: var(--f-mono); font-size: .5rem; letter-spacing: .22em; text-transform: uppercase; color: var(--stone-400); }
.chan__v { font-size: .9rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.chan__go { margin-left: auto; opacity: 0; transform: translateX(-5px); transition: all .45s var(--ease); }
.chan__row:hover .chan__go { opacity: 1; transform: none; }

@media (max-width: 820px) {
  .panel__card { grid-template-columns: 1fr; }
  .panel__aside { order: 2; }
}
.btn--nav {
  padding: 11px 18px;
  font-size: .6rem;
  border-color: var(--rule);
  margin-left: 6px;
}
@media (max-width: 1200px) {
  .btn--nav { width: 100%; margin: 28px 0 0; justify-content: center; padding: 18px; font-size: 0.78rem; }
}
.hero__film {
  position: absolute;
  inset: 0 0 0 auto;
  width: min(72vw, 1080px);
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}
.hero__film video {
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: var(--focal, center);
  display: block;
}
.hero__film .hero__film-poster,
.hero__film > picture { display: none !important; }
.hero__film::after {
  content: "";
  position: absolute; inset: 0;
  background:
    linear-gradient(90deg, var(--stone-100) 4%, rgba(233,227,213,.86) 26%, rgba(233,227,213,.34) 55%, rgba(233,227,213,.16) 100%),
    linear-gradient(0deg, rgba(233,227,213,.72) 0%, transparent 34%, transparent 74%, rgba(233,227,213,.62) 100%);
}
.hero--film { background: var(--stone-100); }
.wall {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(12px, 1.6vw, 22px);
  align-items: start;
}
.wall > * {
  margin-bottom: 0;
  display: block;
  width: 100%;
}
.wall--2 { grid-template-columns: repeat(2, 1fr); }
.wall--4 { grid-template-columns: repeat(4, 1fr); }

.piece {
  display: block;
  position: relative;
  background: var(--stone-150);
  overflow: hidden;
  cursor: zoom-in;
  -webkit-touch-callout: none;
  touch-action: manipulation;
  transition: transform .45s var(--ease);
}
.piece:hover { transform: translateY(-4px); box-shadow: 15px 30px 60px -34px rgba(36,31,24,.5); }
.piece__img { position: relative; overflow: hidden; display: block; -webkit-touch-callout: none; }
.work:has(.work__media--flat),
.card:has(.work__media--flat),
.pcard:has(.work__media--flat) {
  display: none !important;
}
.feature__media:has(.work__media--flat) {
  display: none !important;
}
.feature:has(.feature__media .work__media--flat) .feature__text,
.feature--flip:has(.feature__media .work__media--flat) .feature__text {
  grid-column: 1 / -1 !important;
  grid-row: auto !important;
  width: min(100%, 72ch);
  margin-inline: auto;
}
.rail:not(:has(.card:not(:has(.work__media--flat)))),
.works:not(:has(.work:not(:has(.work__media--flat)))) {
  display: none !important;
}
.wall:empty {
  display: none !important;
}
.piece img, .piece picture,
.frame img, .frame picture,
.plate img, .plate picture,
.pcard img, .pcard picture,
.work__media img, .work__media picture,
.card__media img, .card__media picture,
.post__cover img, .post__cover picture,
.hero__film img, .hero__film video,
.lb__img, .lb__stage,
video {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  user-select: none;
  -webkit-user-drag: none;
}
.frame a, a.frame,
.plate a, a.plate,
.pcard a, a.pcard,
.work__media a, a.work__media,
.card__media a, a.card__media,
.lb a, .lb__stage a {
  -webkit-touch-callout: none;
  touch-action: manipulation;
}
.piece__img img {
  width: 100%; height: 100%;
  object-fit: cover;
  background: var(--stone-150);
  transition: transform .7s var(--ease), filter .5s;
  display: block;
}
.piece:hover .piece__img img { transform: none; }

.piece__veil {
  position: absolute; inset: 0; z-index: 2;
  background: linear-gradient(to top, rgba(20,17,12,.78) 0%, rgba(20,17,12,.16) 38%, transparent 62%);
  opacity: 0; transition: opacity .6s var(--ease);
}
.piece:hover .piece__veil { opacity: 1; }

.piece__cap {
  position: absolute; left: 0; bottom: 0; z-index: 3;
  padding: 18px 18px 17px; width: 100%;
  transform: translateY(9px);
  opacity: 0;
  transition: opacity .55s var(--ease), transform .6s var(--ease);
}
.piece:hover .piece__cap { opacity: 1; transform: none; }
.piece__t { font-family: var(--f-display); color: var(--marble); font-size: .98rem; line-height: 1.2; margin-bottom: 5px; }
.piece__m {
  font-family: var(--f-mono); font-size: .53rem; letter-spacing: .18em;
  text-transform: uppercase; color: var(--accent-dark);
  display: flex; gap: 10px; flex-wrap: wrap;
}
.piece__zoom {
  position: absolute; top: 14px; right: 14px; z-index: 3;
  width: 30px; height: 30px; display: grid; place-items: center;
  border: 1px solid rgba(247,241,232,.5); color: var(--marble);
  opacity: 0; transform: scale(.9);
  transition: opacity .5s var(--ease), transform .5s var(--ease);
}
.piece:hover .piece__zoom { opacity: 1; transform: none; }
.piece__below { padding: 13px 2px 0; }
.piece__below .piece__t { color: var(--ink); font-size: .95rem; margin-bottom: 4px; }
.piece__below .piece__m { color: var(--ink-mute); }

.piece__below { padding: 11px 1px 0; }
@media (hover: none) {
  .piece__veil { opacity: 1; }
  .piece__cap  { opacity: 1; transform: none; }
  .piece__zoom { opacity: .78; transform: none; }
  .piece:hover { transform: none; box-shadow: none; }
}

@media (max-width: 1000px) {
  .wall, .wall--4 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .wall, .wall--2, .wall--4 { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .wall > * { margin-bottom: 0; }
  .piece__cap { padding: 12px 11px 11px; }
  .piece__t { font-size: .84rem; }
  .piece__m { font-size: .46rem; letter-spacing: .13em; }
  .piece__below .piece__t { font-size: .82rem; }
}
@media (max-width: 380px) {
  .wall, .wall--2, .wall--4 { gap: 8px; }
}
.lb {
  position: fixed; inset: 0; z-index: 300;
  display: grid; place-items: center;
  padding: clamp(14px, 3vw, 46px);
  visibility: hidden;
}
.lb.is-open { visibility: visible; }
.lb__veil {
  position: absolute; inset: 0;
  background: rgba(14,11,8,.93);
  opacity: 0; transition: opacity .5s var(--ease);
}
.lb.is-open .lb__veil { opacity: 1; }
.lb__stage {
  position: relative; z-index: 2;
  max-width: min(1100px, 100%);
  max-height: 100%;
  display: flex; flex-direction: column; align-items: center; gap: 16px;
  opacity: 0; transform: scale(.97);
  transition: opacity .55s var(--ease), transform .65s var(--ease);
}
.lb.is-open .lb__stage { opacity: 1; transform: none; }
.lb__img {
  max-width: 100%;
  max-height: calc(100vh - clamp(120px, 18vw, 200px));
  object-fit: contain;
  display: block;
  box-shadow: 20px 40px 90px -40px rgba(0,0,0,.9);
}
.lb__cap { text-align: center; }
.lb__cap .piece__t { color: var(--marble); font-size: 1.15rem; }
.lb__cap .piece__m { justify-content: center; }

.lb__btn {
  position: absolute; z-index: 4;
  width: 48px; height: 48px; display: grid; place-items: center;
  color: var(--marble); border: 1px solid rgba(247,241,232,.28);
  background: rgba(20,17,12,.5);
  transition: background .35s, border-color .35s, transform .35s var(--ease);
}
.lb__btn:hover { background: rgba(247,241,232,.14); border-color: rgba(247,241,232,.6); }
.lb__prev { left: clamp(10px, 2vw, 28px); top: 50%; transform: translateY(-50%); }
.lb__next { right: clamp(10px, 2vw, 28px); top: 50%; transform: translateY(-50%); }
.lb__prev:hover { transform: translateY(-50%) translateX(-3px); }
.lb__next:hover { transform: translateY(-50%) translateX(3px); }
.lb__close { top: clamp(10px, 2vw, 24px); right: clamp(10px, 2vw, 28px); }
.lb__close:hover { transform: rotate(90deg); }
.lb__count {
  position: absolute; bottom: clamp(12px, 2vw, 26px); left: 50%; transform: translateX(-50%);
  z-index: 4; font-family: var(--f-mono); font-size: .58rem; letter-spacing: .22em;
  color: var(--stone-400);
}
@media (max-width: 620px) {
  .lb__prev { left: 8px; } .lb__next { right: 8px; }
  .lb__btn { width: 42px; height: 42px; }
}
@media (max-width: 760px) {
  .hero { min-height: auto; padding-top: 96px; padding-bottom: 34px; }
  .hero__film {
    inset: 0 0 auto 0;
    width: 100%;
    height: clamp(310px, 52vh, 460px);
  }
  .hero__film::after {
    background:
      linear-gradient(180deg, rgba(233,227,213,.62) 0%, rgba(233,227,213,.34) 30%, rgba(233,227,213,.55) 62%, rgba(233,227,213,.97) 96%, rgba(233,227,213,1) 100%);
  }
  .hero__film video { object-position: var(--focal-m, 50% 38%); }
  .hero__title { margin-bottom: 22px; }
  .hero__foot { padding-top: 24px; gap: 22px; }
  .hero__actions { width: 100%; }
  .hero__actions .btn { flex: 1 1 auto; justify-content: center; }
  .sec-head { margin-bottom: 26px; }
  .sec-head__aside { padding-top: 14px; }
  .specs { margin-top: 30px; }
  .panel { padding: 0; align-items: stretch; }
  .panel__card {
    width: 100%; max-height: 100vh; max-height: 100dvh;
    grid-template-columns: 1fr;
    transform: translateY(28px);
  }
  .panel__main  { padding: 26px 20px 30px; order: 1; }
  .panel__aside { padding: 24px 20px 26px; order: 2; }
  .panel__close { background: rgba(20,17,12,.5); border: 1px solid var(--rule-dark); }
  .lb { padding: 0; }
  .lb__stage { gap: 10px; padding: 56px 10px 62px; }
  .lb__img { max-height: calc(100dvh - 130px); }
  .lb__cap { padding-inline: 14px; }
  .rail { grid-auto-columns: 82vw; }
  .pcard__body { padding: 20px 18px 22px; }
  .work__cap { padding: 16px; }
  .cta__watermark { display: none; }
}

@media (max-width: 480px) {
  .specs__n { font-size: 1.7rem; }
  .lede { font-size: .96rem; }
  .btn { width: 100%; justify-content: center; }
  .hero__actions { flex-direction: column; }
}
.wall img, .frame img, .plate img, .pcard img { max-width: 100%; }
@media (max-width: 720px) {
  .mono, .eyebrow, .brand__sub, .nav__link, .btn, .tlink,
  .specs__l, .stat__l, .market__d, .pillar__i, .proc__k,
  .card__k, .card__no, .work__meta, .work__meta span, .plate__tag,
  .post__n, .post__tag, .tl__yr, .phead__crumb, .phead__crumb a, .phead__crumb span,
  .foot__head, .form__note, .field label, .cdl__k,
  .ticker__item, .proc__list li, .feature__stamp .mono,
  .foot__bottom .mono, .foot__bottom p, .foot__nav a, .foot__list a,
  .piece__m, .piece__m span, .piece__below .piece__m, .piece__below .piece__m span,
  .pcard__badge, .pcard__meta, .pcard__meta span, .pcard__sub,
  .lb__count, .lb__cap .piece__m, .lb__cap .piece__m span {
    font-size: 0.82rem;
    letter-spacing: 0.13em;
  }
  .plate__tag, .card__no { font-size: 0.76rem; }
  .piece__below .piece__t { font-size: 1.08rem; }
  .pcard__sub { letter-spacing: normal; font-size: .98rem; }
  .foot__list a, .cdl__v { letter-spacing: normal; font-size: 1.02rem; }
  .tlink { min-height: 44px; align-items: center; }
  .tlink::after { bottom: 11px; width: calc(100% - 22px); }
  .btn { padding: 17px 24px; font-size: 0.78rem; }
  .rail-btn { width: 48px; height: 48px; }
  .acc__btn { padding-block: 20px; min-height: 56px; }
  .foot__list a { display: inline-block; padding-block: 6px; }

  .d-xxl { line-height: 1.06; }
  .hero { padding-top: 112px; }
  .hero__title { margin-bottom: 28px; }
  .lede { font-size: 1.06rem; }
  .body, .proc__d, .post__x { font-size: 1rem; line-height: 1.7; }
  .feature__stamp p { font-size: 0.94rem; }
  .card__d { font-size: 0.96rem; }
  .work__s { font-size: 0.96rem; }
  .acc__btn { font-size: clamp(1.15rem, 4.5vw, 1.4rem); }
  .proc__t { font-size: clamp(1.55rem, 6vw, 1.95rem); }
  .stat__n { font-size: clamp(2.2rem, 9vw, 2.8rem); }
  .specs__n { font-size: clamp(2rem, 8.5vw, 2.6rem); }
}

@media (max-width: 400px) {
  .mono, .eyebrow, .work__meta, .work__meta span, .plate__tag { letter-spacing: 0.12em; }
}
.ag-launch {
  contain: layout paint;
  position: fixed;
  right: clamp(14px, 2vw, 26px);
  bottom: clamp(14px, 2vw, 26px);
  z-index: 150;
  width: 60px; height: 60px;
  display: grid; place-items: center;
  padding: 0;
  border-radius: 50%;
  background:
    radial-gradient(120% 120% at 30% 22%, #FFFFFF 0%, rgba(255,255,255,0) 52%),
    var(--marble);
  border: 1px solid var(--stone-200);
  box-shadow: 8px 16px 34px -14px rgba(20,17,12,0.42),
    0 2px 6px -2px rgba(20,17,12,0.14),
    inset 0 1px 0 rgba(255,255,255,0.9);
  transition: transform .55s var(--ease), border-color .4s, box-shadow .55s var(--ease);
}
.ag-launch:hover {
  transform: translateY(-3px) scale(1.05);
  border-color: var(--stone-300);
  box-shadow: 11px 22px 44px -14px rgba(20,17,12,0.5),
    0 3px 10px -2px rgba(20,17,12,0.18),
    inset 0 1px 0 rgba(255,255,255,0.95);
}
.ag-launch__mark {
  position: relative; width: 29px; height: 33px; overflow: hidden;
}
.ag-launch__mark img {
  width: 100%; height: 100%; object-fit: contain;
  opacity: 0;
}
.ag-launch__mark {
  background: var(--accent);
  -webkit-mask: var(--mark-src) center / contain no-repeat;
  mask: var(--mark-src) center / contain no-repeat;
}
.ag-launch__mark::after {
  content: "";
  position: absolute; inset: -40% -120%;
  background: linear-gradient(105deg, transparent 44%, rgba(255,252,244,0.85) 50%, transparent 56%);
  transform: translateX(-100%);
  animation: mark-rake 9s var(--ease) 1.2s infinite;
  pointer-events: none;
}
@keyframes mark-rake {
  0%        { transform: translateX(-100%); }
  18%, 100% { transform: translateX(100%); }
}
@media (prefers-reduced-motion: reduce) {
  .ag-launch__mark::after { animation: none; opacity: 0; }
}
.ag-launch::after {
  content: "";
  position: absolute; inset: -2px;
  border-radius: 50%;
  border: 1px solid rgba(111,90,60,0.45);
  opacity: 0;
  animation: ag-ring 4.5s ease-out infinite;
  pointer-events: none;
}
@media (prefers-reduced-motion: reduce) {
  .ag-launch::after { animation: none; }
}
@keyframes ag-ring {
  0%   { opacity: .55; transform: scale(1); }
  70%, 100% { opacity: 0; transform: scale(1.55); }
}
.ag-launch__t {
  position: absolute; right: calc(100% + 10px); top: 50%;
  transform: translateY(-50%) translateX(6px);
  white-space: nowrap;
  background: var(--stone-900); color: var(--on-dark);
  padding: 8px 12px;
  font-family: var(--f-mono); font-size: .58rem; letter-spacing: .16em;
  text-transform: uppercase;
  opacity: 0; pointer-events: none;
  transition: opacity .4s, transform .5s var(--ease);
}
@media (hover: hover) {
  .ag-launch:hover .ag-launch__t { opacity: 1; transform: translateY(-50%); }
}
@media (hover: none) { .ag-launch__t { display: none; } }
.ag-launch__dot { display: none; }

@media (max-width: 620px) {
  .ag-launch { right: 14px; bottom: 14px; width: 56px; height: 56px; }
}

.ag.is-thinking .ag-head__mark::after { animation-duration: 1.5s; }

@media (max-width: 620px) {
  .ag-launch { right: 12px; bottom: 12px; padding: 9px 13px 9px 10px; }
  .ag-launch__t { font-size: .56rem; letter-spacing: .13em; }
}
.ag {
  position: fixed; inset: 0; z-index: 220;
  display: grid; place-items: end center;
  grid-template-rows: minmax(0, 1fr);
  grid-template-columns: minmax(0, 1fr);
  padding: clamp(12px, 3vw, 40px);
  height: 100vh;
  height: 100dvh;
  visibility: hidden;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}
.ag.is-open { visibility: visible; }
.ag__veil {
  position: absolute; inset: 0;
  background: rgba(20, 17, 12, .68);
  opacity: 0; transition: opacity .42s var(--ease);
}
.ag.is-open .ag__veil { opacity: 1; }
.ag__card {
  position: relative; z-index: 2;
  width: min(560px, 100%); height: min(720px, 100%);
  max-height: 100%;
  min-height: 0;
  display: flex; flex-direction: column;
  background:
    radial-gradient(120% 80% at 50% 0%, rgba(201,163,90,0.10) 0%, transparent 58%),
    linear-gradient(180deg, var(--stone-050) 0%, var(--marble) 42%);
  border: 1px solid rgba(201,163,90,0.34);
  border-radius: 3px;
  box-shadow: 21px 44px 96px -44px rgba(20,17,12,.72),
    0 0 0 1px rgba(201,163,90,0.10),
    inset 0 1px 0 rgba(255,246,228,0.55);
  opacity: 0; transform: translateY(46px) scale(.982);
  transition: opacity .6s var(--ease), transform .75s var(--ease);
}
.ag.is-open .ag__card { opacity: 1; transform: none; }
.ag__card::before {
  content: "";
  position: absolute; left: 0; right: 0; top: 0; height: 1px; z-index: 6;
  background: linear-gradient(90deg, transparent, var(--gold-2) 22%, #F3E3BE 50%, var(--gold-2) 78%, transparent);
  transform: scaleX(0); transform-origin: center;
  transition: transform 1.1s var(--ease) .18s;
}
.ag.is-open .ag__card::before { transform: scaleX(1); }

.ag-head {
  display: flex; align-items: center; gap: 12px;
  padding: 16px 16px 15px 18px;
  background:
    radial-gradient(140% 140% at 18% 0%, rgba(194,170,126,0.22) 0%, rgba(30,26,20,0) 55%),
    linear-gradient(180deg, #2A251D 0%, #1E1A14 100%);
  color: var(--on-dark);
  flex: none;
  border-bottom: 1px solid rgba(194,170,126,0.22);
}
.ag-head__mark { position: relative; width: 26px; height: 30px; flex: none; overflow: hidden; }
.ag-head__mark img { opacity: 0; }
.ag-head__mark {
  background: var(--accent-dark);
  -webkit-mask: var(--mark-src) center / contain no-repeat;
  mask: var(--mark-src) center / contain no-repeat;
}
.ag-head__mark::after {
  content: ""; position: absolute; inset: -40% -120%;
  background: linear-gradient(105deg, transparent 44%, rgba(255,246,228,0.6) 50%, transparent 56%);
  transform: translateX(-100%);
  animation: mark-rake 9s var(--ease) 1.2s infinite;
  pointer-events: none;
}
@media (prefers-reduced-motion: reduce) {
  .ag-head__mark::after { animation: none; opacity: 0; }
}
.ag-head__l { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.ag-head__n { font-family: var(--f-display); font-size: 1rem; line-height: 1; color: var(--marble); }
.ag-head__s { font-family: var(--f-mono); font-size: .5rem; letter-spacing: .2em;
              text-transform: uppercase; color: var(--accent-dark); }
.ag-head__x { margin-left: auto; width: 36px; height: 36px; display: grid; place-items: center;
              color: var(--on-dark-mute); transition: color .3s, transform .5s var(--ease); }
.ag-head__x:hover { color: var(--marble); transform: rotate(90deg); }
.ag-log { flex: 1 1 0; min-height: 0; overflow-y: auto; padding: 20px 18px 8px; scroll-behavior: smooth; }
.ag-msg { margin-bottom: 16px; max-width: 92%; }
.ag-msg--me { margin-left: auto; }
.ag-msg__b {
  padding: 11px 14px; font-size: .93rem; line-height: 1.62;
  background: var(--stone-150); color: var(--ink);
}
.ag-msg--me .ag-msg__b { background: var(--stone-800); color: var(--on-dark); }
.ag-msg__b p + p { margin-top: .7em; }
.ag-msg__b a { color: var(--accent); border-bottom: 1px solid currentColor; }
.ag-msg--me .ag-msg__b a { color: var(--accent-dark); }
.ag-msg__b strong { font-weight: 600; }
.ag-msg__b ul { margin-top: .5em; }
.ag-msg__b li { padding-left: 15px; position: relative; margin-bottom: 5px; }
.ag-msg__b li::before { content: ""; position: absolute; left: 0; top: 9px; width: 4px; height: 4px;
                        border: 1px solid var(--accent); transform: rotate(45deg); }
.ag-msg__k { font-family: var(--f-mono); font-size: .5rem; letter-spacing: .2em;
             text-transform: uppercase; color: var(--ink-mute); margin-bottom: 6px; }
.ag-msg--me .ag-msg__k { text-align: right; }
.ag-chips { display: flex; flex-wrap: wrap; gap: 7px; padding: 0 18px 14px; flex: none; }
.ag-chip {
  font-family: var(--f-mono); font-size: .55rem; letter-spacing: .13em; text-transform: uppercase;
  padding: 8px 11px; border: 1px solid var(--rule); color: var(--ink-soft);
  transition: background .35s, color .35s, border-color .35s;
}
.ag-chip:hover { background: var(--stone-900); color: var(--marble); border-color: var(--stone-900); }
.ag-ask {
  display: flex; gap: 8px; align-items: center;
  padding: 12px 14px; flex: none;
  border-top: 1px solid var(--rule);
  background: linear-gradient(180deg, transparent, rgba(201,163,90,0.05));
  position: relative;
}
.ag-ask::after {
  content: "";
  position: absolute; left: 14px; right: 62px; bottom: 10px; height: 1px;
  background: var(--gold-2);
  transform: scaleX(0); transform-origin: left;
  transition: transform .6s var(--ease);
}
.ag-ask:focus-within::after { transform: scaleX(1); }
.ag-ask input {
  flex: 1; font-family: var(--f-body); font-size: .95rem; color: var(--ink);
  background: transparent; border: 0; padding: 12px 4px; border-radius: 0;
}
.ag-ask input::placeholder { color: var(--ink-mute); opacity: .8; }
.ag-ask input:focus { outline: none; }
.ag-ask button {
  width: 44px; height: 44px; display: grid; place-items: center; flex: none;
  color: var(--marble); border-radius: 2px;
  background:
    radial-gradient(120% 120% at 30% 20%, rgba(255,238,206,0.35) 0%, transparent 44%),
    linear-gradient(150deg, #6F5A3C 0%, #4A4237 55%, #2A251D 100%);
  border: 1px solid rgba(201,163,90,0.5);
  box-shadow: inset 0 1px 0 rgba(255,238,206,0.28), 3px 6px 14px -8px rgba(20,17,12,.7);
  transition: box-shadow .4s, transform .4s var(--ease), border-color .35s;
}
.ag-ask button:hover:not(:disabled) {
  transform: translateX(2px);
  border-color: rgba(201,163,90,0.9);
  box-shadow: inset 0 1px 0 rgba(255,238,206,0.42), 0 0 20px -4px rgba(201,163,90,0.6);
}
.ag-ask button:disabled { opacity: .38; }
.ag-msg--ag .ag-msg__b {
  border-left: 2px solid var(--gold-2);
  padding-left: 14px;
  background: linear-gradient(90deg, rgba(201,163,90,0.07), transparent 60%);
}

.ag-dots { display: inline-flex; gap: 4px; align-items: center; }
.ag-dots i { width: 5px; height: 5px; background: var(--ink-mute); border-radius: 50%;
             animation: ag-dot 1.3s ease-in-out infinite; }
.ag-dots i:nth-child(2) { animation-delay: .18s; }
.ag-dots i:nth-child(3) { animation-delay: .36s; }
@media (prefers-reduced-motion: reduce) {
  .ag-dots i { animation: none; opacity: .6; }
}
@keyframes ag-dot { 0%,100% { opacity: .25; transform: translateY(0); }
                    50%     { opacity: 1;   transform: translateY(-3px); } }

.ag-note { padding: 0 18px 12px; font-family: var(--f-mono); font-size: .5rem;
           letter-spacing: .14em; text-transform: uppercase; color: var(--ink-mute); }

@media (max-width: 620px) {
  .ag { padding: 0; place-items: stretch; }
  .ag__card { width: 100%; height: 100%; max-height: 100%; border: 0; }
  .ag-chip { font-size: .6rem; }
  .ag-msg { max-width: 96%; }
}
.ag-ask {
  flex: none;
  padding-bottom: calc(10px + env(safe-area-inset-bottom, 0px));
}
.ag-chips { flex: none; }
.ag-head { flex: none; }
@media (max-width: 760px) {
  .ag-head__x { width: 44px; height: 44px; }
  .ag-chip { padding: 13px 14px; min-height: 44px; display: inline-flex; align-items: center; }
  .ag-ask { padding: 10px 12px; }
  .ag-ask button { width: 46px; height: 46px; }
  .ag-ask input { padding: 12px 4px; font-size: 16px; }
  .ag-launch { min-height: 46px; }
}
.ag {
  --ag-charcoal: #181510;
  --ag-charcoal-2: #262119;
  --ag-charcoal-3: #342d23;
  --ag-brass: #9a7c4b;
  --ag-brass-bright: #d6bd88;
  --ag-brass-pale: #ead9b5;
  --ag-limestone: #eee7d9;
  --ag-parchment: #f7f2e8;
  --ag-paper: #fdfaf3;
  --ag-copy: #2b261e;
  --ag-copy-soft: #5b5143;
  --ag-hairline: rgba(63, 51, 35, .16);
  --ag-dark-line: rgba(222, 198, 148, .23);
}
.ag__veil {
  background: rgba(12, 10, 7, .64);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  transition: opacity .36s ease-out;
}

.ag__card {
  width: min(568px, 100%);
  height: min(748px, 100%);
  overflow: hidden;
  isolation: isolate;
  border: 1px solid rgba(214, 189, 136, .46);
  border-radius: 12px;
  background: var(--ag-parchment);
  box-shadow: 17px 34px 88px -30px rgba(0, 0, 0, .78),
    6px 12px 30px -20px rgba(0, 0, 0, .72),
    0 0 0 1px rgba(255, 249, 235, .08);
  transform: translate3d(0, 24px, 0) scale(.988);
  transition: opacity .36s ease-out, transform .54s var(--ease);
}

.ag.is-open .ag__card { transform: translate3d(0, 0, 0) scale(1); }

.ag__card::before {
  height: 2px;
  background: linear-gradient(
    90deg,
    transparent 0%,
    var(--ag-brass) 16%,
    var(--ag-brass-pale) 50%,
    var(--ag-brass) 84%,
    transparent 100%
  );
  transition: transform .85s var(--ease) .12s;
}

.ag-head {
  min-height: 74px;
  gap: 14px;
  padding: 15px 16px 15px 20px;
  background:
    radial-gradient(circle at 12% -45%, rgba(214, 189, 136, .20), transparent 47%),
    linear-gradient(135deg, var(--ag-charcoal-3) 0%, var(--ag-charcoal-2) 35%, var(--ag-charcoal) 100%);
  border-bottom-color: var(--ag-dark-line);
  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .28);
}

.ag-head__mark {
  width: 30px;
  height: 35px;
  background: var(--ag-brass-bright);
}
.ag-head__mark::after { animation: none; }
.ag.is-open .ag-head__mark::after {
  animation: ag-mark-arrive 1.05s var(--ease) .28s both;
}
@keyframes ag-mark-arrive {
  from { transform: translate3d(-100%, 0, 0); }
  to   { transform: translate3d(100%, 0, 0); }
}

.ag-head__l { gap: 5px; }
.ag-head__n {
  color: #faf5e9;
  font-size: 1.08rem;
  letter-spacing: .015em;
}
.ag-head__s {
  display: flex;
  align-items: center;
  gap: 7px;
  color: var(--ag-brass-bright);
  font-size: .52rem;
  letter-spacing: .22em;
}
.ag-head__s::before {
  content: "";
  width: 5px;
  height: 5px;
  flex: none;
  border-radius: 50%;
  background: var(--ag-brass-bright);
  box-shadow: 0 0 0 3px rgba(214, 189, 136, .11);
  animation: ag-status-breathe 2.8s ease-in-out infinite;
}
@keyframes ag-status-breathe {
  0%, 100% { opacity: .48; transform: scale(.82); }
  45%      { opacity: 1; transform: scale(1); }
}

.ag-head__x {
  border: 1px solid transparent;
  border-radius: 50%;
  color: #c8bdab;
  transition: color .24s ease-out, border-color .24s ease-out,
              background-color .24s ease-out, transform .4s var(--ease);
}
.ag-head__x:hover {
  color: #fffaf0;
  border-color: var(--ag-dark-line);
  background: rgba(255, 250, 240, .06);
  transform: rotate(90deg);
}
.ag-head__x:focus-visible {
  outline: 2px solid var(--ag-brass-bright);
  outline-offset: 2px;
}

.ag-log {
  padding: 26px 22px 12px;
  color: var(--ag-copy);
  background:
    radial-gradient(circle at 100% 0%, rgba(154, 124, 75, .075), transparent 34%),
    linear-gradient(115deg, rgba(255, 255, 255, .36), transparent 38%),
    var(--ag-parchment);
  scrollbar-color: rgba(154, 124, 75, .48) transparent;
  scrollbar-width: thin;
}
.ag-log::-webkit-scrollbar { width: 6px; }
.ag-log::-webkit-scrollbar-track { background: transparent; }
.ag-log::-webkit-scrollbar-thumb {
  border: 2px solid transparent;
  border-radius: 6px;
  background: rgba(154, 124, 75, .48);
  background-clip: padding-box;
}

.ag-msg {
  max-width: 86%;
  margin-bottom: 20px;
  animation: none;
}
.ag-msg--arriving .ag-msg__k {
  animation: ag-message-label .34s var(--ease) var(--ag-arrival-delay, 0ms) both;
}
.ag-msg--arriving .ag-msg__b {
  animation: ag-message-body .5s var(--ease)
             calc(var(--ag-arrival-delay, 0ms) + 75ms) both;
}
@keyframes ag-message-label {
  from { opacity: 0; transform: translate3d(0, 5px, 0); }
  to   { opacity: 1; transform: translate3d(0, 0, 0); }
}
@keyframes ag-message-body {
  from { opacity: 0; transform: translate3d(0, 13px, 0) scale(.985); }
  to   { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
}
.ag-msg--answer-ready .ag-msg__b {
  animation: ag-answer-resolve .46s var(--ease) both;
}
@keyframes ag-answer-resolve {
  from { opacity: .2; transform: translate3d(0, 7px, 0); }
  to   { opacity: 1; transform: translate3d(0, 0, 0); }
}

.ag-msg__k {
  margin: 0 2px 7px;
  color: #665a49;
  font-size: .54rem;
  letter-spacing: .22em;
}
.ag-msg__b {
  padding: 13px 15px;
  border: 1px solid rgba(85, 69, 47, .14);
  border-radius: 3px 12px 12px 12px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .78), rgba(255, 255, 255, .28)),
    var(--ag-paper);
  color: var(--ag-copy);
  box-shadow: 4px 8px 24px -22px rgba(24, 21, 16, .7);
  font-size: .95rem;
  line-height: 1.66;
}
.ag-msg:not(.ag-msg--me) .ag-msg__b {
  border-left: 2px solid var(--ag-brass);
  padding-left: 15px;
}

.ag-msg--me .ag-msg__b {
  border-color: rgba(214, 189, 136, .22);
  border-radius: 12px 3px 12px 12px;
  background: linear-gradient(145deg, var(--ag-charcoal-3), var(--ag-charcoal));
  color: #f8f2e6;
  box-shadow: 6px 12px 28px -22px rgba(0, 0, 0, .85);
}
.ag-msg--me .ag-msg__k { color: #665a49; }
.ag-msg__b a { color: #765a30; text-underline-offset: 3px; }
.ag-msg--me .ag-msg__b a { color: var(--ag-brass-pale); }
.ag-msg__b li::before { border-color: var(--ag-brass); }

.ag-chips {
  gap: 8px;
  padding: 0 22px 16px;
  background: var(--ag-parchment);
}
.ag-chip {
  border-color: rgba(85, 69, 47, .20);
  border-radius: 999px;
  background: rgba(253, 250, 243, .6);
  color: #554a3b;
  transition: color .24s ease-out, background-color .24s ease-out,
              border-color .24s ease-out, transform .3s var(--ease);
}
.ag-chip:hover {
  border-color: var(--ag-brass);
  background: var(--ag-charcoal-2);
  color: #faf5e9;
  transform: translate3d(0, -1px, 0);
}
.ag-chip:focus-visible {
  outline: 2px solid var(--ag-brass);
  outline-offset: 2px;
}

.ag-ask {
  gap: 10px;
  padding: 14px 16px calc(14px + env(safe-area-inset-bottom, 0px));
  border-top-color: rgba(85, 69, 47, .18);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .54), rgba(238, 231, 217, .44)),
    var(--ag-limestone);
  box-shadow: 0 0 30px -16px rgba(24, 21, 16, .6);
}
.ag-ask::after {
  left: 20px;
  right: 76px;
  bottom: calc(14px + env(safe-area-inset-bottom, 0px));
  background: linear-gradient(90deg, var(--ag-brass), var(--ag-brass-bright));
  transition: transform .42s var(--ease);
}
.ag-ask input {
  min-width: 0;
  padding: 13px 7px;
  color: var(--ag-copy);
  caret-color: var(--ag-brass);
}
.ag-ask input::placeholder { color: #6d6253; opacity: 1; }
.ag-ask button {
  width: 46px;
  height: 46px;
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(214, 189, 136, .48);
  border-radius: 4px;
  background:
    radial-gradient(circle at 28% 18%, rgba(234, 217, 181, .20), transparent 34%),
    linear-gradient(145deg, #5d4b30, var(--ag-charcoal-2) 68%);
  color: #fff9ec;
  box-shadow: inset 0 1px 0 rgba(255, 245, 222, .18),
    5px 10px 22px -16px rgba(0, 0, 0, .9);
  transition: border-color .24s ease-out, background-color .24s ease-out,
              transform .34s var(--ease), box-shadow .24s ease-out;
}
.ag-ask button svg {
  position: relative;
  z-index: 1;
  transition: opacity .2s ease-out, transform .32s var(--ease);
}
.ag-ask button::after {
  content: "";
  position: absolute;
  inset: 14px;
  border: 1px solid rgba(234, 217, 181, .34);
  border-top-color: var(--ag-brass-pale);
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;
}
.ag-ask.is-dispatching button svg {
  animation: ag-send-flight .38s var(--ease) both;
}
.ag.is-thinking .ag-ask button {
  opacity: 1;
  cursor: wait;
}
.ag.is-thinking .ag-ask button svg { opacity: 0; transform: translate3d(7px, 0, 0); }
.ag.is-thinking .ag-ask button::after {
  animation: ag-send-wait .82s linear .14s infinite;
}
@keyframes ag-send-flight {
  0%   { opacity: 1; transform: translate3d(0, 0, 0); }
  48%  { opacity: 0; transform: translate3d(10px, 0, 0); }
  49%  { opacity: 0; transform: translate3d(-7px, 0, 0); }
  100% { opacity: 1; transform: translate3d(0, 0, 0); }
}
@keyframes ag-send-wait {
  0%   { opacity: 0; transform: rotate(0deg); }
  18%  { opacity: 1; }
  100% { opacity: 1; transform: rotate(360deg); }
}
.ag-ask button:hover:not(:disabled) {
  border-color: var(--ag-brass-bright);
  transform: translate3d(2px, 0, 0);
  box-shadow: inset 0 1px 0 rgba(255, 245, 222, .24),
    6px 12px 24px -14px rgba(0, 0, 0, .9);
}
.ag-ask button:focus-visible {
  outline: 2px solid var(--ag-brass);
  outline-offset: 2px;
}
.ag-ask button:disabled { opacity: .46; }

.ag-dots i { background: var(--ag-brass); }
.ag.is-entering .ag-head__l {
  animation: ag-head-copy-arrive .48s var(--ease) .12s both;
}
.ag.is-entering .ag-head__x {
  animation: ag-close-arrive .4s var(--ease) .2s both;
}
.ag.is-entering .ag-log {
  animation: ag-surface-arrive .5s ease-out .08s both;
}
.ag.is-entering .ag-ask {
  animation: ag-composer-arrive .58s var(--ease) .28s both;
}
.ag.is-entering .ag-chip {
  animation: ag-chip-arrive .42s var(--ease) .32s both;
}
.ag.is-entering .ag-chip:nth-child(2) { animation-delay: .38s; }
.ag.is-entering .ag-chip:nth-child(3) { animation-delay: .44s; }
.ag.is-entering .ag-chip:nth-child(4) { animation-delay: .50s; }
@keyframes ag-head-copy-arrive {
  from { opacity: 0; transform: translate3d(-9px, 0, 0); }
  to   { opacity: 1; transform: translate3d(0, 0, 0); }
}
@keyframes ag-close-arrive {
  from { opacity: 0; transform: rotate(-28deg) scale(.86); }
  to   { opacity: 1; transform: rotate(0) scale(1); }
}
@keyframes ag-surface-arrive {
  from { opacity: 0; transform: translate3d(0, 5px, 0); }
  to   { opacity: 1; transform: translate3d(0, 0, 0); }
}
@keyframes ag-composer-arrive {
  from { opacity: 0; transform: translate3d(0, 18px, 0); }
  to   { opacity: 1; transform: translate3d(0, 0, 0); }
}
@keyframes ag-chip-arrive {
  from { opacity: 0; transform: translate3d(0, 8px, 0); }
  to   { opacity: 1; transform: translate3d(0, 0, 0); }
}
.ag-launch {
  border-color: rgba(105, 85, 55, .24);
  background:
    radial-gradient(circle at 31% 24%, #fffdf7 0%, rgba(255, 253, 247, 0) 44%),
    linear-gradient(145deg, #fbf7ee, #e7ddca);
  box-shadow: 9px 18px 38px -18px rgba(16, 13, 9, .52),
    0 3px 9px -5px rgba(16, 13, 9, .32),
    inset 0 1px 0 rgba(255, 255, 255, .9),
    inset 0 0 0 4px rgba(255, 255, 255, .24);
}
.ag-launch:hover {
  border-color: rgba(154, 124, 75, .54);
  box-shadow: 12px 24px 48px -18px rgba(16, 13, 9, .60),
    0 4px 12px -6px rgba(16, 13, 9, .34),
    inset 0 1px 0 rgba(255, 255, 255, .94),
    inset 0 0 0 4px rgba(255, 255, 255, .28);
}
.ag-launch__mark { background: #725a37; }
.ag-launch__t {
  border: 1px solid rgba(214, 189, 136, .26);
  border-radius: 3px;
  background: var(--ag-charcoal);
  color: #f8f2e6;
  box-shadow: 5px 10px 24px -15px rgba(0, 0, 0, .76);
}
.ag-launch:focus-visible {
  outline: 2px solid #8b6d42;
  outline-offset: 4px;
}

@media (max-width: 620px) {
  .ag__card { border-radius: 0; }
  .ag-head { min-height: 72px; padding-inline: 17px 12px; }
  .ag-log { padding: 22px 15px 10px; }
  .ag-msg { max-width: 92%; margin-bottom: 18px; }
  .ag-msg__b { padding: 12px 14px; font-size: .94rem; }
  .ag-msg:not(.ag-msg--me) .ag-msg__b { padding-left: 14px; }
  .ag-chips { padding-inline: 15px; }
  .ag-ask {
    padding: 10px 12px calc(10px + env(safe-area-inset-bottom, 0px));
  }
  .ag-ask::after {
    left: 16px;
    right: 70px;
    bottom: calc(10px + env(safe-area-inset-bottom, 0px));
  }
  .ag-ask input { padding: 12px 4px; font-size: 16px; }
}

@media (prefers-reduced-motion: reduce) {
  .ag__veil,
  .ag__card,
  .ag__card::before,
  .ag-head__x,
  .ag-msg,
  .ag-chip,
  .ag-ask::after,
  .ag-ask button,
  .ag-launch {
    animation: none !important;
    transition-duration: .01ms !important;
  }
  .ag-head__l,
  .ag-head__s::before,
  .ag-head__x,
  .ag-log,
  .ag-ask,
  .ag-ask button svg,
  .ag-ask button::after,
  .ag-msg__k,
  .ag-msg__b {
    animation: none !important;
    opacity: 1;
    transform: none;
  }
  .ag-head__mark::after { animation: none !important; opacity: 0; }
  .ag-msg { opacity: 1; transform: none; }
  .ag.is-thinking .ag-ask button svg { opacity: 0; }
  .ag.is-thinking .ag-ask button::after { opacity: .72; }
}
.tl--lineage { position: relative; }
.tl__thread {
  position: absolute; left: 0; top: 8px; bottom: 8px;
  width: 1px;
  background: linear-gradient(to bottom, var(--accent) 0%, var(--accent) 72%, transparent 100%);
  transform: scaleY(0);
  transform-origin: top;
  transition: transform 2.6s cubic-bezier(.22,.61,.36,1);
}
.tl--lineage.is-drawn .tl__thread { transform: scaleY(1); }

.tl__item--gen .tl__dot {
  opacity: 0;
  transform: rotate(45deg) scale(.3);
  transition: opacity .5s var(--ease), transform .7s cubic-bezier(.34,1.56,.64,1);
  transition-delay: calc(.55s + var(--gen) * .58s);
}
.tl--lineage.is-drawn .tl__item--gen .tl__dot { opacity: 1; transform: rotate(45deg) scale(1); }
.tl__item--gen .tl__dot::after {
  content: ""; position: absolute; inset: -7px;
  border: 1px solid var(--accent);
  opacity: 0;
}
.tl--lineage.is-drawn .tl__item--gen .tl__dot::after {
  animation: gen-settle 1.5s ease-out forwards;
  animation-delay: calc(.65s + var(--gen) * .58s);
}
@keyframes gen-settle {
  0%   { opacity: 0; transform: scale(2.4); }
  45%  { opacity: .85; }
  100% { opacity: 0; transform: scale(1); }
}

.tl__item--gen .tl__yr,
.tl__item--gen .tl__t {
  opacity: 0; transform: translateX(-10px);
  transition: opacity .7s var(--ease), transform .8s var(--ease);
  transition-delay: calc(.7s + var(--gen) * .58s);
}
.tl__item--gen .tl__t { transition-delay: calc(.8s + var(--gen) * .58s); }
.tl--lineage.is-drawn .tl__item--gen .tl__yr,
.tl--lineage.is-drawn .tl__item--gen .tl__t { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
  .tl__thread { transform: scaleY(1) !important; transition: none; }
  .tl__item--gen .tl__dot,
  .tl__item--gen .tl__yr,
  .tl__item--gen .tl__t { opacity: 1 !important; transform: none !important; }
  .tl__item--gen .tl__dot::after { animation: none; }
}
.ag:not(.is-open) .ag-head__mark::after { animation-play-state: paused; }
.panel__main {
  position: relative;
  display: flex; flex-direction: column; justify-content: flex-end;
  overflow: hidden;
  min-height: 380px;
  background: var(--stone-050);
}
.panel__art {
  position: absolute;
  right: 0; top: 50%;
  transform: translateY(-50%);
  width: min(96%, 540px);
  aspect-ratio: 1/1;
  opacity: .5;
  filter: saturate(.42) sepia(.2);
  pointer-events: none;
  z-index: 0;
  mask-image: radial-gradient(82% 82% at 52% 48%, #000 70%, transparent 100%);
  -webkit-mask-image: radial-gradient(82% 82% at 52% 48%, #000 70%, transparent 100%);
}
.panel__art svg { width: 100%; height: 100%; }
.panel__pitch { position: relative; z-index: 2; }
.panel__pitch .display { margin-bottom: 14px; }
.panel__pitch .body { font-size: .92rem; margin-bottom: 24px; max-width: 34ch; }

@media (max-width: 820px) {
  .panel__main { min-height: 300px; }
  .panel__art { right: 0; width: min(92%, 400px); opacity: .34; }
}
.work__media--flat {
  position: relative;
  aspect-ratio: 3 / 2;
  background:
    radial-gradient(120% 100% at 30% 20%, rgba(194,170,126,.10), transparent 60%),
    linear-gradient(155deg, var(--stone-700) 0%, var(--stone-800) 55%, var(--stone-900) 100%);
}
.work__media--flat::before {
  content: "";
  position: absolute; inset: 0;
  background: var(--mark-src) center 38% / 54px auto no-repeat;
  opacity: .12;
  filter: invert(1);
}
.work__media--flat .work__veil { background: none; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
html, body {
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-y: auto;
}

body { transition: opacity .35s ease; }
body.is-pausing { opacity: 0; }
body.is-pausing.is-ready { opacity: 1; }
.no-js body, body.is-ready { opacity: 1; }
.reveal { opacity: 1; transform: none; transition: none; }
.reveal-line { transform: none; transition: none; }
.rise-mask > span { transform: none; transition: none; }
html.js-reveal .reveal {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity .62s var(--ease), transform .62s var(--ease);
  transition-delay: calc(var(--rd, 0s) * 0.6);
}
html.js-reveal .reveal.is-in { opacity: 1; transform: none; }
html.js-reveal .reveal-line {
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .8s var(--ease);
  transition-delay: calc(var(--rd, 0s) * 0.6);
}
html.js-reveal .reveal-line.is-in { transform: scaleX(1); }
html.js-reveal .rise-mask > span {
  display: block;
  transform: translateY(135%);
  transition: transform .78s var(--ease);
  transition-delay: calc(var(--rd, 0s) * 0.6);
}
html.js-reveal .rise-mask.is-in > span { transform: none; }
html.js-reveal .reveal .plate img {
  transform: translateY(14px);
  opacity: 0;
  transition: transform .9s var(--ease), opacity .7s var(--ease);
  transition-delay: calc(var(--rd, 0s) * 0.6);
}
html.js-reveal .reveal.is-in .plate img { transform: none; opacity: 1; }
.work__cap { transition: transform .6s var(--ease); }
.work:hover .work__cap { transform: translateY(-4px); }

@media (prefers-reduced-motion: reduce) {
  html.js-reveal .reveal .plate img { transform: none !important; opacity: 1 !important; }
  .work:hover .work__cap { transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  html.js-reveal .reveal,
  html.js-reveal .reveal-line,
  html.js-reveal .rise-mask > span { transform: none !important; }
}
.piece__more {
  position: absolute; top: 14px; left: 14px; z-index: 5;
  font-family: var(--f-mono); font-size: .5rem; letter-spacing: .16em;
  text-transform: uppercase;
  padding: 5px 9px;
  color: var(--marble);
  background: rgba(20,17,12,.78);
  border: 1px solid rgba(201,163,90,.55);
  opacity: 0; transform: translateY(-4px);
  transition: opacity .45s var(--ease), transform .45s var(--ease);
}
.piece:hover .piece__more,
.piece:focus-visible .piece__more { opacity: 1; transform: none; }
@media (hover: none) { .piece__more { opacity: 1; transform: none; } }
.lb .lb__img { transition: opacity .28s var(--ease), filter .32s var(--ease); }
.lb.is-loading .lb__img { filter: blur(6px) saturate(1.06); }

.lb.is-loading .lb__stage::before {
  content: "";
  position: absolute; left: 50%; top: 50%; z-index: 8;
  width: 26px; height: 26px; margin: -13px 0 0 -13px;
  border: 1px solid rgba(247,242,233,.28);
  border-top-color: var(--gold-2);
  border-radius: 50%;
  opacity: 0;
  animation: lb-spin .7s linear infinite, lb-wait .001s linear .45s forwards;
}
@keyframes lb-spin { to { transform: rotate(360deg); } }
@keyframes lb-wait { to { opacity: 1; } }
.rail.is-railing .card__media .plate { transition: none; }
.rail.is-railing .card { transition: none; }
.rail.is-railing .card:hover { transform: none; }
.lb .lb__img {
  transition: opacity .3s var(--ease), transform .3s var(--ease), filter .3s var(--ease);
  will-change: opacity, transform;
}
.lb.is-step .lb__img { transform: scale(.985); opacity: .85; }
body { transition: opacity .2s ease; }
body:not(.is-pausing) { transition: none; }
.display { text-shadow: 0 1px 0 rgba(245, 241, 232, 0.6); }
.band--dark .display, .foot .display, .proc .display, .stat .display {
  text-shadow: 0 1px 0 rgba(20, 17, 12, 0.6);
}
.phead__art {
  -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 4%) !important;
  mask-image: linear-gradient(to right, transparent 0%, #000 4%) !important;
}
.phead { overflow: visible; }
@media (max-width: 760px) {
  .piece__cap { opacity: 1 !important; transform: none !important; }
  .piece__zoom { opacity: .78 !important; transform: none !important; }
  .piece__veil { opacity: 1 !important; }
  .card:active .card__media .plate { transform: scale(1.03); }
  .work:active .work__media .plate { transform: scale(1.03); }
  .work:active .work__cap { transform: translateY(-3px); }
  .work:active .work__line { width: 72px; }
}
.wall .piece__below {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
body { transition: none !important; }
body.is-pausing { opacity: 1; }
.band { contain: style; }
html.js-reveal .reveal {
  transition-duration: .42s !important;
  transition-delay: calc(var(--rd, 0s) * 0.35) !important;
}
html.js-reveal .reveal-line {
  transition-duration: .55s !important;
  transition-delay: calc(var(--rd, 0s) * 0.35) !important;
}
html.js-reveal .rise-mask > span {
  transition-duration: .5s !important;
  transition-delay: calc(var(--rd, 0s) * 0.35) !important;
}
@supports (view-transition-name: none) {

  ::view-transition-old(root),
  ::view-transition-new(root) {
    animation-duration: 0.28s;
    animation-timing-function: var(--ease, cubic-bezier(.22,.61,.36,1));
  }
  .nav { view-transition-name: site-header; }
  ::view-transition-old(site-header),
  ::view-transition-new(site-header) { animation: none; mix-blend-mode: normal; }
  @media (prefers-reduced-motion: reduce) {
    ::view-transition-old(root),
    ::view-transition-new(root) { animation-duration: 0.01s; }
  }
}
.plate, .piece__img, .card__media, .work__media, .pcard__media, .frame {
  background: var(--stone-200);
  position: relative;
}
.plate img, .piece__img img, .card__media img, .work__media img,
.pcard__media img, .frame img {
  background: var(--stone-200);
}
.nav--stuck {
  background: rgba(233, 227, 213, 0.98);
}
.piece__cap {
  display: none !important;
}
.piece__veil {
  display: none !important;
}
.piece__zoom {
  display: none !important;
}
.work__cap {
  position: static !important;
  padding: 16px 0 0 !important;
  width: 100% !important;
  transform: none !important;
  opacity: 1 !important;
}
.work__veil {
  display: none !important;
}
.work__t {
  color: var(--ink) !important;
}
.work__meta {
  color: var(--accent) !important;
}
.work__s {
  color: var(--ink-soft) !important;
}
.work__line {
  background: var(--accent) !important;
}
.piece__below {
  display: block !important;
  padding: 12px 0 0 !important;
}
.piece__below .piece__t {
  color: var(--ink) !important;
  font-size: 1rem !important;
  margin-bottom: 4px !important;
}
.piece__below .piece__m {
  color: var(--ink-mute) !important;
  font-size: 0.7rem !important;
}
.piece {
  cursor: pointer;
}
@media (max-width: 760px) {
  .works {
    grid-auto-rows: minmax(180px, 1fr) !important;
  }
  .works .work {
    min-height: 180px !important;
  }
}

@media (max-width: 480px) {
  .works {
    grid-auto-rows: minmax(160px, 1fr) !important;
  }
  .works .work {
    min-height: 160px !important;
  }
}
.art > svg, .hero__art > svg, .phead__art > svg {
  filter: none !important;
}
.art[data-art="peacock"] > svg,
.art[data-art="peacock-grove"] > svg {
  filter: none !important;
}
.nav {
  transition: transform .46s cubic-bezier(.22,.61,.36,1),
              background-color .35s,
              border-color .35s !important;
}
.nav--stuck {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  background: rgba(233, 227, 213, 0.98) !important;
}
.spine__fill, .spine__head {
  will-change: auto !important;
}
.works .work__media {
  display: flex !important;
  flex-direction: column !important;
  overflow: visible !important;
  aspect-ratio: auto !important;
  height: auto !important;
  position: relative !important;
  min-height: 0 !important;
  background: transparent !important;
}
.works .work__media .plate {
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  height: auto !important;
  flex: none !important;
}
.works .work__media .work__cap {
  position: static !important;
  padding: 14px 0 0 !important;
  width: 100% !important;
  transform: none !important;
  opacity: 1 !important;
  z-index: auto !important;
}
.works .work__media .work__veil {
  display: none !important;
}
.works .work__t {
  color: var(--ink) !important;
}
.works .work__meta {
  color: var(--accent) !important;
}
.works .work__s {
  color: var(--ink-soft) !important;
}
.works .work__line {
  background: var(--accent) !important;
}
.works .work {
  position: relative !important;
  min-height: 0 !important;
  height: auto !important;
}
.works > div {
  height: auto !important;
}
.works {
  grid-auto-rows: auto !important;
}
.works > .w-5 {
  grid-template-rows: auto auto !important;
}
.wall .piece__below {
  padding: 14px 0 0 !important;
  min-height: 0 !important;
}
.wall .piece__below .piece__t {
  font-size: 1.05rem !important;
  font-family: var(--f-display) !important;
  color: var(--ink) !important;
  margin-bottom: 4px !important;
  line-height: 1.2 !important;
}
.wall .piece__below .piece__m {
  font-size: 0.78rem !important;
  letter-spacing: 0.12em !important;
  color: var(--ink-mute) !important;
}
.wall .piece__below .piece__m span {
  font-size: 0.78rem !important;
}
.wall .piece {
  transition: transform .4s var(--ease), box-shadow .4s var(--ease) !important;
  background: var(--marble) !important;
  box-shadow: 0 1px 3px rgba(36, 31, 24, 0.08) !important;
}
.wall .piece:hover {
  transform: translateY(-3px) !important;
  box-shadow: 6px 12px 28px -10px rgba(36, 31, 24, 0.25) !important;
}
.wall .piece .piece__img {
  overflow: hidden !important;
}
.wall .piece .piece__img img {
  transition: transform .6s var(--ease) !important;
}
.wall .piece:hover .piece__img img {
  transform: scale(1.04) !important;
}
.wall {
  gap: clamp(16px, 2vw, 28px) !important;
}
.wall .piece__below {
  min-height: 0 !important;
}
@media (max-width: 760px) {
  .wall .piece__below .piece__t {
    font-size: 0.95rem !important;
  }
  .wall .piece__below .piece__m {
    font-size: 0.72rem !important;
  }
  .wall {
    gap: 14px !important;
  }
}
.works .work__cap .work__t {
  font-size: clamp(1.3rem, 2vw, 1.7rem) !important;
  font-family: var(--f-display) !important;
  color: var(--ink) !important;
}
.works .work__cap .work__meta {
  font-size: 0.78rem !important;
  color: var(--accent) !important;
}
.works .work__cap .work__s {
  font-size: 0.95rem !important;
  color: var(--ink-soft) !important;
  line-height: 1.6 !important;
}
.works .work {
  transition: opacity .4s var(--ease) !important;
}
.works .work .work__media .plate {
  transition: transform .6s var(--ease) !important;
  overflow: hidden !important;
}
.works .work:hover .work__media .plate {
  transform: scale(1.03) !important;
}
.works .work .work__media .plate img {
  transition: transform .6s var(--ease) !important;
}
.works .work:hover .work__media .plate img {
  transform: none !important;
}
.band {
  min-height: 0 !important;
}
.band--tight {
  padding-block: clamp(40px, 5vw, 70px) !important;
}
.band {
  padding-block: clamp(50px, 6vw, 90px) !important;
}
.rail .card {
  background: var(--marble) !important;
  box-shadow: 0 1px 3px rgba(36, 31, 24, 0.08) !important;
  transition: transform .4s var(--ease), box-shadow .4s var(--ease) !important;
}
.rail .card:hover {
  transform: translateY(-3px) !important;
  box-shadow: 6px 12px 28px -10px rgba(36, 31, 24, 0.22) !important;
}
.rail .card__t {
  font-size: 1.2rem !important;
  font-family: var(--f-display) !important;
}
.rail .card__d {
  font-size: 0.92rem !important;
  line-height: 1.6 !important;
}
.feature__stamp {
  position: static !important;
  max-width: none !important;
  margin: 18px 0 0 !important;
  display: block !important;
}
.plate::before,
.plate::after {
  display: block !important;
  content: "" !important;
  inset: 0 !important;
  mix-blend-mode: soft-light !important;
  pointer-events: none !important;
}
.plate::before {
  background: linear-gradient(118deg, rgba(255,255,255,.22), transparent 38%, rgba(36,31,24,.09)) !important;
  opacity: .7 !important;
}
.plate::after {
  background: radial-gradient(ellipse at 18% 12%, rgba(255,255,255,.18), transparent 48%) !important;
  opacity: .55 !important;
}
#garden .wall {
  --wall-gap: clamp(16px, 2vw, 24px);
  margin-top: clamp(30px, 4vw, 54px);
}
#garden.band {
  padding-block: clamp(40px, 5vw, 70px) !important;
}
.band {
  padding-block: clamp(40px, 5vw, 70px) !important;
}
.band--tight {
  padding-block: clamp(30px, 4vw, 50px) !important;
}
.plate {
  background: var(--stone-100) !important;
}
.plate--marble,
.plate--sandstone,
.plate--basalt,
.plate--jade {
  background: var(--stone-100) !important;
}
#garden.band {
  padding-block: clamp(35px, 4vw, 60px) !important;
}
#garden .wall {
  --wall-gap: clamp(14px, 1.8vw, 20px);
}
#garden .piece__below {
  min-height: 0 !important;
  padding: 10px 0 0 !important;
}
@media (max-width: 760px) {
  .proc { padding: 24px 20px 26px; }
  .proc__k { margin-bottom: 14px; }
  .proc__t { margin-bottom: 11px; }
  .proc__d { line-height: 1.62; }
  .proc__list { margin-top: 18px; }
  .proc__list li { padding: 9px 0; }
  .proc__list li { gap: 4px; flex-wrap: wrap; }
  .proc__list li span:last-child { flex: 1 0 auto; text-align: right; }
  .sec-head { margin-bottom: 20px; }
  .sec-head__aside { padding-top: 10px; }
  .feature__text { padding-top: 16px; }
}
.fadr {
  position: relative;
  margin-top: clamp(12px, 1.4vw, 16px);
  padding-left: 0;
}
.fadr__k {
  font-family: var(--f-mono);
  font-size: 10px;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: rgba(240, 238, 230, 0.4);
  margin-bottom: 8px;
}
.fadr__body {
  display: block;
  color: inherit;
}
.fadr__studio {
  display: block;
  font-family: inherit;
  font-size: 13.5px;
  line-height: 1.45;
  font-weight: 500;
  color: rgba(240, 238, 230, 0.75);
  margin-bottom: 6px;
  letter-spacing: 0;
}
.fadr__lines { display: block; }
.fadr__line {
  display: block;
  font-size: 13.5px;
  line-height: 1.5;
  color: rgba(240, 238, 230, 0.6);
  opacity: 0;
  transform: translateY(6px);
  transition: opacity .5s var(--ease), transform .5s var(--ease);
  transition-delay: var(--fd, 0s);
}
html.js-reveal .fadr.is-in .fadr__line,
html:not(.js-reveal) .fadr__line { opacity: 1; transform: none; }
.fadr__go {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-top: 10px;
  font-family: var(--f-mono);
  font-size: 10px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: rgba(240, 238, 230, 0.4);
  opacity: 1;
  transition: color .3s, gap .3s var(--ease);
}
.fadr__body:hover .fadr__go { color: rgba(240, 238, 230, 0.8); gap: 12px; }
.fadr__body:hover .fadr__studio { color: rgb(240, 238, 230); }
.fadr__acts {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 13px;
}
.fadr__act {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 9px 14px;
  border: 1px solid var(--rule-dark);
  color: var(--on-dark);
  font-size: 0.82rem;
  letter-spacing: .01em;
  transition: border-color .35s, background .35s, transform .35s var(--ease);
}
.fadr__act svg { width: 15px; height: 15px; flex: none; opacity: .85; }
.fadr__act:hover {
  border-color: var(--gold-2);
  background: rgba(194,170,126,.09);
  transform: translateY(-2px);
}
.fadr__act--wa:hover {
  border-color: #4d9c6a;
  background: rgba(77,156,106,.12);
}
@media (hover: none) {
  .fadr__act:active { background: rgba(194,170,126,.14); transform: none; }
}
@media (max-width: 620px) {
  .fadr__acts { gap: 8px; }
  .fadr__act { flex: 1 1 calc(50% - 4px); justify-content: center; }
}
.chan__addr {
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid var(--rule-dark);
}
.chan__k {
  font-family: var(--f-mono);
  font-size: 0.55rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--gold-2);
  margin-bottom: 9px;
}
.chan__addr-t {
  font-family: var(--f-display);
  font-size: 1rem;
  color: var(--marble);
  margin-bottom: 5px;
}
.chan__addr-l {
  font-size: 0.85rem;
  line-height: 1.6;
  color: var(--on-dark-mute);
  max-width: 34ch;
}
.chan__addr-go {
  display: inline-block;
  margin-top: 9px;
  font-family: var(--f-mono);
  font-size: 0.55rem;
  letter-spacing: 0.17em;
  text-transform: uppercase;
  color: var(--gold-2);
  transition: opacity .3s;
}
.chan__addr-go:hover { opacity: .7; }
.work__media,
.work__media[style],
.card__media,
.card__media[style],
.pcard__media,
.pcard__media[style],
.feature__media,
.feature__media[style],
.feature__media .frame,
.feature__media .frame[style],
.feature__media .work__media,
.feature__media .work__media[style],
.frame[style*="aspect-ratio"] {
  aspect-ratio: auto !important;
  height: auto !important;
  min-height: 0 !important;
}
.work__media .plate,
.card__media .plate,
.pcard__media .plate,
.feature__media .plate {
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: auto !important;
  display: block !important;
}
.piece__img img,
.piece__img picture,
.work__media .plate img,
.card__media .plate img,
.pcard__media .plate img,
.pcard__media > img,
.feature__media .frame img,
.feature__media .frame picture,
.feature__media .plate img,
.feature__media > img,
.wall .piece__img img,
.works .work__media .plate img {
  position: static !important;
  inset: auto !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
  padding: 0 !important;
  background: transparent !important;
  display: block !important;
}
.piece__img,
.work__media .plate,
.card__media .plate,
.pcard__media .plate,
.feature__media .frame {
  background: var(--stone-150) !important;
}
.wall .piece__img,
.rail .card__media,
.pcard__media,
.works .work__media .plate {
  background: var(--stone-150) !important;
}
.rail .card__media > .plate,
.rail .card__media > picture,
.pcard__media > .plate,
.pcard__media > picture,
.wall .piece__img > picture,
.frame[style*="aspect-ratio"] > picture {
  height: 100% !important;
  width: 100% !important;
  display: block !important;
  aspect-ratio: auto !important;
}
.hero__film video {
  aspect-ratio: auto;
  object-fit: cover !important;
  height: 100% !important;
}
.work__media--media {
  aspect-ratio: auto;
  height: 100% !important;
}
.work__media--media video {
  object-fit: contain;
  height: 100% !important;
}
.work__media--media {
  height: auto !important;
}
.work__media--media video {
  position: absolute !important;
  inset: 0 !important;
}
.piece__img,
.work__media .plate,
.card__media .plate,
.pcard__media .plate,
.feature__media .frame {
  container-type: inline-size;
  overflow: hidden !important;
}
.piece__img img,
.work__media .plate img,
.card__media .plate img,
.pcard__media .plate img,
.feature__media .frame img {
  max-height: 190cqw;
  object-fit: contain !important;
  object-position: center !important;
}
.wall {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(14px, 1.8vw, 24px);
  align-items: start;
  grid-auto-flow: row dense;
  container-type: inline-size;
  --wall-cols: 3;
  --wall-gap: clamp(14px, 1.8vw, 24px);
  gap: var(--wall-gap) !important;
}
.wall > * { margin: 0; display: block; width: 100%; min-width: 0; }
.wall--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); --wall-cols: 2; }
.wall--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); --wall-cols: 4; }
.wall .piece__img {
  max-height: none !important;
}
.wall > .is-wide { grid-column: span 2; }
.wall > .is-wide .piece__img,
.wall > .is-wide .piece__img[style] {
  aspect-ratio: auto !important;
  height: calc((100cqw - (var(--wall-cols) - 1) * var(--wall-gap)) / var(--wall-cols) * 4 / 3) !important;
}
.wall .piece__below {
  min-height: 64px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
@media (max-width: 600px) { .wall .piece__below { min-height: 54px; } }
@media (max-width: 1000px) {
  .wall, .wall--2, .wall--4, #garden .wall {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    --wall-cols: 2;
  }
}
@media (max-width: 620px) {
  .wall, .wall--2, .wall--4, #garden .wall {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-auto-flow: row;
    --wall-cols: 1;
    --wall-gap: clamp(13px, 4vw, 21px);
  }
  .wall > .is-wide { grid-column: 1 / -1; }
  .wall > .is-wide .piece__img,
  .wall > .is-wide .piece__img[style] {
    aspect-ratio: var(--piece-ratio, 4 / 3) !important;
    height: auto !important;
  }
  .wall .piece__below { min-height: 0; }
}
@media (min-width: 621px) and (max-width: 1000px) {
  .wall--tail-2-1 > :last-child:not(.is-wide) {
    grid-column: 1 / -1;
    width: 100%;
  }
}
@media (min-width: 1001px) {
  .wall:not(.wall--2):not(.wall--4) {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  .wall:not(.wall--2):not(.wall--4) > * { grid-column: span 2; }
  .wall:not(.wall--2):not(.wall--4) > .is-wide { grid-column: span 4; }

  .wall.wall--tail-3-1:not(.wall--2):not(.wall--4) > :last-child:not(.is-wide) {
    grid-column: 3 / span 2;
  }
  .wall.wall--tail-3-2:not(.wall--2):not(.wall--4) > :last-child.is-wide,
  .wall.wall--tail-3-2:not(.wall--2):not(.wall--4) > .is-wide:nth-last-child(2) {
    grid-column: 2 / span 4;
  }
  .wall.wall--tail-3-2:not(.wall--2):not(.wall--4) > :nth-last-child(2):not(.is-wide) {
    grid-column: 2 / span 2;
  }
  .wall.wall--tail-3-2:not(.wall--2):not(.wall--4) > :last-child:not(.is-wide) {
    grid-column: 4 / span 2;
  }
  .wall.wall--tail-3-2:not(.wall--2):not(.wall--4):has(> .is-wide:nth-last-child(2))
    > :last-child:not(.is-wide) {
    grid-column: 5 / span 2;
  }
}
@media (min-width: 761px) {
  [data-section="Philosophy"] .art[data-art="lotus-mandala"] { display: none !important; }
}
.works {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: clamp(18px, 2.2vw, 34px);
  align-items: start;
  grid-auto-flow: row dense;
  container-type: inline-size;
  --wall-cols: 3;
  --wall-gap: clamp(18px, 2.2vw, 34px);
  gap: var(--wall-gap) !important;
}
.works > *,
.works .w-4, .works .w-5, .works .w-7, .works .w-8 {
  grid-column: auto !important;
  grid-row: auto !important;
  width: 100% !important;
  min-width: 0;
  margin: 0 !important;
}
.works > .w-5 { display: contents !important; }

.works .work__media .plate {
  aspect-ratio: 3 / 4 !important;
  max-height: none !important;
}
.works > .is-wide,
.works .w-5 > .is-wide { grid-column: span 2; }
.works > .is-wide .work__media .plate,
.works .w-5 > .is-wide .work__media .plate {
  aspect-ratio: auto !important;
  height: calc((100cqw - (var(--wall-cols) - 1) * var(--wall-gap)) / var(--wall-cols) * 4 / 3) !important;
}
@media (max-width: 1000px) {
  .works {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    --wall-cols: 2;
  }
}
@media (max-width: 700px) {
  .works {
    grid-template-columns: minmax(0, 1fr) !important;
    --wall-cols: 1;
  }
  .works > .is-wide, .works .w-5 > .is-wide { grid-column: auto; }
  .works > .is-wide .work__media .plate,
  .works .w-5 > .is-wide .work__media .plate {
    aspect-ratio: 4 / 3 !important;
    height: auto !important;
  }
}
.rail { align-items: start !important; }
.callbar {
  position: fixed;
  z-index: 88;
  left: 0; right: 0; bottom: 0;
  display: none;
  gap: 8px;
  padding: 9px clamp(10px, 3vw, 16px);
  padding-bottom: calc(9px + env(safe-area-inset-bottom, 0px));
  background: linear-gradient(180deg, rgba(30,26,20,.94) 0%, var(--stone-900) 62%);
  border-top: 1px solid rgba(239, 234, 220, 0.14);
  box-shadow: 0 0 26px -4px rgba(20, 17, 12, 0.7);
  transform: translateY(115%);
  visibility: hidden;
  pointer-events: none;
  transition: transform .46s cubic-bezier(.22,.61,.36,1);
}
.callbar.is-up { transform: none; visibility: visible; pointer-events: auto; }
body.callbar-off .callbar { transform: translateY(115%); visibility: hidden; pointer-events: none; }

.callbar__btn {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 46px;
  padding: 0 10px;
  border: 1px solid rgba(239, 234, 220, 0.2);
  border-radius: 2px;
  background: rgba(239, 234, 220, 0.05);
  color: var(--on-dark);
  font-family: var(--f-mono);
  font-size: 0.58rem;
  letter-spacing: 0.17em;
  text-transform: uppercase;
  line-height: 1;
  white-space: nowrap;
  transition: background-color .28s var(--ease), border-color .28s var(--ease), transform .18s var(--ease);
}
.callbar__btn svg { flex: none; }
.callbar__btn:active { transform: scale(.975); }
.callbar__btn:focus-visible { outline: 2px solid var(--gold-2); outline-offset: 2px; }
.callbar__btn--wa {
  border-color: rgba(194, 170, 126, 0.34);
  color: var(--gold-2);
}
.callbar__btn--primary {
  position: relative;
  overflow: hidden;
  border-color: transparent;
  background: linear-gradient(135deg, var(--gold-2) 0%, #A88B57 52%, var(--gold-2) 100%);
  color: var(--stone-950);
}
.callbar__btn--primary::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(105deg, transparent 38%, rgba(255,252,244,.5) 50%, transparent 62%);
  transform: translateX(-120%);
  animation: callbar-sheen 6s var(--ease) 1.4s infinite;
  pointer-events: none;
}
@keyframes callbar-sheen { 0% { transform: translateX(-120%); } 26%, 100% { transform: translateX(120%); } }

@media (max-width: 860px) {
  .callbar { display: flex; }
  body:has(.callbar) { padding-bottom: var(--sg-callbar-height, calc(65px + env(safe-area-inset-bottom, 0px))); }
  .ag-launch {
    bottom: calc(clamp(14px, 2vw, 26px) + env(safe-area-inset-bottom, 0px));
    transition: bottom .46s cubic-bezier(.22,.61,.36,1), transform .55s var(--ease), border-color .4s, box-shadow .55s var(--ease);
  }
  body.callbar-up:not(.callbar-off) .ag-launch {
    bottom: calc(clamp(14px, 2vw, 26px) + var(--sg-callbar-height, 65px));
  }
}
@media (max-width: 860px) and (prefers-reduced-motion: reduce) {
  .callbar { transition: none; }
}
@media (max-width: 380px) {
  .callbar__btn { letter-spacing: 0.12em; padding: 0 6px; }
  .callbar__btn--wa span,
  .callbar__btn[href^="tel"] span { display: none; }
  .callbar__btn--wa, .callbar__btn[href^="tel"] { flex: 0 0 54px; }
}
.callbar:not(.is-up) .callbar__btn--primary::after,
body.callbar-off .callbar__btn--primary::after {
  animation-play-state: paused;
}

@media (prefers-reduced-motion: reduce) {
  .callbar { transition: none; }
  .callbar__btn--primary::after { animation: none; opacity: 0; }
}
.nav::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 132px;
  background: linear-gradient(180deg,
    rgba(233, 227, 213, 0.96) 0%,
    rgba(233, 227, 213, 0.93) 44%,
    rgba(233, 227, 213, 0.72) 66%,
    rgba(233, 227, 213, 0.28) 84%,
    rgba(233, 227, 213, 0) 100%);
  pointer-events: none;
  z-index: -1;
  transition: opacity .35s var(--ease);
}
.nav--stuck::before { opacity: 0; }
.nav__link {
  color: var(--ink) !important;
  font-size: 0.68rem;
  font-weight: 500;
}
.nav__link:hover { color: var(--accent) !important; }
.nav__link[aria-current="page"] { color: var(--accent) !important; }

.brand__mark { color: var(--ink); }
.brand__logo { opacity: 1; }
.nav--open::before { opacity: 0; }
@media (max-width: 1200px) {
  .nav__link { font-size: 1.1rem; }
}
.wall .piece__img img,
.works .work__media .plate img {
  object-position: 50% 38% !important;
}
.wall > .reveal {
  display: flex;
  flex-direction: column;
  background: var(--marble);
  border: 1px solid var(--rule, rgba(36,31,24,.12));
  border-radius: 2px;
  overflow: hidden;
  height: 100%;
  transition: border-color .4s var(--ease), box-shadow .45s var(--ease),
              transform .45s var(--ease);
}
.wall > .reveal:hover {
  border-color: rgba(201,163,90,0.42);
  box-shadow: 13px 26px 54px -32px rgba(36,31,24,.42);
  transform: translateY(-3px);
}
.wall .piece {
  border-radius: 0;
  border: 0;
  background: var(--stone-150);
}
.wall .piece:hover { transform: none; box-shadow: none; }
.wall .piece__img {
  width: 100%;
  background: var(--stone-150);
}
.wall .piece__img img,
.wall .piece__img picture,
.wall .piece__img video {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
}
.wall .piece__img[data-fit="whole"] img,
.wall .piece__img[data-fit="whole"] picture,
.wall .piece__img[data-fit="whole"] video,
.piece__img[data-fit="whole"] img,
.piece__img[data-fit="whole"] picture,
.piece__img[data-fit="whole"] video {
  object-fit: contain !important;
}
.piece__img img,
.piece__img picture,
.piece__img video {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
}
.wall .piece__below {
  min-height: 78px;
  height: auto;
  padding: 15px 16px 17px !important;
  overflow: visible;
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1 1 auto;
}
.wall .piece__below .piece__t {
  overflow: visible;
  margin-bottom: 0 !important;
}
.wall .piece__below .piece__m {
  flex-wrap: wrap;
  overflow: visible;
}
@media (max-width: 600px) {
  .wall .piece__below { min-height: 66px; padding-top: 10px !important; }
}
.works .work__cap .work__s { display: none !important; }
.works .work__cap {
  min-height: 104px;
  height: auto;
  overflow: visible;
  padding: 14px 0 0 !important;
}
.works .work__cap .work__t {
  overflow: visible;
}
@media (max-width: 700px) {
  .works .work__cap { min-height: 92px; }
}
.rail { align-items: stretch !important; }
.rail .card__media,
.rail .card__media[style] {
  aspect-ratio: 3 / 4 !important;
  height: auto !important;
  max-height: none !important;
}
.rail .card { display: flex; flex-direction: column; }
.rail .card__body { flex: 1; }
.pcard__media,
.pcard__media[style] {
  aspect-ratio: 1 / 1 !important;
  height: auto !important;
  max-height: none !important;
}
.pcard { display: flex; flex-direction: column; }
.pcard__body { flex: 1; }
@media (max-width: 1200px) {
  .nav::before { display: none; }
  .nav--stuck {
    background: var(--sand) !important;
    border-bottom-color: transparent !important;
    box-shadow: 5px 10px 30px -22px rgba(20, 17, 12, 0.55);
  }
}
@media (max-width: 1200px) {
  .nav { background: transparent; }
  .nav::before,
  .nav--stuck::before {
    display: block;
    opacity: 1;
    inset: 0;
    height: auto;
    background: rgba(233, 227, 213, 0.97);
  }
  .nav--stuck::before {
    background: rgba(233, 227, 213, 0.97);
  }
  .nav--stuck {
    background: transparent !important;
    border-bottom-color: transparent !important;
    box-shadow: none;
  }
  .nav::after {
    content: "";
    position: absolute;
    inset: 100% 0 auto 0;
    height: 16px;
    background: linear-gradient(180deg, rgba(233, 227, 213, 0.72) 0%, rgba(233, 227, 213, 0) 100%);
    pointer-events: none;
    z-index: -1;
  }
  .nav--stuck::after {
    background: linear-gradient(180deg, rgba(233, 227, 213, 0.82) 0%, rgba(233, 227, 213, 0) 100%);
  }
  .nav--open::before,
  .nav--open::after { opacity: 0; }
}

@media (max-width: 760px) {
  .hero__film::after {
    background:
      linear-gradient(180deg,
        rgba(233, 227, 213, 0.08) 0%,
        rgba(233, 227, 213, 0.08) 16%,
        rgba(233, 227, 213, 0.42) 27%,
        rgba(233, 227, 213, 0.60) 46%,
        rgba(233, 227, 213, 0.80) 70%,
        rgba(233, 227, 213, 0.96) 92%,
        rgba(233, 227, 213, 1) 100%);
  }
}
@media (min-width: 821px) {
  .panel__art {
    top: 0;
    transform: none;
    right: 3%;
    width: min(86%, 418px);
    opacity: 0.6;
  }
}
@media (max-width: 820px) {
  .panel__art { display: none; }
}
@media (max-width: 760px) {
  .foot__bottom p,
  .foot__bottom p.mono,
  .foot__legal a,
  .foot__legal span {
    font-size: 10.5px;
    letter-spacing: 0.05em;
    line-height: 1.5;
  }
}

.sg-frame {
  position: relative;
  display: block;
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  isolation: isolate;
}
.sg-frame__inner {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.sg-frame__media {
  position: absolute;
  inset: 0;
  width: 100%; height: 100%;
  object-fit: contain;
  object-position: center;
  display: block;
}
.sg-frame__inner:not([style*="aspect-ratio"]) .sg-frame__media {
  position: static;
  height: auto;
}
.sg-frame--mount {
  background: var(--stone-050);
  padding: clamp(12px, 2.2vw, 22px);
  border: 1px solid var(--stone-150);
  box-shadow: 0 1px 0 rgba(255, 255, 255, .6) inset;
}
.sg-frame--mount .sg-frame__inner {
  outline: 1px solid rgba(194, 170, 126, .55);
  outline-offset: 3px;
}
.sg-frame--plate {
  background:
    radial-gradient(ellipse 70% 70% at 50% 40%, rgba(194,170,126,.10), transparent 70%),
    linear-gradient(160deg, var(--stone-800) 0%, var(--stone-900) 60%, var(--stone-950) 100%);
  padding: clamp(12px, 2.2vw, 22px);
  border: 1px solid rgba(194, 170, 126, .18);
}
.sg-frame--plate .sg-frame__inner {
  outline: 1px solid rgba(194, 170, 126, .40);
  outline-offset: 3px;
}
.sg-frame--edge {
  border: 1px solid var(--stone-200);
  background: var(--stone-050);
}
.sg-frame--none { border: 0; background: none; padding: 0; }
@media (max-width: 620px) {
  .sg-frame--mount .sg-frame__inner,
  .sg-frame--plate .sg-frame__inner { outline-offset: 2px; }
}
.sg-frame video::-webkit-media-controls { display: none !important; }
.stu-works {
  display: grid;
  gap: clamp(28px, 4.5vw, 56px);
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
}
.stu-work { display: flex; flex-direction: column; gap: 16px; }
.stu-work__c { margin: 0 0 8px; }
.stu-work__t {
  font-family: var(--f-display, Georgia, serif);
  font-weight: 300;
  font-size: clamp(1.25rem, 2.4vw, 1.7rem);
  line-height: 1.2;
  letter-spacing: -.01em;
  margin: 0;
}
.stu-work__b {
  margin: 10px 0 0;
  font-size: .95rem; font-weight: 300; line-height: 1.7;
  color: var(--ink-mute, var(--stone-500));
}
.stu-work__m {
  margin: 12px 0 0;
  font-family: var(--f-mono, ui-monospace, monospace);
  font-size: .68rem; letter-spacing: .14em; text-transform: uppercase;
  color: var(--stu-gold, var(--accent, #6D583B));
}
.latest { background: var(--stone-050); }
.latest__in {
  display: grid;
  gap: clamp(26px, 4vw, 64px);
  align-items: center;
  grid-template-columns: 1fr;
}
@media (min-width: 820px) {
  .latest__in { grid-template-columns: 1.05fr .95fr; }
}
.latest__m {
  margin: 16px 0 26px;
  font-family: var(--f-mono, ui-monospace, monospace);
  font-size: .7rem; letter-spacing: .14em; text-transform: uppercase;
  color: var(--stone-500);
}
.latest__txt .display { margin: 10px 0 14px; }
.plate-one { padding-block: clamp(38px, 6vw, 86px); }
.plate-one__fig {
  margin: 0 auto;
  max-width: min(780px, 100%);
}
.plate-one__cap {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px 14px;
  margin-top: 16px;
  font-family: var(--f-mono, ui-monospace, monospace);
  font-size: .66rem;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.plate-one__k { color: var(--accent, #8A6E3C); }
.plate-one__t {
  font-family: var(--f-display, Georgia, serif);
  font-size: 1.02rem;
  letter-spacing: .01em;
  text-transform: none;
}
.plate-one__m { color: var(--stone-500); }
@media (max-width: 620px) {
  .plate-one__cap { flex-direction: column; gap: 5px; }
  .plate-one__t { font-size: 1.12rem; }
}
.piece__img img,
.wall .piece__img img,
.card__media img,
.work__media img,
.pcard__media img,
.feature__media img,
.frame > img,
.post__cover img,
.sg-frame__media {
  max-width: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
}
.card:hover .card__media .plate,
.card:active .card__media .plate,
.work:hover .work__media .plate,
.work:active .work__media .plate,
.works .work:hover .work__media .plate,
.works .work:active .work__media .plate,
.pcard:hover .pcard__media .plate,
.pcard:hover .pcard__media img,
.pcard:active .pcard__media .plate,
.pcard:active .pcard__media img,
.wall .piece:hover .piece__img img,
.wall .piece:active .piece__img img {
  transform: none !important;
}
@media (max-width: 1200px) and (pointer: coarse) {
  .nav::before,
  .nav--stuck::before {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    background: rgba(233, 227, 213, 0.975) !important;
  }
}
@media (min-width: 621px) and (max-width: 1100px) {
  .specs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .specs__item:nth-child(2) { border-right: 1px solid var(--rule); }
  .specs__item:nth-child(3) {
    border-top: 0;
    border-right: 0;
  }
}
@media (min-width: 901px) {
  .wrap.journal-list {
    width: 100%;
    max-width: var(--wrap);
  }

  .journal-list .post.post--with-media {
    grid-template-columns:
      clamp(42px, 4.2vw, 62px)
      minmax(0, 1fr)
      clamp(150px, 13vw, 190px);
    column-gap: clamp(22px, 2.5vw, 38px);
  }

  .journal-list .post.post--with-media > :nth-child(2) {
    display: grid;
    grid-template-columns: minmax(0, 1.38fr) minmax(260px, 1fr);
    grid-template-rows: auto 1fr;
    column-gap: clamp(24px, 3vw, 46px);
    align-items: start;
  }

  .journal-list .post.post--with-media .post__cover {
    grid-column: 1;
    grid-row: 1 / span 2;
    width: 100%;
    margin: 0;
  }

  .journal-list .post.post--with-media .post__t {
    grid-column: 2;
    grid-row: 1;
    margin-bottom: 14px;
    text-wrap: balance;
  }

  .journal-list .post.post--with-media .post__x {
    grid-column: 2;
    grid-row: 2;
    max-width: 42ch;
    text-wrap: pretty;
  }
}
.portfolio-project-media {
  display: grid;
  place-items: center;
  width: 100%;
  max-height: min(72svh, 720px);
  margin: 0 auto clamp(28px, 4vw, 52px);
  overflow: hidden;
}
.portfolio-project-media > .work__media--media {
  display: grid;
  place-items: center;
  width: 100%;
  height: auto !important;
  max-height: inherit;
  background: transparent !important;
}
.portfolio-project-media img,
.portfolio-project-media video {
  display: block;
  width: auto !important;
  height: auto !important;
  max-width: 100%;
  max-height: min(72svh, 720px);
  margin-inline: auto;
  object-fit: contain !important;
  object-position: center !important;
}

@media (min-width: 1001px) and (max-height: 900px) {
  .wall .piece__img,
  .wall .piece__img[style] {
    max-height: min(72svh, 680px) !important;
  }
}

@media (max-width: 700px) {
  .portfolio-project-media {
    max-height: none;
  }
  .portfolio-project-media img,
  .portfolio-project-media video {
    width: 100% !important;
    max-height: none;
  }
}
@media (min-width: 901px) and (max-width: 1100px) {
  .journal-list .post.post--with-media {
    grid-template-columns: clamp(40px, 7vw, 60px) minmax(0, 1fr) clamp(130px, 16vw, 170px);
    column-gap: clamp(18px, 2.5vw, 28px);
  }

  .journal-list .post.post--with-media > :nth-child(2) {
    display: block;
  }

  .journal-list .post.post--with-media .post__cover {
    margin-bottom: clamp(14px, 2vw, 20px);
  }

  .journal-list .post.post--with-media .post__t,
  .journal-list .post.post--with-media .post__x {
    max-width: 62ch;
  }
}
.hero__ios-reel { display: none !important; }

@supports (-webkit-touch-callout: none) {
  @media (hover: none) and (pointer: coarse) {
    .hero__film.hero__film--ios-reel > video {
      display: none !important;
    }

    .hero__film.hero__film--ios-reel > picture.hero__ios-reel {
      position: absolute;
      inset: 0;
      z-index: 0;
      display: block !important;
      width: 100%;
      height: 100%;
      overflow: hidden;
      pointer-events: none;
      opacity: 0;
      transition: opacity .42s cubic-bezier(.22,.61,.36,1);
      animation: hero-ios-reel-failsafe .42s cubic-bezier(.22,.61,.36,1) .45s forwards;
    }

    .hero__film.hero__film--ios-reel.is-film-ready > picture.hero__ios-reel {
      opacity: 1;
      animation: none;
    }

    .hero__film.hero__film--ios-reel > picture.hero__ios-reel > img {
      display: block;
      width: 100%;
      height: 100%;
      max-width: none;
      object-fit: cover;
      object-position: var(--stu-focal, var(--focal, center));
      transform: none;
      backface-visibility: visible;
    }

    @media (max-width: 759px) {
      .hero__film.hero__film--ios-reel > picture.hero__ios-reel > img {
        object-position: var(--stu-focal, var(--focal-m, 50% 38%));
      }
    }
  }
}

@keyframes hero-ios-reel-failsafe {
  to { opacity: 1; }
}
