
.fm { position: relative; background: rgb(var(--dp)); color: var(--light); }
.fm__stage { position: relative; min-block-size: 100svh; overflow: hidden; display: grid; align-content: end; padding: 0 var(--g) clamp(32px, 7vh, 72px); }
.fm__poster, .fm__cv { position: absolute; inset: 0; inline-size: 100%; block-size: 100%; object-fit: cover; }
.fm__cv { opacity: 0; }
.fm__stars { position: absolute; inset: 0; inline-size: 100%; block-size: 100%; pointer-events: none; opacity: 0; } 
.fm__shade { position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(0deg, rgba(var(--dp),.78) 0%, rgba(var(--dp),.32) 30%, rgba(var(--dp),0) 55%), linear-gradient(180deg, rgba(var(--dp),.45) 0%, rgba(var(--dp),0) 18%); }

.fm__grain { position: absolute; inset: -50%; pointer-events: none; opacity: .06; mix-blend-mode: overlay;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1.4 -.2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  animation: fm-grain .9s steps(1) infinite; }
@keyframes fm-grain { 0% { transform: translate(0, 0); } 17% { transform: translate(-6%, 4%); } 33% { transform: translate(5%, -7%); } 50% { transform: translate(-3%, -4%); } 67% { transform: translate(7%, 5%); } 83% { transform: translate(-7%, 2%); } }
@media (prefers-reduced-motion: reduce) { .fm__grain { animation: none; } }
.fm__t { position: relative; z-index: 2; }
.fm__t--1 { display: grid; gap: clamp(22px, 2.6vw, 36px); justify-items: center; max-inline-size: min(1100px, 92vw); margin-inline: auto; text-align: center; }
.fm__h { font-size: clamp(42px, 5.7vw, 82px); font-weight: 400; line-height: .98; letter-spacing: -.02em; text-wrap: balance; text-shadow: 0 1px 30px rgba(0,0,0,.25); }
.fm__line { max-inline-size: 20em; margin-block-start: 28px; font-size: clamp(24px, 2.6vw, 44px); line-height: 1.12; letter-spacing: -.015em; }
.fm__cue, .fm__meter { display: none; }

.motion .fm { block-size: 440svh; } 
.motion .fm__stage { position: sticky; inset-block-start: 0; block-size: 100svh; background: #070909; }
.motion .fm__t--1 { position: absolute; inset: auto var(--g) clamp(40px, 9vh, 96px); }
.motion .fm__line { position: absolute; inset-inline: 0; inset-block-end: clamp(48px, 12vh, 120px); margin: 0 auto; padding-inline: var(--g); max-inline-size: 22em; text-align: center; font-size: clamp(30px, 4.4vw, 64px); line-height: 1.06; letter-spacing: -.035em; visibility: hidden; }
.motion .fm__h:not(.is-split) { visibility: hidden; animation: hx-show 0s 3s forwards; } 
@keyframes hx-show { to { visibility: visible; } }
.fm__line .w { opacity: .14; transition: opacity .25s linear; }
.fm__line .w.is-on { opacity: 1; }

.motion .fm__line .k { opacity: .16; transition: opacity .5s var(--e), color .5s var(--e); }
.motion .fm__line .k.is-done { opacity: 1; }
.motion .fm__line .k.is-on { opacity: 1; color: var(--amber); }

.motion .fm__cue { position: absolute; z-index: 2; inset-block-end: clamp(32px, 7vh, 72px); inset-inline-start: calc(var(--g) + 8px); display: grid; justify-items: start; gap: 10px; font-size: 13px; letter-spacing: .01em; color: rgba(var(--lt),.8); }
.fm__cue i { position: relative; inline-size: 1px; block-size: 46px; overflow: hidden; background: rgba(var(--lt),.2); }
.fm__cue i::after { content: ""; position: absolute; inset: 0; background: var(--light); animation: fm-cue 2.2s cubic-bezier(.65, 0, .35, 1) infinite; }
@keyframes fm-cue { 0% { transform: translateY(-100%); } 60%, 100% { transform: translateY(100%); } }
.motion .fm__meter { position: absolute; z-index: 2; inset-inline-end: calc(var(--g) * .6); inset-block-start: 50%; display: block; inline-size: 1px; block-size: 24svh; translate: 0 -50%; background: rgba(var(--lt),.2); }
.fm__meter i { position: absolute; inset: 0; background: var(--light); transform: scaleY(0); transform-origin: top; }
@media (max-width: 860px) {
  .motion .fm { block-size: 400svh; }
  .motion .fm__line { inset-block-end: 16svh; font-size: clamp(26px, 7.4vw, 40px); }
  .fm__cue { display: none !important; }
}




.ab__in { padding: clamp(36px, 5vw, 80px) max(var(--g), calc((100% - 1600px) / 2)) clamp(96px, 10vw, 160px); background: var(--graphite); color: var(--light); }

.vv { padding: clamp(96px, 10vw, 160px) var(--g); background: var(--white); }
.vv .op__h { max-inline-size: none; } 

.xp { display: grid; list-style: none; padding: 0; gap: 8px; max-inline-size: 1856px; margin-inline: auto; }
.xp__p { position: relative; overflow: hidden; min-block-size: clamp(300px, 78vw, 420px); border-radius: var(--r); background: var(--graphite); color: var(--light); outline-offset: 4px; }
.xp__p img { position: absolute; inset: 0; inline-size: 100%; block-size: 100%; object-fit: cover; transition: filter .45s var(--e), scale .5s var(--e); }
.xp__p::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(var(--dk),.86) 0%, rgba(var(--dk),.35) 45%, rgba(var(--dk),.1) 75%); pointer-events: none; }
.xp__v { display: none; }
.xp__tx { position: absolute; inset: auto 0 0; z-index: 1; display: grid; gap: 12px; padding: clamp(22px, 2.4vw, 40px); }

.xp__tx h3 { font-size: var(--h3); font-weight: 400; line-height: 1.06; letter-spacing: -.026em; }
.xp__ln { display: block; inline-size: 64px; block-size: 2px; background: var(--amber); }
.xp__tx p { max-inline-size: 30em; font-size: clamp(15.5px, 1.1vw, 18px); line-height: 1.45; color: rgba(var(--lt),.82); }
@media (max-width: 860px) { .xp__p::after { background: linear-gradient(0deg, rgba(var(--dk),.94) 0%, rgba(var(--dk),.78) 50%, rgba(var(--dk),.25) 85%); } }
@media (min-width: 861px) {
  .motion .xp { display: flex; block-size: clamp(520px, 74svh, 780px); }
  .motion .xp__p { flex: 1 1 0; min-inline-size: 0; min-block-size: 0; cursor: pointer; transition: flex-grow .5s var(--e); }
  .motion .xp__p.is-on { flex-grow: 4.2; cursor: default; }

  .motion .xp__p:not(.is-on) img { filter: saturate(.6) brightness(.6); scale: 1.06; } 
  .motion .xp__p:not(.is-on):hover img { filter: saturate(.85) brightness(.78); }
  .motion .xp__tx { inline-size: min(46vw, 760px); opacity: 0; translate: 0 18px; transition: opacity .35s var(--e), translate .5s var(--e); }
  .motion .xp__p.is-on .xp__tx { opacity: 1; translate: 0 0; transition: opacity .35s var(--e) .18s, translate .45s var(--e) .18s; }
  .motion .xp__ln { position: relative; inline-size: 96px; background: rgba(var(--ac),.28); } 
  .motion .xp__ln::after { content: ""; position: absolute; inset: 0; background: var(--amber); transform: scaleX(var(--p, 0)); transform-origin: left; }
  .motion .xp__v { position: absolute; inset: auto auto clamp(22px, 2.4vw, 40px) 50%; z-index: 1; display: block; writing-mode: vertical-rl; text-orientation: sideways; rotate: 180deg; translate: -50% 0; font-size: clamp(17px, 1.3vw, 22px); letter-spacing: -.01em; white-space: nowrap; color: rgba(var(--lt),.9); transition: opacity .4s var(--e) .3s; }
  .motion .xp__p.is-on .xp__v { opacity: 0; transition: opacity .2s var(--e); }
}


