html {
    font-size: 62.5%;
    line-height: var(--lh-title);
    -webkit-text-size-adjust: 100%
}

@media (min-width: 90.001rem) {
    html { font-size:clamp(62.5%,calc(37.5% + 100vw / 360),65.8333333333%); }
}

h1 {
    font-size: var(--fs-30);
    margin: .67em 0
}

hr {
    height: 0;
    overflow: visible
}

abbr[title] {
    border-bottom: none;
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted
}

b,strong {
    font-weight: 600
}

code,kbd,samp {
    font-family: var(--font),sans-serif;
    font-weight: 400;
    font-size: inherit
}

small {
    font-size: var(--font-size-min)
}

sub,sup {
    font-size: var(--font-size-min);
    line-height: 0;
    position: relative;
    vertical-align: initial
}

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

img {
    border-style: none
}

button,input {
    overflow: visible
}

button,select {
    text-transform: none
}

[type=button],[type=reset],[type=submit],button {
    -webkit-appearance: button
}

[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner {
    border-style: none;
    padding: 0
}

fieldset {
    padding: .35em .75em .625em
}

legend {
    color: inherit;
    display: table;
    max-width: 100%;
    padding: 0;
    white-space: normal
}

progress {
    vertical-align: initial
}

[type=checkbox],[type=radio] {
    padding: 0
}

[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button {
    height: auto
}

[type=search] {
    -webkit-appearance: textfield;
    outline-offset: -0.2rem
}

[type=search]::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

details {
    display: block
}

summary {
    display: list-item
}

[hidden],template {
    display: none
}

[inert] {
    pointer-events: none;
    -webkit-user-select: none;
    user-select: none
}

*,*::before,*::after {
    box-sizing: border-box
}

svg {
    shape-rendering: geometricPrecision
}

svg[aria-hidden="true"],
svg[focusable="false"] {
    display: block;
    flex: 0 0 auto
}

svg[aria-hidden="true"] [stroke],
svg[focusable="false"] [stroke] {
    vector-effect: non-scaling-stroke
}

:is(button,a):has(> svg:only-child) {
    line-height: 0
}

:is(button,a) > svg:only-child {
    margin: auto
}

:root {
    --base-0: #fff;
    --base-100: #f7f7fa;
    --base-200: #e1e1e6;
    --base-300: #cfcfd3;
    --base-400: #bcbcc1;
    --base-500-alt: #363c48;
    --base-600: #82828a;
    --base-700: #606066;
    --base-800: #3d3d41;
    --base-900: #131314;
    --primary-900: #4c9d5e;
    --primary-600: #53ac67;
    --primary-400: #9bcfa7;
    --success-900: #288829;
    --success-300: #a0dca1;
    --error-900: #b31707;
    --opacity-primary-35: #53ac6759;
    --opacity-primary-15: #53ac6726;
    --opacity-white-40: #fff6;
    --opacity-white-80: #fffc;
    --opacity-black-40: #13131466;
    --opacity-black-60: #13131499;
    --opacity-black-80: #131314cc;
    --white: var(--base-0);
    --body-color: var(--base-800);
    --gradient-image-top: linear-gradient(180deg,#131314,#0000 94.66%);
    --box-shadow-default: 0.1rem 0.4rem 1.6rem 0 #00000012;
    --box-shadow-top: 0.1rem -0.2rem 1.6rem 0 #0000000d;
    --color-on-accent: var(--white);
    --color-accent-text: var(--base-800);
    --fs-12: 1.2rem;
    --fs-14: 1.4rem;
    --fs-15: 1.5rem;
    --fs-16: 1.6rem;
    --fs-18: 1.8rem;
    --fs-20: 2rem;
    --fs-24: 2.4rem;
    --fs-30: 3rem;
    --fs-42: 4.2rem;
    --fs-56: 5.6rem;
    --fs-82: 8.2rem;
    --lh-display: .9;
    --lh-flat: 1;
    --lh-tight: 1.1;
    --lh-title: 1.2;
    --lh-body: 1.4;
    --lh-copy: 1.5;
    --gap-sm: 1rem;
    --gap-md: 2rem;
    --gap-lg: 3.5rem;
    --section-space: 6rem;
    --section-title-space: 4rem;
    --title-measure: 58rem;
    --font: "nexor";
    --font-size-min: var(--fs-14);
    --rgb-surface: 255 255 255;
    --rgb-ink: 19 19 20;
    --rgb-deep: 19 19 20;
    --rgb-charcoal: 19 19 20;
    --color-surface: var(--white);
    --vc-block: var(--base-100);
    --components-bg: var(--opacity-black-60);
    --color-ink: var(--body-color);
    --color-ink-60: var(--base-600);
    --color-ink-80: var(--base-300);
    --color-ink-90: var(--base-200);
    --color-accent: var(--primary-600);
    --color-accent-hover: var(--primary-900);
    --color-warning: var(--primary-400);
    --color-forest-deep: var(--base-900);
    --color-forest: var(--base-500-alt);
    --page-gap: 3rem;
    --mobile-page-gap: .4rem;
    --mobile-content-gap: 2rem;
    --mobile-header-gap: 2.4rem;
    --site-max: 163.2rem;
    --head-size: 10rem;
    --header-control-size: 5rem;
    --hero-top: 0rem;
    --hero-bottom-gap: max(var(--hero-top), 2rem);
    --header-popover-gap: 1rem;
    --filter-height: 7.2rem;
    --ui-range-hit-height: 2rem;
    --ui-range-line-height: 0.2rem;
    --ui-range-rail-inset: 0.7rem;
    --ui-range-dot-size: 1.6rem;
    --ui-range-handle-size: 1.4rem;
    --filter-padding-x: 2rem;
    --filter-padding-y: 1rem;
    --card-radius: 3rem;
    --radius-full: 99.9rem;
    --catalog-card-meta-height: 2.8rem;
    --catalog-card-meta-padding-x: 1rem;
    --catalog-card-meta-safe-gap: .8rem;
    --catalog-card-hit: var(--primary-600);
    --button-font: var(--font);
    --button-font-size: var(--font-size-min);
    --button-font-weight: 400;
    --button-height: 4.8rem;
    --button-radius: 2.4rem;
    --nav-hit-size: 4.8rem;
    --nav-hit-size-lg: 5.6rem;
    --popover-width: 29.2rem;
    --popover-radius: 1.6rem;
    --popover-row-radius: 1.4rem;
    --popover-row-height: 4.8rem;
    --scrollbar-size: 1rem;
    --ui-toggle-width: 4.4rem;
    --ui-toggle-height: 2.8rem;
    --ui-toggle-pad: 0.4rem;
    --ui-toggle-knob: 2rem;
    --ui-hit-height: 5.4rem;
    --ui-hit-padding-x: 1.4rem;
    --ui-hit-gap: 1rem;
    --control-group-pad: 0.4rem;
    --control-dot-size: 0.7rem;
    --control-dot-gap: 0.8rem;
    --product-drawing-top-gap: 9.5rem;
    --product-drawing-bottom-gap: 15rem;
    --product-plan-bottom-gap: 13rem;
    --product-segmented-height: 3.4rem;
    --product-segmented-pad: 0.3rem;
    --product-segmented-radius: 2rem;
    --product-segmented-item-radius: 1.7rem;
    --product-action-hit: 4rem;
    --product-media-arrow-hit: 4rem;
    --product-action-gap: 0.6rem;
    --ui-radio-size: 2rem;
    --ui-radio-border: 0.1rem;
    --ui-check-size: 2rem;
    --ui-check-radius: 0.6rem;
    --ease-out: ease-out;
    --default-transition: .3s ease-in-out;
    --image-transition: .4s cubic-bezier(.25, .25, .1, 1);
    --shadow-default: var(--box-shadow-default);
    --cw-bg: #ff6022;
    --cw-focus-ring: rgb(255 96 34 / 35%);
    --cw-size: 6.6rem;
    --cw-social-size: 4.5rem;
    --ct-map-h: 63.9rem;
    --story-x: 0px;
    --story-w: 80rem;
    --story-h: 60rem;
    --story-duration: 5000ms;
    --hero-motion-duration: 8s;
    --hero-copy-duration: 720ms;
    --hero-copy-follow-delay: 108ms;
    --scroll-zoom-scale: 1;
    --lock-gap: 0px;
    --filter-popover-shift-x: 0rem;
    --filter-popover-max-inline: none;
    --li: 0
}

body {
    color: var(--color-ink);
    font-family: var(--font),sans-serif;
    font-size: var(--font-size-min);
    font-weight: 400;
    font-style: normal;
    line-height: var(--lh-copy);
    overflow-y: auto;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: transparent;
    background: var(--color-surface);
    display: flex;
    flex-direction: column;
    overflow-x: hidden; overflow-x: clip;
    margin: 0;
    min-height: 100vh; min-height: 100dvh;
    cursor: default;
    font-synthesis: none;
}

._preloader {
    align-items: center;
    background: var(--color-surface);
    display: none;
    inset: 0;
    justify-content: center;
    opacity: 1;
    position: fixed;
    transition: opacity .26s cubic-bezier(.22,1,.36,1);
    z-index: 10000;
}

html[data-splash-active] ._preloader { display: flex; }
._preloader[data-splash-exit] { opacity: 0; }
._preloader ._prelogo {
    gap: 1.4rem;
    opacity: 0;
    transform: scale(.8);
    transform-origin: 50% 50%;
}
._preloader[data-splash-logo-in] ._prelogo { animation: _prelogo-in .59s both; }

@keyframes _prelogo-in {
    0% { opacity: 0; transform: scale(.8); }
    100% { opacity: 1; transform: scale(1); }
}

._prelogo ._icnxx { height: 6.4rem; width: 5rem; }
._prelogo ._wordx { font-size: var(--fs-42); line-height: var(--lh-flat); }
._prelogo ._bname { gap: .4rem; }
._prelogo ._regxx { height: 1.4rem; margin-top: -.6rem; width: 1.4rem; }
._preloader ._wordx[data-logo-split] { display: inline-flex; }
._preloader ._lchar { display: inline-block; overflow: hidden; position: relative; }
._preloader ._lcharin,
._preloader ._lcharout {
    backface-visibility: hidden;
    display: inline-block;
    transition: transform .36s cubic-bezier(.22,1,.36,1);
    transition-delay: calc(var(--li,0) * 14ms);
}
._preloader ._lcharin { left: 0; position: absolute; top: 0; transform: translate3d(-110%,0,0); }
._preloader ._lcharout { transform: translate3d(0,0,0); }
._preloader[data-splash-split] ._lcharin { transform: translate3d(0,0,0); }
._preloader[data-splash-split] ._lcharout { transform: translate3d(110%,0,0); }

@media (prefers-reduced-motion: reduce) {
    ._preloader,
    ._preloader ._prelogo,
    ._preloader ._lcharin,
    ._preloader ._lcharout { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

body,
body * {
    -webkit-user-select: none;
    user-select: none
}

input,
textarea,
[contenteditable="true"],
a[href^="tel:"],
a[href^="mailto:"],
address,
._hours,
._hours *,
._cthours,
._cthours *,
._legalmeta,
._legalmeta *,
._legal[data-requisites],
._legal[data-requisites] * {
    -webkit-user-select: text;
    user-select: text
}

* {
    scrollbar-color: var(--base-300) transparent;
    scrollbar-width: thin
}

*::-webkit-scrollbar {
    height: var(--scrollbar-size);
    width: var(--scrollbar-size)
}

*::-webkit-scrollbar-track {
    background: transparent
}

*::-webkit-scrollbar-thumb {
    background: var(--base-300);
    background-clip: padding-box;
    border: 0.3rem solid transparent;
    border-radius: var(--radius-full);
    min-height: 4.8rem
}

*::-webkit-scrollbar-thumb:hover {
    background: var(--base-400);
    background-clip: padding-box
}

a {
    background-color: initial;
    color: inherit;
    text-decoration: none;
    cursor: pointer;
}

ul {
    margin-bottom: 0;
    margin-top: 0;
    padding-left: 0
}

li {
    list-style: none
}

button,input,optgroup,select,textarea {
    -webkit-appearance: none;
    appearance: none;
    background-color: initial;
    border: none;
    font-family: inherit;
    font-size: var(--font-size-min);
    font-style: inherit;
    line-height: var(--lh-body);
    margin: 0;
    outline: none;
    padding: 0;
}

button {
    color: inherit;
    cursor: pointer;
    font-family: var(--button-font);
    font-size: var(--button-font-size);
    font-weight: var(--button-font-weight)
}

input {
    outline: none
}

input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0
}

input fieldset[disabled],input[disabled] {
    -webkit-text-fill-color: var(--vc-block);
    opacity: 1
}

input::-ms-clear {
    display: none
}

textarea {
    overflow: auto;
    resize: none
}

h1,h2,h3,h4,h5,h6 {
    font-family: inherit;
    font-size: var(--font-size-min);
    font-style: normal;
    line-height: var(--lh-body);
    margin: 0;
    font-weight: 500;
}

pre {
    font-family: inherit;
    font-size: var(--font-size-min);
    font-weight: 400;
    margin: 0
}

address {
    font-style: normal
}

input:-webkit-autofill,input:-webkit-autofill:focus {
    -webkit-transition: background-color 600000s 0s,color 600000s 0s;
    transition: background-color 600000s 0s,color 600000s 0s
}

._shell {
    margin-inline: auto;
    width: min(calc(100% - var(--page-gap) - var(--page-gap)),var(--site-max))
}

._headr {
    container: site-header / inline-size;
    background: var(--color-surface);
    height: var(--head-size);
    left: 0;
    max-height: var(--head-size);
    position: fixed;
    right: 0;
    top: 0;
    z-index: 50
}

._hrowx {
    align-items: center;
    display: flex;
    gap: var(--gap-sm);
    height: 100%;
    min-width: 0
}

._brand,
._phone,
._place {
    align-items: center;
    background: var(--color-surface);
    border: 0.1rem solid var(--color-ink-90);
    color: var(--color-ink);
    display: flex;
    height: var(--header-control-size);
    justify-content: center;
    transition: border-color var(--default-transition);
    line-height: var(--lh-flat);
}

._brand:hover,
._phone:hover,
._place:hover {
    border-color: var(--color-ink-60)
}

._brand {
    border-radius: 3rem;
    padding: 0 1.8rem 0 2rem;
}

._logox {
    align-items: center;
    display: flex;
    gap: var(--gap-sm);
}

._bicon {
    align-items: center;
    display: flex;
    justify-content: center
}

._icnxx {
    align-items: center;
    display: flex;
    justify-content: center;
    height: 2.8rem;
    width: 2.2rem;
}

._blkxx {
    fill: var(--color-ink)
}

._grnxx {
    fill: var(--color-accent)
}

._btext {
    align-items: center;
    display: flex;
    min-width: 0;
}

._bname {
    align-items: flex-start;
    display: inline-flex;
    gap: .2rem;
}

._wordx {
    color: var(--color-ink);
    display: block;
    font-family: var(--font),sans-serif;
    font-size: var(--fs-16);
    font-weight: 500;
    text-transform: uppercase;
    white-space: nowrap
}

._regxx {
    color: var(--color-ink);
    display: block;
    flex: 0 0 1.2rem;
    height: 1.2rem;
    margin-top: -.5rem;
    width: 1.2rem;
}

._brand ._wordx[data-logo-split] {
    display: inline-flex
}

._brand ._lchar {
    display: inline-block;
    overflow: hidden;
    position: relative
}

._brand ._lcharin,
._brand ._lcharout {
    backface-visibility: hidden;
    display: inline-block;
    transition: transform .46s cubic-bezier(.22, 1, .36, 1);
    transition-delay: calc(var(--li, 0) * 18ms);
}

._brand ._lcharin {
    left: 0;
    position: absolute;
    top: 0;
    transform: translate3d(-110%, 0, 0)
}

._brand ._lcharout {
    transform: translate3d(0, 0, 0)
}

._brand[data-logo-active] ._lcharin {
    transform: translate3d(0, 0, 0)
}

._brand[data-logo-active] ._lcharout {
    transform: translate3d(110%, 0, 0)
}

._brand[data-logo-reset] ._lcharin,
._brand[data-logo-reset] ._lcharout {
    transition: none
}

._phone {
    border-radius: 3rem;
    font-size: var(--fs-14);
    font-weight: 500;
    padding-inline: 2rem;
    white-space: nowrap
}

._navxx {
    align-items: center;
    display: flex;
    gap: var(--gap-md);
    height: 100%;
    justify-content: flex-start;
    margin-left: var(--gap-sm);
}

._navln,
._morex {
    align-items: center;
    display: flex;
    font-size: var(--fs-14);
    font-weight: 500;
    gap: var(--gap-sm);
    line-height: var(--lh-flat);
    position: relative;
    transition: color var(--default-transition);
    white-space: nowrap
}

._navtext { display:inline-flex; }
._navtext ._lchar { display:inline-block; overflow:hidden; position:relative; white-space:pre; }
._navtext ._lcharin, ._navtext ._lcharout { display:inline-block; backface-visibility:hidden; }
._navtext ._lcharin { position:absolute; inset:0 auto auto 0; transform:translate3d(-110%,0,0); }
._navtext ._lcharout { transform:translate3d(0,0,0); }
@media (min-width: 75rem) and (hover:hover) and (prefers-reduced-motion:no-preference) {
    ._navxx :is(._navln,._morex):hover ._navtext :is(._lcharin,._lcharout) {
        transition:transform .46s cubic-bezier(.22,1,.36,1);
        transition-delay:calc(var(--li,0) * 18ms);
    }
    ._navxx :is(._navln,._morex):hover ._lcharin { transform:translate3d(0,0,0); }
    ._navxx :is(._navln,._morex):hover ._lcharout { transform:translate3d(110%,0,0); }
}

._tools {
    align-items: center;
    display: flex;
    gap: var(--gap-sm);
    height: 100%;
    margin-left: auto
}

._heart {
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--header-control-size);
    height: var(--header-control-size);
    border: 0;
    background: transparent;
    color: var(--color-ink-60);
}

._heart svg,
._cseco svg {
    height: 2.4rem;
    width: 2.4rem
}

html[data-favorites-booting] ._heart,
html[data-favorites-booting] [data-favorite-card] {
    transition: none
}

._place {
    border-radius: 3rem;
    font-weight: 500;
    gap: var(--gap-sm);
    padding-inline: 2.5rem;
    white-space: nowrap
}

[data-city-current] {
    font-size: var(--fs-14)
}

._arwic {
    color: var(--color-ink-60);
    display: block;
    flex: 0 0 auto;
    transform-box: view-box;
    transform-origin: center
}

._arwlf {
    transform: rotate(90deg)
}

._arwrt {
    transform: rotate(-90deg)
}

._menux {
    align-items: center;
    display: flex;
    height: 100%;
    position: relative
}

._dropx {
    background: var(--color-surface);
    font-weight: 400;
    border-radius: var(--popover-radius);
    box-shadow: var(--shadow-default);
    display: grid;
    gap: 0;
    left: 50%;
    min-width: var(--popover-width);
    padding: 1rem;
    position: absolute;
    top: calc(100% + var(--header-popover-gap));
    transform: translateX(-50%)
}

._menux[data-hover-menu] ._dropx {
    left: 0;
    min-width: 24.4rem;
    right: auto;
    transform: none;
    width: 24.4rem
}

._menux[data-hover-menu][data-open]::after {
    content: "";
    height: var(--header-popover-gap);
    left: 0;
    position: absolute;
    top: 100%;
    width: 24.4rem
}

._dropx[hidden] {
    display: none
}

._dropx._right {
    left: auto;
    right: 0;
    transform: none
}

._dropl {
    align-items: center;
    border-radius: var(--popover-row-radius);
    display: flex;
    font-size: var(--fs-14);
    font-weight: 400;
    min-height: var(--popover-row-height);
    padding-inline: 1.5rem;
    text-align: left;
    transition: background-color var(--default-transition),color var(--default-transition);
    width: 100%
}

._dropl:hover {
    background: var(--vc-block);
    color: var(--color-ink)
}

main {
    display: block;
    flex: 1 0 auto;
    min-height: 0;
    padding-top: calc(var(--head-size) + var(--hero-top));
    width: 100%
}

main > * + * {
    margin-top: var(--gap-lg)
}

main:not([data-inner]) > * + * {
    margin-top: var(--section-space)
}

main > :last-child {
    margin-bottom: 0;
    margin-top: var(--gap-sm);
}

._hero1 {
    align-items: stretch;
    container: home-hero / inline-size;
    display: grid;
    gap: var(--gap-md);
    grid-template-columns: minmax(60rem,52fr) minmax(22rem,48fr);
    height: auto;
    margin-bottom: 0;
    max-height: 82rem;
    min-height: min(82rem,max(0,calc(100vh - var(--head-size) - var(--hero-top) - var(--hero-bottom-gap)))); min-height: min(82rem,max(0,calc(100svh - var(--head-size) - var(--hero-top) - var(--hero-bottom-gap))));
    overflow: visible
}

._media,
._panel {
    border-radius: var(--card-radius);
    min-width: 0;
    overflow: hidden;
    position: relative
}

._media {
    background: var(--vc-block);
    isolation: isolate
}

._mitem {
    inset: 0;
    position: absolute;
    transform: translate3d(100%,0,0);
    visibility: hidden;
}

._mitem[data-current] {
    transform: translate3d(0,0,0);
    visibility: visible;
    z-index: 2
}

._mitem[data-enter] {
    transform: translate3d(100%,0,0);
    visibility: visible;
    z-index: 3
}

._mitem[data-exit] {
    transform: translate3d(-100%,0,0);
    visibility: visible;
    z-index: 2
}

._media[data-moving] ._mitem {
    transition: transform 420ms cubic-bezier(.22,1,.36,1)
}

._photo {
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%
}

._media[data-card="main"] ._photo {
    transform: scale(1.015) translate3d(0,0,0);
    transform-origin: 50% 50%
}

._media[data-card="main"][data-hero-ready] ._mitem[data-current] ._photo {
    animation: _hero-photo-drift var(--hero-motion-duration,8s) linear both;
    will-change: transform
}

._media[data-card="main"][data-hero-ready] ._mitem:nth-child(even)[data-current] ._photo {
    animation-name: _hero-photo-drift-alt
}

._media[data-card="main"] ._mitem[aria-hidden="true"] ._photo {
    animation: none;
    transform: scale(1.015) translate3d(0,0,0)
}

@keyframes _hero-photo-drift {
    from { transform:scale(1.015) translate3d(0,0,0) }
    to { transform:scale(1.1) translate3d(-4.5%,0,0) }
}

@keyframes _hero-photo-drift-alt {
    from { transform:scale(1.015) translate3d(0,0,0) }
    to { transform:scale(1.1) translate3d(4.5%,0,0) }
}

._media[data-card="main"][data-touch-slider] {
    touch-action: pan-y pinch-zoom
}

._media[data-card="main"] ._mitem::after {
    background: linear-gradient(180deg,transparent 0%,rgb(var(--rgb-ink) / 14%) 40%,rgb(var(--rgb-ink) / 64%) 100%);
    bottom: 0;
    content: "";
    height: min(26rem,55%);
    left: 0;
    pointer-events: none;
    position: absolute;
    right: 0
}

._dotsx {
    display: flex;
    position: absolute;
    right: 3rem;
    bottom: 3rem;
    z-index: 5
}

._dotxx {
    background: transparent;
    border: 0;
    cursor: pointer;
    height: 1.8rem;
    padding: 0;
    position: relative;
    width: 1.8rem;
}

._dotxx::after {
    background: var(--opacity-white-40);
    border-radius: 50%;
    content: "";
    height: var(--control-dot-size);
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%,-50%);
    width: var(--control-dot-size)
}

._dotxx[data-active]::after {
    background: var(--color-surface)
}

._copyx {
    bottom: 3rem;
    color: var(--color-surface);
    left: 3rem;
    max-width: 70%;
    position: absolute;
    z-index: 2
}

._h1xxx {
    font-size: var(--fs-30);
    line-height: var(--lh-tight);
    text-wrap: balance
}

._leadx {
    font-size: var(--fs-14);
    line-height: var(--lh-copy);
    margin-top: 2rem
}

html._js ._media[data-card="main"] :is(._h1xxx,._leadx) {
    opacity: 0;
    transform: translate3d(0,2.2rem,0) scale(.99)
}

._media[data-card="main"][data-hero-ready] ._mitem[data-current] ._h1xxx {
    animation: _hero-copy-reveal var(--hero-copy-duration) cubic-bezier(.16,1,.3,1) both
}

._media[data-card="main"][data-hero-ready] ._mitem[data-current] ._leadx {
    animation: _hero-copy-reveal var(--hero-copy-duration) cubic-bezier(.16,1,.3,1) var(--hero-copy-follow-delay) both
}

@keyframes _hero-copy-reveal {
    0% { opacity:0; transform:translate3d(0,2.2rem,0) scale(.99) }
    45% { opacity:1 }
    100% { opacity:1; transform:translate3d(0,0,0) scale(1) }
}

@media (prefers-reduced-motion: reduce) {
    html._js ._media[data-card="main"] :is(._h1xxx,._leadx) { opacity:1; transform:none }
    ._media[data-card="main"][data-hero-ready] ._mitem[data-current] ._photo { animation:none; transform:none; will-change:auto }
    ._media[data-card="main"][data-hero-ready] ._mitem[data-current] :is(._h1xxx,._leadx) { animation:none }
}

._stack {
    display: grid;
    gap: var(--gap-md);
    grid-template-rows: repeat(2,minmax(auto,1fr));
    min-width: 0
}

._panel {
    background: var(--vc-block)
}

._wide1 {
    background: var(--vc-block);
    padding: 3rem;
}

._wcopy {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-width: 0;
    position: relative;
    z-index: 2
}

._h2xxx {
    font-size: var(--fs-30);

    line-height: var(--lh-tight);
    max-width: 60%;
    text-wrap: balance;
}

._subtx {
    font-size: var(--fs-14);
    line-height: var(--lh-copy);
    margin: 2rem 0;
    max-width: 50%;
}

._wide1 ._subtx,
._media ._leadx {
    display: block;
    max-height: 4.5em;
    overflow: hidden
}

._small ._h2xxx,
._small ._subtx,
._side1 ._h2xxx,
._side1 ._subtx {
    max-width: 100%
}

._btnxx {
    align-items: center;
    align-self: flex-start;
    background: var(--color-accent);
    border-radius: var(--button-radius);
    color: var(--color-on-accent);
    display: inline-flex;
    font-size: var(--button-font-size);
    font-weight: var(--button-font-weight);
    height: var(--button-height);
    justify-content: center;
    justify-self: start;
    padding-inline: 1.5rem;
    transition: background-color var(--default-transition);
    white-space: nowrap;
    line-height: var(--lh-flat);
}

._btnxx:hover {
    background: var(--color-accent-hover)
}

._btnxx:active {
    background: var(--color-accent)
}

._wide1 ._wcopy {
    max-width: none
}

._wfoot {
    margin-top: auto
}

._keysx {
    bottom: 0;
    display: block;
    height: 100%;
    max-width: 54%;
    object-fit: cover;
    object-position: left center;
    pointer-events: none;
    position: absolute;
    right: 0;
    width: 48rem
}

._lower {
    display: grid;
    gap: var(--gap-md);
    grid-template-columns: minmax(0,46fr) minmax(0,54fr);
    min-height: 0;
    min-width: 0
}

._small,
._side1 {
    min-width: 0;
    padding: 3rem;
}

._small {
    background: var(--vc-block);
    display: flex;
    flex-direction: column
}

._small ._h2xxx {
    text-wrap: pretty
}

._small ._pager {
    gap: 0;
    inline-size: 100%;
    max-inline-size: 16rem
}

._small ._count {
    flex: 1 1 auto;
    min-width: 0
}

._items {
    display: grid;
    flex: 1 1 auto;
    min-height: 0;
    min-width: 0;
    overflow: hidden
}

._slide {
    grid-area: 1/1;
    min-width: 0;
    opacity: 0;
    pointer-events: none;
    visibility: hidden
}

._slide[data-current="true"] {
    opacity: 1;
    pointer-events: auto;
    visibility: visible
}

._slide[data-animate] ._h2xxx {
    animation: _fadei .4s var(--ease-out) both
}

._slide[data-animate] ._subtx {
    animation: _fadei .4s var(--ease-out) .3s both
}

._pager {
    align-items: center;
    align-self: flex-start;
    background: var(--color-surface);
    border-radius: calc(var(--nav-hit-size)/2);
    display: flex;
    gap: var(--gap-md);
    margin-top: auto;
    min-height: var(--nav-hit-size);
    padding: 0;
    position: relative
}

._pgsvg {
    height: 100%;
    inset: 0;
    overflow: visible;
    pointer-events: none;
    position: absolute;
    width: 100%
}

._pgbase,
._pgline {
    fill: none;
    shape-rendering: auto;
    stroke-width: 2;
    vector-effect: non-scaling-stroke
}

._pgbase {
    stroke: transparent
}

._pgline {
    opacity: 0;
    stroke: var(--color-accent);
    stroke-linecap: butt;
    transition: opacity 120ms ease
}

[data-progress-active] ._pgline {
    opacity: 1
}

._arrow {
    align-items: center;
    color: var(--color-accent-text);
    display: flex;
    flex: 0 0 var(--nav-hit-size);
    height: var(--nav-hit-size);
    justify-content: center;
    position: relative;
    touch-action: manipulation;
    width: var(--nav-hit-size);
    z-index: 1
}

._count {
    font-size: var(--font-size-min);
    min-width: 6.4rem;
    position: relative;
    text-align: center;
    z-index: 1
}

._side1 {
    background: var(--vc-block);
    display: flex;
    flex-direction: column
}

._side1 ._btnxx {
    margin-top: auto
}

._footr {
    margin-top: auto;
    min-height: 0;
    padding: var(--section-space) 0 2.5rem
}

@keyframes _fadei {
    from {
        opacity: 0;
        transform: translateY(.6rem)
    }
    to {
        opacity: 1;
        transform: translateY(0)
    }
}

._gatex {
    display: grid;
    grid-template-rows: 1fr auto;
    min-height: 100vh; min-height: 100dvh
}

._gmain {
    align-items: center;
    display: flex;
    justify-content: center;
    min-height: 100vh; min-height: 100dvh;
    padding: 3rem
}

._gboxx {
    background: var(--color-surface);
    border: 0.1rem solid var(--vc-block);
    border-radius: 3rem;
    display: grid;
    gap: var(--gap-md);
    max-width: 46rem;
    padding: 4rem;
    width: 100%
}

._glogo {
    width: fit-content
}

._gcopy {
    display: grid;
    gap: var(--gap-sm)
}

._gtitl {
    font-size: var(--fs-14);
    line-height: var(--lh-body);
}

._gtext {
    font-size: var(--fs-14);
    line-height: var(--lh-copy)
}

._gform {
    display: grid;
    gap: var(--gap-sm)
}

._gpass {
    border: 0.1rem solid var(--vc-block);
    border-radius: 2.4rem;
    color: var(--color-ink);
    font-size: var(--fs-14);
    height: 5rem;
    padding-inline: 2rem;
    transition: border-color var(--default-transition);
    width: 100%
}

._gpass:focus {
    border-color: var(--color-ink-60)
}

._gbtnx {
    align-items: center;
    background: var(--color-accent);
    border-radius: var(--button-radius);
    color: var(--color-on-accent);
    display: flex;
    font-size: var(--button-font-size);
    font-weight: var(--button-font-weight);
    height: var(--button-height);
    justify-content: center;
    transition: background-color var(--default-transition)
}

._gbtnx:hover {
    background: var(--color-accent-hover)
}

._gerrx {
    color: var(--color-ink);
    font-size: var(--font-size-min)
}

._gfoot {
    min-height: 0
}

body[data-lock] {
    overflow: hidden;
    padding-right: var(--lock-gap,0)
}

body[data-lock] ._headr {
    padding-right: var(--lock-gap,0)
}

._phgrp {
    align-items: center;
    display: flex;
    height: 100%;
    position: relative;
    z-index: 60;
}

._phgrp::after {
    content: "";
    height: var(--header-popover-gap);
    left: 50%;
    pointer-events: none;
    position: absolute;
    top: 100%;
    translate: -50% 0;
    width: 45.2rem
}

._phgrp[data-open]::after,
._phgrp:focus-within::after {
    pointer-events: auto
}

._pcard {
    background: var(--color-surface);
    font-weight: 400;
    border-radius: 3rem;
    box-shadow: 0 1.2rem 3.4rem rgb(var(--rgb-ink) / 10%);
    display: grid;
    gap: var(--gap-lg);
    left: 50%;
    opacity: 0;
    padding: 3.5rem 4rem 4rem;
    pointer-events: none;
    position: absolute;
    scale: 95%;
    top: calc(100% + var(--header-popover-gap));
    translate: -50% -.8rem;
    transition: opacity var(--default-transition),scale 320ms var(--ease-out),translate 320ms var(--ease-out),visibility 320ms;
    visibility: hidden;
    width: 45.2rem
}

._phgrp[data-open] ._pcard,
._phgrp:focus-within ._pcard {
    opacity: 1;
    pointer-events: auto;
    scale: 100%;
    translate: -50% 0;
    visibility: visible
}

._ptopx {
    align-items: start;
    display: grid;
    gap: var(--gap-lg);
    grid-template-columns: minmax(0,1fr) 13rem
}

._phint {
    color: var(--color-ink-60);
    font-size: var(--fs-14);
    line-height: var(--lh-copy);
}

._qwrap {
    display: grid;
    justify-items: stretch
}

._qwrap [data-qr-call] {
    display: block;
    height: 13rem;
    width: 13rem
}

._qrimg {
    color: var(--color-ink);
    display: block;
    height: 100%;
    shape-rendering: crispEdges;
    width: 100%
}

._hours {
    display: grid;
    gap: var(--gap-sm)
}

._htitl {
    font-size: var(--fs-20);

    line-height: var(--lh-title);
    margin-bottom: .8rem
}

._htext {
    color: var(--color-ink-60);
    font-size: var(--font-size-min);
    line-height: var(--lh-body)
}

._cbtnx {
    align-items: center;
    background: var(--color-accent);
    border-radius: var(--button-radius);
    color: var(--color-on-accent);
    display: flex;
    font-size: var(--button-font-size);
    font-weight: var(--button-font-weight);
    min-height: 4.4rem;
    padding: .8rem 1.6rem;
    line-height: var(--lh-body);
    justify-content: center;
    transition: background-color var(--default-transition);
    width: 100%
}

._cbtnx:hover,
._msend:hover {
    background: var(--color-accent-hover)
}

._cbtnx:active,
._msend:active {
    background: var(--color-accent)
}

._menux[data-open] > ._place ._arwic,
._menux[data-open] > ._morex ._arwic {
    transform: rotate(180deg)
}

._place ._arwic,
._morex ._arwic {
    transition: transform 260ms ease
}

._menux[data-open] ._dropx {
    animation: _dropi 260ms var(--ease-out) both
}

._menux[data-city-group][data-closing] ._dropx {
    animation: _dropo 180ms ease-in both;
    pointer-events: none
}

._dropx[data-city-menu] {
    max-height: 42rem;
    overflow-y: auto;
    top: calc(100% + var(--header-popover-gap));
}

._crowx {
    align-items: center;
    line-height: var(--lh-body);
    border-radius: var(--popover-row-radius);
    color: var(--color-ink);
    display: flex;
    font-size: var(--fs-14);
    font-weight: 400;
    gap: var(--gap-md);
    min-height: var(--popover-row-height);
    justify-content: space-between;
    padding-inline: 1.5rem;
    text-align: left;
    transition: background-color var(--default-transition),color var(--default-transition);
    width: 100%;
}

._crowx:hover {
    background: var(--vc-block)
}

._crowx[data-selected] {
    color: var(--color-accent-text);
}

._crowx[data-loading] {
    cursor: wait;
    opacity: 1
}

._rmark {
    align-self: center;
    background: transparent;
    border: var(--ui-radio-border) solid var(--color-ink-80);
    border-radius: 50%;
    display: grid;
    flex: 0 0 var(--ui-radio-size);
    height: var(--ui-radio-size);
    line-height: 0;
    place-items: center;
    position: relative;
    transition: border-color var(--default-transition),background-color var(--default-transition);
    width: var(--ui-radio-size)
}

._rmark::after {
    background: var(--color-accent);
    border-radius: 50%;
    content: "";
    height: 1rem;
    transform: scale(0);
    transition: transform var(--default-transition);
    width: 1rem
}

._crowx:hover ._rmark,
._fitem:hover ._rmark,
._poptn:hover ._rmark {
    border-color: var(--color-ink-60);
}

._crowx[data-selected] ._rmark,
._fitem[data-selected] ._rmark,
._poptn > ._porad:checked ~ ._rmark {
    background: transparent;
    border-color: var(--color-accent)
}

._crowx[data-selected] ._rmark::after,
._fitem[data-selected] ._rmark::after,
._poptn > ._porad:checked ~ ._rmark::after {
    transform: scale(1)
}

._modlx {
    display: grid;
    inset: 0;
    place-items: center;
    position: fixed;
    z-index: 200
}

._modlx[hidden] {
    display: none
}

._shade {
    background: var(--opacity-black-80);
    inset: 0;
    opacity: 0;
    position: absolute;
    transition: opacity var(--default-transition)
}

._mwrap {
    border-radius: 3.8rem;
    max-height: calc(100vh - 6rem); max-height: calc(100dvh - 6rem);
    opacity: 0;
    position: relative;
    scale: 90%;
    transition: opacity var(--default-transition),scale 360ms var(--ease-out);
    width: min(72rem,calc(100vw - 15rem));
    z-index: 1
}

._modlx[data-open] ._shade {
    opacity: 1
}

._modlx[data-open] ._mwrap {
    opacity: 1;
    scale: 100%
}

._mclos {
    align-items: center;
    background: var(--components-bg);
    border: 0;
    border-radius: 50%;
    color: var(--color-surface);
    display: flex;
    height: 5.2rem;
    justify-content: center;
    position: absolute;
    right: -6.2rem;
    top: 0;
    transition: background-color var(--default-transition);
    width: 5.2rem
}

._mclos:hover {
    background: rgb(var(--rgb-ink) / 82%)
}

._mshel {
    background: var(--color-surface);
    border-radius: 3.8rem;
    max-height: calc(100vh - 6rem); max-height: calc(100dvh - 6rem);
    overflow: hidden; overflow: clip;
    padding: 1rem 1rem 1rem 0
}

._modal {
    max-height: calc(100vh - 8rem); max-height: calc(100dvh - 8rem);
    overscroll-behavior: contain;
    overflow-y: auto;
    padding: 2.4rem 2.4rem 2.4rem 3.4rem;
    scrollbar-gutter: stable
}

._mhead {
    display: grid;
    gap: var(--gap-md);
    justify-items: center;
    text-align: center
}

._mtitl {
    font-size: var(--fs-30);

    line-height: var(--lh-title);
}

._mdesc {
    font-size: var(--fs-20);
    line-height: var(--lh-title);
    max-width: 43rem
}

._mform {
    display: grid;
    margin-top: 4rem
}

._honey {
    height: 0.1rem;
    left: -1000rem;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    width: 0.1rem
}

._mques {
    color: var(--color-ink-60);
    font-size: var(--font-size-min);
    line-height: var(--lh-body);
    margin-bottom: 2rem;
    text-align: center
}

._modes {
    background: var(--vc-block);
    border-radius: calc(var(--button-radius) + .4rem);
    display: grid;
    gap: var(--gap-sm);
    grid-template-columns: repeat(3,minmax(0,1fr));
    padding: var(--control-group-pad)
}

._modei {
    cursor: pointer;
    display: block;
    min-width: 0;
    position: relative
}

._mradx,
._cboxx,
._porad,
._pockx {
    height: 0.1rem;
    opacity: 0;
    position: absolute;
    width: 0.1rem
}

._mlabl {
    align-items: center;
    border-radius: var(--button-radius);
    display: flex;
    font-size: var(--button-font-size);
    font-weight: var(--button-font-weight);
    height: var(--button-height);
    justify-content: center;
    padding-inline: 1.5rem;
    transition: background-color var(--default-transition),color var(--default-transition);
    width: 100%
}

._modei:hover ._mlabl {
    background: var(--color-surface)
}

._mradx:checked + ._mlabl {
    background: var(--color-accent);
    color: var(--color-on-accent)
}

._field {
    display: grid;
    gap: var(--gap-md);
    margin-top: 4rem
}

._minpt {
    background: var(--vc-block);
    border: 0.1rem solid transparent;
    border-radius: 3.4rem;
    color: var(--color-ink);
    font-size: var(--fs-18);

    height: 6.8rem;
    padding-inline: 2.5rem;
    transition: border-color var(--default-transition),background-color var(--default-transition);
    width: 100%
}

._minpt::placeholder {
    color: var(--color-ink-60);
    opacity: 1
}

._minpt:focus {
    background: var(--color-surface);
    border-color: var(--color-ink-60)
}

._msend {
    align-items: center;
    background: var(--color-accent);
    border-radius: var(--button-radius);
    color: var(--color-on-accent);
    display: flex;
    font-size: var(--button-font-size);
    font-weight: var(--button-font-weight);
    height: var(--button-height);
    justify-content: center;
    margin-top: 4rem;
    transition: background-color var(--default-transition);
    width: 100%
}

._msend:disabled {
    cursor: wait;
    opacity: 1
}

._chksx {
    display: grid;
    gap: var(--gap-sm);
    margin: 2rem auto 0;
    width: max-content
}

._chkit {
    align-items: center;
    cursor: pointer;
    display: grid;
    gap: var(--gap-sm);
    grid-template-columns: var(--ui-toggle-width) minmax(0,1fr);
    position: relative
}

._cmark,
._hitck {
    align-items: center;
    background: var(--color-ink-90);
    border-radius: var(--radius-full);
    display: flex;
    flex: 0 0 var(--ui-toggle-width);
    height: var(--ui-toggle-height);
    justify-content: flex-start;
    padding: var(--ui-toggle-pad);
    transition: background-color var(--default-transition);
    width: var(--ui-toggle-width)
}

._cmknb,
._hitkn {
    background: var(--color-surface);
    border-radius: 50%;
    display: block;
    flex: 0 0 var(--ui-toggle-knob);
    height: var(--ui-toggle-knob);
    transform: translateX(0);
    transition: transform var(--default-transition);
    width: var(--ui-toggle-knob)
}

._cboxx:checked + ._cmark,
._pockx:checked + ._cmark {
    background: var(--color-accent)
}

._cboxx:checked + ._cmark ._cmknb,
._pockx:checked + ._cmark ._cmknb {
    transform: translateX(calc(var(--ui-toggle-width) - var(--ui-toggle-knob) - var(--ui-toggle-pad) - var(--ui-toggle-pad)))
}

._ctext {
    color: var(--color-ink-60);
    font-size: var(--font-size-min);
    line-height: var(--lh-body)
}

._ctext a {
    color: var(--color-ink);
}

._ctext a:hover {
    color: var(--color-accent-text)
}

._mnote {
    color: var(--success-900);
    font-size: var(--font-size-min);
    min-height: 1.8rem;
    padding-top: 1.5rem;
    text-align: center
}

._mnote[data-error] {
    color: var(--error-900)
}

._legal {
    padding-block: 0 6rem
}

._legal h1 {
    font-size: clamp(3.8rem, 2.8vw, 4.6rem);
    line-height: 1.02;
    margin: 0 0 3rem;
    max-inline-size: none;
    text-transform: uppercase;
    text-wrap: pretty;
    overflow-wrap: anywhere;
}

._legal h2 {
    font-size: clamp(2.4rem, 1.75vw, 2.8rem);
    line-height: 1.08;
    margin: 3.6rem 0 1.4rem;
    text-wrap: pretty;
}

._legal p,
._legal li {
    font-size: var(--font-size-min);
    line-height: var(--lh-copy)
}

._legal p {
    margin: 0 0 1.5rem
}

._legal ul {
    display: grid;
    gap: var(--gap-sm);
    margin: 0 0 2rem;
    padding-left: 2.5rem
}

._legal a {
    color: var(--color-accent-text);
}

._legalmeta {
    background: var(--vc-block);
    border-radius: var(--card-radius);
    display: grid;
    gap: var(--gap-sm);
    margin-bottom: 3rem;
    padding: 2.5rem
}

._clhed {
    display: grid;
    gap: var(--gap-md);
    margin-bottom: var(--section-title-space)
}

._clttl {
    font-size: var(--fs-42);
    line-height: var(--lh-tight);
    max-inline-size: min(100%,var(--title-measure));
    text-transform: uppercase;
    text-wrap: balance
}

._cllead {
    color: var(--color-ink-60);
    font-size: var(--fs-18);
    line-height: var(--lh-copy)
}

._clgrd {
    display: grid;
    gap: var(--gap-md);
    grid-template-columns: repeat(3,minmax(0,1fr))
}

._clcrd {
    background: var(--vc-block);
    border-radius: 3rem;
    display: flex;
    flex-direction: column;
    min-height: 26rem;
    padding: 3rem;
    position: relative;
    transition: transform var(--default-transition),background-color var(--default-transition)
}

._clcrd:hover {
    background: var(--color-ink-90);
    transform: translateY(-.4rem)
}

._clnum {
    color: var(--color-accent-text);
    font-size: var(--fs-14);
    line-height: var(--lh-flat)
}

._clname {
    font-size: var(--fs-24);
    line-height: var(--lh-title);
    margin-top: auto;
    max-width: 30rem;
    padding-top: var(--gap-lg)
}

._cltxt {
    color: var(--color-ink-60);
    font-size: var(--fs-14);
    line-height: var(--lh-copy);
    margin-top: var(--gap-md);
    max-width: 32rem;
    padding-right: 4.8rem
}

._clarw {
    align-items: center;
    background: var(--color-surface);
    border-radius: 50%;
    bottom: 2.4rem;
    display: flex;
    height: 4rem;
    justify-content: center;
    position: absolute;
    right: 2.4rem;
    transition: color var(--default-transition),transform var(--default-transition);
    width: 4rem
}

._clcrd:hover ._clarw {
    color: var(--color-accent-text);
    transform: translateX(.3rem)
}

._cookp {
    align-items: center;
    background: var(--color-surface);
    border-radius: 3rem;
    bottom: 2.8rem;
    box-shadow: 0 1.8rem 4.8rem rgb(var(--rgb-ink) / 14%);
    display: flex;
    flex-wrap: wrap;
    gap: var(--gap-md);
    left: 50%;
    max-width: 98.8rem;
    opacity: 0;
    padding: 2rem 2.5rem;
    pointer-events: none;
    position: fixed;
    transform: translate(-50%,3rem) scale(.985);
    transition: opacity var(--default-transition),transform 420ms var(--ease-out);
    user-select: none;
    visibility: hidden;
    width: min(98.8rem,calc(100% - 5.6rem));
    z-index: 9999
}

._cookp[hidden] {
    display: none
}

._cookp[data-visible] {
    opacity: 1;
    pointer-events: auto;
    transform: translate(-50%,0) scale(1);
    visibility: visible
}

._cookp[data-closing] {
    opacity: 0;
    pointer-events: none;
    transform: translate(-50%,3rem) scale(.985);
    visibility: visible
}

._cooktx {
    color: var(--color-ink-60);
    flex: 1 1 56rem;
    font-size: var(--fs-12);
    font-weight: 400;
    line-height: var(--lh-copy)
}

._cooktx a {
    color: var(--color-ink);

    transition: color var(--default-transition)
}

._cooktx a:hover {
    color: var(--color-accent-text)
}

._cookrt {
    align-items: center;
    display: flex;
    flex: 1 1 26rem;
    gap: var(--gap-md);
    justify-content: flex-end;
    margin-left: auto;
    min-width: 0
}

._cooktm {
    color: var(--color-ink-60);
    font-size: var(--fs-12);
    line-height: var(--lh-body);
    white-space: nowrap
}

._cooktm span {
    color: var(--color-ink);
}

._cookcl {
    align-items: center;
    background: var(--vc-block);
    border-radius: 50%;
    color: var(--color-ink);
    display: flex;
    flex: 0 0 var(--button-height);
    height: var(--button-height);
    justify-content: center;
    transition: background-color var(--default-transition),color var(--default-transition);
    width: var(--button-height)
}

._cookcl:hover {
    background: var(--color-accent-hover);
    color: var(--color-on-accent)
}

@keyframes _dropi {
    from {
        opacity: 0;
        scale: 95%;
        translate: 0 -.6rem
    }
    to {
        opacity: 1;
        scale: 100%;
        translate: 0 0
    }
}

@keyframes _dropo {
    from {
        opacity: 1;
        scale: 100%;
        translate: 0 0
    }
    to {
        opacity: 0;
        scale: 97%;
        translate: 0 -.35rem
    }
}

._fgrid {
    display: flex;
    flex-wrap: wrap;
    gap: var(--gap-sm);
}

._fleft,
._fcall,
._fmenu {
    background: var(--vc-block);
}

._fleft {
    border-radius: 3.8rem;
    display: flex;
    flex: 0 1 43rem;
    flex-direction: column;
    min-height: 51.2rem;
    min-width: min(100%,30rem);
    padding: 3.5rem
}

._fmark {
    align-self: flex-start;
    display: block;
    height: 6rem;
    margin-bottom: var(--gap-md);
    width: 4.7rem
}

._fcont {
    display: grid;
    gap: var(--gap-sm)
}

._fphon {
    font-size: var(--fs-24);

    line-height: var(--lh-title)
}

._fmail {
    color: var(--color-ink-60);
    font-size: var(--fs-18);
    line-height: var(--lh-title);
    overflow-wrap: anywhere;
    transition: color var(--default-transition)
}

._fmail:hover {
    color: var(--color-accent-text)
}

._finfo {
    display: grid;
    gap: var(--gap-md);
    margin-top: auto
}

._fhead {
    color: var(--color-ink-60);
    font-size: var(--font-size-min);
    line-height: var(--lh-body);
    margin-bottom: 1rem;
    font-weight: 500;
}

._faddr {
    font-size: var(--font-size-min);
    line-height: var(--lh-copy);
    overflow-wrap: anywhere
}

._fbtns {
    display: grid;
    gap: var(--gap-sm);
    grid-template-columns: repeat(2,minmax(0,1fr));
    margin-top: 3rem
}

._fbtnx,
._flink {
    align-items: center;
    background: var(--color-accent);
    border: 0.1rem solid var(--color-accent);
    color: var(--color-on-accent);
    display: flex;
    justify-content: center;
    transition: background-color var(--default-transition),border-color var(--default-transition),color var(--default-transition)
}

._fbtnx {
    background: var(--color-accent);
    border-color: var(--color-accent);
    border-radius: 2.4rem;
    color: var(--color-on-accent);
    font-size: var(--button-font-size);
    font-weight: var(--button-font-weight);
    height: var(--button-height)
}

._fbtnx:hover {
    background: var(--color-accent-hover);
    border-color: var(--color-accent-hover)
}

._fmapx {
    background: var(--color-accent);
    border-color: var(--color-accent);
    color: var(--color-on-accent)
}

._fmapx:hover {
    background: var(--color-accent-hover);
    border-color: var(--color-accent-hover);
    color: var(--color-on-accent)
}

._frght {
    display: flex;
    flex: 1 1 70rem;
    flex-direction: column;
    gap: var(--gap-sm);
    min-width: 0
}

._ftopx {
    display: flex;
    flex-wrap: wrap;
    gap: var(--gap-sm);
    min-width: 0
}

._fcall {
    align-items: flex-start;
    border-radius: 3rem;
    display: flex;
    flex: 1 1 36rem;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: var(--gap-md);
    justify-content: flex-start;
    min-width: 0;
    padding: 3rem;
}

._ftext {
    font-size: var(--fs-16);
    line-height: var(--lh-title);
    min-width: 0
}

._flink {
    background: var(--color-accent);
    border-radius: var(--button-radius);
    flex: 0 0 auto;
    font-size: var(--button-font-size);
    font-weight: var(--button-font-weight);
    height: var(--button-height);
    padding-inline: 2rem
}

._flink:hover {
    background: var(--color-accent-hover);
    border-color: var(--color-accent-hover);
    color: var(--color-on-accent)
}

._fmenu {
    border-radius: 3rem;
    display: flex;
    flex-direction: column;
    min-height: 37.3rem;
    min-width: 0;
    padding: 3.5rem;
    height: 100%;
}

._fcols {
    display: grid;
    gap: var(--gap-lg);
    grid-template-columns: repeat(auto-fit,minmax(min(100%,16rem),1fr));
    min-width: 0
}

._fcolx {
    min-width: 0
}

._flabl {
    color: var(--color-ink-60);
    display: inline-flex;
    font-size: var(--font-size-min);
    font-weight: 500;
    line-height: var(--lh-body);
    transition: color var(--default-transition)
}

a._flabl:hover {
    color: var(--color-accent-text)
}

._fnlst {
    display: grid;
    gap: var(--gap-md);
    margin-top: 2.5rem
}

._fnitm {
    align-items: center;
    display: flex;
    font-size: var(--font-size-min);
    gap: var(--gap-sm);
    line-height: var(--lh-body);
    transition: color var(--default-transition);
    font-weight: 500;
}

._fnitm[data-accent] {
    color: var(--color-accent-text)
}

._fnitm:hover {
    color: var(--color-accent-text)
}

._fbase {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin-top: auto;
    padding-top: 3rem
}

._fsoci {
    align-items: center;
    display: flex;
    gap: var(--gap-md)
}

._fsocl {
    align-items: center;
    display: flex;
    font-size: var(--font-size-min);

    height: 2.4rem;
    justify-content: center;
    min-width: 2.4rem;
    transition: color var(--default-transition)
}

._fsocl:last-child {
    color: var(--color-accent-text)
}

._fsocl:hover {
    color: var(--color-accent-text)
}

._fbott {
    align-items: center;
    color: var(--color-ink-60);
    display: flex;
    font-size: var(--fs-12);
    gap: var(--gap-md);
    justify-content: space-between;
    line-height: var(--lh-body);
    margin-top: var(--gap-lg)
}

._fcopy {
    flex: 1 1 auto;
    min-width: 0;
    text-align: left
}

._fstaff {
    align-items: center;
    background: var(--vc-block);
    border-radius: var(--button-radius);
    color: var(--color-ink);
    display: inline-flex;
    flex: 0 0 auto;
    font-size: var(--fs-12);
    height: 3rem;
    justify-content: center;
    padding-inline: 1.2rem;
    transition: color var(--default-transition),border-color var(--default-transition),background-color var(--default-transition)
}



@media (min-width: 75rem) {
    ._fgrid {
        align-items: stretch;
        display: grid;
        grid-template-columns: minmax(30rem,43rem) minmax(0,1fr)
    }

    ._frght {
        min-width: 0
    }

    ._ftopx {
        display: grid;
        grid-template-columns: repeat(2,minmax(0,1fr))
    }
}

@media (min-width: 75rem) and (max-width: 89.999rem) {
    ._fgrid {
        grid-template-columns: minmax(30rem,36rem) minmax(0,1fr)
    }

    ._fleft {
        min-height: 0;
        padding: clamp(2.6rem,2.2vw,3rem)
    }

    ._finfo {
        margin-top: auto
    }

    ._fbtns {
        margin-top: 2.4rem
    }

    ._fcall,
    ._fmenu {
        padding: clamp(2.4rem,2.2vw,3rem)
    }

    ._fmenu {
        min-height: 0
    }
}

._media[data-moving] ._mitem[data-current] {
    z-index: 3
}

._cata1 {
    padding-top: 0
}

._ctop1 {
    padding-bottom: 2rem;
}

._chead,
._axhd {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin-bottom: var(--section-title-space)
}

._ctitl,
._axttl,
._wtitl,
._qttl,
._abttl,
._favtt,
._ptitl,
._scttl,
._wkttl,
._ctttl {
    font-size: var(--fs-30);
    line-height: var(--lh-title);
    max-inline-size: min(100%,var(--title-measure));
    text-transform: uppercase;
    text-wrap: balance
}

._pxttl,
._wdttl,
._pname,
._favti,
._mtitl,
._sch3x,
._pxsttl,
._ctname,
._abwtt,
._qg7md,
._cname,
._wname,
._wkname {
    text-wrap: balance
}

._qgrn {
    color: var(--color-accent-text)
}

._ctgrp {
    align-items: baseline;
    display: flex;
    gap: var(--gap-md);
    min-width: 0
}

._ctnum {
    color: var(--color-ink-60);
    flex: 0 0 auto;
    font-size: var(--font-size-min);
    line-height: var(--lh-body);
    white-space: nowrap
}

._hitts {
    align-items: center;
    border-radius: 2.8rem;
    color: var(--color-ink);
    display: flex;
    font-size: var(--fs-14);

    gap: var(--ui-hit-gap);
    height: var(--ui-hit-height);
    padding-inline: var(--ui-hit-padding-x);
    transition: border-color var(--default-transition), color var(--default-transition);
}

._hitts[aria-pressed="true"] {
    color: var(--color-accent-text);
}

._hitts[aria-pressed="true"] ._hitck {
    background: var(--color-accent)
}

._hitts[aria-pressed="true"] ._hitkn {
    transform: translateX(calc(var(--ui-toggle-width) - var(--ui-toggle-knob) - var(--ui-toggle-pad) - var(--ui-toggle-pad)))
}

._filt1 {
    align-items: stretch;
    display: grid;
    gap: var(--gap-sm);
    grid-template-columns: repeat(5,minmax(0,1fr));
    min-width: 0
}

._fctrl {
    background: var(--vc-block);
    border: 0.1rem solid transparent;
    border-radius: var(--radius-full);
    height: var(--filter-height);
    min-width: 0;
    position: relative;
    transition: border-color var(--default-transition),background-color var(--default-transition)
}

._fctrl:hover,
._fctrl:focus-within,
._fctrl[data-open],
._fctrl[data-range-active] {
    border-color: var(--color-ink-90)
}

._fboxx {
    padding: var(--filter-padding-y) var(--filter-padding-x);
}

._ftxtx {
    align-content: center;
    display: grid;
    gap: 0.5rem;
    height: 100%;
    min-width: 0
}

._flabx {
    color: var(--color-ink-60);
    display: block;
    font-size: var(--font-size-min);
    font-weight: 400;
    line-height: var(--lh-body);
    white-space: nowrap
}

._fvalu {
    display: block;
    font-size: var(--font-size-min);
    line-height: var(--lh-body);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 500;
}

._rvalu {
    align-items: center;
    display: flex;
    justify-content: space-between;
    overflow: visible
}

._rrang {
    bottom: calc(var(--ui-range-hit-height) / -2);
    height: var(--ui-range-hit-height);
    left: var(--filter-padding-x);
    position: absolute;
    right: var(--filter-padding-x);
    touch-action: none;
    user-select: none
}

._fboxx:not([data-range-ready]) ._rrang {
    visibility: hidden
}

._rrail {
    bottom: 0;
    left: var(--ui-range-rail-inset);
    position: absolute;
    right: var(--ui-range-rail-inset);
    top: 0
}

._rline {
    background: var(--color-accent);
    border-radius: .2rem;
    height: var(--ui-range-line-height);
    left: 0;
    position: absolute;
    top: calc(50% - (var(--ui-range-line-height) / 2));
    width: 100%;
    z-index: 2
}

._rinpt {
    appearance: none;
    background: transparent;
    height: 2rem;
    inset: 0;
    margin: 0;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    width: 100%
}

._rinpt::-webkit-slider-runnable-track {
    background: transparent;
    border: none;
    height: 0.2rem
}

._rinpt::-webkit-slider-thumb {
    appearance: none;
    border: none;
    height: var(--ui-range-handle-size);
    width: var(--ui-range-handle-size)
}

._rinpt::-moz-range-track {
    background: transparent;
    border: none;
    height: 0.2rem
}

._rinpt::-moz-range-thumb {
    background: transparent;
    border: none;
    height: var(--ui-range-handle-size);
    width: var(--ui-range-handle-size)
}

._rdot {
    align-items: center;
    display: flex;
    height: var(--ui-range-dot-size);
    justify-content: center;
    left: 0;
    line-height: var(--lh-flat);
    pointer-events: auto;
    position: absolute;
    text-align: center;
    bottom: 0;
    margin: auto 0 auto calc(var(--ui-range-dot-size) / -2);
    top: 0;
    user-select: none;
    width: var(--ui-range-dot-size);
    z-index: 3
}

._rhandle {
    background: var(--color-accent);
    border-radius: 50%;
    cursor: pointer;
    height: var(--ui-range-handle-size);
    transition: background-color var(--default-transition);
    user-select: none;
    width: var(--ui-range-handle-size)
}

._rdot:hover ._rhandle,
._fboxx[data-range-active] ._rhandle {
    background: var(--color-accent-hover)
}

._rfrom {
    z-index: 2
}

._rtoxx {
    z-index: 3
}

._ftrig {
    align-items: center;
    border-radius: var(--radius-full);
    display: flex;
    height: 100%;
    justify-content: space-between;
    padding: var(--filter-padding-y) var(--filter-padding-x);
    text-align: left;
    width: 100%
}

._ficon {
    color: var(--color-accent-text);
    flex: 0 0 auto;
    margin-left: 1rem;
    transition: transform var(--default-transition)
}

._fdrop[data-open] ._ficon {
    transform: rotate(180deg)
}

._flist {
    background: var(--color-surface);
    border-radius: var(--popover-radius);
    box-shadow: var(--shadow-default);
    display: grid;
    gap: 0;
    left: var(--filter-popover-shift-x, 0rem);
    max-height: 42rem;
    max-inline-size: var(--filter-popover-max-inline, none);
    min-width: max(100%,var(--popover-width));
    overflow-y: auto;
    padding: 1rem;
    position: absolute;
    top: calc(100% + 1.2rem);
    z-index: 20
}

._flist[hidden] {
    display: none
}

._fdrop[data-open] ._flist {
    animation: _dropi 220ms var(--ease-out) both
}

._fitem {
    align-items: center;
    border-radius: var(--popover-row-radius);
    display: flex;
    font-size: var(--font-size-min);
    gap: var(--gap-md);
    justify-content: space-between;
    min-height: var(--popover-row-height);
    padding-inline: 1.5rem;
    text-align: left;
    transition: background-color var(--default-transition),color var(--default-transition);
    white-space: nowrap;
    width: 100%
}

._fitem:hover {
    background: var(--vc-block)
}

._fitem[data-selected] {
    color: var(--color-accent-text)
}

._fcheckrow {
    cursor: pointer;
    position: relative
}

._fcheckinput {
    height: 0.1rem;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    width: 0.1rem
}

._fcheck {
    border: 0.1rem solid var(--color-ink-80);
    border-radius: var(--ui-check-radius);
    color: var(--color-surface);
    display: grid;
    flex: 0 0 var(--ui-check-size);
    height: var(--ui-check-size);
    line-height: 0;
    place-items: center;
    transition: background-color var(--default-transition),border-color var(--default-transition);
    width: var(--ui-check-size)
}

._fcheck svg {
    height: 1.2rem;
    opacity: 0;
    transform: scale(.6);
    transition: opacity var(--default-transition),transform var(--default-transition);
    width: 1.2rem
}

._fcheckrow:hover ._fcheck {
    border-color: var(--color-ink-60)
}

._fcheckrow:has(._fcheckinput:checked) {
    background: var(--vc-block);
    color: var(--color-accent-text)
}

._fcheckinput:checked + ._fcheck {
    background: var(--color-accent);
    border-color: var(--color-accent)
}

._fcheckinput:checked + ._fcheck svg {
    opacity: 1;
    transform: scale(1)
}

._carea {
    padding: 2rem 0 0;
}

._clist {
    align-items: stretch;
    display: grid;
    row-gap: var(--gap-lg);
    column-gap: var(--gap-md);
    grid-auto-flow: row;
    grid-template-columns: repeat(3,minmax(0,1fr));
    justify-items: stretch;
    min-width: 0
}

._ccard {
    background: var(--color-surface);
    contain: paint;
    border-radius: var(--card-radius);
    min-width: 0;
    opacity: 1;
    overflow: hidden;
    position: relative;
    transition: opacity var(--default-transition);
}

._ccard[data-entering] {
    opacity: 0
}

._clink {
    color: inherit;
    cursor: pointer;
    display: grid;
    grid-template-rows: auto auto;
    min-width: 0;
    text-decoration: none;
}

._ccard[data-removing] {
    opacity: 0
}

._cmeta {
    align-content: flex-start;
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    left: 2rem;
    min-width: 0;
    pointer-events: none;
    position: absolute;
    right: calc(2rem + var(--button-height) + var(--catalog-card-meta-safe-gap));
    top: 2rem;
    z-index: 6
}

._cmetax,
._wtagx,
._wktag {
    align-items: center;
    background: var(--components-bg);
    border-radius: calc(var(--catalog-card-meta-height) / 2);
    color: var(--color-surface);
    display: inline-flex;
    flex: 0 0 auto;
    font-size: var(--fs-12);
    font-weight: 400;
    height: var(--catalog-card-meta-height);
    line-height: var(--lh-flat);
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
    padding-inline: var(--catalog-card-meta-padding-x);
    text-overflow: ellipsis;
    white-space: nowrap
}

._cmetaxaccent {
    background: var(--color-accent);
    color: var(--color-on-accent)
}

._cpric {
    font-size: var(--fs-18);

    line-height: var(--lh-title)
}

._cseco {
    align-items: center;
    background: var(--components-bg);
    border-radius: 50%;
    color: var(--color-surface);
    display: flex;
    height: var(--button-height);
    justify-content: center;
    position: absolute;
    right: 2rem;
    top: 2rem;
    transition: background-color var(--default-transition);
    width: var(--button-height);
    z-index: 8
}

._cseco[data-active] {
    background: var(--color-accent);
    color: var(--color-on-accent)
}

._cseco[data-active] svg {
    fill: currentColor
}

._cgall {
    min-width: 0;
    overflow: hidden;
    position: relative;
    width: 100%
}

._cphld {
    align-items: center;
    aspect-ratio: 3/2;
    background: var(--vc-block);
    color: var(--color-ink-60);
    display: flex;
    font-size: var(--font-size-min);
    justify-content: center;
    line-height: var(--lh-body);
    text-align: center;
    width: 100%
}

._cgimg {
    aspect-ratio: 3/2;
    border-radius: var(--card-radius);
    overflow: hidden;
    position: relative;
    width: 100%
}

._cgite {
    background: transparent;
    inset: 0;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    z-index: 1
}

._cgite[data-current] {
    opacity: 1;
    z-index: 2
}

._cgite img {
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%
}

._cgfull {
    inset: 0;
    opacity: 1;
    position: absolute;
    z-index: 2
}

._cgdts {
    align-items: flex-end;
    bottom: 0;
    display: flex;
    gap: var(--gap-sm);
    height: 3rem;
    left: 0;
    padding: 0 2rem 2rem;
    pointer-events: auto;
    position: absolute;
    right: 0;
    width: 100%;
    z-index: 6
}

._cgdot {
    flex: 1 1 0;
    height: 1.8rem;
    min-width: 0;
    position: relative;
    width: auto
}

._cgdot::before {
    background: var(--opacity-white-40);
    border-radius: .2rem;
    bottom: 0;
    content: "";
    height: .4rem;
    left: 0;
    position: absolute;
    right: 0;
    transition: background-color var(--default-transition),opacity var(--default-transition),transform var(--default-transition)
}

._cgdot[data-active]::before {
    background-color: var(--color-surface)
}

._cbotx {
    align-content: start;
    display: grid;
    gap: var(--gap-sm);
    padding: 2rem 0
}

._cflags {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: var(--gap-sm);
    min-height: var(--catalog-card-meta-height)
}

._cpkgx,
._chitx {
    align-items: center;
    border-radius: calc(var(--catalog-card-meta-height) / 2);
    display: inline-flex;
    font-size: var(--fs-12);
    gap: var(--gap-sm);
    height: var(--catalog-card-meta-height);
    line-height: var(--lh-flat);
    padding-inline: var(--catalog-card-meta-padding-x);
    white-space: nowrap;
}

._cpkgx {
    background: var(--vc-block);
    color: var(--color-ink-60);
    text-transform: none
}

._cpkgx svg {
    flex: 0 0 1.2rem;
    height: 1.5rem;
    width: 1.2rem;
}

._chitx {
    background: var(--catalog-card-hit);
    color: var(--color-on-accent);
    text-transform: uppercase
}

._cname,
._wname,
._wkname {
    font-size: var(--fs-18);
    line-height: var(--lh-title)
}

._cname {
    color: var(--color-ink)
}

._empty {
    align-items: center;
    background: var(--color-surface);
    border-radius: 3rem;
    color: var(--color-ink-60);
    display: flex;
    font-size: var(--fs-18);
    justify-content: center;
    min-height: 22rem;
    padding: 3rem;
    text-align: center
}

._moren {
    align-items: center;
    display: flex;
    justify-content: center;
    padding-top: 3rem
}

._moren[hidden] {
    display: none
}

._morbt {
    align-items: center;
    background: var(--color-accent);
    border-radius: var(--button-radius);
    color: var(--color-on-accent);
    display: inline-flex;
    font-size: var(--button-font-size);
    font-weight: var(--button-font-weight);
    height: var(--button-height);
    justify-content: center;
    min-width: 19rem;
    padding-inline: 3rem;
    transition: background-color var(--default-transition)
}

._morbt:hover {
    background: var(--color-accent-hover)
}

._loadr {
    align-items: center;
    background: var(--color-ink);
    border-radius: 2.2rem;
    bottom: 2.2rem;
    color: var(--color-surface);
    display: flex;
    gap: var(--gap-sm);
    height: 4.2rem;
    left: var(--page-gap);
    opacity: 0;
    padding-inline: 1.5rem;
    pointer-events: none;
    position: fixed;
    transform: translateY(calc(100% + 4.4rem));
    width: max-content;
    z-index: 40
}

._loadr[hidden] {
    display: none
}

._loadr[data-show] {
    animation: _ldent 520ms ease-out both
}

._loadr[data-hold] {
    opacity: 1;
    transform: translateY(0)
}

._loadr[data-hide] {
    animation: _ldout 320ms ease-in both
}

._ldtxt {
    font-size: var(--font-size-min);
    line-height: var(--lh-body);
    white-space: nowrap
}

._ldotx {
    animation: _lding 900ms ease-in-out infinite;
    background: var(--vc-block);
    border-radius: 50%;
    display: block;
    height: .5rem;
    transform: translateY(0);
    width: .5rem
}

._ldotx:nth-child(3) {
    animation-delay: 120ms
}

._ldotx:nth-child(4) {
    animation-delay: 240ms
}

@keyframes _ldent {
    0% {
        opacity: 0;
        transform: translateY(calc(100% + 4.4rem))
    }

    62% {
        opacity: 1;
        transform: translateY(-.7rem)
    }

    82% {
        opacity: 1;
        transform: translateY(.2rem)
    }

    100% {
        opacity: 1;
        transform: translateY(0)
    }
}

@keyframes _ldout {
    0% {
        opacity: 1;
        transform: translateY(0)
    }

    100% {
        opacity: 0;
        transform: translateY(calc(100% + 4.4rem))
    }
}

@keyframes _lding {
    0%,
    60%,
    100% {
        opacity: 1;
        transform: translateY(0)
    }

    30% {
        opacity: 1;
        transform: translateY(-.5rem)
    }
}

._empty[hidden] {
    display: none
}

._works {
    background: var(--vc-block);
    border-radius: var(--card-radius);
    overflow: hidden;
    padding-block: var(--section-space);
}

._whead {
    align-items: center;
    display: flex;
    gap: var(--gap-lg);
    justify-content: space-between;
    margin-bottom: var(--section-title-space)
}

._wacts {
    align-items: center;
    display: flex;
    gap: var(--gap-md)
}

._wall {
    align-items: center;
    background: transparent;
    border: 0.2rem solid var(--color-accent);
    border-radius: var(--button-radius);
    color: var(--color-accent-text);
    display: inline-flex;
    font-size: var(--font-size-min);
    height: var(--button-height);
    justify-content: center;
    line-height: var(--lh-flat);
    padding-inline: 2.5rem;
    transition: border-color var(--default-transition),color var(--default-transition)
}

._wall:hover {
    border-color: var(--color-accent-hover);
    color: var(--color-accent-text)
}

._wnavs {
    align-items: center;
    background: var(--color-surface);
    border-radius: calc(var(--nav-hit-size)/2);
    display: flex;
    height: var(--nav-hit-size);
    overflow: hidden;
    position: relative
}

._wnavb {
    align-items: center;
    color: var(--color-accent-text);
    display: flex;
    height: var(--nav-hit-size);
    justify-content: center;
    position: relative;
    touch-action: manipulation;
    transition: opacity var(--default-transition);
    width: var(--nav-hit-size);
    z-index: 1
}

._wnavb:disabled {
    cursor: default;
    opacity: 35%
}

._wview {
    overflow: hidden;
    position: relative;
    width: 100%
}

._wrail {
    display: grid;
    gap: var(--gap-md);
    grid-auto-columns: calc((100% - 6rem)/4);
    grid-auto-flow: column;
    transition: transform 520ms ease;
}

._wpair {
    display: contents
}

._wcard {
    background: var(--color-surface);
    contain: paint;
    border-radius: 3.4rem;
    display: grid;
    grid-template-rows: 24rem 1fr;
    min-height: 42rem;
    min-width: 0;
    overflow: hidden
}

._wimgx {
    background: var(--color-surface);
    border-radius: 3rem;
    height: 24rem;
    overflow: hidden;
    position: relative;
    width: 100%
}

._wimgx[data-empty] {
    background: var(--vc-block)
}

._wimgx img {
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%
}

._wmeta {
    display: flex;
    flex-wrap: wrap;
    gap: var(--gap-sm);
    left: 2rem;
    position: absolute;
    right: 2rem;
    top: 2rem;
    z-index: 2
}

._wtagx svg {
    color: var(--color-accent-text);
    flex: 0 0 auto
}

._wbody {
    display: flex;
    flex-direction: column;
    gap: var(--gap-md);
    justify-content: space-between;
    padding: 3rem
}

._wdate {
    color: var(--color-ink-60);
    font-size: var(--font-size-min);
    line-height: var(--lh-body)
}

._about {
    background: var(--color-surface);
    border-radius: 0;
    padding-block: 0
}

._abhed {
    align-items: center;
    display: flex;
    gap: var(--gap-lg);
    justify-content: space-between;
    margin-bottom: var(--section-title-space)
}

._abcopy {
    max-width: 82rem
}

._ablead {
    color: var(--color-ink-60);
    font-size: var(--fs-18);
    line-height: var(--lh-copy);
    margin-top: 1.4rem;
    max-width: 78rem
}

._abbtn {
    align-items: center;
    background: var(--color-accent);
    border-radius: var(--button-radius);
    color: var(--color-on-accent);
    display: inline-flex;
    font-size: var(--button-font-size);
    font-weight: var(--button-font-weight);
    height: var(--button-height);
    justify-content: center;
    padding-inline: 2.5rem;
    transition: background-color var(--default-transition)
}

._abbtn:hover {
    background: var(--color-accent-hover)
}

._abimg {
    border-radius: 3rem;
    height: 48rem;
    overflow: hidden;
    position: relative
}

._abimg img {
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%
}

._abmsg {
    bottom: 4rem;
    color: var(--color-surface);
    display: grid;
    font-size: var(--fs-56);
    font-weight: 500;
    left: 4rem;
    line-height: var(--lh-display);
    max-width: calc(100% - 8rem);
    pointer-events: none;
    position: absolute;
    text-transform: uppercase;
    width: max-content;
    z-index: 2
}

._abmsg > span {
    display: block;
    opacity: 0;
    transition: opacity .7s var(--ease-out),transform .7s var(--ease-out)
}

._abmsg > span:first-child {
    transform: translateX(-3rem)
}

._abmsg > span:last-child {
    justify-self: start;
    transform: translateX(-3rem)
}

._abimg[data-inview] ._abmsg > span {
    opacity: 1;
    transform: translateX(0)
}

._abcad {
    display: grid;
    gap: var(--gap-md);
    grid-template-columns: minmax(0,1fr) minmax(0,1fr) minmax(0,2fr);
    margin-top: var(--gap-lg)
}

._absta,
._abwid {
    background: var(--vc-block);
    border-radius: 3rem;
    min-height: 23rem
}

._absta {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 3rem 3rem 2.5rem
}

._abnum {
    color: var(--color-accent-text);
    font-size: var(--fs-82);
    font-weight: 400;
    line-height: var(--lh-display)
}

._abnum[data-count-suffix]::after {
    content: attr(data-count-suffix)
}

._ablab {
    font-size: var(--font-size-min);
    line-height: var(--lh-title);
    max-width: 18rem
}

._abwid {
    align-items: end;
    display: grid;
    gap: var(--gap-md);
    grid-template-columns: minmax(0,1fr) minmax(18rem,24rem);
    overflow: hidden;
    padding: 3rem 8rem 3rem 3rem;
    position: relative
}

._abwtx {
    align-self: start;
    max-width: none;
    position: relative;
    z-index: 2
}

._abwtt {
    font-size: var(--fs-24);

    line-height: var(--lh-title);
}

._abwds {
    color: var(--color-ink-60);
    font-size: var(--font-size-min);
    line-height: var(--lh-copy);
    margin-top: 1rem;
    max-width: 42rem
}

._abwim {
    align-self: end;
    bottom: auto;
    height: 17rem;
    justify-self: end;
    left: auto;
    object-fit: contain;
    object-position: right bottom;
    position: relative;
    width: 100%
}

._abarr {
    align-items: center;
    border: 0.1rem solid var(--color-ink-80);
    color: var(--color-accent-text);
    border-radius: 50%;
    display: flex;
    height: 4.4rem;
    justify-content: center;
    position: absolute;
    right: 2.4rem;
    top: 2.4rem;
    transition: border-color var(--default-transition),color var(--default-transition);
    width: 4.4rem;
    z-index: 3
}

._abarr:hover {
    border-color: var(--color-accent-hover);
    color: var(--color-accent-text)
}

._favpg {
    min-height: 54rem
}

._favhd {
    padding-bottom: var(--section-title-space)
}

._favbd {
    background: var(--vc-block);
    min-height: 52rem;
    padding-block: 3rem 8rem
}

._favld {
    align-items: center;
    display: flex;
    gap: var(--gap-sm);
    justify-content: center;
    min-height: 46rem
}

._favld[hidden] {
    display: none
}

._favno {
    align-items: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 46rem;
    text-align: center
}

._favno[hidden],
._favls[hidden],
._favhd[hidden] {
    display: none
}

._favic {
    color: var(--color-ink-60);
    display: block;
    margin-bottom: 3rem;
    overflow: visible
}

._favti {
    font-size: var(--fs-42);

    line-height: var(--lh-title);
}

._favtx {
    color: var(--color-ink-60);
    font-size: var(--fs-20);
    line-height: var(--lh-title);
    margin-top: 2.5rem;
    max-width: 62rem;
    text-wrap: balance
}

._favbt {
    align-items: center;
    background: var(--color-accent);
    border-radius: var(--button-radius);
    color: var(--color-on-accent);
    display: inline-flex;
    font-size: var(--button-font-size);
    font-weight: var(--button-font-weight);
    height: var(--button-height);
    justify-content: center;
    margin-top: 4.5rem;
    min-width: 23.8rem;
    padding-inline: 3rem;
    transition: background-color var(--default-transition)
}

._favbt:hover {
    background: var(--color-accent-hover)
}

._cctrl {
    align-items: center;
    display: flex;
    gap: var(--gap-sm)
}

._reset {
    border: 0.1rem solid var(--color-ink-80);
    border-radius: 2.4rem;
    color: var(--color-ink);
    font-size: var(--button-font-size);
    font-weight: var(--button-font-weight);
    height: var(--button-height);
    padding-inline: 2rem;
    transition: border-color var(--default-transition),color var(--default-transition),opacity var(--default-transition)
}

._reset:hover:not(:disabled) {
    border-color: var(--color-accent-hover);
    color: var(--color-accent-text)
}

._reset:disabled {
    cursor: default;
    opacity: 40%;
}

._pwait {
    background: var(--vc-block);
    min-height: 52rem;
    padding-block: 4rem 9rem
}

._pwrap {
    display: grid;
    gap: var(--gap-md)
}

._pback {
    color: var(--color-accent-text);
    font-size: var(--font-size-min);
    justify-self: start;
    transition: color var(--default-transition)
}

._pback:hover {
    color: var(--color-accent-text)
}

._ptitl {
    max-width: 90rem
}

._ptext {
    color: var(--color-ink-60);
    font-size: var(--fs-18);
    line-height: var(--lh-body)
}

._scien {
    background: var(--color-surface);
    padding-block: 0
}

._scttl {
    margin-bottom: var(--section-title-space)
}

._sctab {
    align-items: stretch;
    border: 0.1rem solid var(--vc-block);
    border-radius: 3rem;
    display: grid;
    gap: var(--gap-sm);
    grid-auto-columns: minmax(24rem,1fr);
    grid-auto-flow: column;
    margin-bottom: 2.8rem;
    overflow-x: auto;
    padding: var(--control-group-pad);
    scroll-snap-type: x proximity
}

._scbtn {
    align-items: center;
    border-radius: 2.6rem;
    color: var(--color-ink);
    cursor: pointer;
    display: flex;
    font-size: var(--font-size-min);
    font-weight: 400;
    justify-content: center;
    min-height: 5.2rem;
    min-width: 0;
    padding: 1rem 2.5rem;
    position: relative;
    scroll-snap-align: start;
    text-align: center;
    transition: background-color var(--default-transition),color var(--default-transition);
    white-space: nowrap
}

._scbtn + ._scbtn::before {
    background: var(--vc-block);
    content: "";
    height: 2.2rem;
    left: -.3rem;
    position: absolute;
    top: 50%;
    translate: 0 -50%;
    width: 0.1rem
}

._scbtn[data-active] {
    background: var(--color-accent);
    color: var(--color-on-accent);
}

._scbtn[data-active]::before,
._scbtn[data-active] + ._scbtn::before {
    opacity: 0
}

._scbtn:hover:not([data-active]) {
    background: var(--vc-block)
}

._scgrd {
    display: grid;
    gap: var(--gap-md);
    grid-template-columns: minmax(0,1.08fr) minmax(0,1.42fr)
}

._sctxt,
._scimg {
    border-radius: 3rem;
    min-height: 48rem;
    overflow: hidden
}

._sctxt {
    background: var(--vc-block);
    display: flex;
    flex-direction: column;
    gap: var(--gap-lg);
    justify-content: flex-start;
    padding: 4rem
}

._sch3x {
    font-size: var(--fs-42);

    line-height: var(--lh-tight);
    transition: opacity var(--default-transition),transform var(--default-transition)
}

._sctxt h3 {
    max-width: 56rem
}

._scpar {
    font-size: var(--fs-18);
    line-height: var(--lh-copy);
    max-width: 56rem;
    transition: opacity var(--default-transition),transform var(--default-transition)
}

._scimg {
    background: var(--vc-block);
    position: relative
}

._scpic {
    display: block;
    height: 48rem;
    inset: 0;
    object-fit: cover;
    opacity: 0;
    position: absolute;
    transition: opacity 220ms var(--ease-out);
    width: 100%
}

._scpic[data-active] {
    opacity: 1
}

._scien[data-changing] ._sch3x,
._scien[data-changing] ._scpar,
._scien[data-changing] ._sch3x,
._scien[data-changing] ._scpar {
    transform: translateY(.35rem)
}

._scien[data-entering] ._sch3x {
    animation: _fadei .4s var(--ease-out) both
}

._scien[data-entering] ._scpar {
    animation: _fadei .4s var(--ease-out) .3s both
}

._prjdt {
    background: var(--color-surface);
    border-radius: 4rem;
    min-height: 70rem;
    padding: 0 0 7rem
}

._pgrid {
    align-items: start;
    display: grid;
    gap: calc(var(--gap-md) * 2);
    grid-template-columns: minmax(0,1fr) 40rem;
}

._pview {
    display: block;
    height: calc(100vh - var(--head-size) - var(--hero-top) - var(--hero-bottom-gap));
    height: calc(100vh - var(--head-size) - var(--hero-top) - var(--hero-bottom-gap)); height: calc(100svh - var(--head-size) - var(--hero-top) - var(--hero-bottom-gap));
    isolation: isolate;
    min-height: 56rem;
    min-width: 0;
    position: sticky;
    top: calc(var(--head-size) + var(--hero-top))
}

._pimag {
    background: transparent;
    border-radius: 3rem;
    height: 100%;
    min-width: 0;
    overflow: hidden;
    position: relative
}

._pimag::after {
    background: linear-gradient(180deg,transparent 58%,rgb(var(--rgb-deep) / 12%) 72%,rgb(var(--rgb-deep) / 48%) 100%);
    bottom: 0;
    content: "";
    height: 24rem;
    left: 0;
    pointer-events: none;
    position: absolute;
    right: 0;
    z-index: 2
}

._pimgs {
    cursor: zoom-in;
    display: grid;
    height: 100%;
    min-height: 0;
    overflow: hidden;
    position: relative
}

._psetx {
    border-radius: 3rem;
    display: grid;
    grid-area: 1/1;
    min-height: 0;
    min-width: 0;
    overflow: hidden
}

._psetx[hidden] {
    display: none
}

._pitem {
    grid-area: 1/1;
    opacity: 0;
    pointer-events: none;
    transition: opacity var(--image-transition)
}

._pitem[data-current] {
    opacity: 1;
    pointer-events: auto
}

._pitem img {
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%
}

._pmediaarw {
    align-items: center;
    background: rgb(var(--rgb-ink) / 68%);
    border: 0;
    border-radius: 50%;
    color: var(--color-surface);
    display: flex;
    height: var(--product-media-arrow-hit);
    justify-content: center;
    bottom: 0;
    margin-block: auto;
    position: absolute;
    top: 0;
    transition: background-color var(--default-transition);
    width: var(--product-media-arrow-hit);
    z-index: 5
}

._pmediaarw ._arwic, ._fgall :is(._fprev, ._fnext) ._arwic { color:var(--white); }

._pmediaarw:hover {
    background: rgb(var(--rgb-ink) / 82%)
}

._pmediaarw-prev {
    left: var(--gap-md)
}

._pmediaarw-next {
    right: var(--gap-md)
}

._psetx[data-product-set="plan"] ._pitem,
._psetx[data-product-set="scheme"] ._pitem {
    height: 100%;
    min-height: 0;
    min-width: 0;
    overflow: hidden;
    position: relative;
    width: 100%
}

._psetx[data-product-set="plan"] ._pitem {
    mix-blend-mode: multiply;
    transition: none
}

._psetx[data-product-set="plan"] ._pitem img,
._psetx[data-product-set="scheme"] ._pitem img {
    background: transparent;
    height: 100%;
    inset: 0;
    max-height: none;
    max-width: none;
    object-fit: contain;
    object-position: center;
    position: absolute;
    width: 100%
}

._psetx[data-product-set="scheme"] ._pitem img {
    mix-blend-mode: multiply
}

._pimag[data-product-view-mode="plan"],
._pimag[data-product-view-mode="scheme"] {
    background: var(--vc-block)
}

._pimag[data-product-view-mode="plan"]::after,
._pimag[data-product-view-mode="scheme"]::after {
    display: none
}

._pimag[data-product-view-mode="plan"] ._pimgs,
._pimag[data-product-view-mode="scheme"] ._pimgs {
    height: auto;
    left: 0;
    margin: 0;
    position: absolute;
    right: 0
}

._pimag[data-product-view-mode="plan"] ._pimgs {
    bottom: var(--product-plan-bottom-gap)
}

._pimag[data-product-view-mode="scheme"] ._pimgs {
    bottom: var(--product-drawing-bottom-gap)
}

._pimag[data-product-view-mode="plan"] ._pimgs,
._pimag[data-product-view-mode="scheme"] ._pimgs {
    top: var(--product-drawing-top-gap)
}

._pimag[data-product-view-mode="plan"] ._psttx span,
._pimag[data-product-view-mode="scheme"] ._psttx span {
    color: rgb(var(--rgb-ink) / 68%)
}

._pimag[data-product-view-mode="plan"] ._psttx strong,
._pimag[data-product-view-mode="scheme"] ._psttx strong {
    color: var(--color-ink)
}

._pactions {
    align-items: center;
    display: flex;
    gap: var(--product-action-gap);
    position: absolute;
    right: 2rem;
    top: 2rem;
    z-index: 6
}

._pzoom,
._pfavx {
    align-items: center;
    background: rgb(var(--rgb-ink) / 76%);
    border: 0;
    border-radius: 50%;
    color: var(--color-surface);
    display: flex;
    height: var(--product-action-hit);
    justify-content: center;
    position: static;
    transition: background-color var(--default-transition),color var(--default-transition);
    width: var(--product-action-hit)
}

._pzoom:hover,
._pfavx:hover {
    background: rgb(var(--rgb-ink) / 88%)
}

._pfavx[data-active] {
    background: var(--color-accent);
    color: var(--color-on-accent)
}

._pfavx[data-active]:hover {
    background: var(--color-accent-hover)
}

._pfavx[data-active] svg {
    fill: currentColor
}

._pctrl,
._pfloorctrl {
    align-items: flex-start;
    background: rgb(var(--rgb-ink) / 68%);
    border: 0;
    border-radius: var(--product-segmented-radius);
    display: flex;
    justify-content: flex-start;
    left: 2rem;
    max-width: calc(100% - 14rem);
    padding: var(--product-segmented-pad);
    position: absolute;
    z-index: 5
}

._pctrl {
    top: 2rem
}

._pfloorctrl {
    top: calc(2rem + var(--product-segmented-height) + var(--product-segmented-pad) + var(--product-segmented-pad) + var(--gap-sm))
}

._pfloorctrl-first {
    top: 2rem
}

._pfloorctrl[hidden],
._pimag:not([data-product-view-mode="plan"]) ._pfloorctrl {
    display: none
}

._ptabs,
._pfloors {
    align-items: center;
    display: flex;
    gap: 0
}

._ptabx,
._pfloorx {
    align-items: center;
    border-radius: var(--product-segmented-item-radius);
    color: var(--color-surface);
    display: flex;
    font-family: var(--button-font);
    font-size: var(--fs-12);
    font-weight: var(--button-font-weight);
    height: var(--product-segmented-height);
    justify-content: center;
    line-height: var(--lh-flat);
    padding: 0 1.5rem;
    transition: background-color var(--default-transition),color var(--default-transition)
}

._ptabx:hover,
._pfloorx:hover {
    background: rgb(var(--rgb-surface) / 12%)
}

._ptabx[data-active],
._pfloorx[data-active] {
    background: var(--color-accent);
    color: var(--color-on-accent)
}

._pstat {
    align-items: stretch;
    bottom: 2.2rem;
    container-type: inline-size;
    display: block;
    left: 2rem;
    overflow: hidden;
    position: absolute;
    right: 2rem;
    z-index: 6
}

._pstatclip {
    min-width: 0;
    overflow: hidden
}

._pstatcar ._pstatclip {
    margin: 0 3.8rem
}

._pstatrack {
    align-items: stretch;
    display: flex;
    min-width: 0;
    transform: translate3d(0,0,0);
    transition: transform 440ms var(--ease-out)
}

._pstatrack[data-instant] {
    transition: none
}

._psttx {
    align-content: center;
    display: grid;
    flex: 0 0 33.333333%;
    gap: .5rem;
    justify-items: center;
    min-width: 0;
    padding: .4rem .8rem;
    text-align: center
}

._pstat:not(._pstatcar) ._psttx {
    flex-grow: 1
}

._psttx span {
    color: var(--opacity-white-80);
    display: block;
    font-size: var(--fs-12);
    line-height: var(--lh-title);
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    width: 100%
}

._psttx strong {
    color: var(--color-surface);
    font-size: clamp(var(--fs-24), 3.8vw, var(--fs-42)); font-size: clamp(var(--fs-24), 3.8cqw, var(--fs-42));
    font-weight: 400;
    line-height: .95;
    max-width: 100%;
    min-width: 0;
    white-space: nowrap
}

._pstarw {
    align-items: center;
    background: rgb(var(--rgb-ink) / 68%);
    border: 0;
    border-radius: 1.2rem;
    color: var(--color-surface);
    display: flex;
    height: 100%;
    justify-content: center;
    margin: 0;
    position: absolute;
    top: 0;
    transition: background-color var(--default-transition);
    width: 3rem;
    z-index: 2
}

._pstarw:hover {
    background: rgb(var(--rgb-ink) / 82%)
}

._pstarw svg {
    height: 2rem;
    width: 2rem
}

._pstarw ._pstico {
    transform-box: view-box;
    transform-origin: 50% 50%;
    transition: transform var(--default-transition)
}

._pstprev ._pstico {
    transform: rotate(90deg)
}

._pstnext ._pstico {
    transform: rotate(-90deg)
}

._pstprev {
    left: 1.2rem
}

._pstnext {
    right: 1.2rem
}

._pinfo {
    display: flex;
    justify-self: end;
    max-width: 100%;
    min-width: 0;
    width: 40rem
}

._pbody {
    display: grid;
    gap: 0;
    min-width: 0;
    width: 100%
}

._pbody > * + * {
    margin-top: 2rem
}

._ptopl {
    display: grid;
    gap: var(--gap-sm);
    min-width: 0
}

._ptopl + ._ppric {
    margin-top: 3rem;
}

._pmeta {
    align-items: center;
    color: var(--color-ink);
    display: inline-flex;
    font-size: var(--font-size-min);
    gap: var(--gap-sm);
    line-height: var(--lh-body);
    transition: color var(--default-transition)
}

._pmeta svg {
    flex: 0 0 auto
}

._pmeta:hover {
    color: var(--color-accent-text)
}

._pname {
    font-size: var(--fs-24);
    line-height: var(--lh-title);
    margin: 0;
}

._ppric {
    background: var(--color-surface);
    display: grid;
    gap: 1.4rem;
    padding-bottom: 1.4rem;
    position: sticky;
    top: calc(var(--head-size) + var(--hero-top));
    z-index: 8
}

._pprrow {
    align-items: baseline;
    display: flex;
    justify-content: flex-start;
    min-width: 0
}

._ppric strong {
    flex: 0 0 auto;
    font-size: var(--fs-24);
    font-weight: 400;
    line-height: var(--lh-flat);
    white-space: nowrap
}

._pwhat {
    color: var(--color-accent-text);
    align-items: center;
    background: transparent;
    border: 0;
    display: inline-flex;
    font-family: var(--button-font);
    font-size: var(--font-size-min);
    gap: var(--gap-sm);
    justify-content: flex-start;
    line-height: var(--lh-copy);
    min-height: 3rem;
    padding: 0;
    text-align: left;
    transition: color var(--default-transition);
    width: fit-content
}

._pwhat:hover,
._pwhat:focus-visible {
    color: var(--color-accent-text)
}

._hintx {
    color: var(--color-accent-text);
    flex: 0 0 auto;
    height: 2.4rem;
    width: 2.4rem
}

._pwhat ._hintx {
    height: 2rem;
    width: 2rem;
    color: var(--color-ink-60);
}

._pcsec {
    background: var(--vc-block);
    border-radius: 2rem;
    display: grid;
    gap: 1rem;
    padding: 2rem 2.2rem
}

._pcstl {
    color: var(--color-ink);
    font-size: var(--fs-16);
    font-weight: 500;
    line-height: var(--lh-title)
}

._pcitm {
    color: var(--color-ink);
    font-size: var(--fs-14);
    line-height: var(--lh-copy);
    padding-left: 1.6rem;
    position: relative
}

._pcitm::before {
    background: var(--color-accent);
    border-radius: 50%;
    content: "";
    height: 0.5rem;
    left: 0;
    position: absolute;
    top: .7em;
    width: 0.5rem
}

._pogrx {
    display: grid;
    gap: 1.5rem;
    min-width: 0
}

._pogrx[hidden],
._poptn[hidden] {
    display: none
}

._ppkgs ._poptn {
    min-height: 0
}

._ppkgone ._poptn {
    cursor: default
}

._pogtl {
    font-size: var(--fs-18);
    font-weight: 500;
    line-height: var(--lh-title);
}

._poptn {
    border: 0.1rem solid var(--color-ink-90);
    border-radius: 2rem;
    cursor: pointer;
    display: block;
    min-height: 0;
    padding: 1.6rem 4.8rem 1.6rem 1.6rem;
    position: relative;
    transition: border-color var(--default-transition),background-color var(--default-transition)
}

._ppkgone ._potxt {
    padding-right: 0
}

._pkglock {
    color: var(--color-accent-text);
    pointer-events: none;
    position: absolute;
    right: 1.8rem;
    top: 1.7rem;
    transform-origin: center
}

._poptn[data-lock-animate] ._pkglock {
    animation: _pkglockshake .42s ease both
}

@keyframes _pkglockshake {
    0% {
        transform: translateX(0)
    }

    20% {
        transform: translateX(-.3rem)
    }

    40% {
        transform: translateX(.3rem)
    }

    60% {
        transform: translateX(-.2rem)
    }

    80% {
        transform: translateX(.2rem)
    }

    100% {
        transform: translateX(0)
    }
}

._pfound ._poptn:not(:has(._poprc)) ._potxt {
    padding-right: 0
}

._poptn > ._potxt::after {
    border: 0.2rem solid transparent;
    border-radius: inherit;
    content: "";
    inset: -0.1rem;
    pointer-events: none;
    position: absolute;
    transition: border-color var(--default-transition)
}

._poptn:hover {
    border-color: var(--color-ink-60)
}

._poptn > ._porad:checked ~ ._potxt::after,
._poptn > ._pockx:checked ~ ._potxt::after {
    border-color: var(--color-accent)
}

._poptn > ._rmark,
._poptn > ._cmark {
    position: absolute;
    right: 1.8rem;
    top: 1.6rem
}

._potxt {
    border-radius: inherit;
    display: grid;
    gap: 0.8rem;
    min-width: 0;
    width: 100%
}

._ponam {
    font-size: var(--font-size-min);
    line-height: var(--lh-body);
    font-weight: 500;
}

._podes {
    font-size: var(--fs-12);
    line-height: var(--lh-body);
    overflow-wrap: break-word;
    width: 100%
}

._pdep {
    color: var(--color-ink-60);
    display: inline-flex;
    font-size: var(--fs-12);
    line-height: var(--lh-body);
}

._poprc {
    color: var(--color-accent);
    display: block;
    font-size: var(--font-size-min);
    line-height: var(--lh-body);
    white-space: nowrap;
    font-weight: 500;
}

._pbook {
    align-items: center;
    background: var(--color-accent);
    border-radius: 3rem;
    color: var(--color-on-accent);
    display: flex;
    font-family: var(--button-font);
    font-size: var(--fs-16);
    font-weight: var(--button-font-weight);
    height: var(--button-height);
    justify-content: center;
    margin-top: 0;
    transition: background-color var(--default-transition);
    width: 100%
}

._pbook:hover {
    background: var(--color-accent-hover)
}

._pbook:active {
    background: var(--color-accent)
}

._pnote {
    font-size: var(--fs-12);
    line-height: var(--lh-body);
    overflow-wrap: break-word;
}

._pnotes {
    display: grid;
    gap: var(--gap-sm)
}

._pnotei {
    align-items: flex-start;
    background: var(--vc-block);
    border-radius: 1.6rem;
    display: flex;
    gap: 1.6rem;
    padding: 1.6rem;
}

._pnoteico {
    align-items: center;
    border-radius: 50%;
    color: var(--color-ink-60);
    display: inline-flex;
    justify-content: center;
    margin-top: -.1rem;
    width: 3rem;
}

._pnoteico svg {
    display: block;
    height: 2.4rem;
    width: 2.4rem
}

._pnotetx {
    flex: 1 1 auto;
    min-width: 0;
}

._pkwrp {
    width: min(88rem,calc(100vw - 14rem))
}

._pkwrp ._mshel {
    padding: 0
}

._pkcnt {
    display: grid;
    gap: 0;
    padding: 4rem 4.5rem 4.5rem
}

._pkbody {
    display: grid;
    gap: 1.2rem;
    margin-top: 2rem
}

._pkhed {
    align-items: baseline;
    border-bottom: 0.1rem solid var(--color-ink-90);
    display: flex;
    gap: var(--gap-md);
    justify-content: space-between;
    padding-bottom: 2rem
}

._pktit {
    color: var(--color-ink);
    font-size: var(--fs-30);
    font-weight: 500;
    line-height: var(--lh-title)
}

._pkdes {
    color: var(--color-accent-text);
    flex: 0 0 auto;
    font-size: var(--fs-16);
    line-height: var(--lh-body);
    white-space: nowrap
}

._fgall {
    background: var(--color-surface);
    display: grid;
    inset: 0;
    opacity: 0;
    position: fixed;
    transition: opacity var(--default-transition);
    z-index: 240
}

._fgall[hidden] {
    display: none
}

._fgall[data-open] {
    opacity: 1
}

._fwrap {
    display: grid;
    grid-template-rows: auto minmax(0,1fr) auto;
    height: 100vh; height: 100dvh;
    min-height: 0;
    opacity: 0;
    transition: opacity var(--default-transition)
}

._fgall[data-open] ._fwrap {
    opacity: 1
}

._fshed {
    align-items: center;
    display: grid;
    gap: var(--gap-md);
    grid-template-columns: 1fr auto 1fr;
    padding: 2.5rem 3rem;
    position: relative
}

._ftabs {
    align-items: center;
    background: rgb(var(--rgb-ink) / 68%);
    border: 0;
    border-radius: 2.8rem;
    display: flex;
    gap: 0;
    grid-column: 2;
    padding: var(--control-group-pad)
}

._ftabx {
    align-items: center;
    border-radius: var(--button-radius);
    color: var(--color-surface);
    display: flex;
    font-family: var(--button-font);
    font-size: var(--button-font-size);
    font-weight: var(--button-font-weight);
    height: var(--button-height);
    justify-content: center;
    line-height: var(--lh-flat);
    padding: 0 2.4rem;
    transition: background-color var(--default-transition),color var(--default-transition)
}

._ftabx:hover {
    background: rgb(var(--rgb-surface) / 12%)
}

._ftabx[data-active] {
    background: var(--color-accent);
    color: var(--color-on-accent)
}

._fcoun {
    color: var(--color-ink-60);
    font-size: var(--font-size-min);
    grid-column: 1;
    grid-row: 1;
    justify-self: start
}

._fclos {
    align-items: center;
    background: rgb(var(--rgb-ink) / 68%);
    border: 0;
    border-radius: 50%;
    color: var(--color-surface);
    display: flex;
    grid-column: 3;
    height: 5.2rem;
    justify-content: center;
    justify-self: end;
    transition: background-color var(--default-transition);
    width: 5.2rem
}

._fclos:hover {
    background: rgb(var(--rgb-ink) / 82%)
}

._fbody {
    align-items: center;
    display: grid;
    gap: var(--gap-md);
    grid-template-columns: 6.4rem minmax(0,1fr) 6.4rem;
    min-height: 0;
    padding: 0 3rem 1.5rem
}

._fbody[data-single] {
    grid-template-columns: minmax(0,1fr)
}

._fprev,
._fnext {
    align-items: center;
    background: rgb(var(--rgb-ink) / 68%);
    border: 0;
    border-radius: 50%;
    color: var(--color-surface);
    display: flex;
    height: var(--nav-hit-size-lg);
    justify-content: center;
    touch-action: manipulation;
    transition: background-color var(--default-transition);
    width: var(--nav-hit-size-lg)
}

._fprev:hover,
._fnext:hover {
    background: rgb(var(--rgb-ink) / 82%)
}

._fview {
    align-items: center;
    background: transparent;
    border-radius: 0;
    display: flex;
    height: 100%;
    justify-content: center;
    min-height: 0;
    overflow: visible;
    padding: 0
}

._fimag {
    border-radius: 3rem;
    display: block;
    height: auto;
    max-height: 100%;
    max-width: 100%;
    object-fit: contain;
    transition: opacity var(--image-transition);
    width: auto
}

._fgall ._fview { position:relative; }
._fimag[data-full-image] { width:100%; height:100%; min-width:0; min-height:0; transition:none; }
._fimag[data-full-image][hidden] { display:none; }
._fstatus {
    position:absolute;
    inset:auto 0 0;
    margin:0;
    padding:1.2rem;
    border-radius:1.2rem;
    background:var(--color-surface);
    color:var(--color-ink);
    font-size:1.4rem;
    line-height:1.4;
    text-align:center;
}

._fimag[data-load] {
    opacity: 0
}

._fdots {
    align-items: center;
    display: flex;
    gap: var(--control-dot-gap);
    justify-content: center;
    min-height: 5rem;
    padding: 0 3rem 2rem
}

._fdots [data-full-dot] {
    appearance: none;
    background: var(--color-ink-80);
    border: 0;
    border-radius: 50%;
    display: block;
    flex: 0 0 var(--control-dot-size);
    height: var(--control-dot-size);
    padding: 0;
    transition: background-color var(--default-transition);
    width: var(--control-dot-size)
}

._fdots [data-full-dot][data-active] {
    background: var(--color-accent)
}

._fprev:disabled,
._fnext:disabled {
    cursor: default;
    opacity: 35%
}

._pcsec + ._pcsec {
    border-top: 0;
    padding-top: 2rem
}

._slinx {
    display: block;
    width: 100%
}

._axsec {
    background: var(--color-surface);
    padding-bottom: var(--page-gap)
}

._axcat {
    padding-bottom: var(--page-gap)
}

._axcat ._axhd {
    margin-bottom: var(--section-title-space)
}

._axbar {
    align-items: center;
    display: flex;
    gap: var(--gap-md);
    justify-content: space-between
}

._axflt,
._wkflt {
    align-items: center;
    border: 0.1rem solid var(--color-ink-90);
    border-radius: 3rem;
    display: inline-flex;
    height: var(--button-height);
    padding: var(--control-group-pad)
}

._axfb,
._wkfb {
    align-items: center;
    border-radius: 2.6rem;
    color: var(--color-ink-60);
    display: inline-flex;
    font-family: var(--button-font);
    font-size: var(--fs-16);
    font-weight: 500;
    height: 100%;
    justify-content: center;
    padding: 0 2.3rem;
    position: relative;
    transition: background-color var(--default-transition),color var(--default-transition)
}

._axfb + ._axfb::before,
._wkfb + ._wkfb::before {
    background: var(--color-ink-90);
    content: "";
    height: 2.4rem;
    left: 0;
    opacity: 1;
    position: absolute;
    top: 50%;
    transform: translate(-50%,-50%);
    transition: opacity var(--default-transition);
    width: 0.1rem
}

._axfb[aria-pressed="true"],
._wkfb[aria-pressed="true"] {
    background: var(--color-accent);
    color: var(--color-on-accent)
}

._axfb[aria-pressed="true"]::before,
._axfb[aria-pressed="true"] + ._axfb::before,
._wkfb[aria-pressed="true"]::before,
._wkfb[aria-pressed="true"] + ._wkfb::before {
    opacity: 0
}

._axcta {
    background: var(--color-accent);
    border-radius: var(--button-radius);
    color: var(--color-on-accent);
    font-family: var(--button-font);
    font-size: var(--font-size-min);
    font-weight: var(--button-font-weight);
    height: var(--button-height);
    padding: 0 2.4rem;
    transition: background-color var(--default-transition)
}

._axcta:hover {
    background: var(--color-accent-hover)
}

._axarea {
    margin-top: 4rem
}

._axcat ._axarea {
    background: transparent;
    padding-block: 0
}

._axslide ._axarea {
    margin-top: 0
}

._axnav {
    align-items: center;
    background: var(--color-surface);
    border: 0.1rem solid var(--color-ink-90);
    border-radius: calc(var(--nav-hit-size)/2);
    display: flex;
    height: var(--nav-hit-size);
    overflow: hidden;
    position: relative
}

._axnb {
    align-items: center;
    color: var(--color-accent-text);
    display: flex;
    height: var(--nav-hit-size);
    justify-content: center;
    position: relative;
    touch-action: manipulation;
    transition: opacity var(--default-transition);
    width: var(--nav-hit-size);
    z-index: 1
}

._axnb:disabled {
    cursor: default;
    opacity: 35%
}

._axview {
    position: relative;
    width: 100%
}

._axslide ._axview {
    overflow: hidden
}

._axrail {
    display: grid;
    gap: var(--gap-md)
}

._axcat ._axrail {
    gap: var(--gap-md);
    grid-template-columns: repeat(4,minmax(0,1fr))
}

._axslide ._axrail {
    grid-auto-columns: calc((100% - 4.5rem)/4);
    grid-auto-flow: column;
    transition: transform 520ms ease;
}

._axcard {
    background: var(--vc-block);
    border-radius: 3rem;
    color: inherit;
    display: flex;
    flex-direction: column;
    min-height: 43.5rem;
    min-width: 0;
    overflow: hidden;
    padding-bottom: 2.4rem
}

._axcard[hidden] {
    display: none
}

._aximg {
    aspect-ratio: 3/2;
    background: var(--color-surface);
    border-radius: 3rem;
    overflow: hidden;
    position: relative;
    width: 100%
}

._aximg[data-empty],
._pxpic[data-empty] {
    background: var(--color-warning)
}

._aximg img {
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%
}

._axmeta {
    display: flex;
    flex-wrap: wrap;
    gap: var(--gap-sm);
    padding: 2rem 2.2rem 0
}

._axstate {
    align-items: center;
    background: var(--color-surface);
    border-radius: 1.4rem;
    color: var(--color-accent-text);
    display: inline-flex;
    font-size: var(--font-size-min);
    gap: var(--gap-sm);
    line-height: var(--lh-body);
    padding: .5rem .9rem
}

._axstate[data-completed] {
    color: var(--color-ink-60)
}

._axclock,
._pxclock {
    background: currentColor;
    border-radius: 50%;
    display: inline-block;
    flex: 0 0 .8rem;
    height: .8rem;
    width: .8rem
}

._axname {
    font-size: var(--fs-20);
    line-height: var(--lh-title);
    padding: 1.8rem 2.2rem 1rem
}

._axtext {
    color: var(--color-ink-60);
    font-size: var(--font-size-min);
    line-height: var(--lh-body);
    padding-inline: 2.2rem
}

._axdate {
    color: var(--color-ink-60);
    font-size: var(--font-size-min);
    line-height: var(--lh-body);
    margin-top: auto;
    padding: 2rem 2.2rem 0
}

._pxdt {
    background: transparent;
    border: 0;
    border-radius: 0;
    padding: 0
}

._pxlay {
    align-items: start;
    display: grid;
    gap: var(--gap-lg);
    grid-template-columns: minmax(0,1fr) 38rem
}

._pxbody {
    min-width: 0;
    width: 100%
}

._pxmeta {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: var(--gap-md);
    margin: 0 0 2.4rem
}

._pxdate {
    align-items: center;
    background: var(--vc-block);
    border-radius: 1.4rem;
    color: var(--color-ink-60);
    display: inline-flex;
    font-size: var(--font-size-min);
    gap: var(--gap-sm);
    line-height: var(--lh-body);
    padding: .6rem 1rem
}

._pxdate ._pxclock {
    color: var(--color-accent-text)
}

._pxterm {
    color: var(--color-ink-60);
    font-size: var(--font-size-min);
    line-height: var(--lh-body)
}

._pxterm time {
    color: inherit
}

._pxttl {
    font-size: var(--fs-42);
    font-weight: 500;
    line-height: var(--lh-flat);
    margin: 0
}

._pxmain {
    min-width: 0
}

._pxmedia {
    margin-bottom: 3rem;
    min-width: 0;
    position: relative
}

._pxpic {
    aspect-ratio: 19 / 10;
    background: var(--vc-block);
    border-radius: 3rem;
    min-width: 0;
    overflow: hidden;
    position: relative;
    width: 100%
}

._pxpic img {
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%
}

._pxnavx {
    align-items: center;
    background: rgb(var(--rgb-surface) / 94%);
    border-radius: 50%;
    color: var(--color-accent-text);
    bottom: 0;
    display: flex;
    height: 5.2rem;
    justify-content: center;
    margin-block: auto;
    position: absolute;
    top: 0;
    transition: background-color var(--default-transition),color var(--default-transition);
    width: 5.2rem;
    z-index: 3
}

._pxnavx[data-prev] {
    left: 1.8rem
}

._pxnavx[data-next] {
    right: 1.8rem
}

._pxnavx:hover {
    background: var(--color-accent);
    color: var(--color-on-accent)
}

._pxcopy {
    color: var(--color-ink-60);
    font-size: var(--fs-16);
    font-weight: 400;
    line-height: var(--lh-title);
    margin-bottom: 3rem;
    overflow-wrap: anywhere
}

._pxacts {
    display: flex;
    gap: var(--gap-sm)
}

._pxshare {
    align-items: center;
    background: var(--vc-block);
    border-radius: var(--button-radius);
    display: inline-flex;
    gap: var(--gap-sm);
    min-height: var(--button-height);
    padding: 0 1.8rem;
    position: relative;
    transition: background-color var(--default-transition),color var(--default-transition)
}

._pxshare:hover {
    background: var(--color-accent);
    color: var(--color-on-accent)
}

._pxshare::after {
    background: var(--color-ink);
    border-radius: 1rem;
    bottom: calc(100% + .8rem);
    color: var(--color-surface);
    content: "Ссылка скопирована";
    font-size: var(--font-size-min);
    left: 50%;
    opacity: 0;
    padding: .7rem 1rem;
    pointer-events: none;
    position: absolute;
    transform: translate(-50%,.4rem);
    transition: opacity var(--default-transition),transform var(--default-transition);
    white-space: nowrap
}

._pxshare[data-copied]::after {
    opacity: 1;
    transform: translate(-50%,0)
}

._pxaside {
    align-self: stretch;
    min-width: 0
}

._pxstick {
    position: sticky;
    top: calc(var(--head-size) + 1.6rem)
}

._pxsttl {
    font-size: var(--fs-20);
    font-weight: 500;
    line-height: var(--lh-title);
    margin-bottom: var(--gap-md)
}

._pxlist {
    display: grid;
    gap: var(--gap-sm)
}

._pxcard {
    align-items: center;
    background: var(--vc-block);
    border-radius: 2.4rem;
    color: inherit;
    display: grid;
    gap: 1.4rem;
    grid-template-columns: 10.8rem minmax(0,1fr);
    min-height: 9.2rem;
    padding: .8rem;
    transition: transform var(--default-transition),background-color var(--default-transition)
}

._pxcard:hover {
    background: var(--color-ink-90);
    transform: translateY(-.2rem)
}

._pxthumb {
    aspect-ratio: 4 / 3;
    background: var(--color-warning);
    border-radius: 1.8rem;
    overflow: hidden
}

._pxthumb img {
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%
}

._pxinfo {
    min-width: 0;
    padding-right: .6rem
}

._pxcttl {
    font-size: var(--fs-16);
    line-height: var(--lh-title)
}

._pxuntil {
    color: var(--color-ink-60);
    font-size: var(--fs-12);
    line-height: var(--lh-body);
    margin-top: .6rem
}

._pxall {
    align-items: center;
    border: 0.2rem solid var(--color-accent);
    border-radius: var(--button-radius);
    color: var(--color-accent-text);
    display: flex;
    font-family: var(--button-font);
    font-size: var(--font-size-min);
    font-weight: var(--button-font-weight);
    height: var(--button-height);
    justify-content: center;
    margin-top: var(--gap-md);
    transition: background-color var(--default-transition),color var(--default-transition);
    width: 100%
}

._pxall:hover {
    background: var(--color-accent);
    color: var(--color-on-accent)
}

._pxzoom {
    align-items: center;
    background: var(--color-surface);
    border: 0.1rem solid var(--color-ink-90);
    border-radius: 50%;
    color: var(--color-accent-text);
    display: flex;
    height: 4.8rem;
    justify-content: center;
    position: absolute;
    right: 2rem;
    top: 2rem;
    transition: background-color var(--default-transition),border-color var(--default-transition),color var(--default-transition);
    width: 4.8rem;
    z-index: 3
}

._pxzoom:hover {
    background: var(--color-accent);
    border-color: var(--color-accent);
    color: var(--color-on-accent)
}

._pxgal {
    background: var(--color-surface)
}

._pxgal ._fshed {
    padding: 2.8rem 3rem 3rem
}

._pxgal ._fcoun {
    color: var(--color-ink-60);
    font-size: var(--fs-20);
    font-weight: 500
}

._pxgal ._fbody {
    grid-template-columns: minmax(0,1fr);
    margin: 0 auto;
    max-width: 160rem;
    padding: 0 0 6rem;
    width: calc(100% - 12rem)
}

._pxgal ._fview {
    background: transparent;
    grid-column: 1;
    height: calc(100vh - 18rem); height: calc(100dvh - 18rem);
    max-height: 72rem;
    padding: 0
}

._pxgal ._fimag {
    border-radius: 3rem;
    height: auto;
    max-height: 100%;
    width: auto
}

._pxgal ._fdots {
    display: none
}

._axful,
._wfull,
._pxful {
    inset: 0;
    position: absolute;
    z-index: 2
}

._wddtl {
    padding: 0 0 9rem
}

._wdinn {
    min-width: 0
}

._wdhead {
    margin-bottom: 4.8rem
}

._wdtop {
    align-items: flex-start;
    display: flex;
    flex-direction: row;
    gap: var(--gap-md);
    justify-content: space-between;
    margin-bottom: 2rem;
    min-width: 0
}

._wdttl {
    font-size: var(--fs-42);
    line-height: var(--lh-flat);
    min-width: 0
}

._wdcopy {
    color: var(--color-ink-60);
    font-size: var(--fs-14);
    line-height: var(--lh-copy);
    max-width: 100%;
    overflow-wrap: anywhere
}

._wdgrid {
    display: grid;
    gap: var(--gap-md);
    grid-auto-rows: 28rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    min-width: 0;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    user-select: none
}

._wdgrid[data-layout-ready] {
    display: block;
    position: relative
}

._wdpic {
    background: var(--vc-block);
    border-radius: 2.6rem;
    cursor: pointer;
    height: 100%;
    margin: 0;
    min-width: 0;
    overflow: hidden;
    position: relative;
    width: 100%;
    -webkit-user-select: none;
    user-select: none
}

._wdgrid[data-layout-ready] ._wdpic {
    height: auto;
    left: 0;
    position: absolute;
    top: 0;
    width: auto
}
._wdpic img {
    -webkit-user-drag: none;
    pointer-events: none;
    -webkit-user-select: none;
    user-select: none
}

._wdfull {
    display: block;
    height: 100%;
    object-fit: cover;
    position: relative;
    transform: scale(1);
    transform-origin: center;
    transition: transform .55s cubic-bezier(.2,.7,.2,1);
    width: 100%;
    z-index: 2
}

._wdpic:hover ._wdfull,
._wdpic:focus-visible ._wdfull {
    transform: scale(1.045)
}

._wdmark {
    align-items: center;
    background: var(--color-surface);
    border-radius: 50%;
    bottom: 1.8rem;
    color: var(--color-ink);
    display: flex;
    font-size: var(--fs-16);
    height: 3.6rem;
    justify-content: center;
    pointer-events: none;
    position: absolute;
    right: 1.8rem;
    width: 3.6rem;
    z-index: 3
}

._wdstory {
    inset: 0;
    position: fixed;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    user-select: none;
    z-index: 260
}

._wdstory[hidden] {
    display: none
}

._wdstory-shade {
    background: var(--opacity-black-80);
    inset: 0;
    opacity: 0;
    position: absolute;
    transition: opacity .3s ease
}

._wdstory-panel {
    background: var(--opacity-black-80);
    color: var(--color-surface);
    display: flex;
    flex-direction: column;
    height: 100%;
    inset: 0;
    opacity: 0;
    outline: none;
    position: absolute;
    transform: translate3d(-100%,0,0);
    transition: opacity .2s ease,transform .34s cubic-bezier(.22,.7,.2,1);
    width: 100%;
    z-index: 2
}

._wdstory[data-open] ._wdstory-shade {
    opacity: 1
}

._wdstory[data-open] ._wdstory-panel {
    opacity: 1;
    transform: translateZ(0)
}

._wdstory-top {
    inset: 0;
    pointer-events: none;
    position: absolute;
    z-index: 30
}

._wdstory-close {
    align-items: center;
    background: rgb(var(--rgb-surface) / 94%);
    border: 0;
    border-radius: 50%;
    color: var(--color-ink);
    cursor: pointer;
    display: flex;
    height: 5.2rem;
    justify-content: center;
    padding: 0;
    pointer-events: auto;
    position: absolute;
    right: 3rem;
    top: 1.8rem;
    transition: background-color var(--default-transition),transform var(--default-transition);
    width: 5.2rem
}

._wdstory-close:hover {
    background: var(--color-accent);
    color: var(--color-on-accent);
    transform: scale(1.04)
}

._wdstory-stage {
    cursor: grab;
    inset: 0;
    overflow: hidden;
    position: absolute;
    touch-action: pan-y;
    width: 100%
}

._wdstory-stage[data-story-dragging] {
    cursor: grabbing
}

._wdstory-track {
    height: 100%;
    inset: 0;
    position: absolute;
    width: 100%
}

._wdstory-slide {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    background: rgb(var(--rgb-deep));
    border-radius: 3rem;
    cursor: inherit;
    height: var(--story-h,60rem);
    isolation: isolate;
    left: 50%;
    margin: 0;
    opacity: 0;
    overflow: hidden;
    pointer-events: none;
    position: absolute;
    top: 50%;
    transform: translate3d(-50%,-50%,0) translate3d(var(--story-x),0,0) scale(.8);
    transform-origin: center;
    transition: opacity .28s ease,transform .38s cubic-bezier(.22,.7,.2,1),filter .28s ease;
    width: var(--story-w,80rem);
    z-index: 5
}

._wdstory-slide::after {
    background: rgb(var(--rgb-charcoal) / 48%);
    content: "";
    inset: 0;
    pointer-events: none;
    position: absolute;
    transition: background-color .28s ease;
    z-index: 4
}

._wdstory-slide[data-story-near] {
    pointer-events: auto
}

._wdstory-slide[data-story-active] {
    opacity: 1;
    transform: translate3d(-50%,-50%,0) translate3d(var(--story-x),0,0) scale(1);
    z-index: 10
}

._wdstory-slide[data-story-active]::after {
    background: transparent
}

._wdstory-slide[data-story-side] {
    opacity: 1;
    z-index: 7
}

._wdstory-slide[data-story-side]:hover::after {
    background: rgb(var(--rgb-charcoal) / 28%)
}

._wdstory-media {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    background: rgb(var(--rgb-deep));
    height: 100%;
    overflow: hidden;
    position: relative;
    transform: translateZ(0);
    width: 100%
}

._wdstory-media::before {
    background: var(--gradient-image-top);
    content: "";
    height: 10.6rem;
    left: 0;
    opacity: .5;
    pointer-events: none;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 5
}

._wdstory-image {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    display: block;
    height: 100%;
    object-fit: contain;
    opacity: 0;
    pointer-events: none;
    transform: translateZ(0);
    transition: opacity .22s ease;
    width: 100%;
    -webkit-user-drag: none;
    -webkit-user-select: none;
    user-select: none
}

._wdstory-image[data-loaded] {
    opacity: 1
}

._wdstory-hit {
    bottom: 0;
    display: none;
    position: absolute;
    top: 0;
    width: 50%;
    z-index: 3
}

._wdstory-slide[data-story-active] ._wdstory-hit {
    display: block
}

._wdstory-hit-prev {
    cursor: inherit;
    left: 0
}

._wdstory-hit-next {
    cursor: inherit;
    right: 0
}

._wdstory-progress {
    background: var(--opacity-white-40);
    border-radius: var(--radius-full);
    height: .3rem;
    left: var(--gap-md);
    opacity: 0;
    overflow: hidden;
    pointer-events: none;
    position: absolute;
    right: var(--gap-md);
    top: var(--gap-md);
    transition: opacity .2s ease;
    z-index: 6
}

._wdstory-slide[data-story-active] ._wdstory-progress {
    opacity: 1
}

._wdstory-progress > span {
    background: var(--color-surface);
    border-radius: inherit;
    display: block;
    height: 100%;
    transform: translateX(-100%);
    width: 100%
}

._wdstory-progress[data-story-current] > span {
    animation: _wdstory-fill var(--story-duration,5000ms) linear forwards
}

@keyframes _wdstory-fill {
    from {
        transform: translateX(-100%)
    }
    to {
        transform: translateX(0)
    }
}

._wksec {
    padding-bottom: var(--page-gap)
}

._wkhead {
    margin-bottom: var(--section-title-space)
}

._wkgrp {
    align-items: baseline;
    display: flex;
    gap: var(--gap-md);
    min-width: 0
}

._wknum {
    color: var(--color-ink-60);
    flex: 0 0 auto;
    font-size: var(--font-size-min);
    line-height: var(--lh-body);
    white-space: nowrap
}

._wkbar {
    align-items: center;
    display: flex;
    gap: var(--gap-md);
    justify-content: space-between
}

._wktools {
    align-items: center;
    display: flex;
    flex: 0 0 auto;
    gap: var(--gap-sm)
}

._wkonly {
    align-items: center;
    border: 0.1rem solid var(--color-ink-90);
    border-radius: var(--button-radius);
    display: inline-flex;
    font-family: var(--button-font);
    font-size: var(--font-size-min);
    font-weight: 500;
    gap: var(--gap-sm);
    height: var(--button-height);
    padding: 0 1.5rem
}

._wkcheck {
    align-items: center;
    background: var(--color-ink-90);
    border-radius: calc(var(--ui-toggle-height)/2);
    display: inline-flex;
    flex: 0 0 var(--ui-toggle-width);
    height: var(--ui-toggle-height);
    justify-content: flex-start;
    padding: var(--ui-toggle-pad);
    transition: background-color var(--default-transition);
    width: var(--ui-toggle-width)
}

._wkknob {
    background: var(--color-surface);
    border-radius: 50%;
    display: block;
    flex: 0 0 var(--ui-toggle-knob);
    height: var(--ui-toggle-knob);
    transform: translateX(0);
    transition: transform var(--default-transition);
    width: var(--ui-toggle-knob)
}

._wkonly[aria-pressed="true"] ._wkcheck {
    background: var(--color-accent)
}

._wkonly[aria-pressed="true"] ._wkknob {
    transform: translateX(calc(var(--ui-toggle-width) - var(--ui-toggle-knob) - var(--ui-toggle-pad) - var(--ui-toggle-pad)))
}

._wksort {
    position: relative
}

._wksortb {
    align-items: center;
    border: 0.1rem solid var(--color-ink-90);
    border-radius: var(--button-radius);
    display: inline-flex;
    font-family: var(--button-font);
    font-size: var(--font-size-min);
    font-weight: 500;
    gap: var(--gap-sm);
    height: var(--button-height);
    justify-content: space-between;
    min-width: 17rem;
    padding: 0 1.5rem
}

._wksort[data-open] ._wksortb ._arwic {
    transform: rotate(180deg)
}

._wksortd {
    background: var(--color-surface);
    border: 0.1rem solid var(--color-ink-90);
    border-radius: 1.6rem;
    box-shadow: var(--shadow-default);
    display: grid;
    gap: var(--gap-sm);
    min-width: 19rem;
    padding: .6rem;
    position: absolute;
    right: 0;
    top: calc(100% + .8rem);
    z-index: 15
}

._wksortd[hidden] {
    display: none
}

._wksorto {
    border-radius: 1.2rem;
    font-family: var(--button-font);
    font-size: var(--font-size-min);
    min-height: 4rem;
    padding: .8rem 1rem;
    text-align: left
}

._wksorto:hover,
._wksorto[data-selected] {
    background: var(--vc-block)
}

._wkgrid {
    display: grid;
    gap: var(--gap-md);
    grid-template-columns: repeat(4,minmax(0,1fr));
    margin-top: 4rem
}

._wkcard {
    background: var(--vc-block);
    border-radius: 3rem;
    display: flex;
    flex-direction: column;
    min-height: 41rem;
    min-width: 0;
    overflow: hidden
}

._wklink {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-height: 41rem;
    min-width: 0
}

._wkcard[hidden] {
    display: none
}

._wkimg {
    aspect-ratio: 3/2;
    background: var(--color-ink-90);
    border-radius: 3rem;
    overflow: hidden;
    position: relative;
    width: 100%
}

._wkful {
    display: block;
    height: 100%;
    inset: 0;
    object-fit: cover;
    position: absolute;
    width: 100%;
    z-index: 1
}

._wkbody {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-width: 0;
    padding: 2rem 2.2rem 2.2rem
}

._wktags {
    display: flex;
    flex-wrap: wrap;
    gap: var(--gap-sm)
}

._wkname {
    margin-top: 1.8rem
}

._wkdate {
    color: var(--color-ink-60);
    font-size: var(--font-size-min);
    line-height: var(--lh-body);
    margin-top: auto;
    padding-top: 2.4rem
}

._wkmorex {
    display: flex;
    justify-content: center;
    margin-top: 4rem
}

._wkmorex[hidden] {
    display: none
}

._wkmore {
    background: var(--color-accent);
    border-radius: var(--button-radius);
    color: var(--color-on-accent);
    font-family: var(--button-font);
    font-size: var(--font-size-min);
    font-weight: var(--button-font-weight);
    height: var(--button-height);
    padding: 0 2.4rem;
    transition: background-color var(--default-transition)
}

._wkmore:hover {
    background: var(--color-accent-hover)
}

._wkempty {
    color: var(--color-ink-60);
    font-size: var(--fs-18);
    padding: 8rem 0;
    text-align: center
}

._ctsel {
    background: var(--color-surface);
    min-height: 0;
    padding-block: 0
}

._cthed {
    align-items: end;
    display: flex;
    gap: var(--gap-lg);
    justify-content: space-between
}

._ctttl {
    font-weight: 400;
    max-width: 90rem
}

._ctacts {
    align-items: center;
    display: flex;
    gap: var(--gap-sm)
}

._ctbtn {
    align-items: center;
    background: var(--color-accent);
    border: 0.2rem solid var(--color-accent);
    border-radius: var(--button-radius);
    color: var(--color-on-accent);
    display: inline-flex;
    font-size: var(--button-font-size);
    font-weight: var(--button-font-weight);
    height: var(--button-height);
    justify-content: center;
    line-height: var(--lh-flat);
    padding-inline: 2.5rem;
    transition: background-color var(--default-transition),border-color var(--default-transition),color var(--default-transition);
    white-space: nowrap
}

._ctbtn:hover {
    background: var(--color-accent-hover);
    border-color: var(--color-accent-hover)
}

._ctmapb {
    background: transparent;
    color: var(--color-accent-text)
}

._ctmapb:hover {
    background: transparent;
    border-color: var(--color-accent-hover);
    color: var(--color-accent-text)
}

._ctwrp {
    align-items: start;
    display: grid;
    gap: var(--gap-md);
    grid-template-columns: minmax(0,2fr) minmax(0,3fr);
    margin-top: var(--section-title-space);
    position: relative
}

._ctlist {
    min-width: 0;
    opacity: 1;
    transition: opacity var(--default-transition)
}

._ctcard {
    min-width: 0
}

._ctimg {
    border-radius: 3rem;
    height: 28rem;
    overflow: hidden
}

._ctimg img {
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%
}

._ctbody {
    display: flex;
    flex-direction: column;
    margin-top: var(--gap-md);
    min-width: 0
}

._cttop {
    display: flex;
    flex-direction: column
}

._ctname {
    font-size: var(--fs-30);
    line-height: var(--lh-title);
    max-width: 42rem
}

._ctaddr {
    color: var(--color-ink-60);
    font-size: var(--fs-16);
    line-height: var(--lh-body);
    margin-top: 1.4rem
}

._ctphon {
    color: var(--color-ink);
    font-size: var(--fs-18);
    line-height: var(--lh-title);
    margin-top: 1.2rem;
    width: fit-content
}

._cthours {
    margin-top: var(--gap-lg)
}

._cthlab {
    font-size: var(--font-size-min);
    margin-bottom: var(--gap-sm)
}

._cthrow {
    color: var(--color-ink-60);
    font-size: var(--font-size-min);
    line-height: var(--lh-copy)
}

._ctaside {
    height: var(--ct-map-h);
    min-width: 0;
    position: sticky;
    top: calc(var(--head-size) + 1.6rem)
}

._ctmap {
    background: var(--vc-block);
    border-radius: 3rem;
    height: 100%;
    isolation: isolate;
    overflow: hidden;
    position: relative;
    transition: box-shadow var(--default-transition);
    width: 100%
}

._ctaside[data-pulse] ._ctmap {
    box-shadow: 0 0 0 .3rem var(--opacity-primary-35)
}

._ctymap,
._ctfall {
    height: 100%;
    inset: 0;
    position: absolute;
    width: 100%
}

._ctymap {
    background: var(--vc-block);
    opacity: 0;
    transition: opacity .2s ease;
    z-index: 1
}

._ctmap[data-custom-ready] ._ctymap {
    opacity: 1
}

._ctfall {
    z-index: 0
}

._ctmap[data-custom-ready] ._ctfall {
    display: none
}

._ctframe {
    border: 0;
    display: block;
    height: 100%;
    width: 100%
}


._ctconsent {
    align-items: center;
    background: var(--vc-block);
    display: flex;
    inset: 0;
    justify-content: center;
    padding: 3rem;
    position: absolute;
    z-index: 4
}

._ctconsent[hidden] {
    display: none
}

._ctconsentbox {
    background: var(--color-surface);
    border-radius: 2.4rem;
    box-shadow: 0 1rem 4rem rgb(var(--rgb-ink) / 10%);
    max-width: 52rem;
    padding: 2.4rem
}

._ctconsentbox strong {
    display: block;
    font-size: var(--fs-18);
    line-height: var(--lh-tight);
    margin-bottom: 1rem
}

._ctconsentbox p {
    color: var(--color-ink-60);
    font-size: var(--fs-14);
    line-height: var(--lh-copy);
    margin: 0 0 1.6rem
}

._ctconsentbtn {
    background: var(--color-accent);
    border-radius: var(--radius-full);
    color: var(--color-surface);
    font-size: var(--fs-14);
    min-height: 4.4rem;
    padding: .9rem 1.8rem
}

._ctconsentbox > a {
    color: var(--color-ink-60);
    display: inline-block;
    font-size: var(--fs-12);
    margin-left: 1.2rem;
    text-decoration: underline
}

._ctexpand {
    align-items: center;
    background: var(--color-surface);
    border: 0;
    border-radius: 2rem;
    box-shadow: 0 .5rem 2rem rgb(var(--rgb-ink) / 10%);
    color: var(--color-ink);
    display: inline-flex;
    font-size: var(--fs-14);
    gap: var(--gap-sm);
    height: 4rem;
    justify-content: center;
    left: 3rem;
    padding-inline: 1.6rem;
    position: absolute;
    top: 3.4rem;
    transition: background-color var(--default-transition),color var(--default-transition);
    z-index: 5
}

._ctexpand:hover {
    background: var(--vc-block)
}

._ctexic {
    height: 1.6rem;
    width: 1.6rem
}

._ctzoom {
    background: var(--color-surface);
    border-radius: var(--radius-full);
    box-shadow: 0 .5rem 2rem rgb(var(--rgb-ink) / 10%);
    display: flex;
    flex-direction: column;
    bottom: 0;
    margin-block: auto;
    overflow: hidden;
    position: absolute;
    right: 3rem;
    top: 0;
    z-index: 5
}

._ctzoom[hidden] {
    display: none
}

._ctzbtn {
    align-items: center;
    color: var(--color-ink);
    display: flex;
    height: 4rem;
    justify-content: center;
    transition: background-color var(--default-transition),color var(--default-transition);
    width: 4rem
}

._ctzbtn + ._ctzbtn {
    border-top: 0.1rem solid var(--color-ink-90)
}

._ctzbtn:hover:not(:disabled) {
    background: var(--vc-block);
    color: var(--color-accent-text)
}

._ctzbtn:disabled {
    color: var(--color-ink-60);
    cursor: default
}

._ctzbtn svg {
    height: 2rem;
    width: 2rem
}

._ctmark {
    align-items: center;
    background: var(--color-surface);
    border-radius: var(--radius-full);
    box-shadow: 0 .5rem 2rem rgb(var(--rgb-ink) / 12%);
    cursor: pointer;
    display: flex;
    min-width: 18rem;
    position: absolute;
    transform: translate(-50%,-50%);
    user-select: none;
    white-space: nowrap
}

._ctmimg {
    align-items: center;
    background: var(--color-accent);
    border-radius: 50%;
    display: flex;
    flex: 0 0 auto;
    height: 5.6rem;
    justify-content: center;
    overflow: hidden;
    width: 5.6rem
}

._ctmimg img {
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%
}

._ctmtxt {
    color: var(--color-ink);
    font-size: var(--fs-16);
    line-height: var(--lh-flat);
    max-width: 25rem;
    overflow: hidden;
    padding: .8rem 2.2rem .8rem 1.2rem;
    text-overflow: ellipsis
}

._ctload {
    background: linear-gradient(90deg,var(--vc-block) 25%,var(--color-surface) 37%,var(--vc-block) 63%);
    background-size: 400% 100%;
    inset: 0;
    pointer-events: none;
    position: absolute;
    z-index: 6
}

._ctload:not([hidden]) {
    animation: _ctload 1.3s ease infinite
}

@keyframes _ctload {
    0% { background-position: 100% 50% }
    100% { background-position: 0 50% }
}

._ctwrp[data-map-full] {
    gap: 0;
    grid-template-columns: 0 minmax(0,1fr)
}

._ctwrp[data-map-full] ._ctlist {
    opacity: 0;
    overflow: hidden;
    pointer-events: none
}

._ctwrp[data-map-full] ._ctaside {
    width: 100%
}

main[data-inner] > ._bread + * {
    margin-top: 2.4rem
}

._bread {
    min-width: 0
}

._brnav {
    align-items: center;
    color: var(--color-ink-60);
    display: flex;
    font-size: var(--fs-14);
    gap: var(--gap-sm);
    line-height: var(--lh-body);
    min-height: 2rem;
    min-width: 0;
    white-space: nowrap
}

._brlnk {
    color: var(--color-ink-60);
    flex: 0 0 auto;
    transition: color var(--default-transition)
}

._brlnk:hover {
    color: var(--color-accent-text)
}

._brsep {
    color: var(--color-ink-60);
    flex: 0 0 auto
}

._brcur {
    color: var(--color-ink-60);
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis
}

main[data-inner] > ._about + ._scien {
    margin-top: calc(var(--section-space) * 1.3)
}

[data-scroll-zoom] > img,
._cgimg[data-scroll-zoom] ._cgite img {
    transform: scale(var(--scroll-zoom-scale));
    transform-origin: center center;
    transition: none;
}

[data-scroll-zoom][data-inview] > img,
._cgimg[data-scroll-zoom][data-inview] ._cgite img {
    will-change: transform;
}

._sch3x,
._scpar {
    transition: opacity 180ms var(--ease-out),transform 180ms var(--ease-out)
}

._scien[data-changing] ._scpic {
    opacity: 0
}

._scien[data-entering] ._sch3x,
._scien[data-entering] ._scpar {
    animation: none
}

._wkimg > ._wktags {
    left: 2rem;
    max-width: calc(100% - 4rem);
    position: absolute;
    right: 2rem;
    top: 2rem;
    z-index: 4
}

._wkbody ._wkname {
    margin-top: 0
}

._wddate {
    flex: 0 0 auto;
    margin-left: auto
}

._pxhead {
    align-items: center;
    display: flex;
    gap: var(--gap-md);
    justify-content: space-between;
    margin: 0 0 4rem;
    min-width: 0
}

._pxhead ._pxttl {
    flex: 1 1 auto;
    margin: 0;
    min-width: 0
}

._pxrgt {
    flex: 0 0 auto;
    margin-left: auto
}

._pxhead + ._pxmeta {
    margin-top: -2rem
}

._qmv8r {
    background: var(--color-surface);
    padding-block: 0
}

._qttl {
    margin-bottom: var(--section-title-space)
}

._qg2kx {
    display: grid;
    gap: var(--gap-md);
    grid-auto-rows: minmax(21.8rem,auto);
    grid-template-columns: repeat(3,minmax(0,1fr));
    width: 100%
}

._qa7np,
._qb4tz,
._qc9wm,
._qd2fv {
    border-radius: 3rem;
    contain: paint;
    display: block;
    min-width: 0;
    overflow: hidden;
    position: relative
}

._qa7np {
    background: var(--color-forest-deep);
    grid-column: 1;
    grid-row: 1/4
}

._qb4tz {
    background: var(--vc-block);
    color: var(--color-ink);
    cursor: pointer;
    grid-column: 2;
    grid-row: 1/3;
    padding: 3rem;
    text-align: initial
}

._qc9wm {
    background: var(--color-forest);
    color: var(--color-surface);
    grid-column: 3;
    grid-row: 1/3;
    padding: 3rem;
}

._qd2fv {
    background: var(--color-forest);
    color: var(--color-surface);
    grid-column: 2/4;
    grid-row: 3/4;
    min-height: 28rem;
    padding: 3rem;
}

._qe6ks {
    inset: 0;
    overflow: hidden;
    position: absolute
}

._qe6ks ._qf3rx {
    transform-origin: center center;
    transition: opacity .35s ease-in-out,transform .3s ease-in-out
}

._qf3rx {
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%
}

._qa7np ._qf3rx {
    inset: 0;
    position: absolute;
    transform: scale(1)
}

._qg7md {
    bottom: 10.2rem;
    color: var(--color-surface);
    font-size: var(--fs-42);
    font-weight: 500;
    left: 50%;
    line-height: var(--lh-flat);
    max-width: 42rem;
    padding-inline: 3rem;
    position: absolute;
    text-align: center;
    transform: translateX(-50%);
    width: 100%;
    z-index: 3
}

._qh2vn {
    align-items: center;
    background: var(--components-bg);
    border-radius: var(--button-radius);
    bottom: 3rem;
    color: var(--color-surface);
    display: inline-flex;
    font-size: var(--button-font-size);
    height: var(--button-height);
    justify-content: center;
    left: 50%;
    padding-inline: 2.5rem;
    position: absolute;
    transform: translateX(-50%);
    transition: background-color var(--default-transition),color var(--default-transition);
    white-space: nowrap;
    z-index: 4
}

._qa7np:hover ._qh2vn {
    background: rgb(var(--rgb-ink) / 82%);
    color: var(--color-surface)
}

._ql9sx {
    color: var(--color-ink-60);
    display: block;
    font-size: var(--fs-56);
    font-weight: 500;
    height: 10rem;
    left: 3rem;
    line-height: var(--lh-display);
    position: absolute;
    right: 3rem;
    top: 3rem;
    transition: color .3s ease-in-out;
    z-index: 3
}

._ql9sx > span {
    position: absolute;
    white-space: nowrap
}

._ql9sx > span:first-child {
    left: 0;
    top: 0;
    transition: left .5s ease-in-out,transform .5s ease-in-out
}

._ql9sx > span:last-child {
    bottom: 0;
    right: .6rem;
    transition: right .5s ease-in-out,transform .5s ease-in-out
}

._qb4tz:hover ._ql9sx {
    color: var(--color-ink)
}

._qb4tz:hover ._ql9sx > span:first-child {
    left: 50%;
    transform: translateX(-50%)
}

._qb4tz:hover ._ql9sx > span:last-child {
    right: 50%;
    transform: translateX(50%)
}

._qm4zr {
    bottom: 3rem;
    color: var(--color-ink-60);
    display: grid;
    font-size: var(--fs-16);
    left: 3rem;
    line-height: var(--lh-title);
    position: absolute;
    right: 3rem;
    text-align: center;
    z-index: 3
}

._qm4zr > span {
    display: block
}

._qn7tk {
    height: 27rem;
    left: 50%;
    padding: 3rem;
    position: absolute;
    top: 50%;
    transform: translate(-50%,-35%);
    transition: padding .5s ease-in-out,transform .5s ease-in-out;
    width: 27rem;
    z-index: 2
}

._qn7tk ._qf3rx {
    object-fit: contain
}

._qb4tz:hover ._qn7tk {
    padding: 4.2rem;
    transform: translate(-50%,-30%)
}

._qp2fd {
    align-items: center;
    background: var(--color-surface);
    border-radius: 50%;
    color: var(--color-ink);
    display: flex;
    height: 4.4rem;
    justify-content: center;
    position: absolute;
    right: 1.2rem;
    top: 1.2rem;
    transition: color var(--default-transition),transform var(--default-transition);
    width: 4.4rem;
    z-index: 5
}

._qd2fv:hover ._qp2fd {
    color: var(--color-accent-text);
    transform: rotate(4deg) scale(1.04)
}

._qr6vh,
._qs3nx {
    position: relative;
    z-index: 3
}

._qr6vh {
    display: block;
    font-size: var(--fs-42);
    font-weight: 500;
    line-height: var(--lh-flat);
    max-width: 46rem
}

._qs3nx {
    bottom: 3rem;
    display: block;
    font-size: var(--fs-16);
    left: 3rem;
    line-height: var(--lh-body);
    max-width: 46rem;
    position: absolute;
    right: 3rem;
}

._qmv8r img[data-qmiss] {
    display: none
}

._mobnav { display:none }

[aria-invalid="true"] { border-color: var(--error-900) !important; }
._fieldlabel { display:block; color:var(--color-ink); font-size:var(--fs-14); margin:.8rem 0 -.4rem; }
._catalogerror { padding:2.4rem; color:var(--error-900); }
._catalogerror p { margin:0 0 1.2rem; }
._catalogerror button { padding:1.2rem 1.8rem; border:0.1rem solid currentColor; border-radius:1.2rem; }
._catalogpages { display:flex; align-items:center; justify-content:center; gap:1rem; padding-block:3rem; }
._catalogpages a { min-width:4.4rem; min-height:4.4rem; display:flex; align-items:center; justify-content:center; padding:1rem 1.4rem; border:0.1rem solid var(--base-300); border-radius:1.2rem; font-size:var(--fs-15); }
._catalogpages [aria-current] { background:var(--color-accent); color: var(--color-on-accent); border-color:var(--color-accent); }
._consultationpage { max-width:70rem; padding-block:4rem 7rem; }
._consultationpage h1 { font-size:clamp(2.6rem,4vw,4rem); line-height:1.15; margin-bottom:1.8rem; }
._consultationpage > p { font-size:var(--fs-16); line-height:1.5; margin-block:1.6rem; }
._consultationpage ._mform { max-width:54rem; margin-top:2.4rem; }
._formfeedback { padding:1.6rem; background:var(--success-300); border-radius:1.2rem; overflow-wrap:anywhere; }
[data-city-error] { padding:1rem; font-size:var(--fs-14); color:var(--error-900); }

@media (min-width: 75rem) and (max-width: 89.999rem) {
    :root {
        --fs-14: clamp(1.2rem, calc(.2rem + .833333vw), 1.4rem);
        --fs-15: clamp(1.3rem, calc(.3rem + .833333vw), 1.5rem);
        --fs-16: clamp(1.4rem, calc(.4rem + .833333vw), 1.6rem);
        --fs-18: clamp(1.6rem, calc(.6rem + .833333vw), 1.8rem);
        --fs-20: clamp(1.8rem, calc(.8rem + .833333vw), 2rem);
    }
    ._brand { padding-inline: clamp(1rem, 1.05vw, 1.5rem); padding-inline: clamp(1rem, 1.05cqi, 1.5rem); }
    ._navxx {
        gap: var(--gap-md);
        margin-left: clamp(.4rem, .65vw, .9rem); margin-left: clamp(.4rem, .65cqi, .9rem);
    }
    ._navln, ._morex { font-size: var(--fs-14); }
    ._tools { gap: clamp(.5rem, .55vw, .8rem); gap: clamp(.5rem, .55cqi, .8rem); }
    ._place { padding-inline: clamp(1.2rem, 1.15vw, 1.65rem); padding-inline: clamp(1.2rem, 1.15cqi, 1.65rem); }
    [data-city-current] {
        max-inline-size: clamp(8rem, 8.5vw, 11rem); max-inline-size: clamp(8rem, 8.5cqi, 11rem);
        overflow: hidden;
        text-overflow: ellipsis;
    }
}
@media not all and (min-width: 75rem) { ._fieldlabel { font-size:var(--fs-15); } ._consultationpage { padding-bottom:4rem; } }

._mobmenuhead, ._mfhead, ._mffoot, ._mftrigger, ._mfreset, ._mferror, ._msheetgrab { display:none }
._mfpanel { display:contents }

._catalogactions { display:flex; align-items:center; justify-content:center; gap:1.2rem; padding-block:3rem 0; }
._catalogactions ._moren, ._catalogactions ._catalogpages { padding:0; margin:0; }
._catalogactions ._catalogpages a { height:var(--button-height); min-width:19rem; padding-inline:2.4rem; border-radius:var(--button-radius); font-size:var(--button-font-size); font-weight:var(--button-font-weight); }
._rrail::before { content:""; position:absolute; left:0; right:0; top:calc(50% - 0.1rem); height:0.2rem; border-radius:0.2rem; background:var(--base-300); }
._fboxx[data-range-locked] { color:var(--base-700); cursor:default; }
._fboxx[data-range-locked] :is(._fvalu,._flabx) { color:var(--base-700); }
._fboxx[data-range-locked] ._rrang { pointer-events:none; }
._fboxx[data-range-locked] ._rline { left:0 !important; width:100% !important; background:var(--base-300); opacity:1; }
._fboxx[data-range-locked] ._rhandle { background:var(--base-400); }
._fboxx[data-range-locked] ._rdot { cursor:default; }
._fboxx[data-range-locked] ._rdotfrom { left:0 !important; }
._fboxx[data-range-locked] ._rdotto { left:100% !important; }
:is(a,button,input,select,textarea,label,[tabindex]) { -webkit-tap-highlight-color:transparent; }
:is(a,button,input,select,textarea,[tabindex]):focus { outline:none !important; }
:is(button,a):focus-visible { filter:brightness(.92); }
a:focus-visible { text-decoration:underline; text-underline-offset:.25em; }
:is(input:not([type="range"]),textarea,select):focus-visible { border-color:var(--color-accent); }
._cboxx:focus-visible + ._cmark, ._mradx:focus-visible + ._mlabl { background-color:var(--opacity-primary-15); }

._pgrid > ._ptopl {grid-column:2;grid-row:1;}
._pgrid > ._pview { grid-column:1; grid-row:1 / span 2; }
._pgrid > ._pinfo { grid-column:2; grid-row:2; }
._pgrid { row-gap:2rem; }
@media (min-width: 75rem) {
    ._pgrid { grid-template-rows:max-content minmax(0,1fr); }
}

img[data-lqip-full], img[data-lqip-ready] { transition-property:none; }
._pitem ._pfullfallback { position:absolute; inset:0; }

._ctools {display:flex;align-items:center;gap:1.6rem;margin: 0 0 2rem 0;padding:.8rem;border-radius:var(--radius-full);background:var(--vc-block);}
._ctools ._csearch { flex:1 1 0; min-width:0; margin:0; background:var(--color-surface); }
._ctools ._cctrl { flex:0 0 auto; padding-right:.8rem; }
._ctools ._cctrl > button { white-space:nowrap; }
._csearch { display:flex; align-items:center; gap:1.2rem; min-height:5.6rem; margin:1.6rem 0; padding:0 1.8rem; background:var(--vc-block); border-radius:2.8rem; color:var(--color-ink-60); }
._csearch > svg { flex-shrink:0; }
._csearch input { flex:1; width:100%; min-width:0; border:0; background:transparent; color:var(--color-ink); font:inherit; font-size:1.6rem; padding:1.6rem 0; outline:none; }
._csearch input::-webkit-search-cancel-button { -webkit-appearance:none; }
._csearch button { display:grid; place-items:center; width:4.4rem; height:4.4rem; flex-shrink:0; border:0; background:transparent; color:inherit; border-radius:50%; cursor:pointer; }
._csearch button[hidden] { display:none; }

._pvariants { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.2rem; margin-bottom:2rem; }
._pvariants a { position:relative; display:flex; flex-direction:column; min-width:0; padding:.8rem; gap:1rem; border:0.1rem solid var(--color-ink-90); border-radius:2rem; color:var(--color-ink); background:var(--color-surface); text-decoration:none; }
._pvariants a::after { content:""; position:absolute; inset:-0.1rem; border:0.2rem solid transparent; border-radius:inherit; pointer-events:none; }
._pvariants a:hover { border-color:var(--color-ink-60); }
._pvariants a[aria-current="page"] { border-color:transparent; }
._pvariants a[aria-current="page"]::after { border-color:var(--color-accent); }
._pvariants a:focus-visible::after { border-color:var(--color-accent); }
._pvariantmedia { display:block; position:relative; overflow:hidden; width:100%; aspect-ratio:8 / 5; border-radius:1.2rem; background:var(--vc-block); }
._pvariantmedia img { display:block; width:100%; height:100%; object-fit:cover; }
._pvariantmedia ._pvariantfallback { position:absolute; inset:0; }
._pvariantname { display:block; padding:0 .4rem .4rem; font-size:1.4rem; line-height:1.3; font-weight:500; overflow-wrap:anywhere; }
@media (min-width: 75rem) { html { scrollbar-gutter:stable; } }

._loadr[data-hold] { transition:opacity 180ms ease-out; }
._loadr[data-loader-exit] { opacity:0; }
@media (prefers-reduced-motion:reduce) { ._loadr[data-hold] { transition:none; } }

._hsocial {display:flex;align-items:center;flex:0 0 auto;gap: var(--gap-sm);}
._hsocial a { display:grid; place-items:center; flex:0 0 auto; width:var(--header-control-size); height:var(--header-control-size); border:0.1rem solid var(--color-ink-90); border-radius:50%; background:transparent; color:var(--color-ink-60); }
._hsocial svg { display:block; width:1.8rem; height:1.8rem; }
._hsocial ._hvk { width:2.2rem; height:1.8rem; }
._hsocial ._heart svg { width:2rem; height:2rem; }
._mobcontacts { display:none; }

._modal ._mhead { gap:1.2rem; }
._modal ._mdesc { font-size:var(--fs-16); line-height:var(--lh-body); }
._modal ._mform { margin-top:2rem; }
._modal ._mques { margin-bottom:1.2rem; }
._modal ._mlabl { height:4.4rem; }
._modal ._field { margin-top:2rem; gap:.8rem 1.6rem; }
._modal ._fieldlabel { margin:0; }
._modal ._minpt { height:5.2rem; font-size:1.6rem; padding-inline:1.8rem; }
._modal ._msend { margin-top:2rem; height:4.4rem; }
._modal ._chksx { margin-top:1.2rem; }
@media (min-width: 43.75rem) {
    ._modal ._field { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-areas:"name-label phone-label" "name phone"; }
    ._modal ._field > label:first-of-type { grid-area:name-label; }
    ._modal ._field > label:last-of-type { grid-area:phone-label; }
    ._modal ._field > [name="name"] { grid-area:name; min-width:0; }
    ._modal ._field > [name="phone"] { grid-area:phone; min-width:0; }
}

@media (min-width: 75rem) {
    html[data-priority-nav] ._hrowx > :is(._brand,._phgrp,._tools) { flex-shrink:0; }
    html[data-priority-nav] ._navxx { flex:1 1 0; min-width:0; }
    html[data-priority-nav] ._navxx > :is(._navln,._menux) { flex:0 0 auto; }
    html[data-priority-nav] ._navxx > ._mobcityslot { display:none; }
    html[data-priority-nav-pending] ._navxx { visibility:hidden; }
}

main:not([data-inner]) ._qmv8r { margin-top:var(--section-space); }
main:not([data-inner]) ._qmv8r ._qttl { margin-bottom:calc(var(--section-title-space) + var(--gap-sm)); }
@media (min-width: 75rem) {
    main:not([data-inner]) ._qmv8r ._qg2kx { grid-auto-rows:minmax(17.44rem,auto); gap:calc(var(--gap-md) * .8); }
    main:not([data-inner]) ._qmv8r ._qd2fv { min-height:22.4rem; }
    main:not([data-inner]) ._qmv8r :is(._qb4tz,._qc9wm,._qd2fv) { padding:2.4rem; }
    main:not([data-inner]) ._qmv8r ._ql9sx { height:8rem; top:2.4rem; font-size:calc(var(--fs-56) * .8); }
    main:not([data-inner]) ._qmv8r ._qn7tk { width:18rem; height:18rem; top:55%; padding:1.6rem; transform:translate(-50%,-50%); }
    main:not([data-inner]) ._qmv8r ._qb4tz:hover ._qn7tk { padding:2.4rem; transform:translate(-50%,-45%); }
    main:not([data-inner]) ._qmv8r :is(._qm4zr,._qs3nx,._qh2vn) { bottom:2.4rem; }
    main:not([data-inner]) ._qmv8r ._qg7md { bottom:8.16rem; font-size:calc(var(--fs-42) * .8); }
    main:not([data-inner]) ._qmv8r ._qr6vh { font-size:calc(var(--fs-42) * .8); }
}


._contactwidget {
    bottom: 5rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    left: 5rem;
    opacity: 0;
    pointer-events: none;
    position: fixed;
    transform: scale(0);
    transform-origin: calc(var(--cw-size) / 2) bottom;
    visibility: hidden;
    z-index: 9800;
}
._contactwidget[hidden] { display: none; }
._contactwidget[data-visible] {
    animation: _cw-appear 1s cubic-bezier(.16,1,.3,1) both;
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
}
._cwbuttonwrap { height: var(--cw-size); position: relative; width: var(--cw-size); }
._cwmask {
    background: var(--cw-bg);
    border-radius: 50%;
    height: calc(var(--cw-size) + 1.6rem);
    inset: -0.8rem;
    opacity: .2;
    pointer-events: none;
    position: absolute;
    transition: background-color .3s ease, opacity .3s ease;
    width: calc(var(--cw-size) + 1.6rem);
}
._cwbutton {
    appearance: none;
    background: transparent;
    border: 0;
    border-radius: 50%;
    cursor: pointer;
    display: block;
    height: var(--cw-size);
    padding: 0;
    position: relative;
    transform: scale(.85);
    transition: transform .3s cubic-bezier(.16,1,.3,1);
    width: var(--cw-size);
}
._cwmain {
    align-items: center;
    background: var(--cw-bg);
    border-radius: 50%;
    box-shadow: none;
    color: #fff;
    display: flex;
    height: 100%;
    inset: 0;
    justify-content: center;
    position: absolute;
    transition: background-color .3s ease;
    width: 100%;
}
._cwpulse {
    border: 0.1rem solid var(--cw-bg);
    border-radius: 50%;
    inset: 0;
    pointer-events: none;
    position: absolute;
    animation: _cw-pulse 1.5s ease-out infinite;
}
._cwchat, ._cwclose {
    fill: none;
    height: 3rem;
    position: absolute;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
    transition: opacity .24s ease, transform .4s cubic-bezier(.16,1,.3,1);
    width: 3rem;
}
._cwchat { fill:currentColor; stroke:none; opacity: 1; transform: scale(1) rotate(0); }
._cwclose { opacity: 0; transform: scale(.6) rotate(-90deg); }
._contactwidget[data-open] ._cwbutton { transform: scale(.7); }
._contactwidget[data-open] ._cwmain { background: #d6d6d6; box-shadow: none; }
._contactwidget[data-open] ._cwmask { background: #d6d6d6; opacity: .18; }
._contactwidget[data-open] ._cwpulse { animation: none; opacity: 0; }
._contactwidget[data-open] ._cwchat { opacity: 0; transform: scale(.6) rotate(90deg); }
._contactwidget[data-open] ._cwclose { opacity: 1; transform: scale(1) rotate(0); }
._cwbutton:focus-visible, ._cwitem:focus-visible { outline: 0.3rem solid var(--cw-focus-ring); outline-offset: 0.4rem; }
._cwsocial {
    align-items: flex-start;
    display: flex;
    flex-direction: column-reverse;
    gap: 1rem;
    margin-left: 1rem;
    pointer-events: none;
}
._cwitem {
    align-items: center;
    border-radius: 50%;
    box-shadow: none;
    color: #fff;
    display: flex;
    height: var(--cw-social-size);
    justify-content: center;
    opacity: 0;
    position: relative;
    text-decoration: none;
    transform: translateY(2rem) scale(.92);
    transition: opacity .3s ease, transform .3s cubic-bezier(.16,1,.3,1);
    width: var(--cw-social-size);
}
._cwitem:hover { box-shadow: none; transform: translateY(0) scale(1.06) !important; }
._cwitem svg { display: block; height: 2.4rem; width: 2.4rem; }
._cwphone { background: var(--color-accent); }
._cwmax { background: linear-gradient(135deg, #2563eb, #7c3aed); }
._cwvk { background: #07f; transition-delay: 35ms; }
._cwlabel {
    background: rgb(34 34 34 / 94%);
    border-radius: 0.9rem;
    color: #fff;
    font-size: 1.2rem;
    font-weight: 500;
    left: calc(100% + 1rem);
    line-height: 1;
    opacity: 0;
    padding: 0.7rem 0.9rem;
    pointer-events: none;
    position: absolute;
    transform: translateX(-0.4rem);
    transition: opacity .18s ease, transform .18s ease;
    white-space: nowrap;
}
._cwitem:hover ._cwlabel, ._cwitem:focus-visible ._cwlabel { opacity: 1; transform: none; }
._contactwidget[data-open] ._cwsocial { pointer-events: auto; }
._contactwidget[data-open] ._cwitem { opacity: 1; transform: translateY(0) scale(1); }
@keyframes _cw-appear {
    0% { opacity: 0; transform: scale(0); }
    30% { opacity: 1; transform: scale(1.2); }
    100% { opacity: 1; transform: scale(1); }
}
@keyframes _cw-pulse {
    0%, 45% { opacity: 0; transform: scale(1); }
    50% { opacity: 1; transform: scale(1); }
    100% { opacity: 0; transform: scale(2); }
}
@media (min-width: 75rem) {
    ._contactwidget[data-contact-visibility="mobile"] { display: none !important; }
}
@media (prefers-reduced-motion: reduce) {
    ._contactwidget[data-visible] { animation: none; transform: none; }
    ._cwpulse { animation: none; opacity: .22; }
    ._cwitem, ._cwchat, ._cwclose, ._cwbutton { transition-duration: .01ms; }
}
html[data-lite-motion] ._contactwidget[data-visible] { animation: none; transform: none; }
html[data-lite-motion] ._cwpulse { animation: none; opacity: .22; }

._pstat:not(._pstatcar) ._pstarw { display:none; }
@media (min-width: 75rem) {
    html body[data-lock] ._contactwidget,
    html[data-cookie-visible] ._contactwidget { visibility:hidden; pointer-events:none; }
}

._workshome > ._shell { display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:var(--section-title-space) var(--gap-md); }
._workshome ._whead { display:contents; }
._workshome ._wtitl { grid-column:1; grid-row:1; min-width:0; }
._workshome ._wacts { grid-column:3; grid-row:1; }
._workshome ._wview { grid-column:1 / -1; grid-row:2; }
._workshome > ._shell > ._wall { grid-column:2; grid-row:1; }

._catalogmobile, ._nativefield { display:none; }
._nativeerror { color:var(--error-900); font-size:1.4rem; margin:1rem 0; }
._nativeerror[hidden] { display:none; }
._qmv8r [data-scroll-zoom] > img, ._qmv8r ._cgimg[data-scroll-zoom] ._cgite img { transition:none; }
._ccard[data-copy-pending] :is(._cname,._cpric) { opacity:0; }
._ccard[data-copy-revealed] ._cname { animation:_hero-copy-reveal var(--hero-copy-duration) cubic-bezier(.16,1,.3,1) both; }
._ccard[data-copy-revealed] ._cpric { animation:_hero-copy-reveal var(--hero-copy-duration) cubic-bezier(.16,1,.3,1) var(--hero-copy-follow-delay) both; }
@media (prefers-reduced-motion:reduce) {
    ._brand :is(._lcharin,._lcharout) { transition:none; }
    ._ccard:is([data-copy-pending],[data-copy-revealed]) :is(._cname,._cpric) { opacity:1; transform:none; animation:none; }
    [data-scroll-zoom] > img, ._cgimg[data-scroll-zoom] ._cgite img { transform:none; transition:none; }
}
