/* Shared accessibility and interaction details. Layout lives in Elementor controls. */
html { scroll-behavior: smooth; }
body.ym-native { margin: 0; background:#fafafa; color:#111; }
.ym-native a {color:inherit;}
.ym-native .elementor-widget-text-editor a {text-underline-offset:4px;}
.ym-native .ym-toc {list-style:none;padding:0;margin:0;}
.ym-native .ym-article-toc a {display:block;padding:12px 14px;border-bottom:1px solid #ddd;text-decoration:none;line-height:1.4;}
.ym-native .elementor-widget-text-editor p:last-child { margin-bottom:0; }
.ym-native .elementor-widget-text-editor blockquote { margin:0; }
.ym-native .elementor-widget-heading h1,
.ym-native .elementor-widget-heading h2,
.ym-native .elementor-widget-heading h3 { margin:0; }
.ym-native .e-con,.ym-native .elementor-widget { min-width:0; }
.ym-native .elementor-button { text-decoration:none; }
.ym-native .ym-project-photo img { filter:grayscale(1); transition:filter .45s ease,transform .65s ease; }
.ym-native .ym-project:hover .ym-project-photo img,
.ym-native .ym-project:focus-visible .ym-project-photo img { filter:grayscale(0); transform:scale(1.025); }
.ym-native .ym-project[hidden] { display:none; }
.ym-native .ym-project-caption { pointer-events:none; }
.ym-native.elementor-editor-active .ym-project-caption {pointer-events:auto;}
.ym-native.elementor-editor-active .ym-service-card {position:relative;top:auto;}
.ym-native .ym-filter .elementor-button {border-bottom-color:transparent;}
.ym-native .ym-filter.is-active .elementor-button { border-bottom:1px solid currentColor; }
.ym-native .ym-library-item[hidden],.ym-native .ym-library-empty[hidden] {display:none;}
.ym-native .ym-topic-filter.is-active .elementor-button,.ym-native .ym-topic-filter.ym-active .elementor-button {background:#101010;color:#fff;}
.ym-native .ym-topic-filter:has([aria-pressed="false"]) .elementor-button {background:transparent;color:#111;}
.ym-native .ym-topic-filter .elementor-button:hover {background:#d7f52b;color:#111;}
.ym-native .ym-article-toc a.is-current {color:#111;background:#d7f52b;}
.ym-native .ym-library-item .ym-journal-card {height:100%;}
.ym-native .ym-breadcrumbs a {text-decoration:none;}
.ym-native .ym-round-arrow {pointer-events:none;}
.ym-native .ym-round-arrow .ym-arrow-icon {fill:none;transform:none;}
.ym-native .ym-web-case img,.ym-native .ym-case-full-image img,.ym-native .ym-spotlight-image img {transition:transform 700ms cubic-bezier(.22,1,.36,1),filter 550ms ease;}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
 .ym-native .ym-web-case:hover img,.ym-native .ym-spotlight-image:hover img {transform:scale(1.025);}
}
.ym-native :focus-visible { outline:2px solid #111111; outline-offset:4px; box-shadow:0 0 0 4px #d7f52b; }
.ym-native .ym-service-card { scroll-margin-top:100px; }
.ym-native .ym-contact-image .elementor-widget-image,
.ym-native .ym-contact-image .elementor-widget-container { height:100%; width:100%; }
.ym-native .ym-hero-line {display:flex; align-items:center; white-space:nowrap;}
.ym-native .ym-hero-word {display:flex; overflow:hidden; height:1.06em; white-space:nowrap;}
.ym-native .ym-hero-word>span {display:inline-block;}
.ym-native .ym-hero-star {width:.85em;height:.85em;flex-shrink:0;margin-left:.05em;background:#d7f52b;mask:url('assets/hero-star.svg') center/contain no-repeat;}
.ym-native .ym-intro {overflow:clip;}
.ym-native .ym-intro-landscape {mask-image:none;pointer-events:none;filter:grayscale(1);}
.ym-native .ink-char {white-space:pre;}
.ym-native .rolling-label {display:inline-flex;vertical-align:middle;}
.ym-native .roll-cell {display:inline-block;overflow:hidden;line-height:1.3;}
.ym-native .roll-track {display:block;position:relative;transition:transform 400ms cubic-bezier(.22,1,.36,1);}
.ym-native .roll-track>span {display:block;}
.ym-native .roll-track>span+span {position:absolute;top:100%;left:0;}
.ym-native .sr-only,.ym-native .ym-sr-only {position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;}
.ym-native .ym-card-arrow svg,.ym-native .elementor-button-icon svg:not(.ym-arrow-icon) {transform:rotate(45deg);}
.ym-native .elementor-button-icon .ym-arrow-icon {width:22px;height:22px;fill:none;transform:none;}
.ym-native .ym-project-caption {padding-right:85px;}
.ym-native .ym-footer-wordmark .elementor-heading-title {overflow:hidden;white-space:nowrap;}
.ym-native .wordmark-letter {display:inline-block;font:inherit;padding:0;margin:0;}
.ym-native .ym-review-full {display:none;}
.ym-native .ym-review-origin {display:block;color:#777;font-size:11px;margin-top:4px;}
.ym-native .ym-review-avatar {display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#eee;margin-right:12px;vertical-align:middle;}
.ym-native .ym-review-avatar+span {display:inline-block;vertical-align:middle;}
.ym-native .ym-review-card {margin:0;}
.ym-native .ym-reviews-wall.is-enhanced:not(.is-reading) .ym-reviews-viewport {height:660px;overflow:hidden;mask-image:linear-gradient(to bottom,transparent,#000 8%,#000 88%,transparent);}
.ym-native .ym-review-column {min-width:0;}
.ym-native .ym-review-track {animation:ym-reviews-rise var(--review-duration,48s) linear infinite;animation-play-state:paused;will-change:transform;}
.ym-native .ym-review-group {display:flex;flex-direction:column;gap:22px;padding-bottom:22px;}
.ym-native .ym-reviews-wall.is-running .ym-review-track {animation-play-state:running;}
.ym-native .ym-reviews-viewport:hover .ym-review-track,.ym-native .ym-reviews-wall:focus-within .ym-review-track {animation-play-state:paused;}
.ym-native .ym-reviews-wall.is-reading .ym-review-track {animation:none;transform:none;will-change:auto;}
.ym-native .ym-reviews-wall.is-reading .ym-review-group[aria-hidden] {display:none;}
.ym-native .ym-reviews-wall.is-reading .ym-review-excerpt {display:none;}
.ym-native .ym-reviews-wall.is-reading .ym-review-full {display:inline;}
.ym-native .ym-faq-list .elementor-accordion-item {border-inline:0;}
.ym-native .ym-footer a:hover {color:#d7f52b;}
.ym-native .ym-journal-image {overflow:hidden;}
.ym-native .ym-journal-image img {transition:filter 550ms ease,transform 700ms cubic-bezier(.22,1,.36,1);}
.ym-native.admin-bar .ym-header {top:32px;}
.ym-native.sub-page .ym-header {top:0;}
@keyframes ym-reviews-rise {to {transform:translateY(-50%);}}
@media(max-width:782px) {.ym-native.admin-bar:not(.sub-page) .ym-header {top:46px;}}
@media(min-width:1025px) {.ym-native .ym-desktop-nav .menu-item:last-child {display:none;}}
@media(min-width:768px) and (prefers-reduced-motion:no-preference) {
 .ym-native .ym-service-card {position:sticky;top:calc(120px + var(--card-index,0)*20px);z-index:calc(1 + var(--card-index,0));transition:column-gap 650ms cubic-bezier(.22,1,.36,1);}
 .ym-native .ym-service-card.is-stacked {--column-gap:40px;}
}
@media(hover:hover) and (pointer:fine) {
 .ym-native .ym-journal-image img {filter:grayscale(1);}
 .ym-native .ym-journal-card:hover .ym-journal-image img,.ym-native .ym-journal-card:focus-visible .ym-journal-image img {filter:grayscale(0);transform:scale(1.035);}
 .ym-native a:hover .roll-track,.ym-native a:focus-visible .roll-track {transform:translateY(-100%);}
 .ym-native .ym-project-photo img {transition:filter 650ms ease,transform 850ms cubic-bezier(.22,1,.36,1);}
 .ym-native .ym-project-description {max-height:0;opacity:0;transform:translateY(8px);overflow:hidden;transition:opacity 250ms,transform 450ms cubic-bezier(.22,1,.36,1),max-height 450ms cubic-bezier(.22,1,.36,1);}
 .ym-native .ym-project:hover .ym-project-description,.ym-native .ym-project:focus-visible .ym-project-description {max-height:90px;opacity:1;transform:none;}
}
@media(prefers-reduced-motion:no-preference) {
 .ym-native .ym-hero-star {animation:ym-star-turn 8s linear infinite;animation-play-state:paused;}
 .ym-native .motion-running .ym-hero-star {animation-play-state:running;}
 .ym-native .ym-hero-line {animation:ym-line-enter 850ms cubic-bezier(.22,1,.36,1) both;}
 .ym-native .ym-hero-line:last-child {animation-delay:100ms;}
 .ym-native .ym-footer-wordmark .motion-ready .wordmark-letter {transform:translateY(110%);transition:transform 900ms cubic-bezier(.22,1,.36,1);transition-delay:calc(var(--letter-index)*45ms);}
 .ym-native .ym-footer-wordmark .is-visible .wordmark-letter {transform:translateY(0);}
 .ym-native .ym-reveal {transition:opacity 620ms cubic-bezier(.22,1,.36,1),transform 620ms cubic-bezier(.22,1,.36,1);}
 .ym-native .ym-reveal.is-pending {opacity:0;transform:translateY(28px);}
 @keyframes ym-star-turn {to {transform:rotate(360deg);}}
 @keyframes ym-line-enter {from {transform:translateY(30px);opacity:0;} to {transform:none;opacity:1;}}
}
@media(max-width:767px) {
 .ym-native .elementor-widget-text-editor {overflow-wrap:anywhere;}
 .ym-native.sub-page .elementor-heading-title {overflow-wrap:anywhere;hyphens:auto;}
 .ym-native .ym-filter sup {font-size:14px;vertical-align:baseline;margin-left:4px;top:0;}
 .ym-native .ym-review-origin {font-size:14px;line-height:1.45;}
 .ym-native .elementor-button {min-height:44px;display:inline-flex;align-items:center;justify-content:center;}
 .ym-native .ym-breadcrumbs .elementor-button {text-align:left;justify-content:flex-start;}
 .ym-native .ym-footer .elementor-button {text-align:left;justify-content:flex-start;}
 .ym-native #web-title .elementor-heading-title {hyphens:none;}
 .ym-native .ym-web-hero-project .elementor-widget-text-editor a {display:block;margin-top:8px;}
 .ym-native .ym-reviews-wall.is-enhanced:not(.is-reading) .ym-reviews-viewport {height:610px;}
 .ym-native .ym-review-track {--review-duration:100s!important;}
 .ym-native .ym-reveal.is-pending {transform:translateY(18px);}
 .ym-native.admin-bar .ym-header {top:46px;}
 .ym-native.sub-page .ym-header {top:0;}
}
/* Layout and logo sizing live in the native containers/Image widgets. */
.ym-native .ym-logo-marquee {min-width:0;max-width:100%;}
.ym-native .ym-logo-track [data-widget_type="image.default"] img {mix-blend-mode:multiply;filter:grayscale(1);}
.ym-native .ym-logo-marquee [data-ym-logo-clone] {display:none;}
.ym-native .ym-logo-marquee.is-marquee {
 overflow:hidden;flex-wrap:nowrap;justify-content:flex-start;
 mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent);
}
.ym-native .ym-logo-marquee.is-marquee > .ym-logo-track {
 display:flex;flex-wrap:nowrap;flex:0 0 auto;width:max-content;max-width:none;
 animation:ym-logo-loop var(--ym-logo-duration,160s) linear infinite;
 animation-play-state:paused;
}
.ym-native .ym-logo-marquee.is-running > .ym-logo-track {animation-play-state:running;}
@keyframes ym-logo-loop {to {transform:translateX(calc(-100% - 24px));}}
@media (prefers-reduced-motion:reduce) {
 .ym-native .ym-logo-marquee.is-marquee {overflow:visible;mask-image:none;}
 .ym-native .ym-logo-marquee.is-marquee > .ym-logo-track {animation:none!important;transform:none;width:100%;flex-wrap:wrap;}
 .ym-native .ym-logo-marquee [data-ym-logo-clone] {display:none!important;}
}
@media (hover:none) { .ym-native .ym-project-photo img {filter:none;} }
@media (prefers-reduced-motion:no-preference) {
 .ym-native [data-ym-scroll] {transition:opacity 700ms cubic-bezier(.22,1,.36,1),transform 700ms cubic-bezier(.22,1,.36,1);transition-delay:var(--ym-scroll-delay,0ms);}
 .ym-native [data-ym-scroll="image"] {transition-duration:850ms;}
 .ym-native .ym-scroll-pending {opacity:0;transform:translateY(36px);}
 .ym-native [data-ym-scroll="image"].ym-scroll-pending {transform:translateY(48px) scale(.985);}
 .ym-native .ym-scroll-instant {transition:none!important;}
}
@media (max-width:767px) and (prefers-reduced-motion:no-preference) {
 .ym-native .ym-scroll-pending {transform:translateY(22px);}
 .ym-native [data-ym-scroll="image"].ym-scroll-pending {transform:translateY(30px);}
}
@media (prefers-reduced-motion:reduce) {
 html {scroll-behavior:auto;}
 .ym-native *, .ym-native *::before, .ym-native *::after { animation-duration:.01ms!important; transition-duration:.01ms!important; }
 .ym-native .elementor-sticky {position:relative!important;top:auto!important;}
 .ym-native .elementor-invisible {visibility:visible!important;}
 .ym-native .elementor-headline-dynamic-letter {opacity:1!important;}
 .ym-native .ym-reveal,.ym-native .ym-reveal.is-pending {opacity:1!important;transform:none!important;}
 .ym-native .ym-review-track {animation:none;transform:none;will-change:auto;}
 .ym-native .ym-intro-landscape {transform:none!important;}
 .ym-native .ym-reviews-wall.is-enhanced .ym-reviews-viewport {height:auto;overflow:visible;mask-image:none;}
 .ym-native .ym-review-group[aria-hidden],.ym-native .ym-motion-toggle,.ym-native .ym-reviews-read {display:none;}
 .ym-native .ym-review-excerpt {display:none;}
 .ym-native .ym-review-full {display:inline;}
 .ym-native .ym-journal-card:hover .ym-journal-image img,.ym-native .ym-journal-card:focus-visible .ym-journal-image img {transform:none;}
 .ym-native [data-ym-scroll] {opacity:1!important;transform:none!important;transition:none!important;}
}

/* Align article contents entries with their active background. */
.ym-native .ym-article-toc ul{list-style:none;padding:0;margin:0;}
.ym-native .ym-article-toc li{padding:0;margin:0;}