@media (min-width: 861px) {
  .motion .xp__p { --c: 0; clip-path: inset(0 calc((50% - .5px) * var(--c)) 0 calc((50% - .5px) * var(--c)) round calc(6px * (1 - var(--c)))); }
  .motion .xp__p::before { content: ""; position: absolute; inset: 0; z-index: 2; background: var(--xp-bg, var(--graphite)); opacity: calc(var(--c) * 1.6); pointer-events: none; }
  .motion .xp__hl { position: absolute; inset-block: 0; inset-inline-start: calc(50% - .5px); z-index: 3; inline-size: 1px; pointer-events: none;
    background: linear-gradient(180deg, rgba(173,237,246,0), rgba(173,237,246,.9) 22%, rgba(173,237,246,.9) 78%, rgba(173,237,246,0));
    transform: scaleY(max(0, calc(var(--c) * 1.8 - .8))); transform-origin: 50% 0; }
  .motion .xp.is-fold .xp__tx, .motion .xp.is-fold .xp__v { opacity: 0; transition: opacity .25s var(--e); } 
}
html[data-pal="5"] .xp { --xp-bg: #03555C; }




.hs { padding: clamp(96px, 11vw, 168px) var(--g) clamp(40px, 5vw, 80px); background: var(--white); }
.hs__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 40px var(--g); }
.hs__stick { position: sticky; inset-block-start: 112px; display: grid; gap: clamp(20px, 2.4vw, 36px); }
.hs__year { display: flex; font-size: clamp(110px, 15vw, 262px); font-weight: 300; line-height: 1; letter-spacing: -.035em; }
.od__c { display: block; block-size: 1em; overflow: hidden; transition: inline-size .9s var(--e); }
.od__s { display: grid; justify-items: start; }
.od__s > span { display: block; block-size: 1em; }
.hs__ticks { display: flex; flex-wrap: wrap; gap: 8px 22px; font-size: 15px; }
.hs__ticks a { position: relative; display: block; padding-block: 6px; color: var(--mute); text-decoration: none; font-variant-numeric: tabular-nums; transition: color .35s var(--e); }
.hs__ticks a::after { content: ""; position: absolute; inset: auto 0 0; block-size: 2px; background: var(--amber); transform: scaleX(0); transform-origin: left; transition: transform .6s var(--e); }
.hs__ticks a:hover, .hs__ticks a.is-on { color: var(--ink); }
.hs__ticks a.is-on::after { transform: none; }
.hs__ch { padding-block: 0 clamp(80px, 10vw, 150px); }
.hs__y { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.hs__lead { max-inline-size: 30ch; font-size: clamp(21px, 1.9vw, 27px); line-height: 1.3; letter-spacing: -.015em; }
.hs__ch p:not(.hs__lead) { max-inline-size: 58ch; margin-block-start: 18px; font-size: clamp(15.5px, 1.2vw, 17px); line-height: 1.55; letter-spacing: .015em; color: var(--ink2); }
.hs__lead + p { margin-block-start: 30px !important; }
.hs__ph { margin-block-start: clamp(32px, 4vw, 56px); aspect-ratio: 16 / 9; overflow: hidden; border-radius: var(--r); background: var(--mist); }
.hs__ph--tall { inline-size: min(100%, 420px); aspect-ratio: 4 / 5; }
.hs__ph img { inline-size: 100%; block-size: 100%; object-fit: cover; }
@media (max-width: 860px) {
  .hs__grid { grid-template-columns: minmax(0, 1fr); }
  .hs__stick { inset-block-start: 84px; z-index: 2; grid-template-columns: auto 1fr; align-items: end; gap: 6px 16px; padding-block: 10px 12px; background: var(--white); }
  .hs__year { font-size: 64px; }
  .hs__ticks { display: none; }
}








.org__row { --d: 1; position: relative; display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 3fr) minmax(0, 6fr); gap: 10px var(--g); align-items: baseline; padding-block: 24px; transition: opacity .45s var(--e); }
.org__row::before { content: ""; position: absolute; inset: 0 0 auto; block-size: 1px; background: #CDD1CE; transform: scaleX(var(--d)); transform-origin: left; }
.org__row:last-child::after { content: ""; position: absolute; inset: auto 0 0; block-size: 1px; background: #CDD1CE; }

@media (hover: hover) { .org:hover .org__row { opacity: .38; } .org .org__row:hover { opacity: 1; } }
@media (max-width: 860px) {
  .org__row { grid-template-columns: minmax(0, 1fr); }

}


.mo { padding: clamp(96px, 11vw, 168px) var(--g) clamp(80px, 9vw, 140px); background: var(--white); }

 

.sc { display: grid; gap: 16px; max-inline-size: 1600px; margin-inline: auto; }


 


.ct { padding: clamp(80px, 9vw, 150px) var(--g); background: var(--mist); overflow: hidden; }
.ct__in { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); align-items: center; gap: 40px var(--g); max-inline-size: 1600px; margin-inline: auto; }
.ct__h { font-size: clamp(64px, 10.5vw, 210px); font-weight: 400; line-height: .92; letter-spacing: -.055em; }
.ct__l { display: block; overflow: hidden; padding-block-end: .2em; margin-block-end: -.2em; }
.ct__l > span { display: inline-block; }
.ct__p { max-inline-size: 26em; margin-block-start: clamp(20px, 2vw, 32px); font-size: clamp(17px, 1.35vw, 22px); line-height: 1.45; color: var(--ink2); }
.ct__acts { display: flex; flex-wrap: wrap; gap: 14px; margin-block-start: clamp(28px, 3vw, 44px); }
.pl { display: inline-flex; align-items: center; gap: 26px; block-size: 56px; padding: 0 0 0 24px; border-radius: 2px; font: 500 17px/1 var(--f); letter-spacing: -.005em; text-decoration: none; transition: background-color .35s var(--e), color .35s var(--e); }
.pl i { display: grid; place-items: center; align-self: stretch; inline-size: 56px; transition: background-color .35s var(--e); } 
.pl i svg { transition: transform .5s var(--e); }
.pl:hover i svg, .pl:focus-visible i svg { transform: translateX(4px); }

.pl { position: relative; isolation: isolate; overflow: hidden; }
.pl::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--pl-fill, transparent); clip-path: inset(0 0 0 calc(100% - 56px)); transition: clip-path .6s cubic-bezier(.65, 0, .2, 1); }
.pl > span { display: flex; overflow: hidden; padding-block: 3px; transition: color .45s var(--e); }
.pl:hover::before, .pl:focus-visible::before { clip-path: inset(0 0 0 0); }
.pl:hover > span, .pl:focus-visible > span { color: var(--pl-ink, inherit); }
.pl--d { background: var(--graphite); color: var(--light); }
.pl--d i { background: var(--amber); color: var(--graphite); }
.pl--l { background: transparent; box-shadow: inset 0 0 0 1.5px currentColor; color: var(--ink); font-variant-numeric: tabular-nums; transition: background-color .35s var(--e); } 
.pl--l i { background: var(--ink); color: var(--amber); }
.ct__f { margin: 0; justify-self: center; inline-size: min(100%, 620px); }


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


.ag { padding: clamp(96px, 10vw, 150px) var(--g); background: var(--white); }
.ag__grid { max-inline-size: 1600px; margin-inline: auto; display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); gap: 56px calc(var(--g) * 3); align-items: end; } 
.ag__list { margin-block-start: clamp(36px, 4vw, 56px); border-block-start: 1px solid var(--line); }
.ag__list li { display: grid; grid-template-columns: 124px minmax(0, 4fr) minmax(0, 6fr); gap: 22px; align-items: center; padding: 18px 0; border-block-end: 1px solid var(--line); transition: background-color .45s var(--e), padding .45s var(--e); }
.ag__logo { display: grid; place-items: center start; inline-size: 124px; block-size: 52px; }
.ag__logo img { max-inline-size: 100%; max-block-size: 100%; object-fit: contain; transition: filter .45s var(--e), opacity .45s var(--e); }
.ag__list h3 { font-size: clamp(19px, 1.56vw, 22.5px); font-weight: 400; letter-spacing: -.018em; color: rgb(var(--dp)); }
.ag__list p { font-size: 16px; letter-spacing: .015em; color: var(--ink2); }
.ag__doc { inline-size: min(100%, 300px); }
.ag__doc img { border-radius: var(--r); box-shadow: 0 0 0 1px var(--hair-ink); transition: rotate .7s var(--e), scale .7s var(--e); }
.ag__doc:hover img { rotate: -2.5deg; scale: 1.03; } 
.ag__h2 { margin-block-start: 32px; font-size: clamp(19px, 1.56vw, 22.5px); font-weight: 400; letter-spacing: -.018em; }
.ag__cert p { max-inline-size: 44ch; margin-block-start: 10px; font-size: clamp(15.5px, 1.2vw, 17px); line-height: 1.5; letter-spacing: .015em; color: var(--ink2); }
@media (max-width: 860px) { .ag__grid { grid-template-columns: minmax(0, 1fr); } .ag__list li { grid-template-columns: 92px minmax(0, 1fr); row-gap: 2px; } .ag__logo { inline-size: 92px; block-size: 44px; grid-row: span 2; } .ag__list p { grid-column: 2; } .ag__cert { position: static; } }


.re { color: var(--light); }
.re__sh { padding: clamp(72px, 7vw, 120px) 0 clamp(96px, 10vw, 160px); background: var(--graphite-2); } 
@media (min-width: 861px) {
  .motion .re { position: relative; z-index: 2; }
  .motion .re__sh { box-shadow: var(--lift); } 
}
.re__hd { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 28px 40px; margin-block-end: clamp(36px, 4vw, 64px); padding-inline: max(var(--g), calc((100vw - 1600px) / 2)); }
.re__h { max-inline-size: 8.5em; font-size: var(--h2); font-weight: 400; line-height: 1; letter-spacing: -.038em; text-wrap: balance; }
.re__all { display: inline-flex; align-items: center; gap: 12px; block-size: 46px; padding: 0 20px 0 22px; border-radius: 2px; background: rgba(var(--lt), .08); color: var(--light); font-size: 15.5px; letter-spacing: .005em; text-decoration: none; transition: background-color .45s var(--e); }
.re__all svg, .re__go svg { transition: transform .5s var(--e); }
.re__all:hover, .re__all:focus-visible { background: rgba(var(--lt), .15); }
.re__all:hover svg, .re__all:focus-visible svg { transform: translateX(4px); }
.re__marq { overflow: hidden; }
.re__track { display: flex; inline-size: max-content; }
.re__row { display: flex; gap: 10px; padding-inline-end: 10px; }
.re__c { flex: none; inline-size: clamp(232px, 21vw, 352px); aspect-ratio: 270 / 345; }
.re__in { position: relative; isolation: isolate; overflow: hidden; display: grid; place-items: center; block-size: 100%; border-radius: var(--r); background: #0B0E0F; color: var(--light); text-decoration: none; box-shadow: inset 0 0 0 1px var(--hair); }
.re__in::after { content: ""; position: absolute; inset: 0; z-index: -2; background: linear-gradient(180deg, rgba(7,9,9,.42), rgba(7,9,9,.5) 55%, rgba(7,9,9,.7)); opacity: 0; transition: opacity .7s var(--e); }
.re__ph { position: absolute; inset: 0; z-index: -2; inline-size: 100%; block-size: 100%; object-fit: cover; opacity: 0; scale: 1.08; transition: opacity .7s var(--e), scale 1.4s var(--e); } 
.re__pic { display: contents; }
.re__pic source { display: none; }
.re__lg { inline-size: auto; block-size: auto; max-inline-size: 64%; max-block-size: 34%; object-fit: contain; }
.re__go { position: absolute; inset-inline: 0; inset-block-end: clamp(22px, 2.2vw, 32px); display: flex; align-items: center; justify-content: center; gap: 8px; font-size: 16px; letter-spacing: .005em; opacity: 0; translate: 0 8px; transition: opacity .5s var(--e), translate .6s var(--e); } 
.re__in:hover .re__go, .re__in:focus-visible .re__go { opacity: 1; translate: none; }
@media (hover: none) { .re__go { opacity: 1; translate: none; } } 
.re__in:hover .re__ph, .re__in:focus-visible .re__ph { opacity: 1; scale: 1; }
.re__in:hover::after, .re__in:focus-visible::after { opacity: 1; }
.re__in:hover .re__lg, .re__in:focus-visible .re__lg { filter: drop-shadow(0 2px 18px rgba(0,0,0,.7)); }
.re__in:hover .re__go svg, .re__in:focus-visible .re__go svg { transform: translateX(4px); }
.re__in:focus-visible { outline: 2px solid var(--amber); outline-offset: -2px; }

@media (min-width: 1001px) {
  .re__in { background: #000; box-shadow: none; }
  .re__ph, .re__in::after { display: none; }
  .re__lg { filter: grayscale(.6) brightness(calc(1 + (var(--lb, 1) - 1) * .25)); transition: filter .5s var(--e); }
  .re__in:hover .re__lg, .re__in:focus-visible .re__lg { filter: none; }
}
html:not(.motion) .re__marq { padding-inline: var(--g); }
html:not(.motion) .re__track { inline-size: auto; }
html:not(.motion) .re__row { flex-wrap: wrap; justify-content: center; padding-inline: 0; }
html:not(.motion) .re__row[aria-hidden] { display: none; }




.ab { position: relative; z-index: 1; }
.ab__stage { position: relative; display: grid; gap: clamp(32px, 4vw, 56px); padding: clamp(96px, 12vw, 160px) var(--g) clamp(56px, 7vw, 110px); background: var(--graphite); color: var(--light); }
.ab__ph { margin: 0; aspect-ratio: 16 / 9; overflow: hidden; border-radius: var(--r); background: var(--raised, #14191A); }
.ab__ph img { display: block; inline-size: 100%; block-size: 100%; object-fit: cover; object-position: 50% 50%; }
.ab__top { display: grid; gap: clamp(16px, 1.8vw, 26px); align-content: center; }
.ab__h { max-inline-size: 12em; font-size: clamp(34px, 3.1vw, 60px); font-weight: 400; line-height: 1.02; letter-spacing: -.045em; color: var(--light); text-wrap: balance; }
.ab__p { max-inline-size: 32em; font-size: clamp(16px, 1.1vw, 19px); line-height: 1.6; color: rgba(var(--lt),.74); text-wrap: pretty; }
@media (min-width: 861px) {
  .ab__stage { grid-template-columns: minmax(0, 9fr) minmax(0, 15fr); column-gap: clamp(40px, 4vw, 80px); align-items: center; padding-inline: max(var(--g), calc((100% - 1600px) / 2)); } 
  .ab__top { grid-column: 1; grid-row: 1; }
  .ab__ph { grid-column: 2; grid-row: 1; }
}
.motion .ab { margin-block-start: -100svh; } 
.motion .ab__run { block-size: 340svh; pointer-events: none; } 
.motion .ab__stage { position: sticky; inset-block-start: 0; block-size: 100svh; align-content: center; pointer-events: auto; overflow: hidden; }
.ab__mv { display: none; }
.motion .ab__mv { position: absolute; inset: 0; z-index: 2; display: block; pointer-events: none; will-change: clip-path; }
.motion .ab__mv img { position: absolute; inset: 0; inline-size: 100%; block-size: 100%; object-fit: cover; transform-origin: 50% 50%; will-change: transform; }
.motion .ab__mv-store { --w: 0; -webkit-mask-image: linear-gradient(0deg, #000 calc(var(--w) * 120% - 20%), transparent calc(var(--w) * 120%)); mask-image: linear-gradient(0deg, #000 calc(var(--w) * 120% - 20%), transparent calc(var(--w) * 120%)); }
.motion .ab__ph { visibility: hidden; } 
.motion .ab__stage:not(.is-live) { visibility: hidden; } 
@media (max-width: 860px) {
  .motion .ab { margin-block-start: -100svh; }
  .motion .ab__stage { align-content: start; padding-block-start: 104px; }
  .motion .ab__ph { aspect-ratio: 4 / 5; max-block-size: 46svh; inline-size: 100%; }
}


.ab__in { --m: 0; display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 40px clamp(32px, 6vw, 120px); align-items: start;
  background: color-mix(in srgb, var(--to-bg, #F0EEE9) calc(var(--m) * 100%), var(--graphite)); color: color-mix(in srgb, var(--to-fg, #131313) calc(var(--m) * 100%), var(--light)); } 
.ab__side { position: sticky; inset-block-start: 110px; padding-block-start: clamp(26px, 2.6vw, 40px); }
.ab__figw { min-inline-size: 0; }
.ab__figw > .ab__k { padding-block: clamp(26px, 2.6vw, 40px) 16px; }
.ab__k { font-size: 14px; color: color-mix(in srgb, currentColor 50%, transparent); }
.ab__st { max-inline-size: 14em; margin-block-start: 18px; font-size: clamp(30px, 2.9vw, 54px); font-weight: 400; line-height: 1.08; letter-spacing: -.035em; text-wrap: balance; }
.ab__st span { display: inline-block; }
.ab__im { inline-size: min(100%, 440px); aspect-ratio: 4 / 3; margin: clamp(32px, 3.6vw, 56px) 0 0; overflow: hidden; border-radius: var(--r); background: color-mix(in srgb, currentColor 8%, transparent); }
.ab__im img { inline-size: 100%; block-size: 100%; object-fit: cover; object-position: 50% 30%; }
.ab__fig { margin: 0; border-block-end: 1px solid color-mix(in srgb, currentColor 14%, transparent); }
.ab__fig > div { position: relative; display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: 12px clamp(20px, 3vw, 56px); align-items: start; padding-block: clamp(26px, 2.6vw, 40px) clamp(30px, 3.2vw, 52px); }
.ab__fig > div::before { content: ""; position: absolute; inset: 0 0 auto; block-size: 1px; background: color-mix(in srgb, currentColor 22%, transparent); transform-origin: left; transition: background-color .5s var(--e); }
.motion .ab__fig > div::before { transform: scaleX(var(--r, 0)); }
.ab__fig dt { display: grid; font-size: clamp(64px, 7.2vw, 140px); font-weight: 300; line-height: .95; letter-spacing: -.055em; font-variant-numeric: tabular-nums; }
.ab__fig dt small { margin-block-end: 10px; font-size: 14px; font-weight: 400; letter-spacing: 0; color: color-mix(in srgb, currentColor 50%, transparent); }
.ab__v { display: flex; align-items: baseline; white-space: nowrap; }
.ab__v > i { margin-inline-start: .12em; font-size: .3em; font-style: normal; letter-spacing: -.01em; color: color-mix(in srgb, currentColor 55%, transparent); }
.ab__fig dd { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 12px; align-items: start; max-inline-size: 20em; margin: 0; padding-block-start: 28px; font-size: clamp(15px, 1.1vw, 18px); line-height: 1.45; color: color-mix(in srgb, currentColor 68%, transparent); }
.ab__ic { color: color-mix(in srgb, currentColor 90%, transparent); transition: color .5s var(--e); } 
.ab__ic svg { display: block; inline-size: 22px; block-size: 22px; margin-block-start: .05em; }
.ab__ic svg * { stroke-width: 1.4; stroke-dasharray: 1; stroke-dashoffset: 0; }

@media (max-width: 860px) {
  .ab__in { grid-template-columns: minmax(0, 1fr); }
  .ab__side { position: static; padding-block-start: 0; }
  .ab__fig > div { grid-template-columns: minmax(0, 1fr); }
  .ab__fig dd { padding-block-start: 0; }
}

.ex { --o: 1; position: relative; z-index: 2; background: var(--graphite-2); color: var(--light); }
.ex, .mo { --light: #FFFFFF; --lt: 255,255,255; --hair: rgba(255,255,255,.1); } 
.ex__row { display: grid; gap: 10px; padding: clamp(72px, 9vw, 120px) var(--g); }
.ex__intro { display: grid; gap: 18px; padding: clamp(28px, 4vw, 48px); border-radius: var(--r); background: var(--amber); color: var(--graphite); } 
.ex__h { font-size: var(--h2); font-weight: 400; line-height: 1; letter-spacing: -.038em; }
.ex__lead { max-inline-size: 24em; font-size: clamp(17px, 1.3vw, 21px); line-height: 1.5; color: rgba(var(--dk),.72); text-wrap: pretty; }
.ex__p { position: relative; display: grid; grid-template-rows: auto 1fr; overflow: hidden; border-radius: var(--r); background: var(--c); color: var(--k, var(--light)); text-decoration: none; box-shadow: inset 0 0 0 1px var(--hair); } 
.ex__ph { position: relative; display: block; overflow: hidden; aspect-ratio: 4 / 3; background: var(--graphite); }
.ex__ph img { position: absolute; inset: 0; inline-size: 100%; block-size: 100%; object-fit: cover;
  filter: brightness(calc(.42 + .58 * var(--o))); scale: calc(1.08 - .08 * var(--o)); }
.ex__b { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-content: end; gap: 14px 24px; min-block-size: 190px; padding: 24px; }
.ex__b::before { content: ""; position: absolute; inset: 0 0 auto; block-size: 2px; background: var(--ln, var(--amber)); transform: scaleX(var(--o)); transform-origin: left; } 
.ex__go { position: absolute; inset: 22px 22px auto auto; display: grid; place-items: center; inline-size: 48px; block-size: 48px; border-radius: 2px; box-shadow: inset 0 0 0 1px color-mix(in srgb, currentColor 45%, transparent); transition: background-color .45s var(--e), color .45s var(--e), box-shadow .45s var(--e); }
.ex__go svg { transition: transform .5s var(--e); }
.ex__p:hover .ex__go, .ex__p:focus-visible .ex__go { background: currentColor; box-shadow: none; }
.ex__p:hover .ex__go svg, .ex__p:focus-visible .ex__go svg { color: var(--c); }
.ex__p:hover .ex__go svg, .ex__p:focus-visible .ex__go svg { transform: translateX(3px); }
.ex__p:focus-visible { outline: 2px solid var(--amber); outline-offset: -2px; }
.ex__s { display: none; }
.ex__t { grid-column: 1; max-inline-size: 11em; font-size: var(--h3); font-weight: 400; line-height: 1.06; letter-spacing: -.026em; text-wrap: balance; }
.ex__d { grid-column: 1 / -1; max-inline-size: 26em; font-size: 15.5px; line-height: 1.45; color: color-mix(in srgb, currentColor 70%, transparent); }
@media (min-width: 700px) { .ex__row { grid-template-columns: repeat(2, minmax(0, 1fr)); } .ex__intro { grid-column: 1 / -1; } }
@media (min-width: 1001px) {
  .motion .ex { --o: 0; }
  .motion .ex__run { block-size: 300svh; } 
  .motion .ex__pin { position: sticky; inset-block-start: 0; block-size: 100svh; overflow: hidden; }
  .motion .ex__row { display: flex; gap: 0; block-size: 100%; inline-size: max-content; padding: 0; will-change: transform; }
  .motion .ex__intro { flex: none; inline-size: 50vw; align-content: end; gap: 26px; padding: 0 var(--g) clamp(48px, 7svh, 88px); border-radius: 0; }
  .motion .ex__h { font-size: var(--h2); }
  .motion .ex__intro > * { opacity: var(--io, 1); translate: calc((1 - var(--io, 1)) * -40px) 0; }
  .motion .ex__p { flex: none; inline-size: var(--w, 20vw); grid-template-rows: 63% 1fr; border-radius: 0; box-shadow: inset -1px 0 rgba(var(--lt),.07); } 
  .motion .ex__ph { aspect-ratio: auto; }
  .motion .ex__b { grid-template-columns: minmax(0, 1fr) minmax(0, 15em); align-content: end; min-block-size: 0; padding: clamp(22px, 2vw, 34px); }
  .motion .ex__s { display: block; position: absolute; inset: auto clamp(22px, 2vw, 34px) clamp(22px, 2vw, 34px) auto; max-inline-size: 9em; text-align: end; font-size: 18px; line-height: 1.25; opacity: calc(1 - var(--o) * 2); }
  .motion .ex__t { inline-size: 26vw; max-inline-size: none; opacity: calc(var(--o) * 1.6 - .6); translate: 0 calc((1 - var(--o)) * 18px); }
  .motion .ex__d { grid-column: 2; align-self: end; justify-self: end; text-align: end; font-size: 15px; opacity: calc(var(--o) * 2 - 1); }
  .motion .ex__go { opacity: calc(var(--o) * 1.5 - .5); }
}

.mo__hd { max-inline-size: 1600px; margin: 0 auto clamp(40px, 5vw, 72px); }
.mo__h { margin-block-end: clamp(18px, 2vw, 28px); font-size: var(--h2); font-weight: 400; line-height: 1; letter-spacing: -.038em; } 
.mo__p { max-inline-size: 30em; font-size: var(--lead); font-weight: 400; line-height: 1.5; color: var(--ink2); text-wrap: pretty; }
.mg { max-inline-size: 1600px; margin: 0 auto; padding: 0; list-style: none; }
.mg__i { --tone: color-mix(in srgb, var(--s-paper), #fff 60%); position: relative; display: grid; grid-template-columns: minmax(0, 36%) minmax(0, 1fr) minmax(200px, 24%); gap: 0 clamp(24px, 3vw, 56px); align-items: start; padding: 22px 22px 26px; border-radius: var(--r); background: var(--tone); }
.mg__i + .mg__i { margin-block-start: 8px; }
.mg__i:nth-child(2) { --tone: color-mix(in srgb, var(--s-paper), #fff 45%); } .mg__i:nth-child(3) { --tone: color-mix(in srgb, var(--s-paper), #fff 30%); } .mg__i:nth-child(4) { --tone: color-mix(in srgb, var(--s-paper), #fff 15%); } .mg__i:nth-child(5) { --tone: var(--s-paper); } .mg__i:nth-child(6) { --tone: color-mix(in srgb, var(--s-paper), rgb(var(--dk)) 4%); }
.mg__i h3 { font-size: clamp(24px, 2vw, 36px); font-weight: 500; line-height: 1.05; letter-spacing: -.03em; text-wrap: balance; transition: translate .5s var(--e); }
.mg__d { max-inline-size: 26em; padding-block-start: .3em; font-size: clamp(15px, 1.05vw, 17px); line-height: 1.5; color: var(--ink); text-wrap: pretty; }
.mg__f { aspect-ratio: 3 / 2; margin: 0; overflow: hidden; border-radius: var(--r); background: var(--mist); }
.mg__f img { inline-size: 100%; block-size: 100%; object-fit: cover; transition: scale 1s var(--e); }

.mg__i { isolation: isolate; box-shadow: inset 0 0 0 1px rgba(var(--dk),.07); transition: background-color .45s var(--e), box-shadow .45s var(--e); }
.mg__a { color: inherit; text-decoration: none; }
.mg__i { cursor: pointer; } 
.mg__a:focus-visible { outline: none; }
.mg__i:has(.mg__a:focus-visible) { box-shadow: inset 0 0 0 2px var(--ink); }
.mg__i::before { content: ""; position: absolute; inset: 0 auto auto 22px; inline-size: 48px; block-size: 3px; border-radius: var(--r); background: var(--amber); transform: scaleX(0); transform-origin: left; transition: transform .5s var(--e); }
.mg__go { grid-column: 2; grid-row: 2; justify-self: start; display: inline-flex; align-items: center; gap: 8px; margin-block-start: 18px; padding-block-end: 3px; font-size: 14px; font-weight: 500; color: var(--ink); box-shadow: inset 0 -1px 0 currentColor; transition: gap .4s var(--e); } 
.mg__open { display: none; }
@media (min-width: 861px) { .mg__f { grid-row: span 2; } .mg__i { grid-template-rows: auto 1fr; } .mg__go { align-self: start; } }
.mg__i.is-folded .mg__go { position: absolute; grid-area: auto; inset: 26px 22px auto auto; margin: 0; color: var(--mute); box-shadow: none; }
.mg__i.is-folded .mg__more { display: none; }
.mg__i.is-folded .mg__open { display: inline; }
.mg__i.is-folded .mg__go svg { rotate: 90deg; } 
@media (hover: hover) {
  .mg__i:hover { background: color-mix(in srgb, var(--tone), #fff 35%); box-shadow: inset 0 0 0 1px rgba(var(--dk),.2); }
  .mg__i:hover::before { transform: none; }
  .mg__i:hover h3 { translate: 6px 0; }
  .mg__i:hover .mg__f img { scale: 1.05; }
  .mg__i:hover .mg__go { gap: 12px; color: var(--ink); }
}
@media (min-width: 861px) {
  .motion .mg { padding-block-end: 8svh; } 
  .motion .mg__i { position: sticky; inset-block-start: calc(96px + var(--k) * 64px); min-block-size: clamp(260px, 30svh, 340px); margin-block-start: 0; }
  .motion .mg__i + .mg__i { margin-block-start: 0; }
  .motion .mg__i { grid-template-columns: minmax(0, 52%) minmax(0, 1fr) minmax(180px, 21%); }
  .motion .mg__i h3 { font-size: clamp(20px, 1.85vw, 34px); white-space: nowrap; }
  .motion .mg__d { padding-block-start: 52px; } 
  .motion .mg__f { align-self: start; margin-block-start: 52px; } 
  .motion .mg__i:nth-child(1) { --k: 0; } .motion .mg__i:nth-child(2) { --k: 1; } .motion .mg__i:nth-child(3) { --k: 2; }
  .motion .mg__i:nth-child(4) { --k: 3; } .motion .mg__i:nth-child(5) { --k: 4; } .motion .mg__i:nth-child(6) { --k: 5; }
}
@media (max-width: 860px) {
  .mg__i { grid-template-columns: minmax(0, 1fr); gap: 12px; padding: 12px 12px 22px; }
  .mg__f { order: -1; }
  .mg__i h3, .mg__d { padding-inline: 6px; }
  .mg__go { grid-column: 1; grid-row: auto; margin: 4px 6px 0; }
}


.ab__say { display: none; }
.motion .ab__say { position: absolute; inset: 0; display: block; color: var(--light); transform-origin: 50% 50%; will-change: transform, opacity; }
.motion .ab__line { margin: 0 auto; visibility: inherit; opacity: 1; } 
.ab-live [data-fm] .fm__shade, .ab-live [data-fm-line] { visibility: hidden !important; } 


.motion .ab__stage { display: grid; grid-template-columns: minmax(0, 1fr); align-content: end; padding: 0 max(var(--g), calc((100% - 1600px) / 2)) clamp(56px, 10svh, 110px); }
.motion .ab__ph { position: absolute; inset: 0; grid-column: auto; grid-row: auto; aspect-ratio: auto; max-block-size: none; border-radius: 0; }
.motion .ab__top { position: relative; z-index: 3; grid-column: 1; grid-row: 1; max-inline-size: 44em; }
.motion .ab__h { max-inline-size: 13em; font-size: var(--h2); }
.motion .ab__p { color: rgba(var(--lt),.85); }
.motion .ab__mv-store { -webkit-mask-image: none; mask-image: none; opacity: 0; }
.motion .ab__mv::after { content: ""; position: absolute; inset: 0; z-index: 1; opacity: var(--w, 0); background: linear-gradient(0deg, rgba(var(--dp),.9) 0%, rgba(var(--dp),.55) 38%, rgba(var(--dp),.1) 70%), linear-gradient(90deg, rgba(var(--dp),.55) 0%, rgba(var(--dp),0) 60%); }
@media (max-width: 860px) { .motion .ab__stage { align-content: end; padding-block: 0 72px; } .motion .ab__ph { aspect-ratio: auto; max-block-size: none; } }
.motion .ab__mv-lines { position: absolute; inset: 0; inline-size: 100%; block-size: 100%; mix-blend-mode: screen; pointer-events: none; }
.motion .ab__stage { background: #05070A; }
.motion .ab__in { position: relative; z-index: 5; margin-block-start: -100svh; box-shadow: var(--lift-up); } 


.em { justify-self: end; inline-size: min(100%, 560px); }
.ct__bg .em { position: absolute; inset-block-start: 50%; inset-inline-end: max(var(--g), calc((100% - 1600px) / 2)); inline-size: min(36vw, 600px); translate: 0 -50%; }
.em svg { display: block; inline-size: 100%; block-size: auto; overflow: visible; fill: none; stroke: rgba(130,60,0,.38); stroke-width: 1.15; stroke-linecap: round; stroke-linejoin: round; }
.em svg .in { opacity: .55; }
.em svg .cab { opacity: .75; }
.em svg .wv { stroke-width: 1.4; }
.em svg .dim { stroke-width: .9; opacity: .7; }
.em svg .cl { stroke-width: .8; stroke-dasharray: 18 5 2 5; opacity: .5; }
.motion .em svg path:not(.cl) { stroke-dasharray: 1; stroke-dashoffset: 1; }
.motion .em svg .cl { opacity: 0; }
@media (max-width: 860px) { .ct__bg .em { inset: auto -22% -14% auto; inline-size: 80%; translate: none; opacity: .7; } .ct__in > .em { display: none; } }


[data-tone="dark"] .mg__i { --tone: #0B0E0F;  background: var(--tone); color: var(--light); box-shadow: inset 0 0 0 1px var(--hair); }

[data-tone="dark"] .mg__d { color: rgba(var(--lt),.7); }
[data-tone="dark"] .mg__go { color: var(--light); box-shadow: 0 1px 0 rgba(var(--lt),.4); }
[data-tone="dark"] .mg__i.is-folded .mg__go { color: rgba(var(--lt),.7); box-shadow: none; }
[data-tone="dark"] .mg__f { background: #0B0E0F; }
[data-tone="dark"] .mo__h { color: var(--light); }
[data-tone="dark"] .mo__p { color: rgba(var(--lt),.7); }
@media (hover: hover) {
  [data-tone="dark"] .mg__i:hover { background: color-mix(in srgb, var(--tone), #fff 5%); box-shadow: inset 0 0 0 1px rgba(var(--lt),.2); }
  [data-tone="dark"] .mg__i:hover .mg__go { color: var(--amber); }
}
@media (min-width: 861px) { .motion [data-tone="dark"] .mg__i { box-shadow: inset 0 0 0 1px var(--hair), inset 0 1px 0 rgba(var(--lt),.16); } }


.ab__fig > div { grid-template-columns: minmax(0, 1fr); row-gap: clamp(10px, 1vw, 16px); }
.ab__fig dd { grid-row: 2; display: flex; align-items: center; gap: 10px; max-inline-size: none; padding-block-start: 0; white-space: nowrap; }
.ab__fig dd .ab__ic { flex: none; inline-size: 18px; }
.ab__fig dt { grid-row: 1; }
@media (max-width: 520px) { .ab__fig dd { white-space: normal; } }



@media (min-width: 861px) {
  .ct__in { grid-template-columns: minmax(0, 1fr); }
  .ct__tx { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; column-gap: clamp(40px, 6vw, 120px); }
  .ct__h { grid-column: 1 / -1; font-size: clamp(72px, 11.2vw, 236px); line-height: .9; white-space: nowrap; padding-block-end: clamp(28px, 3vw, 48px); margin-block-end: clamp(28px, 3vw, 44px); border-block-end: 1px solid rgba(var(--dk), .16); }
  .ct__l { display: inline-block; }
  .ct__p { margin-block-start: 0; max-inline-size: 30em; }
  .ct__acts { margin-block-start: 0; justify-content: end; }
}


.cq { --pp: var(--s-paper, #F1F1EC); --tx: var(--ink); position: relative; background: var(--pp); color: var(--tx); }
.cq__a { display: grid; align-content: center; gap: clamp(36px, 5svh, 56px); padding: clamp(80px, 9vw, 140px) var(--g) 48px; }
.cq__p { max-inline-size: 24em; margin-block-start: clamp(14px, 1.4vw, 20px); font-size: clamp(17px, 1.25vw, 20px); line-height: 1.45; color: color-mix(in srgb, var(--tx) 64%, transparent); text-wrap: balance; }

.cq__rows { --hl: color-mix(in srgb, var(--tx) 13%, transparent); max-inline-size: 760px; margin: 0; padding: 0; list-style: none; border-block-end: 1px solid var(--hl); }
.cq__r, .cq__r > a { display: grid; grid-template-columns: minmax(130px, 11em) minmax(0, 1fr) auto; align-items: baseline; column-gap: 20px; }
.cq__r { border-block-start: 1px solid var(--hl); }
.cq__r > span:first-child, .cq__r > a { padding-block: clamp(16px, 2.2svh, 22px); }
.cq__r > span + span { padding-block: clamp(16px, 2.2svh, 22px); }
.cq__r > a { grid-column: 1 / -1; color: inherit; text-decoration: none; }
.cq__l { display: inline-flex; align-items: center; gap: 10px; font-size: 14px; color: color-mix(in srgb, var(--tx) 56%, transparent); }
.cq__l svg { flex: none; translate: 0 -1px; }
.cq__v { justify-self: start; font-size: clamp(18px, 1.35vw, 22px); line-height: 1.25; letter-spacing: -.01em; overflow-wrap: anywhere; background: linear-gradient(var(--amber), var(--amber)) 0 100% / 0 2px no-repeat; transition: background-size .5s var(--e); }
.cq__r--tel .cq__v { font-size: clamp(34px, 3.4vw, 60px); line-height: 1.05; letter-spacing: -.01em; font-variant-numeric: tabular-nums; white-space: nowrap; }
.cq__go2 { align-self: center; transition: translate .45s var(--e); }
.cq__r > a:is(:hover, :focus-visible) { outline: 0; }
.cq__r > a:is(:hover, :focus-visible) .cq__v { background-size: 100% 2px; }
.cq__r > a:is(:hover, :focus-visible) .cq__go2 { translate: 6px 0; }
.cq__r > a:focus-visible { box-shadow: inset 0 0 0 2px var(--tx); }
@media (max-width: 700px) { 
  .cq__r, .cq__r > a { grid-template-columns: minmax(0, 1fr) auto; row-gap: 6px; }
  .cq__l { grid-column: 1; }
  .cq__r > .cq__v, .cq__r > a > .cq__v { grid-column: 1; grid-row: 2; }
  .cq__go2 { grid-column: 2; grid-row: 1 / span 2; }
  .cq__r > span:first-child { padding-block: 16px 0; } .cq__r > span + span { padding-block: 0 16px; }
  .cq__r--tel .cq__v { font-size: clamp(30px, 9vw, 40px); }
}
.cq__h { max-inline-size: 5.6em; font-size: var(--h2); font-weight: 400; line-height: 1; letter-spacing: -.038em; }
.cq__note a { color: inherit; text-decoration: none; background: linear-gradient(currentColor, currentColor) 0 100% / 0 1px no-repeat; transition: background-size .45s var(--e); }
.cq__note a:hover { background-size: 100% 1px; }
.cq__ph { --dim: 0; position: relative; overflow: hidden; margin: 0; aspect-ratio: 4 / 5; background: #EEF0EC; }
.cq__ph img { position: absolute; inset: 0; inline-size: 100%; block-size: 100%; object-fit: cover; }
.cq__ph .cq__geo { position: absolute; inset: 0; opacity: 0; transition: opacity .9s var(--e); } 
.cq__ph .cq__geo.is-on { opacity: 1; }
.cq__fb { display: none; } .no-map .cq__fb { display: block; } 
.cq__ph::after { content: ""; position: absolute; inset: 0; background: rgba(11,14,15, calc(var(--dim) * .18)); pointer-events: none; } 
.cq__cap { --cx: 0; position: absolute; z-index: 2; inset: 14px auto auto 14px; display: flex; align-items: stretch; background: #0B0E0F; color: #EEF1EF; box-shadow: var(--lift); }
.cq__cap span { padding: 13px 18px; font-size: 14.5px; line-height: 1.35; }
.cq__map { display: inline-flex; align-items: center; gap: 10px; padding: 0 18px; background: var(--amber); color: #0B0E0F; font-size: 14px; font-weight: 500; text-decoration: none; transition: gap .4s var(--e); }
.cq__map:hover, .cq__map:focus-visible { gap: 14px; }

.cq__card { --tx: var(--light); position: relative; z-index: 3; margin: -34% 16px 0; padding: clamp(26px, min(3vw, 5svh), 44px); border-radius: 2px; background: rgba(11,14,15,.92); color: var(--light); box-shadow: inset 0 0 0 1px var(--hair), var(--lift); } 
.cq__card::before { content: ""; position: absolute; inset: 0 auto auto 0; inline-size: 64px; block-size: 2px; background: var(--amber); } 
.cq__f { display: grid; gap: 4px; }
.cq__fh { display: grid; gap: 12px; margin-block-end: clamp(10px, 2svh, 22px); }
.cq__fh1 { font-size: min(clamp(28px, 2.3vw, 42px), 5svh); font-weight: 400; line-height: 1.06; letter-spacing: -.03em; text-wrap: balance; }
.cq__fs { font-size: 15px; line-height: 1.45; color: color-mix(in srgb, var(--tx) 58%, transparent); }
.cq .qf__f span { padding-block-start: clamp(8px, 1.6svh, 16px); color: color-mix(in srgb, var(--tx) 56%, transparent); }
.cq .qf__f input { color: var(--tx); border-color: color-mix(in srgb, var(--tx) 22%, transparent); font-size: 18px; }
.cq .qf__f:focus-within span { color: var(--tx); }
.cq .qf__f.is-bad span { color: #F08A72; } .cq .qf__f.is-bad input { border-color: #E5735A; }
.cq__go { inline-size: 100%; justify-content: space-between; margin-block-start: clamp(20px, 3svh, 30px); border: 0; cursor: pointer; } 
.cq__go:disabled { opacity: .5; cursor: default; }
.cq .qf__ok { margin-block-start: 16px; background: rgba(var(--ac), .16); color: var(--tx); font-size: 15px; }
.cq__note { margin-block-start: clamp(12px, 2svh, 18px); text-align: center; font-size: 14px; color: color-mix(in srgb, var(--tx) 56%, transparent); }
.cq__note a { color: var(--tx); text-decoration: none; font-variant-numeric: tabular-nums; }
.cq .qf__ok { color: var(--light); }
@media (min-width: 700px) { .cq__ph { aspect-ratio: 16 / 9; } .cq__card { inline-size: min(560px, 80%); margin: -22% auto 0; } }
@media (min-width: 1001px) {
  .motion .cq__run { block-size: 310svh; } 
  .motion .cq__pin { position: sticky; inset-block-start: 0; block-size: 100svh; overflow: hidden; }
  .motion .cq__pin { background: var(--pp); }

  .motion .cq__a { position: absolute; inset: 0 36vw 0 0; padding: 0 clamp(40px, 5vw, 96px) 0 max(var(--g), calc((100vw - 1600px) / 2)); } 
  .motion .cq__ph { position: absolute; inset: 0; aspect-ratio: auto; clip-path: inset(0 0 0 64%); }
  .motion .cq__cap { inset-block: auto clamp(20px, 2.6vw, 36px); inset-inline-start: calc(64vw + clamp(20px, 2.2vw, 32px) - var(--cx) * (64vw + clamp(20px, 2.2vw, 32px) - var(--g))); }
  .motion .cq__card { position: absolute; inset: 50% auto auto max(var(--g), calc((100vw - 1600px) / 2)); inline-size: min(500px, 36vw); margin: 0; background: rgba(11,14,15,.9); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); } 
}



@media (min-width: 1001px) {
  .cq__a { align-content: center; gap: clamp(36px, 6svh, 64px); min-block-size: 100svh; padding: 0 clamp(40px, 5vw, 96px) 0 max(var(--g), calc((100vw - 1600px) / 2)); }
  .motion .cq__a { padding: 0 clamp(40px, 5vw, 96px) 0 max(var(--g), calc((100vw - 1600px) / 2)); }
  .cq__h { font-size: clamp(40px, 3.4vw, 64px); }
}



@media (min-width: 1001px) {
  .motion .vv__dk { background: var(--amber); } 
  html[data-pal] .mo.has-mx { --ink: #0B0E0F; --gl: max(var(--g), calc((100vw - 1600px) / 2)); display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-content: center; gap: clamp(40px, 6svh, 64px) clamp(40px, 5vw, 96px);
    min-block-size: 100svh; padding: clamp(84px, 11svh, 120px) var(--gl) clamp(32px, 5svh, 64px); background: var(--amber); color: var(--graphite); }
  .mo.has-mx .mg { display: none; }
  .mo.has-mx .mo__hd { grid-column: 1 / -1; max-inline-size: none; margin: 0; }
  .mo.has-mx .mo__h { margin: 0; color: var(--graphite); }
  .mo.has-mx .mo__p { max-inline-size: 54em; color: rgba(var(--dk), .76); }
  .mx { display: contents; }
  .mx__list { align-self: center; margin: 0; padding: 0; list-style: none; }
  .mx__b { --a: clamp(28px, 2.8vw, 46px); position: relative; display: flex; align-items: center; padding: 0 calc(var(--a) + 16px) 0 0; border: 0; background: none; color: rgba(var(--dk), .34); font-family: var(--fd); font-size: clamp(36px, min(3.9vw, 7.4svh), 72px); line-height: 1.08; letter-spacing: -.012em; text-align: start; text-decoration: none; transition: color .3s var(--e); }
  .mx__b svg { position: absolute; inset-inline-start: 0; inline-size: var(--a); block-size: var(--a); opacity: 0; translate: -24px 0; transition: opacity .3s var(--e), translate .45s var(--e); }
  .mx__b span { transition: translate .45s var(--e); }
  .mx__b.is-on { color: var(--graphite); }
  .mx__b.is-on svg { opacity: 1; translate: 0 0; }
  .mx__b.is-on span { translate: calc(var(--a) + 16px) 0; }
  .mx__b:focus-visible { outline: 2px solid var(--graphite); outline-offset: 4px; }
  .mx__side { align-self: center; display: grid; gap: clamp(20px, 3svh, 32px); }
  .mx__ph { position: relative; aspect-ratio: 4 / 3; max-block-size: 37svh; overflow: hidden; border-radius: var(--r); isolation: isolate; }
  .mx__ph img { position: absolute; inset: -1px; inline-size: calc(100% + 2px); block-size: calc(100% + 2px); object-fit: cover; clip-path: inset(100% 0 0 0); }
  .mx__tx { display: grid; }
  .mx__t { grid-area: 1 / 1; align-self: start; display: grid; justify-items: start; gap: 12px; visibility: hidden; }
  .mx__n { max-inline-size: 20em; font-size: clamp(20px, 1.6vw, 28px); font-weight: 400; line-height: 1.15; text-wrap: balance; }
  .mx__d { max-inline-size: 30em; font-size: clamp(16px, 1.15vw, 18px); line-height: 1.5; color: rgba(var(--dk), .78); text-wrap: pretty; }
  .mx__go { display: inline-flex; align-items: center; gap: 10px; margin-block-start: 4px; padding-block-end: 4px; color: inherit; font-size: 15px; font-weight: 500; text-decoration: none; box-shadow: 0 1px 0 rgba(var(--dk), .5); transition: gap .4s var(--e), box-shadow .4s var(--e); }
  .mx__go:is(:hover, :focus-visible) { gap: 14px; box-shadow: 0 2px 0 var(--graphite); outline: 0; }
}



@media (min-width: 861px) {
  
  .motion .vv { position: relative; z-index: 1; } 
  .motion .vv > .op, .motion .vv > .xp { position: relative; z-index: 1; }
  .vv__dk { position: absolute; inset: 0 0 -2px; z-index: 0; background: var(--graphite); clip-path: inset(var(--t, 100%) 0 0 0); pointer-events: none; }
  
  .motion .cq { z-index: 2; overflow: clip; box-shadow: var(--lift-up); }
}
@media (max-width: 860px) { .mg__a::after { content: ""; position: absolute; inset: 0; } } 
@media (pointer: coarse) { .cq__note a { display: inline-flex; align-items: center; min-block-size: 44px; } }


.it { display: none; }
@media (min-width: 861px) {
  .it-on .it { display: block; position: fixed; inset: 0; z-index: 200; pointer-events: none; animation: it-safe 0s 7s forwards; } 
  .it__a, .it__b { position: absolute; inset-inline: 0; block-size: 50.5%; background: var(--graphite); }
  .it__a { top: 0; } .it__b { bottom: 0; }
  .it__wm { position: absolute; inset-inline: 0; bottom: 50%; display: flex; justify-content: center; padding-block-end: clamp(18px, 2vw, 34px); color: var(--light); }
  .it__wm svg { display: block; inline-size: min(58vw, 1040px); block-size: auto; overflow: visible; transform-origin: 0 0; }
  .it__wm path, .it__wm polygon { opacity: .07; }
  .it__ln { position: absolute; inset-inline: 0; top: 50%; inline-size: min(58vw, 1040px); block-size: 2px; margin: -1px auto 0; background: var(--amber); transform: scaleX(0); transform-origin: 0 50%; box-shadow: 0 0 18px rgba(var(--ac), .55); }
}
@keyframes it-safe { to { visibility: hidden; } }


.re__p { max-inline-size: 38em; margin-block-start: 14px; font-size: clamp(16px, 1.15vw, 19px); line-height: 1.45; color: rgba(var(--lt),.72); }
.vv__k { margin-block-start: 14px; font-size: clamp(16px, 1.15vw, 19px); color: var(--ink2); }
.xp__ic { display: block; inline-size: 44px; block-size: 44px; margin-block-end: 2px; color: var(--amber); }


.re__ph, .re__in::after { display: none; }


@media (min-width: 861px) {
  :is(.ab__p, .ex__lead, .re__p, .vv__k, .mo__p, .cq__p) { font-size: clamp(16px, 1.15vw, 19px); line-height: 1.55; text-wrap: pretty; }
  :is(.re__p, .vv__k, .mo__p, .cq__p) { margin-block: 14px 0; }
  .re__sh { padding-block-start: clamp(96px, 10vw, 160px); }
  .re__hd { display: block; }
  .re__h { max-inline-size: none; }
  .ag { padding-block: clamp(96px, 10vw, 160px); }
  .cq__h { max-inline-size: none; font-size: var(--h2); }
  .cq__p { max-inline-size: 36em; }
  .ab__top { gap: 14px; }
  .motion .ex__intro { gap: 14px; }
  .ag__grid { align-items: stretch; } 
  .ag__main { display: grid; }
  .ag__list { display: grid; grid-auto-rows: 1fr; margin-block-start: 0; }
}
