/* Eduardo portfolio — layout layer. AUTO-GENERATED from tools/enhance/layout.src.css by build_css.py (selectors prefixed with :root:root). Edit the .src.css, not this file. */
:root {--enh-top: 56px; --enh-foot: 94px;}
:root:root .portfolio-page, :root:root .project-page {min-height: 0;}
:root:root .portfolio-topbar {height: var(--enh-top);}
:root:root .category-scene {inset: var(--enh-top) 0 var(--enh-foot);}
:root:root .project-detail {inset: var(--enh-top) 0 var(--enh-foot);}
:root:root .portfolio-footer {min-height: var(--enh-foot);}
:root:root .topbar-brand {gap: 10px; font-size: 12px; letter-spacing: .2em; white-space: nowrap;}
:root:root .topbar-brand .brand-mark {width: 27px; height: 27px;}
:root:root .topbar-left {font-size: 10px;}
:root:root .topbar-left time {font-size: 12px;}
:root:root .portfolio-page .resume-trigger {white-space: nowrap; gap: 11px; padding: 12px 21px; font-size: 12px; letter-spacing: .1em; border-width: 1px;}
:root:root .portfolio-page .resume-trigger svg {width: 16px; height: 16px;}
:root:root .language-switch {padding: 6px 10px; font-size: 11px;}
:root:root .category-nav {gap: 6px; max-width: min(86vw, 1140px);}
:root:root .category-nav__link {min-height: 50px; padding: 0 19px; gap: 9px; font-size: 12.5px; letter-spacing: .09em; color: #c2cae0; background: rgba(14, 22, 44, .35); border: 1px solid rgba(160, 200, 255, .12);}
:root:root .category-nav__link span {font-size: 9.5px; color: #7f8fb0;}
:root:root .category-nav__link:hover {color: #fff; border-color: rgba(114, 214, 255, .6); background: rgba(21, 47, 82, .6);}
:root:root .category-nav__link.is-current {transform: translateY(-4px); font-weight: 700; border-color: #7adfff; background: linear-gradient(120deg, #b4edff, #d7c4ff); color: #07111d; box-shadow: 0 0 12px rgba(93, 221, 255, .7), 0 0 34px rgba(166, 104, 255, .42);}
:root:root .category-nav__link.is-current span {color: #2c4470;}
:root:root .footer-copy, :root:root .footer-location {font-size: 10.5px; gap: 7px;}
:root:root .enh-contact {display: none; align-items: center; justify-content: space-between; gap: 12px; padding: 0 6px;}
:root:root .enh-contact__copy {font: 9.5px/1 var(--mono, monospace); letter-spacing: .12em; color: #8b95b3;}
:root:root .enh-contact__links {display: flex; gap: 8px;}
:root:root .enh-contact__btn {display: grid; place-items: center; width: 44px; height: 36px; border: 1px solid rgba(170, 205, 255, .2); background: rgba(10, 16, 34, .62); color: #cfeaff; font-size: 17px; transition: border-color .2s ease, background-color .2s ease;}
:root:root .enh-contact__btn:hover, :root:root .enh-contact__btn:active {border-color: rgba(118, 229, 255, .6); background: rgba(24, 52, 90, .6);}
:root:root .folder-card__top, :root:root .folder-card__slogan {display: none;}
:root:root .portfolio-wordmark > span:not(.portfolio-wordmark__title) {display: none;}
:root:root .folder-stamp {top: 17px; right: 17px; padding: 5px 8px; font-size: 7px;}
:root:root .folder-card__copy {overflow-wrap: anywhere;}
:root:root .folder-card__copy strong {hyphens: auto;}
:root:root .carousel-card {-webkit-user-drag: none; user-select: none; -webkit-user-select: none; -webkit-touch-callout: none;}
:root:root .carousel-card * {-webkit-user-drag: none;}
:root:root .category-pager {right: clamp(28px, 5.3vw, 100px); bottom: 26px; gap: 14px; align-items: stretch;}
:root:root .category-pager button {min-width: 168px; gap: 12px; padding: 12px 18px; border: 1px solid rgba(170, 205, 255, .16); background: rgba(8, 13, 28, .58); backdrop-filter: blur(8px);}
:root:root .category-pager button:hover {border-color: rgba(118, 229, 255, .55); background: rgba(20, 44, 78, .6); transform: translateY(-2px);}
:root:root .category-pager button:last-child {justify-content: flex-end;}
:root:root .category-pager button span {gap: 5px; font: 600 13px/1.1 'Oxanium', var(--mono), sans-serif; letter-spacing: .1em; text-transform: uppercase;}
:root:root .category-pager button small {font-family: var(--mono); font-size: 8px; letter-spacing: .18em;}
:root:root .category-pager button small {font-size: 9px; letter-spacing: .14em;}
:root:root .category-pager button svg {width: 20px; height: 20px; flex: none;}
:root:root .pager-count {align-self: center; padding: 0 6px; font-size: 13px;}
:root:root .carousel-instruction {display: none;}
:root:root .enh-hint {position: absolute; z-index: 36; right: clamp(20px, 2.4vw, 48px); bottom: calc(var(--enh-foot) + 96px); display: flex; align-items: center; gap: 12px; padding: 12px 20px; font: 500 11.5px/1 var(--mono, monospace); letter-spacing: .14em; white-space: nowrap; color: #8cdcf4; border: 1px solid rgba(118, 229, 255, .2); background: rgba(6, 10, 22, .55); backdrop-filter: blur(6px); pointer-events: none;}
:root:root .enh-hint > span:last-child {color: #c29bf4;}
:root:root .enh-hint .status-dot {flex: none;}
:root:root .portfolio-wordmark {top: calc(var(--enh-top) + 5%); left: 25%; width: 72%;}
:root:root .portfolio-wordmark__title {display: block; margin: 0; color: inherit; text-align: left; text-shadow: inherit; font: 400 15vw/1 var(--exotic); letter-spacing: -.085em; white-space: nowrap;}
:root:root .carousel-stage {cursor: pointer; touch-action: pan-y;}
:root:root .carousel-card, :root:root .folder-card__face {-webkit-tap-highlight-color: transparent;}
:root:root .carousel-card:focus, :root:root .carousel-card:focus-visible {outline: none;}
:root:root .carousel-card {transition: opacity .55s ease, filter .48s ease !important;}
:root:root .carousel-card--active .folder-card__face, :root:root .portfolio-page .carousel-card--active .folder-card__face {animation: enh-rim 4.8s ease-in-out infinite !important; box-shadow: inset 0 0 0 5px rgba(4, 5, 15, .54), inset 0 0 26px color-mix(in srgb, var(--panel-accent) 16%, transparent), 0 18px 40px rgba(0, 0, 0, .5);}
:root:root .portfolio-page .carousel-card:hover .folder-card__face {box-shadow: inset 0 0 0 5px rgba(4, 5, 15, .54), inset 0 0 30px color-mix(in srgb, var(--panel-accent) 20%, transparent), 0 18px 40px rgba(0, 0, 0, .5);}
:root:root .carousel-card__shadow, :root:root .folder-card__shadow {box-shadow: 0 18px 44px rgba(0, 0, 0, .5) !important;}
:root:root .portfolio-page .folder-card__face::after {background: radial-gradient(ellipse 44% 48% at var(--pointer-x, 50%) var(--pointer-y, 50%), rgba(148, 216, 255, .07), transparent 100%); mix-blend-mode: normal;}
@keyframes enh-rim {
  0%, 100% { border-color: color-mix(in srgb, var(--panel-accent) 70%, #e9e2ff); }
  50% { border-color: color-mix(in srgb, var(--panel-accent) 95%, #fff); }
}
:root:root .enh-prev {position: absolute; z-index: 2; top: 13%; right: 9%; left: 45%; bottom: 44%; overflow: hidden; border: 1px solid color-mix(in srgb, var(--panel-accent) 72%, transparent); background: #0a0d1c; box-shadow: inset 0 0 0 1px rgba(4, 5, 15, .6); transform: translateZ(18px); transition: transform .4s cubic-bezier(.2, .8, .2, 1), border-color .3s ease;}
:root:root .enh-prev img {position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .88; filter: saturate(.95) contrast(1.05); transform: scale(1.02); transition: transform .6s cubic-bezier(.2, .8, .2, 1), opacity .3s ease; pointer-events: none; user-select: none;}
:root:root .enh-prev::before {content: ''; position: absolute; z-index: 1; inset: 0; pointer-events: none; background: repeating-linear-gradient(0deg, transparent 0 3px, rgba(180, 222, 255, .07) 4px), linear-gradient(180deg, transparent 55%, rgba(4, 5, 14, .8));}
:root:root .enh-prev::after {content: ''; position: absolute; z-index: 2; inset: 4px; pointer-events: none; background: linear-gradient(var(--panel-accent), var(--panel-accent)) top left / 7px 1px no-repeat, linear-gradient(var(--panel-accent), var(--panel-accent)) top left / 1px 7px no-repeat, linear-gradient(var(--panel-accent), var(--panel-accent)) bottom right / 7px 1px no-repeat, linear-gradient(var(--panel-accent), var(--panel-accent)) bottom right / 1px 7px no-repeat;}
:root:root .enh-prev__cap {position: absolute; z-index: 3; left: 7px; bottom: 6px; font: 7px/1 var(--mono, monospace); letter-spacing: .14em; color: #dff6ff; text-shadow: 0 1px 6px #02040a;}
:root:root .carousel-card--active .enh-prev img, :root:root .carousel-card:hover .enh-prev img {opacity: 1; transform: scale(1.08);}
:root:root .carousel-card--active .enh-prev, :root:root .carousel-card:hover .enh-prev {border-color: color-mix(in srgb, var(--panel-accent) 95%, #fff);}
:root:root .enh-prev--wip {display: grid; place-items: center; align-content: center; gap: 8px; background: repeating-linear-gradient(135deg, rgba(255, 255, 255, .03) 0 6px, transparent 6px 12px), #0a0d1c;}
:root:root .enh-prev--wip i {position: static; display: block; font-size: 26px; line-height: 1; color: var(--panel-accent); opacity: .85;}
:root:root .enh-prev--wip .enh-prev__cap {position: static;}
@media (max-width: 560px) {
:root:root .enh-prev {top: 15%; right: 8%; left: 43%; bottom: 46%;}
:root:root .enh-prev__cap {font-size: 5px; left: 5px; bottom: 4px;}
:root:root .enh-prev--wip i {font-size: 18px;}
}
@media (prefers-reduced-motion: reduce) {
:root:root .carousel-card--active .folder-card__face {animation: none !important;}
}
@media (max-width: 1600px) {
:root:root .footer-location {display: none;}
}
@media (max-width: 1500px) {
:root:root .category-nav__link {padding: 0 15px; font-size: 12px;}
}
@media (max-width: 1360px) {
:root:root .category-nav__link {padding: 0 12px; font-size: 11.5px; gap: 7px;}
:root:root .portfolio-page .topbar-social-label {display: none;}
}
@media (max-width: 1180px) {
:root:root .category-nav__link {min-height: 46px; padding: 0 13px; font-size: 11px; gap: 7px;}
:root:root .category-nav {gap: 4px;}
:root:root .category-pager button {min-width: 140px; padding: 10px 14px;}
:root:root .category-pager button span {font-size: 13px;}
:root:root .portfolio-page .resume-trigger {padding: 11px 16px; font-size: 11px;}
}
@media (max-width: 1120px) and (min-width: 901px) {
:root:root .topbar-brand {font-size: 10px; letter-spacing: .14em;}
:root:root .portfolio-page .topbar-social-label {display: none;}
}
@media (max-width: 900px) and (min-height: 521px), (orientation: portrait) and (max-width: 1100px) {
:root {--enh-top: 54px; --enh-foot: 116px;}
:root:root .carousel-stage {--enh-fan: .42; --enh-fan-y: .34;}
:root:root .portfolio-topbar {grid-template-columns: 1fr auto; gap: 10px; padding: 0 14px;}
:root:root .portfolio-topbar .topbar-left {display: none;}
:root:root .topbar-brand {justify-self: start; gap: 8px; font-size: 10px; letter-spacing: .14em;}
:root:root .topbar-brand .brand-mark {width: 26px; height: 26px;}
:root:root .topbar-brand > i {display: none;}
:root:root .topbar-actions {gap: 8px;}
:root:root .portfolio-page .topbar-social, :root:root .project-page .topbar-social {display: none;}
:root:root .language-switch {padding: 6px 8px; font-size: 10px;}
:root:root .portfolio-page .resume-trigger {gap: 8px; padding: 10px 13px; min-height: 38px;}
:root:root .portfolio-page .resume-trigger > svg:last-child {display: none;}
:root:root .portfolio-page .resume-trigger > span {font-size: 0; letter-spacing: 0;}
:root:root .portfolio-page .resume-trigger > span::after {content: 'RESUME'; font-size: 11px; letter-spacing: .1em;}
html:root:root[lang^="pt"] .portfolio-page .resume-trigger > span::after {content: 'CURRÍCULO';}
:root:root .portfolio-footer {display: grid; grid-template-columns: 1fr; grid-template-rows: auto auto; align-content: center; gap: 6px; padding: 8px 10px 10px;}
:root:root .portfolio-footer > .footer-copy, :root:root .portfolio-footer > .footer-location {display: none;}
:root:root .category-nav {justify-self: stretch; justify-content: flex-start; max-width: 100%; gap: 6px; padding: 6px 4px 8px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x proximity; scrollbar-width: none; -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 10px, #000 calc(100% - 22px), transparent); mask-image: linear-gradient(90deg, transparent 0, #000 10px, #000 calc(100% - 22px), transparent);}
:root:root .category-nav::-webkit-scrollbar {display: none;}
:root:root .category-nav__link {flex: 0 0 auto; min-height: 46px; padding: 0 16px; font-size: 11.5px; scroll-snap-align: center;}
:root:root .category-nav__link.is-current {transform: none;}
:root:root .enh-contact {display: flex;}
:root:root .enh-hud {display: none;}
:root:root .category-scene {display: flex; flex-direction: column; overflow: hidden;}
:root:root .category-copy {position: relative; top: auto; left: auto; flex: 0 0 auto; width: auto; padding: 12px 20px 0 22px; transform: none;}
:root:root .category-copy::before {display: none;}
:root:root .copy-kicker {margin-bottom: 8px; font-size: 9px;}
:root:root .category-number {margin-bottom: 5px; font-size: 9px;}
:root:root .portfolio-page .category-copy h1 {max-width: none; font-size: clamp(34px, 10.4vw, 52px);}
:root:root .category-subtitle {margin-top: 6px; font-size: 11px;}
:root:root .active-project-copy {width: auto; max-width: none; margin-top: 12px; padding: 10px 12px;}
:root:root .active-project-copy h2 {margin: 4px 0 4px; font-size: 14px;}
:root:root .active-project-copy p {font-size: 11px; line-height: 1.45; -webkit-line-clamp: 2; max-height: none;}
:root:root .project-open-link {min-height: 30px; margin-top: 8px; font-size: 10px;}
:root:root .project-picker {margin-top: 10px; gap: 6px 14px;}
:root:root .project-picker button {min-height: 28px; font-size: 10px;}
:root:root .copy-location {display: none;}
:root:root .carousel-stage {position: relative; inset: auto; left: auto; flex: 1 1 0; min-height: 0; width: 100%; perspective: 1100px; perspective-origin: 50% 35%; touch-action: pan-y; cursor: auto;}
:root:root .carousel-track {top: 52%; left: 50%;}
:root:root .carousel-card {width: clamp(200px, 60vw, 330px); transform: translate3d(calc(-50% + var(--panel-x) * var(--enh-fan)), calc(-50% + var(--panel-y) * var(--enh-fan-y)), var(--panel-z)) rotateX(3deg) rotateY(var(--panel-ry)) rotateZ(var(--panel-rz)) scale(var(--panel-scale));}
:root:root .carousel-floor {display: none;}
:root:root .enh-hint {right: auto; left: 50%; transform: translateX(-50%); bottom: calc(var(--enh-foot) + 70px); padding: 6px 12px; font-size: 9px;}
:root:root .category-pager {position: relative; right: auto; bottom: auto; left: auto; z-index: 35; flex: 0 0 auto; width: 100%; gap: 8px; padding: 8px 12px 10px;}
:root:root .category-pager button {flex: 1 1 0; min-width: 0; min-height: 50px; padding: 8px 12px; gap: 8px;}
:root:root .category-pager button span {min-width: 0; font-size: 13px; overflow: hidden;}
:root:root .category-pager button span, :root:root .category-pager button small {text-overflow: ellipsis; white-space: nowrap;}
:root:root .pager-count {padding: 0 2px; font-size: 11px;}
:root:root .portfolio-wordmark {top: 44%; left: 0; width: 100%; text-align: center;}
:root:root .portfolio-wordmark__title {font-size: 21vw; text-align: center;}
}
@media (min-width: 600px) and (max-width: 900px) and (min-height: 521px), (min-width: 600px) and (max-width: 1100px) and (orientation: portrait) {
:root:root .carousel-stage {--enh-fan: .7; --enh-fan-y: .56;}
:root:root .carousel-card {width: clamp(260px, min(56vw, 44vh), 470px);}
:root:root .category-copy {padding: 24px 36px 0 36px;}
:root:root .copy-kicker, :root:root .category-number {font-size: 11px;}
:root:root .portfolio-page .category-copy h1 {font-size: clamp(56px, 10vw, 96px);}
:root:root .category-subtitle {font-size: 14px;}
:root:root .active-project-copy {padding: 14px 16px;}
:root:root .active-project-copy h2 {font-size: 18px;}
:root:root .active-project-copy p {font-size: 14px; -webkit-line-clamp: 3;}
:root:root .project-open-link {font-size: 12px;}
:root:root .project-picker button {font-size: 12px;}
:root:root .category-pager {padding: 10px 26px 16px;}
:root:root .category-pager button span {font-size: 16px;}
:root:root .enh-hint {font-size: 11px; bottom: calc(var(--enh-foot) + 84px);}
:root:root .portfolio-wordmark__title {font-size: 19vw;}
}
@media (max-width: 900px) and (min-height: 521px) and (max-height: 760px), (orientation: portrait) and (max-width: 1100px) and (max-height: 760px) {
:root:root .copy-kicker {display: none;}
:root:root .active-project-copy p {-webkit-line-clamp: 1;}
:root:root .project-picker {display: none;}
:root:root .portfolio-page .category-copy h1 {font-size: clamp(38px, 11.5vw, 52px);}
:root:root .category-pager button {min-height: 44px;}
}
@media (max-width: 360px) {
:root:root .topbar-brand {font-size: 9px; letter-spacing: .1em;}
:root:root .portfolio-page .resume-trigger {padding: 9px 10px;}
:root:root .category-nav__link {padding: 0 13px; font-size: 11px;}
}
@media (max-height: 520px) and (orientation: landscape) {
:root {--enh-top: 44px; --enh-foot: 58px;}
:root:root .carousel-stage {--enh-fan: .5; --enh-fan-y: .42;}
:root:root .portfolio-topbar {grid-template-columns: 1fr auto; padding: 0 16px;}
:root:root .portfolio-topbar .topbar-left {display: none;}
:root:root .topbar-brand {justify-self: start; font-size: 10px;}
:root:root .topbar-brand .brand-mark {width: 22px; height: 22px;}
:root:root .portfolio-page .resume-trigger {padding: 7px 12px; font-size: 10px;}
:root:root .portfolio-page .topbar-social-label {display: none;}
:root:root .language-switch {padding: 4px 8px; font-size: 10px;}
:root:root .portfolio-footer {grid-template-columns: 1fr; min-height: var(--enh-foot); padding: 0 12px;}
:root:root .portfolio-footer > .footer-copy, :root:root .portfolio-footer > .footer-location, :root:root .enh-contact, :root:root .enh-hint, :root:root .enh-hud {display: none;}
:root:root .category-nav {justify-self: stretch; justify-content: flex-start; max-width: 100%; overflow-x: auto; scrollbar-width: none; gap: 5px;}
:root:root .category-nav::-webkit-scrollbar {display: none;}
:root:root .category-nav__link {flex: 0 0 auto; min-height: 36px; padding: 0 12px; font-size: 10.5px;}
:root:root .category-nav__link.is-current {transform: none;}
:root:root .category-scene {display: block;}
:root:root .category-copy {position: absolute; top: 50%; left: 22px; width: min(40vw, 340px); padding: 0; transform: translateY(-50%);}
:root:root .category-copy::before, :root:root .copy-kicker, :root:root .category-number, :root:root .category-subtitle, :root:root .active-project-copy p, :root:root .project-picker, :root:root .copy-location {display: none;}
:root:root .portfolio-page .category-copy h1 {max-width: none; font-size: clamp(32px, 11vh, 48px);}
:root:root .active-project-copy {width: auto; max-width: none; margin-top: 12px; padding: 9px 12px;}
:root:root .active-project-copy h2 {margin: 3px 0; font-size: 13px;}
:root:root .project-open-link {min-height: 26px; margin-top: 6px; font-size: 10px;}
:root:root .carousel-stage {position: absolute; inset: 0 0 0 36%; flex: none; perspective: 1000px;}
:root:root .carousel-track {top: 50%; left: 55%;}
:root:root .carousel-card {width: clamp(150px, 50vh, 250px); transform: translate3d(calc(-50% + var(--panel-x) * var(--enh-fan)), calc(-50% + var(--panel-y) * var(--enh-fan-y)), var(--panel-z)) rotateX(3deg) rotateY(var(--panel-ry)) rotateZ(var(--panel-rz)) scale(var(--panel-scale));}
:root:root .carousel-floor, :root:root .folder-card__serial {display: none;}
:root:root .category-pager {position: absolute; right: 14px; bottom: 6px; left: auto; width: auto; padding: 0; gap: 8px;}
:root:root .category-pager button {flex: none; min-width: 0; min-height: 0; padding: 6px 12px;}
:root:root .category-pager button span {font-size: 12px;}
:root:root .category-pager button small {display: none;}
:root:root .portfolio-wordmark {top: 18%; left: 30%; width: 66%; text-align: left;}
:root:root .portfolio-wordmark__title {font-size: 16vw; text-align: left;}
}
@media (max-width: 900px) {
:root:root .project-detail {inset: var(--enh-top) 0 var(--enh-foot);}
:root:root .project-topbar .topbar-brand {justify-self: start;}
}
@media (max-width: 560px) {
:root:root .folder-card__serial {display: none;}
}
:root:root .enh-home {display: inline-flex; align-items: center; gap: 7px; padding: 7px 10px; border: 1px solid rgba(190, 215, 255, .22); border-radius: 2px; background: rgba(9, 13, 27, .5); color: #cfe6ff; font: 10px/1 var(--mono, monospace); letter-spacing: .14em; cursor: pointer; transition: color .2s ease, border-color .2s ease, background .2s ease;}
:root:root .enh-home:hover, :root:root .enh-home:focus-visible {color: #fff; border-color: rgba(118, 229, 255, .6); background: rgba(58, 130, 170, .2); outline: none;}
@media (max-width: 1620px) {
:root:root .enh-home span {display: none;}
:root:root .enh-home {padding: 8px;}
}
:root:root .category-copy, :root:root .category-copy *, :root:root .active-project-copy, :root:root .folder-card__copy {text-align: left;}
:root:root .portfolio-page .category-subtitle {margin-top: 14px;}
:root:root .enh-tools {display: flex; flex-wrap: wrap; align-items: center; gap: 6px 6px; margin-top: 12px;}
:root:root .enh-tools__label {display: none;}
:root:root .enh-tools__chip {display: inline-flex; align-items: center; gap: 6px; padding: 5px 8px 5px 7px; border: 1px solid rgba(118, 229, 255, .3); background: rgba(8, 16, 34, .5); font: 500 8.5px/1 var(--mono); letter-spacing: .1em; color: #c8efff; text-transform: uppercase;}
:root:root .enh-tools__chip::before {content: ''; width: 5px; height: 5px; background: var(--enh-cyan, #76e5ff); box-shadow: 0 0 8px var(--enh-cyan, #76e5ff); transform: rotate(45deg);}
@media (min-width: 901px) {
:root:root .portfolio-page .copy-kicker {margin-bottom: 26px;}
:root:root .portfolio-page .category-number {margin-bottom: 20px;}
:root:root .portfolio-page .category-copy h1 {padding-bottom: .09em; line-height: .96;}
:root:root .portfolio-page .category-subtitle {margin-top: 26px; letter-spacing: .06em;}
:root:root .portfolio-page .active-project-copy {margin-top: 30px;}
:root:root .enh-tools {gap: 8px; margin-top: 22px;}
:root:root .enh-tools__label {display: inline; margin-right: 4px; font: 9px/1 var(--mono); letter-spacing: .18em; color: #7d8aa8;}
:root:root .enh-tools__chip {gap: 7px; padding: 6px 10px 6px 9px; font-size: 9.5px; letter-spacing: .12em;}
}
:root:root .folder-card__face {container-type: inline-size;}
:root:root .folder-card__copy {grid-template-columns: minmax(0, 1fr);}
:root:root .portfolio-page .folder-card__copy strong {font-size: clamp(13px, 6.2cqw, 32px); overflow-wrap: anywhere; hyphens: manual;}
:root:root .portfolio-page .folder-card__copy span {font-size: clamp(7px, 1.9cqw, 10px);}
:root:root .category-nav__link {flex: 0 0 auto;}
:root:root .category-nav {flex-wrap: nowrap;}
@media (min-width: 1181px) {
:root:root .carousel-stage {left: 12%;}
:root:root .carousel-card {width: clamp(280px, min(33vw, calc(83vh - 297px)), 660px); translate: calc(var(--panel-x) * .72) calc(var(--panel-y) * .3); transition: opacity .55s ease, filter .48s ease, scale .7s cubic-bezier(.16, .82, .22, 1) !important;}
:root:root .carousel-card--active {scale: 1.035;}
:root:root .category-nav {max-width: 100%; gap: 4px;}
:root:root .category-nav__link {min-height: 50px; padding: 0 clamp(9px, .85vw, 19px); gap: clamp(5px, .5vw, 9px); font-size: clamp(9.5px, .72vw, 12.5px); letter-spacing: .07em;}
:root:root .enh-hint {right: clamp(20px, 2.4vw, 48px); left: auto; bottom: calc(var(--enh-foot) + 150px); justify-content: flex-end; padding: 0; border: 0; background: none; backdrop-filter: none; font-size: 9.5px; letter-spacing: .2em; color: rgba(140, 220, 244, .5); gap: 10px;}
:root:root .enh-hint > span:last-child {color: inherit;}
:root:root .category-copy {top: clamp(118px, 15.5vh, 190px); width: min(31vw, 520px); transform: none;}
:root:root .portfolio-page .category-copy h1 {max-width: none; font-size: clamp(44px, min(4.6vw, 8.4vh), 84px); overflow-wrap: anywhere;}
:root:root .portfolio-page .portfolio-wordmark {top: calc(var(--enh-top) + 1.2vh); left: 6.3vw; width: auto; z-index: 1; text-shadow: none; -webkit-text-stroke: 0; translate: calc(var(--enh-mx, 0) * -16px) calc(var(--enh-my, 0) * -9px); filter: drop-shadow(0 10px 26px rgba(70, 140, 255, .28));}
:root:root .portfolio-page .portfolio-wordmark__title {font-size: clamp(56px, 7.2vw, 150px); line-height: .9; letter-spacing: -.06em; color: #d3e6ff; padding: 0 .16em .06em .04em; -webkit-mask-image: linear-gradient(180deg, #000 0%, rgba(0, 0, 0, .55) 52%, rgba(0, 0, 0, .05) 96%); mask-image: linear-gradient(180deg, #000 0%, rgba(0, 0, 0, .55) 52%, rgba(0, 0, 0, .05) 96%);}
}
:root:root .carousel-card:not(.carousel-card--active) {filter: brightness(calc(var(--panel-opacity, 1) * .78)) saturate(.78);}
:root:root .carousel-card--active {filter: brightness(1.14) saturate(1.12);}
:root:root .carousel-card--active .folder-card__face, :root:root .portfolio-page .carousel-card--active .folder-card__face {border-color: color-mix(in srgb, var(--panel-accent) 70%, #fff);}
html:root:root.enh-floor-on .carousel-floor, :root:root .carousel-floor {display: none !important;}
:root:root .topbar-left > span, :root:root .footer-location {display: none;}
:root:root .enh-term {display: none; font: 500 8.5px/1.7 var(--mono, monospace); letter-spacing: .14em; text-transform: uppercase; white-space: pre; color: #74dcff; opacity: .5; pointer-events: none;}
:root:root .enh-term__prev {opacity: .42;}
:root:root .enh-term__cur::after {content: '█'; margin-left: 3px; animation: enh-caret 1s steps(2, end) infinite !important;}
:root:root .enh-term.is-glitch {text-shadow: 1.5px 0 rgba(255, 80, 210, .7), -1.5px 0 rgba(70, 230, 255, .7); transform: translateX(1px);}
@keyframes enh-caret { 50% { opacity: 0; } }
@media (min-width: 1181px) {
:root:root .enh-term--tl {display: block; margin-left: 4px;}
}
@media (min-width: 1360px) {
:root:root .enh-term--br {display: block; position: absolute; right: 27px; top: 50%; transform: translateY(-50%); text-align: right;}
:root:root .enh-term--br.is-glitch {transform: translate(1px, -50%);}
}
@media (min-width: 1181px) {
:root:root .category-pager {right: clamp(20px, 2.4vw, 48px);}
}
@media (max-height: 900px) and (min-width: 1181px) {
:root:root .portfolio-page .portfolio-wordmark__title {font-size: clamp(50px, min(7.2vw, 10.6vh), 150px);}
:root:root .portfolio-page .category-copy h1 {font-size: clamp(40px, min(4.3vw, 7.2vh), 84px);}
}
@media (max-height: 830px) and (min-width: 1181px) {
:root:root .portfolio-page .copy-kicker {margin-bottom: 14px;}
:root:root .portfolio-page .category-number {margin-bottom: 10px;}
:root:root .portfolio-page .category-subtitle {margin-top: 14px;}
:root:root .enh-tools {margin-top: 12px;}
:root:root .portfolio-page .active-project-copy {margin-top: 16px; padding-block: 10px;}
:root:root .portfolio-page .active-project-copy p {-webkit-line-clamp: 2;}
:root:root .project-picker {margin-top: 8px;}
:root:root .copy-location {margin-top: 10px;}
}
@media (max-height: 730px) and (min-width: 1181px) {
:root:root .category-copy {top: clamp(104px, 14vh, 190px);}
:root:root .portfolio-page .category-copy h1 {font-size: clamp(38px, min(4vw, 6.2vh), 84px);}
:root:root .portfolio-page .active-project-copy p {display: none;}
:root:root .copy-location {display: none;}
}
@media (min-width: 1181px) {
:root:root .carousel-card[data-side="l"] {translate: calc(var(--panel-x) * .14) calc(var(--panel-y) * .3);}
:root:root .carousel-card[data-side="l"]:not(.carousel-card--active) {filter: brightness(calc(var(--panel-opacity, 1) * .62)) saturate(.7);}
:root:root .portfolio-page .topbar-actions {gap: clamp(8px, 1vw, 22px);}
:root:root .portfolio-page .topbar-actions a, :root:root .portfolio-page .topbar-actions button {white-space: nowrap;}
}
@media (min-width: 1181px) and (max-width: 1560px) {
:root:root .portfolio-page .topbar-social-label {display: none;}
}
:root:root .hud-text__space {white-space: normal;}
@media (max-width: 560px) {
:root:root .enh-home {padding: 7px;}
:root:root .portfolio-page .resume-trigger {padding: 8px 8px; letter-spacing: .04em; font-size: 9px; gap: 5px;}
:root:root .portfolio-page .resume-trigger svg {display: none;}
:root:root .portfolio-page .topbar-actions {gap: 6px;}
:root:root .topbar-brand {letter-spacing: .06em; font-size: 9px; gap: 6px;}
:root:root .topbar-brand .brand-mark {width: 22px; height: 22px;}
:root:root .language-switch {padding: 5px 6px; font-size: 9px; gap: 3px;}
}
@media (max-width: 380px) {
:root:root .topbar-brand > span {display: none;}
}
:root:root .portfolio-page .copy-kicker, :root:root .portfolio-page .category-number, :root:root .portfolio-page .active-project-copy .micro-label, :root:root .portfolio-page .copy-location, :root:root .portfolio-page .folder-stamp, :root:root .portfolio-page .folder-card__serial {display: none !important;}
:root:root .portfolio-page .portfolio-topbar {background: linear-gradient(180deg, rgba(6, 9, 22, .78), rgba(6, 9, 22, .32) 62%, transparent); border-bottom: 0; backdrop-filter: none; -webkit-backdrop-filter: none;}
:root:root .portfolio-page .portfolio-footer {background: linear-gradient(0deg, rgba(6, 9, 22, .82), rgba(6, 9, 22, .34) 64%, transparent); border-top: 0; backdrop-filter: none; -webkit-backdrop-filter: none;}
:root:root .project-page .portfolio-topbar, :root:root .project-page .portfolio-footer {border-color: transparent;}
@keyframes enh-rail { from { transform: scaleY(0); opacity: 0; } to { transform: scaleY(1); opacity: 1; } }
@keyframes enh-pull { 0% { opacity: 0; transform: translateY(-26px); clip-path: inset(0 0 100% 0); } 55% { opacity: 1; } 100% { opacity: 1; transform: none; clip-path: inset(0 0 0 0); } }
@keyframes enh-boxin { 0% { opacity: 0; clip-path: inset(0 0 100% 0); border-color: transparent; } 40% { border-color: rgba(118, 229, 255, .9); } 100% { opacity: 1; clip-path: inset(0 0 0 0); } }
:root:root .category-copy.enh-pulling::before {transform-origin: top; animation: enh-rail .9s cubic-bezier(.2, .8, .2, 1) both !important;}
:root:root .category-copy.enh-pulling .category-subtitle, :root:root .category-copy.enh-pulling .enh-tools__label, :root:root .category-copy.enh-pulling .enh-tools__chip, :root:root .category-copy.enh-pulling .active-project-copy h2, :root:root .category-copy.enh-pulling .active-project-copy p, :root:root .category-copy.enh-pulling .project-open-link, :root:root .category-copy.enh-pulling .project-picker button {animation: enh-pull .62s cubic-bezier(.2, .8, .2, 1) both !important; animation-delay: calc(var(--i, 0) * 75ms + 420ms);}
:root:root .category-copy.enh-pulling .enh-tools__chip, :root:root .category-copy.enh-pulling .active-project-copy {animation-name: enh-boxin !important;}
:root:root .category-copy.enh-pulling .active-project-copy {animation: enh-boxin .8s cubic-bezier(.2, .8, .2, 1) both !important; animation-delay: calc(var(--i, 4) * 75ms + 400ms);}
@media (prefers-reduced-motion: reduce) {
:root:root .category-copy.enh-pulling *, :root:root .category-copy.enh-pulling::before {animation: none !important;}
}
:root:root .active-project-copy {position: relative;}
:root:root .enh-sweep {position: absolute; inset: 0; overflow: hidden; pointer-events: none;}
:root:root .enh-sweep::before {content: ''; position: absolute; top: 0; left: 0; height: 1px; width: 38%; background: linear-gradient(90deg, transparent, rgba(150, 230, 255, .95), transparent); animation: enh-sweep-x 5.2s linear infinite !important;}
:root:root .enh-sweep::after {content: ''; position: absolute; bottom: 0; right: 0; height: 1px; width: 38%; background: linear-gradient(90deg, transparent, rgba(200, 160, 255, .8), transparent); animation: enh-sweep-x2 5.2s linear 2.6s infinite !important;}
@keyframes enh-sweep-x { from { transform: translateX(-100%); } to { transform: translateX(270%); } }
@keyframes enh-sweep-x2 { from { transform: translateX(100%); } to { transform: translateX(-270%); } }
:root:root .active-project-copy.enh-boxin {animation: enh-boxin .8s cubic-bezier(.2, .8, .2, 1) .4s both !important;}
:root:root .active-project-copy.enh-boxin h2, :root:root .active-project-copy.enh-boxin p, :root:root .active-project-copy.enh-boxin .project-open-link {animation: enh-pull .6s cubic-bezier(.2, .8, .2, 1) both !important; animation-delay: calc(var(--i, 0) * 90ms + 520ms);}
@media (prefers-reduced-motion: reduce) {
:root:root .enh-sweep::before, :root:root .enh-sweep::after, :root:root .active-project-copy.enh-boxin, :root:root .active-project-copy.enh-boxin * {animation: none !important;}
}
@property --enh-ang {

}
:root:root .resume-panel {--cvk: 1.5; width: min(1400px, 96vw); max-height: min(960px, 95dvh);}
@media (max-width: 800px) {
:root:root .resume-panel {--cvk: 1.3; width: min(660px, 96vw); max-height: 94dvh;}
}
:root:root .resume-bar, :root:root .resume-bar > span {font-size: calc(8px * var(--cvk));}
:root:root .resume-header .micro-label {font-size: calc(8px * var(--cvk));}
:root:root .resume-header h2 {font-size: calc(36px * var(--cvk) * .85);}
:root:root .resume-header p {font-size: calc(11px * var(--cvk));}
:root:root .resume-email {font-size: calc(8px * var(--cvk)); padding-block: calc(10px * var(--cvk) * .8);}
:root:root .resume-intro {font-size: calc(11px * var(--cvk)); line-height: 1.65;}
:root:root .enh-stat b {font-size: calc(24px * var(--cvk) * .9);}
:root:root .enh-stat small {font-size: calc(8px * var(--cvk));}
:root:root .resume-section-heading h3 {font-size: calc(14px * var(--cvk));}
:root:root .resume-section-heading span {font-size: calc(8px * var(--cvk));}
:root:root .resume-item__top h4 {font-size: calc(10px * var(--cvk));}
:root:root .resume-item p {font-size: calc(9px * var(--cvk)); line-height: 1.6;}
:root:root .resume-item > span {font-size: calc(9px * var(--cvk));}
:root:root .resume-item__top time {font-size: calc(7px * var(--cvk));}
:root:root .resume-tags span {font-size: calc(8px * var(--cvk));}
:root:root .resume-languages, :root:root .resume-languages span {font-size: calc(8px * var(--cvk));}
:root:root .resume-footer a, :root:root .resume-footer span {font-size: calc(8px * var(--cvk));}
:root:root .resume-header > img {width: calc(62px * var(--cvk)); height: calc(62px * var(--cvk)); padding: 3px; border: 0; border-radius: 50%; object-fit: cover; object-position: 50% 30%; background: conic-gradient(from var(--enh-ang), rgba(118, 229, 255, .05), rgba(118, 229, 255, .75) 18%, rgba(190, 150, 255, .5) 34%, rgba(118, 229, 255, .05) 52%); animation: enh-ring 9s linear infinite, enh-breathe 5.5s ease-in-out infinite !important; transition: transform .5s cubic-bezier(.2, .8, .2, 1);}
:root:root .resume-header > img:hover {transform: scale(1.05);}
@keyframes enh-ring { to { --enh-ang: 360deg; } }
@keyframes enh-breathe { 0%, 100% { box-shadow: 0 0 14px rgba(118, 229, 255, .12); } 50% { box-shadow: 0 0 26px rgba(150, 140, 255, .26); } }
@keyframes enh-cv-in { from { opacity: 0; transform: translateY(14px) scale(.985); } to { opacity: 1; transform: none; } }
@keyframes enh-cv-row { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
:root:root .resume-panel {animation: enh-cv-in .55s cubic-bezier(.2, .8, .2, 1) both !important;}
:root:root .resume-header > div, :root:root .resume-intro, :root:root .enh-stat, :root:root .resume-item, :root:root .resume-section-heading {animation: enh-cv-row .6s cubic-bezier(.2, .8, .2, 1) both !important;}
:root:root .resume-header > div {animation-delay: .12s;}
:root:root .resume-intro {animation-delay: .2s;}
:root:root .enh-stat:nth-child(n) {animation-delay: calc(.26s + var(--n, 0) * .06s);}
:root:root .resume-item:nth-of-type(1), :root:root .resume-section-heading {animation-delay: .4s;}
:root:root .resume-item:nth-of-type(2) {animation-delay: .48s;}
:root:root .resume-item:nth-of-type(3) {animation-delay: .56s;}
:root:root .resume-item:nth-of-type(4) {animation-delay: .64s;}
:root:root .resume-item:nth-of-type(n+5) {animation-delay: .72s;}
@media (prefers-reduced-motion: reduce) {
:root:root .resume-panel, :root:root .resume-panel *, :root:root .resume-header > img {animation: none !important;}
}
:root:root .folder-card__tab {border: 0 !important; background: none !important; clip-path: none !important; height: 26px; --tab-c: color-mix(in srgb, var(--panel-accent) 86%, white);}
:root:root .carousel-card--active .folder-card__tab {--tab-c: color-mix(in srgb, var(--panel-accent) 55%, #fff);}
:root:root .folder-card__tab::before, :root:root .folder-card__tab::after {content: ''; position: absolute; z-index: -1; pointer-events: none;}
:root:root .folder-card__tab::before {inset: 0; background: var(--tab-c); clip-path: polygon(0 0, 79% 0, 100% 100%, 0 100%);}
:root:root .folder-card__tab::after {inset: 1px 0 1px 1px; background: linear-gradient(105deg, #12203bfa, #0b0f20f5 77%, #20163ae6); clip-path: polygon(0 0, calc(79% - 1.2px) 0, calc(100% - 3px) 100%, 0 100%);}
:root:root .carousel-card--active {filter: brightness(1.14) saturate(1.12) drop-shadow(0 0 1.2px color-mix(in srgb, var(--panel-accent) 90%, #fff)) drop-shadow(0 0 16px color-mix(in srgb, var(--panel-accent) 42%, transparent));}
:root:root .carousel-card--active .folder-card__face, :root:root .portfolio-page .carousel-card--active .folder-card__face {border-color: color-mix(in srgb, var(--panel-accent) 55%, #fff); border-width: 2px;}
:root:root .enh-cmd {position: absolute; left: clamp(34px, 6.4vw, 118px); top: calc(clamp(118px, 15.5vh, 190px) + 530px); display: none; padding-left: 14px; font: 500 9.5px/1.75 var(--mono, monospace); letter-spacing: .12em; text-transform: uppercase; white-space: pre; color: #74dcff; opacity: .55; pointer-events: none; z-index: 29; border-left: 1px solid rgba(118, 229, 255, .22);}
:root:root .enh-cmd .dim {color: #8d97b3;}
:root:root .enh-cmd .ok {color: #8ef0b8;}
:root:root .enh-cmd .pk {color: #c29bf4;}
:root:root .enh-cmd__cur::after {content: '█'; margin-left: 3px; animation: enh-caret 1s steps(2, end) infinite !important;}
@media (min-width: 1181px) and (min-height: 760px) {
:root:root .enh-cmd {display: block;}
}
@keyframes enh-gl { 0% { transform: translate(0); clip-path: inset(0); } 20% { transform: translate(-3px, 1px); clip-path: inset(12% 0 55% 0); } 40% { transform: translate(3px, -1px); clip-path: inset(58% 0 8% 0); } 60% { transform: translate(-2px, 0); clip-path: inset(30% 0 30% 0); } 80% { transform: translate(2px, 1px); clip-path: inset(0); } 100% { transform: translate(0); clip-path: inset(0); } }
:root:root .portfolio-page .category-copy h1.is-glitch, :root:root .portfolio-page .portfolio-wordmark__title.is-glitch {animation: enh-gl .42s steps(1, end) !important; text-shadow: 3px 0 rgba(255, 70, 210, .65), -3px 0 rgba(70, 230, 255, .65);}
:root:root .portfolio-page .category-copy h1.is-glitch .hud-text__char, :root:root .portfolio-page .category-copy h1.is-glitch {filter: none;}
:root:root .enh-ghost {position: absolute; z-index: 2; pointer-events: none; margin: 0 !important; animation: enh-boxout .26s cubic-bezier(.5, 0, .75, 0) both !important;}
:root:root .enh-ghost h2, :root:root .enh-ghost p, :root:root .enh-ghost .project-open-link {animation: enh-txtout .22s ease-in both !important; animation-delay: calc(var(--i, 0) * 30ms);}
@keyframes enh-boxout { 0% { opacity: 1; clip-path: inset(0 0 0 0); } 100% { opacity: 0; clip-path: inset(0 0 100% 0); transform: translateY(18px); } }
@keyframes enh-txtout { to { opacity: 0; transform: translateX(-14px); letter-spacing: .08em; filter: blur(2px); } }
@media (prefers-reduced-motion: reduce) {
:root:root .enh-ghost, :root:root .enh-ghost * {animation: none !important; display: none;}
}
:root:root .brand-mark svg[data-enh-logo], :root:root .enh-boot__mark[data-enh-logo] {overflow: visible;}
:root:root .enh-logo-star {fill: #eaf6ff; transform-box: fill-box; transform-origin: center; animation: enh-star-spin 16s linear infinite !important; filter: drop-shadow(0 0 5px rgba(118, 229, 255, .6));}
@keyframes enh-star-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
:root:root .enh-logo-star {animation: none !important;}
}
@media (max-width: 800px) {
:root:root .category-pager button {min-width: 0; padding: 10px 12px; gap: 8px;}
:root:root .category-pager button span {font-size: 9.5px; letter-spacing: .02em;}
:root:root .category-pager button svg {flex: none; width: 14px;}
:root:root .category-pager button small {font-size: 6.5px; letter-spacing: .06em;}
}
@media (min-width: 1181px) {
:root:root .project-page .portfolio-wordmark {top: calc(var(--enh-top) + 1.2vh); left: 6.3vw; width: auto; z-index: 0; opacity: .3; translate: calc(var(--enh-mx, 0) * -16px) calc(var(--enh-my, 0) * -9px); filter: drop-shadow(0 10px 26px rgba(70, 140, 255, .28)); color: transparent;}
:root:root .project-page .portfolio-wordmark__title {font-size: clamp(56px, 7.2vw, 150px); line-height: .9; letter-spacing: -.06em; color: #d3e6ff; padding: 0 .16em .06em .04em; -webkit-mask-image: linear-gradient(180deg, #000 0%, rgba(0, 0, 0, .55) 52%, rgba(0, 0, 0, .05) 96%); mask-image: linear-gradient(180deg, #000 0%, rgba(0, 0, 0, .55) 52%, rgba(0, 0, 0, .05) 96%);}
:root:root .project-page .project-detail {z-index: 3;}
}
:root:root .project-page .project-detail {}
@media (min-width: 801px) {
:root:root .project-description {font-size: clamp(13px, min(1.02vw, 1.8vh), 17px) !important; line-height: 1.62 !important;}
:root:root .project-overline, :root:root .project-number {font-size: clamp(10.5px, .78vw, 13px) !important;}
:root:root .project-facts span {font-size: clamp(9.5px, .68vw, 11.5px) !important;}
:root:root .project-facts strong {font-size: clamp(12px, .88vw, 15px) !important;}
:root:root .project-back-link, :root:root .project-side-actions a {font-size: clamp(10.5px, .78vw, 13px) !important;}
:root:root .project-side-foot {font-size: clamp(9px, .66vw, 11px) !important;}
}
:root:root .project-page.enh-arrive .project-sidepanel > *, :root:root .project-page.enh-arrive .project-media-header {animation: enh-pull .62s cubic-bezier(.2, .8, .2, 1) both !important; animation-delay: calc(var(--i, 0) * 80ms + 80ms);}
:root:root .project-page.enh-arrive .project-media-panel {animation: enh-boxin .9s cubic-bezier(.2, .8, .2, 1) .15s both !important;}
:root:root .project-page.enh-arrive .portfolio-wordmark {animation: enh-pull .9s cubic-bezier(.2, .8, .2, 1) both !important;}
@media (prefers-reduced-motion: reduce) {
:root:root .project-page.enh-arrive *, :root:root .project-page.enh-arrive {animation: none !important;}
}
:root:root .enh-pextra {margin: 18px 0 4px;}
:root:root .enh-pextra .enh-tools {margin: 0 0 14px;}
:root:root .enh-tools__chip.is-main {border-color: rgba(118, 229, 255, .75); color: #fff; box-shadow: 0 0 14px rgba(118, 229, 255, .22);}
:root:root .enh-steps {display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; margin: 0; padding: 0; list-style: none; border-top: 1px solid rgba(118, 229, 255, .22);}
:root:root .enh-steps li {position: relative; display: grid; gap: 5px; padding: 12px 10px 0 0; font: 500 clamp(8.5px, .62vw, 10.5px)/1.2 var(--mono, monospace); letter-spacing: .12em; color: #9fb3d4;}
:root:root .enh-steps li::before {content: ''; position: absolute; top: -3px; left: 0; width: 5px; height: 5px; background: #76e5ff; box-shadow: 0 0 10px #76e5ff; animation: enh-step-blink 3.2s ease-in-out infinite !important; animation-delay: calc(var(--i, 0) * .5s);}
:root:root .enh-steps li b {color: #c29bf4; font-weight: 500;}
:root:root .enh-steps li:first-child span {color: #e8f4ff;}
@keyframes enh-step-blink { 0%, 100% { opacity: .35; } 50% { opacity: 1; } }
:root:root .enh-cmd--p {position: static; display: none; margin-top: 18px; left: auto; top: auto; opacity: .6;}
@media (min-width: 1181px) and (min-height: 800px) {
:root:root .enh-cmd--p {display: block;}
}
:root:root .project-media-stage.enh-has-wall .project-artwork {opacity: 0 !important;}
:root:root .project-media-stage.enh-has-wall {overflow: hidden;}
:root:root .enh-wall {position: absolute; inset: 0; z-index: 2; overflow: hidden; -webkit-mask-image: radial-gradient(ellipse 78% 88% at 50% 50%, #000 52%, transparent 100%); mask-image: radial-gradient(ellipse 78% 88% at 50% 50%, #000 52%, transparent 100%);}
:root:root .enh-lw {position: absolute; left: 50%; top: 50%; width: 135%; height: 200%; display: flex; gap: 14px; transform: translate(-50%, -50%) rotate(-15deg);}
:root:root .enh-lw__col {flex: 1 1 0; display: flex; flex-direction: column; gap: 14px; animation: enh-lw-move var(--d, 30s) linear infinite !important; will-change: transform;}
:root:root .enh-lw__col.is-rev {animation-direction: reverse !important;}
:root:root .enh-lw__col:hover {animation-play-state: paused !important;}
@keyframes enh-lw-move { from { transform: translateY(0); } to { transform: translateY(-50%); } }
:root:root .enh-lw__tile {flex: none; position: relative; overflow: hidden; height: clamp(120px, 19vh, 190px); box-sizing: border-box; padding: 14%; border: 1px solid rgba(118, 229, 255, .16); background: linear-gradient(135deg, rgba(16, 28, 56, .78), rgba(8, 12, 26, .78)); transition: border-color .25s ease, background .25s ease, box-shadow .25s ease !important;}
:root:root .enh-lw__tile img {display: block; width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 0 8px rgba(150, 210, 255, .22)); transition: transform .35s cubic-bezier(.2, .8, .2, 1), filter .3s ease !important; pointer-events: none;}
:root:root .enh-lw__tile:hover {border-color: rgba(118, 229, 255, .8); background: linear-gradient(135deg, rgba(30, 60, 110, .85), rgba(14, 22, 48, .85)); box-shadow: 0 0 26px rgba(118, 229, 255, .22), inset 0 0 22px rgba(118, 229, 255, .08);}
:root:root .enh-lw__tile:hover img {transform: scale(1.12); filter: drop-shadow(0 0 14px rgba(190, 235, 255, .55));}
:root:root .enh-lw__tile.is-glitch {animation: enh-gl .42s steps(1, end) !important; border-color: rgba(255, 90, 210, .7);}
:root:root .enh-wall__hud {position: absolute; inset: 0; z-index: 3; pointer-events: none; font: 500 clamp(8.5px, .62vw, 10.5px)/1 var(--mono, monospace); letter-spacing: .18em; color: #8fdcf6;}
:root:root .enh-wall__tag, :root:root .enh-wall__cap {position: absolute; padding: 0; opacity: .75;}
:root:root .enh-wall__tag {left: 18px; top: 16px;}
:root:root .enh-wall__tag::after {content: '█'; margin-left: 6px; animation: enh-caret 1s steps(2, end) infinite !important;}
:root:root .enh-wall__cap {right: 18px; bottom: 16px; color: #c29bf4;}
:root:root .enh-prev--logos {container-type: size; background: #070b1a;}
:root:root .enh-prev--logos .enh-lw {width: 150%; height: 230%; gap: 2.4cqw; transform: translate(-50%, -50%) rotate(-15deg);}
:root:root .enh-prev--logos .enh-lw__col {gap: 2.4cqw;}
:root:root .enh-prev--logos .enh-lw__tile {height: 24cqw; padding: 10%; border-color: rgba(154, 213, 255, .22);}
:root:root .enh-prev--logos .enh-lw__tile img {position: static; inset: auto; width: 100%; height: 100%; object-fit: contain; opacity: 1; transform: none;}
:root:root .enh-prev--logos .enh-lw__tile img {filter: drop-shadow(0 0 4px rgba(150, 210, 255, .35));}
:root:root .enh-prev--logos .enh-lw__col {animation-duration: calc(var(--d, 30s) * .55) !important;}
:root:root .carousel-card:not(.carousel-card--active) .enh-prev--logos .enh-lw__col {animation-play-state: paused !important;}
:root:root #enh-wipe {position: fixed; inset: 0; z-index: 9500; pointer-events: none; visibility: hidden;}
@keyframes enh-card-open { 0% { scale: 1.035; } 55% { scale: 1.1; filter: brightness(1.5) saturate(1.2) drop-shadow(0 0 22px #76e5ff); } 100% { scale: 1.28; filter: brightness(2) saturate(1.2) drop-shadow(0 0 40px #76e5ff); opacity: .1; } }
html:root:root.enh-leaving .carousel-card--active {animation: enh-card-open .56s cubic-bezier(.5, 0, .2, 1) forwards !important;}
html:root:root.enh-leaving .category-copy, html:root:root.enh-leaving .enh-cmd, html:root:root.enh-leaving .enh-hint, html:root:root.enh-leaving .category-pager {opacity: 0 !important; transition: opacity .3s ease !important;}
@media (prefers-reduced-motion: reduce) {
:root:root #enh-wipe {display: none;}
html:root:root.enh-leaving .carousel-card--active {animation: none !important;}
}
:root:root .project-page .portfolio-wordmark__title.is-glitch, :root:root .project-page .project-sidepanel h1.is-glitch {animation: enh-gl .42s steps(1, end) !important; text-shadow: 3px 0 rgba(255, 70, 210, .65), -3px 0 rgba(70, 230, 255, .65);}
@media (min-width: 801px) and (max-height: 960px) {
:root:root .enh-steps {display: none;}
:root:root .enh-pextra {margin-top: 12px;}
:root:root .enh-pextra .enh-tools {margin-bottom: 4px;}
:root:root .project-facts {margin-top: 10px !important;}
}
@media (min-width:801px) and (max-height:960px) {
:root:root .enh-cmd--p {display:none!important}
}
@media (min-width:801px) and (max-height:900px) {
:root:root .project-page .project-title, :root:root .project-page .project-detail h1 {font-size:clamp(34px,5.6vh,52px)!important;line-height:1.02!important}
:root:root .project-page .project-description {font-size:clamp(12px,1.75vh,14px)!important;line-height:1.5!important}
:root:root .enh-pextra {display:none!important}
}
@media (min-width:801px) and (max-height:900px) and (min-height:821px) {
:root:root .enh-pextra {margin-top:8px!important}
}
:root:root #enh-wipe i {position: absolute; left: 0; right: 0; background: none;}
:root:root .enh-wipe__seam {top: calc(50% - 1px); height: 2px; background: linear-gradient(90deg, transparent, #76e5ff, #c29bf4, transparent) !important; box-shadow: 0 0 22px #76e5ff; opacity: 0; transform: scaleX(0);}
:root:root #enh-wipe.is-in .enh-wipe__seam {transition: opacity .12s ease, transform .22s cubic-bezier(.2, .8, .2, 1); opacity: 1; transform: none;}
:root:root #enh-wipe.is-out .enh-wipe__seam {transition: opacity .3s ease; opacity: 0; transform: none;}
html:root:root.enh-leaving .carousel-card:not(.carousel-card--active) {opacity: .0 !important; transition: opacity .2s ease !important;}
html:root:root.enh-leaving .project-sidepanel, html:root:root.enh-leaving .project-media-panel {opacity: 0 !important; translate: 0 8px; transition: opacity .2s ease, translate .22s ease !important;}
@keyframes enh-card-open { 0% { scale: 1.035; } 100% { scale: 1.16; filter: brightness(1.7) drop-shadow(0 0 30px #76e5ff); opacity: .15; } }
html:root:root.enh-leaving .carousel-card--active {animation: enh-card-open .24s cubic-bezier(.5, 0, .2, 1) forwards !important;}
:root:root .enh-prev--logos {inset: 0 !important; z-index: 0 !important; border: 0 !important; background: transparent !important; box-shadow: none !important; transform: none !important; opacity: .26; transition: opacity .4s ease; -webkit-mask-image: linear-gradient(180deg, transparent 4%, #000 30%, #000 62%, transparent 96%); mask-image: linear-gradient(180deg, transparent 4%, #000 30%, #000 62%, transparent 96%);}
:root:root .enh-prev--logos::before, :root:root .enh-prev--logos::after {display: none !important;}
:root:root .carousel-card--active .enh-prev--logos, :root:root .carousel-card:hover .enh-prev--logos {opacity: .42;}
:root:root .enh-prev--logos .enh-lw {filter: blur(.4px) saturate(.8);}
:root:root .enh-prev--logos .enh-lw__tile {border-color: rgba(154, 213, 255, .12); background: rgba(10, 18, 40, .35);}
:root:root .enh-tools__chip[data-app] {--tag: #8fd7ff; --tag-bg: #06142a; gap: 8px; padding-left: 5px; border-color: color-mix(in srgb, var(--tag) 45%, transparent); transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease;}
:root:root .enh-tools__chip[data-app]::before {content: attr(data-ab); display: inline-grid; place-items: center; width: 18px; height: 18px; transform: none; border: 1px solid var(--tag); border-radius: 2px; background: var(--tag-bg); color: var(--tag); font: 700 9px/1 'Oxanium', Arial, sans-serif; letter-spacing: 0; box-shadow: 0 0 0 0 var(--tag); animation: enh-badge 2.8s ease-in-out infinite !important;}
:root:root .enh-tools__chip[data-app]:hover {transform: translateY(-2px); border-color: var(--tag); box-shadow: 0 8px 18px -10px var(--tag);}
:root:root .enh-tools__chip[data-app="ai"] {--tag: #ff9a00; --tag-bg: #2b1300;}
:root:root .enh-tools__chip[data-app="ai"]::before {content: 'Ai';}
:root:root .enh-tools__chip[data-app="ps"] {--tag: #31a8ff; --tag-bg: #001e36;}
:root:root .enh-tools__chip[data-app="ps"]::before {content: 'Ps';}
:root:root .enh-tools__chip[data-app="ae"] {--tag: #9999ff; --tag-bg: #0d0d4d;}
:root:root .enh-tools__chip[data-app="ae"]::before {content: 'Ae';}
:root:root .enh-tools__chip[data-app="id"] {--tag: #ff3d78; --tag-bg: #3a0620;}
:root:root .enh-tools__chip[data-app="id"]::before {content: 'Id';}
:root:root .enh-tools__chip[data-app="fig"] {--tag: #ff7262; --tag-bg: #2a0e0b;}
:root:root .enh-tools__chip[data-app="fig"]::before {content: 'Fg';}
:root:root .enh-tools__chip[data-app="bl"] {--tag: #ff8a2a; --tag-bg: #1b1a2e;}
:root:root .enh-tools__chip[data-app="bl"]::before {content: 'Bl';}
:root:root .enh-tools__chip[data-app=""]::before {content: ''; width: 5px; height: 5px; border: 0; background: #76e5ff; transform: rotate(45deg); animation: none !important;}
:root:root .enh-tools__chip[data-app="ps"]::before {animation-delay: .5s !important;}
:root:root .enh-tools__chip[data-app="ae"]::before {animation-delay: 1s !important;}
@keyframes enh-badge { 0%, 100% { box-shadow: 0 0 0 0 transparent; } 50% { box-shadow: 0 0 10px 0 var(--tag); } }
:root:root .portfolio-page .active-project-copy > p:not(.enh-short) {display: none !important;}
:root:root .portfolio-page .active-project-copy > p.enh-short {display: block !important; -webkit-line-clamp: 3;}
:root:root .project-page .project-back-link, :root:root .project-page .portfolio-footer .footer-copy[href^="/"] {position: relative; display: inline-flex !important; align-items: center; gap: 10px; width: fit-content; overflow: hidden; padding: 9px 16px 9px 12px; border: 1px solid rgba(118, 229, 255, .6); background: linear-gradient(90deg, rgba(118, 229, 255, .2), rgba(10, 18, 40, .7)); color: #effcff !important; letter-spacing: .14em; text-shadow: 0 0 12px rgba(118, 229, 255, .6); animation: enh-back-pulse 2.4s ease-in-out infinite !important; transition: transform .2s ease, border-color .2s ease !important;}
:root:root .project-page .project-back-link::after, :root:root .project-page .portfolio-footer .footer-copy[href^="/"]::after {content: ''; position: absolute; inset: 0; background: linear-gradient(100deg, transparent 30%, rgba(190, 240, 255, .35) 50%, transparent 70%); transform: translateX(-120%); animation: enh-back-sheen 3.2s ease-in-out infinite !important; pointer-events: none;}
:root:root .project-page .project-back-link svg, :root:root .project-page .portfolio-footer .footer-copy[href^="/"] svg {animation: enh-back-arrow 1.3s ease-in-out infinite !important; filter: drop-shadow(0 0 6px #76e5ff);}
:root:root .project-page .project-back-link:hover, :root:root .project-page .portfolio-footer .footer-copy[href^="/"]:hover {transform: translateX(-3px); border-color: #c8f6ff;}
@keyframes enh-back-pulse { 0%, 100% { box-shadow: 0 0 12px -6px rgba(118, 229, 255, .5); } 50% { box-shadow: 0 0 26px -2px rgba(118, 229, 255, .9); } }
@keyframes enh-back-arrow { 0%, 100% { transform: translateX(0); } 50% { transform: translateX(-5px); } }
@keyframes enh-back-sheen { 0% { transform: translateX(-120%); } 55%, 100% { transform: translateX(120%); } }
:root:root .project-media-panel.enh-wallpanel .media-add-slot, :root:root .project-media-panel.enh-wallpanel .project-media-note {display: none !important;}
:root:root .enh-minis {display: flex; gap: 6px; margin-left: 10px;}
:root:root .enh-minis button {width: 40px; height: 40px; padding: 5px; border: 1px solid rgba(118, 229, 255, .25); background: rgba(10, 18, 40, .6); cursor: pointer; transition: border-color .2s ease, transform .2s ease, background .2s ease !important;}
:root:root .enh-minis button:hover {border-color: #76e5ff; transform: translateY(-3px); background: rgba(30, 60, 110, .7);}
:root:root .enh-minis img {display: block; width: 100%; height: 100%; object-fit: contain; pointer-events: none;}
:root:root .enh-fs-btn {margin-left: auto; display: inline-flex; align-items: center; gap: 9px; padding: 10px 16px; border: 1px solid rgba(194, 155, 244, .7); background: linear-gradient(90deg, rgba(194, 155, 244, .22), rgba(10, 18, 40, .6)); color: #f2e8ff; font: 600 11px/1 var(--mono, monospace); letter-spacing: .16em; cursor: pointer; animation: enh-fs-pulse 2.6s ease-in-out infinite !important; transition: transform .2s ease !important;}
:root:root .enh-fs-btn:hover {transform: translateY(-2px); border-color: #e3ccff;}
:root:root .enh-fs-btn svg {transition: transform .25s ease !important;}
:root:root .enh-fs-btn:hover svg {transform: scale(1.2);}
@keyframes enh-fs-pulse { 0%, 100% { box-shadow: 0 0 10px -6px rgba(194, 155, 244, .6); } 50% { box-shadow: 0 0 22px -3px rgba(194, 155, 244, .95); } }
:root:root #enh-fs {position: fixed; inset: 0; z-index: 9000; background: radial-gradient(ellipse at 50% 38%, #0e1d3e, #04060f 78%); animation: enh-fs-in .4s cubic-bezier(.2, .8, .2, 1) both; font-family: var(--mono, monospace);}
:root:root #enh-fs.is-closing {animation: enh-fs-out .3s ease forwards;}
@keyframes enh-fs-in { from { opacity: 0; transform: scale(1.04); } to { opacity: 1; transform: none; } }
@keyframes enh-fs-out { to { opacity: 0; transform: scale(1.03); } }
:root:root .enh-fs__wall {position: absolute; inset: 0; overflow: hidden; -webkit-mask-image: radial-gradient(ellipse 90% 90% at 50% 50%, #000 60%, transparent 100%); mask-image: radial-gradient(ellipse 90% 90% at 50% 50%, #000 60%, transparent 100%);}
:root:root #enh-fs .enh-lw {width: 125%; height: 215%; gap: 18px;}
:root:root #enh-fs .enh-lw__col {gap: 18px;}
:root:root #enh-fs .enh-lw__tile {height: clamp(150px, 27vh, 290px); cursor: zoom-in;}
:root:root .enh-fs__bar {position: absolute; z-index: 3; left: 0; right: 0; top: 0; display: flex; align-items: center; justify-content: space-between; padding: 18px 24px; background: linear-gradient(180deg, rgba(4, 6, 15, .85), transparent);}
:root:root .enh-fs__tag {font-size: 11px; letter-spacing: .2em; color: #8fdcf6;}
:root:root .enh-fs__tag::after {content: '█'; margin-left: 6px; animation: enh-caret 1s steps(2, end) infinite;}
:root:root .enh-fs__x {display: inline-flex; gap: 10px; align-items: center; padding: 10px 16px; border: 1px solid rgba(118, 229, 255, .6); background: rgba(10, 18, 40, .7); color: #eaffff; font: 600 11px/1 var(--mono, monospace); letter-spacing: .16em; cursor: pointer; transition: background .2s ease, transform .2s ease;}
:root:root .enh-fs__x:hover {background: rgba(118, 229, 255, .2); transform: translateY(-2px);}
:root:root .enh-fs__x span {opacity: .6;}
:root:root .enh-fs__hint {position: absolute; z-index: 3; left: 0; right: 0; bottom: 18px; text-align: center; font-size: 10px; letter-spacing: .2em; color: #8fa0c4; pointer-events: none;}
:root:root .enh-fs__lb {position: absolute; z-index: 4; inset: 0; display: none; grid-template-columns: 90px 1fr 90px; align-items: center; background: rgba(3, 5, 13, .9); backdrop-filter: blur(6px);}
:root:root #enh-fs.has-lb .enh-fs__lb {display: grid; animation: enh-fs-in .25s ease both;}
:root:root .enh-fs__stage {display: grid; justify-items: center; gap: 16px;}
:root:root .enh-fs__stage img {width: min(78vw, 1000px); height: min(68vh, 700px); object-fit: contain; padding: 40px; box-sizing: border-box; border: 1px solid rgba(118, 229, 255, .3); background: linear-gradient(135deg, rgba(16, 28, 56, .85), rgba(8, 12, 26, .85)); filter: drop-shadow(0 0 24px rgba(150, 210, 255, .25));}
:root:root .enh-fs__lbcap {font-size: 11px; letter-spacing: .22em; color: #c29bf4;}
:root:root .enh-fs__nav {justify-self: center; width: 54px; height: 54px; border: 1px solid rgba(118, 229, 255, .5); background: rgba(10, 18, 40, .7); color: #eaffff; font-size: 30px; line-height: 1; cursor: pointer; transition: background .2s ease, transform .2s ease;}
:root:root .enh-fs__nav:hover {background: rgba(118, 229, 255, .22); transform: scale(1.08);}
@media (max-width: 800px) {
:root:root .enh-fs__lb {grid-template-columns: 44px 1fr 44px;}
:root:root .enh-fs__nav {width: 38px; height: 38px;}
:root:root .enh-fs__stage img {width: 86vw; padding: 20px;}
:root:root #enh-fs .enh-lw__tile {height: 24vw; min-height: 110px;}
:root:root .enh-fs__hint {font-size: 8px; padding: 0 10px;}
}
@media (prefers-reduced-motion: reduce) {
:root:root #enh-fs, :root:root .enh-fs-btn, :root:root .project-page .project-back-link, :root:root .enh-tools__chip::before {animation: none !important;}
}
:root:root [data-folder-id="logo"] .folder-card__mark, :root:root .carousel-card:has(.enh-prev--logos) .folder-card__mark {display: none !important;}
:root:root .folder-card__mark, :root:root .folder-card__mark * {display: none !important;}
:root:root .topbar-brand > i {display: none !important;}
:root:root .portfolio-topbar, :root:root .project-topbar {background: linear-gradient(180deg, rgba(6, 9, 22, .78), rgba(6, 9, 22, .32) 62%, transparent) !important; border-bottom: 0 !important; box-shadow: none !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important;}
:root:root .portfolio-footer {background: linear-gradient(0deg, rgba(6, 9, 22, .82), rgba(6, 9, 22, .34) 64%, transparent) !important; border-top: 0 !important; box-shadow: none !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important;}
:root:root .folder-card__bottom > span:first-child {visibility: hidden;}
:root:root .folder-card__copy {top: auto !important; bottom: 17px !important; left: 4.9% !important; right: auto !important; padding: 0 !important; border: 0 !important; background: none !important; min-height: 0 !important; width: auto !important; max-width: 60%;}
:root:root .folder-card__copy::before, :root:root .folder-card__copy::after {display: none !important;}
:root:root .folder-card__copy > span {display: none !important;}
:root:root .portfolio-page .folder-card__copy strong {font: 600 clamp(9px, 2.2cqw, 12px)/1 var(--mono, monospace) !important; letter-spacing: .2em; text-transform: uppercase; color: #dff3ff;}
:root:root .enh-prev, :root:root .enh-prev * {pointer-events: none !important;}
:root:root .enh-prev--logos .enh-lw__col {animation-play-state: running !important;}
:root:root .carousel-card:not(.carousel-card--active) .enh-prev--logos .enh-lw__col {animation-play-state: running !important;}
:root:root .portfolio-page .project-picker {display: none !important;}
:root:root .project-facts > .enh-hide {display: none !important;}
:root:root .project-media-panel.enh-wallpanel .project-media-header, :root:root .project-media-panel.enh-wallpanel .project-thumbnails, :root:root .project-media-panel.enh-wallpanel .project-media-corner {display: none !important;}
:root:root .project-page .project-side-foot {display: none !important;}
:root:root .enh-lw__tile {cursor: zoom-in;}
:root:root .enh-lw__tile:hover img {transform: none !important;}
:root:root .project-side-actions a[data-nextcat]::after {content: ' · ' attr(data-nextcat); opacity: .65;}
:root:root .project-page .portfolio-footer .footer-copy[href^="/"] {border: 0 !important; background: none !important; box-shadow: none !important; animation: none !important; padding: 0 !important; color: #8fd7ff !important; text-shadow: none !important; overflow: visible;}
:root:root .project-page .portfolio-footer .footer-copy[href^="/"]::after {inset: auto 0 -4px 0 !important; height: 1px !important; background: linear-gradient(90deg, #76e5ff, transparent) !important; transform: scaleX(.3) !important; transform-origin: left; animation: none !important; transition: transform .3s ease !important;}
:root:root .project-page .portfolio-footer .footer-copy[href^="/"]:hover::after {transform: scaleX(1) !important;}
:root:root .project-page .portfolio-footer .footer-copy[href^="/"] svg {animation: none !important; filter: none !important;}
:root:root .project-page .portfolio-footer .footer-copy[href^="/"]:hover {transform: none !important; color: #fff !important;}
:root:root .portfolio-page .topbar-brand, :root:root .project-page .topbar-brand {margin-right: 16px;}
:root:root .project-media-panel.enh-wallpanel {display: flex !important; flex-direction: column;}
:root:root .project-media-panel.enh-wallpanel .project-media-stage {flex: 1 1 auto !important; min-height: 0; height: auto !important; max-height: none !important; aspect-ratio: auto !important;}
:root:root .project-media-panel.enh-wallpanel .project-media-tools {flex: none;}
@media (min-width: 1181px) {
:root:root .project-media-panel.enh-wallpanel {height: calc(100dvh - 114px - 112px) !important; max-height: none !important;}
:root:root .project-media-panel.enh-wallpanel .project-media-tools {min-height: 0 !important; padding-top: 10px; padding-bottom: 14px;}
}
:root:root .enh-boot__mark {width: clamp(70px, 8vw, 112px) !important;}
:root:root .enh-boot__mark .enh-logo-star {animation: enh-boot-star 4.2s ease-in-out infinite !important; transform-box: fill-box; transform-origin: center; filter: drop-shadow(0 0 12px rgba(118, 229, 255, .8));}
@keyframes enh-boot-star { 0%, 100% { transform: scale(1); filter: drop-shadow(0 0 8px rgba(118, 229, 255, .55)); } 50% { transform: scale(1.1); filter: drop-shadow(0 0 20px rgba(150, 235, 255, .95)); } }
:root:root .enh-who {font-size: 13px !important; letter-spacing: .28em !important;}
@media (max-width: 560px) {
:root:root .enh-who {font-size: 11px !important;}
}
:root:root .enh-tag {font-weight: 500 !important; font-variation-settings: 'opsz' 24; letter-spacing: -.055em !important; word-spacing: .12em; line-height: 1.02 !important;}
:root:root .enh-line .enh-w + .enh-w {margin-left: .14em;}
:root:root .project-side-actions {display: flex; flex-wrap: wrap; gap: 8px 18px; align-items: center;}
:root:root .project-side-actions a[data-nextcat]::after {content: none;}
:root:root .project-media-stage.enh-has-cases {display: block !important; overflow: hidden;}
:root:root .project-media-stage.enh-has-cases .project-artwork {opacity: 0 !important;}
:root:root .enh-cases {position: absolute; inset: 0; z-index: 2; display: flex; flex-direction: column; gap: 10px; padding: 14px 16px 16px; font-family: var(--mono, monospace); color: #dcefff;}
:root:root .enh-cases__tabs {flex: none; display: flex; flex-wrap: wrap; gap: 8px; align-items: center;}
:root:root .enh-cases__tabs button {display: inline-flex; align-items: center; gap: 8px; padding: 9px 13px; border: 1px solid rgba(118, 229, 255, .25); background: rgba(8, 16, 34, .55); color: #9db6d8; font: 600 clamp(9.5px, .72vw, 12px)/1 var(--mono, monospace); letter-spacing: .14em; text-transform: uppercase; cursor: pointer; transition: border-color .2s ease, color .2s ease, background .2s ease, transform .2s ease !important; animation: enh-pull .5s cubic-bezier(.2, .8, .2, 1) both !important; animation-delay: calc(var(--i, 0) * 70ms + 150ms) !important;}
:root:root .enh-cases__tabs button b {color: #76e5ff; font-weight: 600;}
:root:root .enh-cases__tabs button:hover {color: #fff; border-color: rgba(118, 229, 255, .7); transform: translateY(-2px);}
:root:root .enh-cases__tabs button.is-on {color: #fff; border-color: #76e5ff; background: linear-gradient(90deg, rgba(118, 229, 255, .22), rgba(8, 16, 34, .6)); box-shadow: 0 0 18px -6px #76e5ff;}
:root:root .enh-cases__count {margin-left: auto; font-size: 10px; letter-spacing: .2em; color: #8a9cc0;}
:root:root .enh-cases__view {flex: 1 1 auto; min-height: 0; display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 14px;}
:root:root .enh-cases__view.is-in > * {animation: enh-boxin .6s cubic-bezier(.2, .8, .2, 1) both !important;}
:root:root .enh-cases__view.is-in > :nth-child(2) {animation-delay: .1s !important;}
:root:root .enh-case__left {min-height: 0; min-width: 0; display: flex; flex-direction: column; gap: 12px;}
:root:root .enh-case__logo {position: relative; flex: none; height: clamp(110px, 26%, 200px); display: grid; place-items: center; padding: 6% 8%; box-sizing: border-box; border: 1px solid rgba(118, 229, 255, .25); background: linear-gradient(135deg, rgba(20, 34, 68, .85), rgba(8, 12, 26, .85)); cursor: zoom-in; overflow: hidden;}
:root:root .enh-case__logo img {max-width: 100%; max-height: 100%; object-fit: contain; filter: drop-shadow(0 0 12px rgba(150, 210, 255, .3)); transition: transform .4s cubic-bezier(.2, .8, .2, 1) !important;}
:root:root .enh-case__logo:hover img {transform: scale(1.05);}
:root:root .enh-case__logo::after {content: ''; position: absolute; inset: 0; background: linear-gradient(100deg, transparent 35%, rgba(190, 240, 255, .14) 50%, transparent 65%); transform: translateX(-120%); animation: enh-back-sheen 4.2s ease-in-out infinite !important; pointer-events: none;}
:root:root .enh-case__lbl, :root:root .enh-ver__t > span {position: absolute; left: 8px; top: 7px; font-size: 8.5px; letter-spacing: .2em; color: #8fdcf6; opacity: .8;}
:root:root .enh-case__info {flex: 1 1 auto; min-height: 0; overflow: auto; padding-right: 6px; scrollbar-width: thin; scrollbar-color: rgba(118, 229, 255, .4) transparent;}
:root:root .enh-case__t {margin: 0 0 8px; font: 400 clamp(20px, 1.9vw, 30px)/1.05 var(--exotic, 'Bodoni Moda', serif); color: #fff; letter-spacing: -.01em;}
:root:root .enh-case__info p {margin: 0 0 10px; font: 400 clamp(12px, .9vw, 14.5px)/1.55 var(--display, 'Bodoni Moda', serif); color: #b9c8e6;}
:root:root .enh-case__tags {display: flex; flex-wrap: wrap; gap: 5px; margin-bottom: 12px;}
:root:root .enh-case__tags span {padding: 4px 7px; border: 1px solid rgba(194, 155, 244, .4); font-size: 8.5px; letter-spacing: .14em; color: #d9c4f6;}
:root:root .enh-case__sub {margin: 4px 0 6px; font-size: 9px; letter-spacing: .22em; color: #7d8aa8;}
:root:root .enh-pal {display: flex; flex-wrap: wrap; gap: 8px;}
:root:root .enh-pal__c {display: grid; grid-template-columns: 26px auto; grid-template-rows: auto auto; column-gap: 8px; align-items: center; animation: enh-pull .5s cubic-bezier(.2, .8, .2, 1) both !important; animation-delay: calc(var(--i, 0) * 70ms + 400ms) !important;}
:root:root .enh-pal__c i {grid-row: 1 / 3; width: 26px; height: 26px; border: 1px solid rgba(255, 255, 255, .35); background: var(--c);}
:root:root .enh-pal__c b {font-size: 9.5px; font-weight: 600; letter-spacing: .08em; color: #eef6ff;}
:root:root .enh-pal__c small {font-size: 8.5px; letter-spacing: .08em; color: #8a9cc0;}
:root:root .enh-case__right {min-height: 0; min-width: 0;}
:root:root .enh-gal {display: grid; gap: 10px; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: minmax(0, 1fr);}
:root:root .enh-gal__i {position: relative; min-height: 0; padding: 0; border: 1px solid rgba(118, 229, 255, .22); background: rgba(10, 18, 40, .7); overflow: hidden; cursor: zoom-in; animation: enh-boxin .6s cubic-bezier(.2, .8, .2, 1) both !important; animation-delay: calc(var(--i, 0) * 90ms + 200ms) !important; transition: border-color .2s ease !important;}
:root:root .enh-gal__i img {position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; padding: 8px 8px 24px; box-sizing: border-box; transition: transform .45s cubic-bezier(.2, .8, .2, 1) !important;}
:root:root .enh-gal__i:hover {border-color: #76e5ff;}
:root:root .enh-gal__i:hover img {transform: scale(1.05);}
:root:root .enh-gal__i span {position: absolute; left: 0; right: 0; bottom: 0; padding: 6px 9px; font: 500 8.5px/1 var(--mono, monospace); letter-spacing: .16em; text-transform: uppercase; color: #dff3ff; text-align: left; background: linear-gradient(0deg, rgba(4, 8, 20, .92), transparent);}
:root:root .enh-bars {display: flex; gap: 8px;}
:root:root .enh-bars__b {flex: 1 1 0; position: relative; display: flex; flex-direction: column; justify-content: flex-end; padding: 10px; background: var(--c); border: 1px solid rgba(255, 255, 255, .25); transform-origin: bottom; animation: enh-bar-up .7s cubic-bezier(.2, .8, .2, 1) both !important; animation-delay: calc(var(--i, 0) * 90ms + 200ms) !important;}
:root:root .enh-bars__b b {font-size: 10px; letter-spacing: .1em; color: #fff; mix-blend-mode: difference;}
:root:root .enh-bars__b small {font-size: 8.5px; letter-spacing: .1em; color: #fff; mix-blend-mode: difference;}
@keyframes enh-bar-up { from { transform: scaleY(.15); opacity: 0; } to { transform: none; opacity: 1; } }
:root:root .enh-ver {display: grid; gap: 10px; grid-template-columns: 1fr 1fr; grid-template-rows: minmax(0, 1.4fr) minmax(0, 1fr);}
:root:root .enh-ver__t {position: relative; display: grid; place-items: center; padding: 10% 8%; box-sizing: border-box; border: 1px solid rgba(118, 229, 255, .22); overflow: hidden; animation: enh-boxin .6s cubic-bezier(.2, .8, .2, 1) both !important; animation-delay: calc(var(--i, 0) * 100ms + 200ms) !important;}
:root:root .enh-ver__t img {max-width: 100%; max-height: 100%; object-fit: contain;}
:root:root .enh-ver__neg {grid-column: 1 / 3; background: linear-gradient(135deg, #0b1330, #04060f);}
:root:root .enh-ver__pos {background: #f1f5fb;}
:root:root .enh-ver__pos > span {color: #3a4a6a;}
:root:root .enh-ver__pos.is-mono img {filter: brightness(0);}
:root:root .enh-ver__min {background: #0d1633;}
:root:root .enh-ver__sizes {display: flex; align-items: center; justify-content: center; gap: 14px; width: 100%; height: 100%;}
:root:root .enh-ver__sizes img {width: calc(var(--s) * 34%); max-height: 70%;}
:root:root #enh-zoom {position: fixed; inset: 0; z-index: 9100; display: grid; place-items: center; background: rgba(3, 5, 13, .92); backdrop-filter: blur(6px); cursor: zoom-out; animation: enh-fs-in .25s ease both;}
:root:root #enh-zoom.is-closing {animation: enh-fs-out .22s ease forwards;}
:root:root .enh-zoom__box {display: grid; gap: 14px; justify-items: center;}
:root:root .enh-zoom__box img {max-width: min(90vw, 1100px); max-height: 78vh; object-fit: contain; border: 1px solid rgba(118, 229, 255, .3); background: rgba(10, 18, 40, .6); box-shadow: 0 0 60px -10px rgba(118, 229, 255, .35);}
:root:root .enh-zoom__cap {font: 500 11px/1 var(--mono, monospace); letter-spacing: .22em; color: #c29bf4; text-transform: uppercase;}
:root:root #enh-zoom .enh-fs__x {position: absolute; top: 18px; right: 24px;}
@media (max-width: 1180px) {
:root:root .project-media-stage.enh-has-cases {height: auto !important; overflow: visible;}
:root:root .enh-cases {position: relative; inset: auto;}
:root:root .enh-cases__view {grid-template-columns: 1fr;}
:root:root .enh-case__logo {height: 150px;}
:root:root .enh-case__info {overflow: visible;}
:root:root .enh-gal {grid-auto-rows: 150px;}
:root:root .enh-ver {grid-template-rows: 200px 150px;}
:root:root .enh-bars {min-height: 200px;}
}
@media (max-width: 560px) {
:root:root .enh-gal {grid-template-columns: 1fr;}
:root:root .enh-cases__tabs button {padding: 8px 10px;}
}
:root:root .enh-cases__view.is-cases2 .enh-case__logo {display: none;}
:root:root .enh-cases__view.is-cases2 .enh-case__info {padding-top: 6px;}
:root:root .enh-cases__view.is-cases2 .enh-case__t {font-size: clamp(24px, 2.4vw, 38px);}
:root:root .enh-cases__view.is-cases2 .enh-case__info p {font-size: clamp(13px, 1vw, 16px);}
@media (max-width: 1180px) {
:root:root .project-media-stage.enh-has-cases > img, :root:root .project-media-stage.enh-has-cases .project-artwork {display: none !important;}
:root:root .project-media-stage.enh-has-cases {min-height: 0 !important; aspect-ratio: auto !important;}
}
@media (min-width: 801px) and (max-height: 820px) {
:root:root .project-facts {display: none !important;}
}
@media (max-width: 1180px) {
:root:root .project-media-panel.enh-casepanel {display: block !important; height: auto !important;}
:root:root .project-media-panel.enh-casepanel .project-media-stage {height: auto !important;}
}
@media (max-width: 1180px) {
:root:root .project-media-panel.enh-casepanel {min-height: max-content !important; align-self: start;}
}
@media (max-width: 1180px) {
:root:root .project-page .project-detail {overflow-y: auto !important; overflow-x: hidden !important; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; padding-bottom: 24px;}
}
:root:root .enh-prev--cases {inset: 0 !important; z-index: 0 !important; border: 0 !important; background: transparent !important; box-shadow: none !important; transform: none !important; opacity: .5; transition: opacity .4s ease; -webkit-mask-image: linear-gradient(180deg, transparent 3%, #000 22%, #000 74%, transparent 97%); mask-image: linear-gradient(180deg, transparent 3%, #000 22%, #000 74%, transparent 97%);}
:root:root .enh-prev--cases::before, :root:root .enh-prev--cases::after {display: none !important;}
:root:root .carousel-card--active .enh-prev--cases, :root:root .carousel-card:hover .enh-prev--cases {opacity: .7;}
:root:root .enh-cp {position: absolute; inset: 6% 5%; display: flex; gap: 3.2cqw;}
:root:root .enh-prev--cases {container-type: size;}
:root:root .enh-cp__col {flex: 1 1 0; display: flex; flex-direction: column; gap: 3.2cqw; animation: enh-lw-move 36s linear infinite !important; will-change: transform;}
:root:root .enh-cp__col.is-rev {animation-direction: reverse !important; animation-duration: 44s !important;}
:root:root .enh-cp__t {flex: none; height: 30cqw; overflow: hidden; border: 1px solid rgba(154, 213, 255, .22); background: rgba(10, 18, 40, .6);}
:root:root .enh-prev--cases .enh-cp__t img {position: static !important; inset: auto !important; width: 100% !important; height: 100% !important; object-fit: cover !important; opacity: 1 !important; transform: none !important; filter: saturate(.9);}
:root:root .enh-cp__sw {flex: none; display: flex; height: 9cqw; border: 1px solid rgba(154, 213, 255, .22);}
:root:root .enh-cp__sw i {flex: 1;}
:root:root .carousel-card:not(.carousel-card--active) .enh-prev--cases .enh-cp__col {animation-play-state: paused !important;}
:root:root .project-side-actions > a {display: none !important;}
:root:root .project-number:not(.enh-pnum) {display: none !important;}
:root:root .enh-pnum {letter-spacing: .2em !important;}
:root:root .project-side-actions {display: block;}
:root:root .enh-opager {display: flex; flex-direction: column; gap: 8px; margin-top: 4px;}
:root:root .enh-opager__n {align-self: center; font: 600 11px/1 var(--mono, monospace); letter-spacing: .14em; font-style: normal; color: #c29bf4; padding: 0 2px;}
:root:root .enh-case__logo {padding: 7% 10%;}
:root:root .enh-case__logo img {width: 100%; height: 100%; max-width: 100%; max-height: 100%; min-height: 0; object-fit: contain;}
@media (min-width: 801px) {
:root:root .enh-casepage .project-description {font-size: clamp(14.5px, min(1.2vw, 2.1vh), 20px) !important; line-height: 1.6 !important;}
:root:root .enh-case__info p {font-size: clamp(13.5px, 1.05vw, 17px) !important; line-height: 1.6 !important;}
:root:root .enh-case__t {font-size: clamp(24px, 2.3vw, 36px) !important;}
:root:root .enh-case__tags span {font-size: 10px !important;}
}
@media (min-width: 801px) and (max-height: 820px) {
:root:root .project-facts {display: none !important;}
:root:root .project-side-actions a {font-size: 10px !important;}
}
:root:root .enh-lw__tile {padding: 6% 7%; height: clamp(130px, 21vh, 210px);}
:root:root .enh-prev--logos .enh-lw__tile {padding: 5% 6%; height: 26cqw;}
:root:root #enh-fs .enh-lw__tile {padding: 6% 7%;}
:root:root .enh-lw__tile img, :root:root .enh-prev--logos .enh-lw__tile img {object-fit: contain;}
:root:root .enh-case__logo {padding: 4% 6%; height: clamp(120px, 28%, 210px);}
:root:root .enh-case__logo img {object-fit: contain; width: 100%; height: 100%;}
:root:root .category-pager button > span {font-size: 0 !important; gap: 0 !important;}
:root:root .category-pager button > span small {font-size: 11px !important; letter-spacing: .2em !important;}
:root:root .category-pager button {min-width: 0 !important;}
:root:root .project-footer.enh-openfoot .category-nav {display: none !important;}
:root:root .enh-opager {display: flex; align-items: center; gap: 12px;}
:root:root .enh-opager a {display: flex; align-items: center; gap: 12px; min-width: 190px; padding: 10px 18px; border: 1px solid rgba(118, 229, 255, .4); background: linear-gradient(90deg, rgba(118, 229, 255, .12), rgba(14, 22, 44, .35)); color: #e6f6ff; text-decoration: none; cursor: pointer; transition: transform .2s ease, border-color .2s ease !important;}
:root:root .enh-opager a:last-of-type {justify-content: flex-end; text-align: right; background: linear-gradient(270deg, rgba(194, 155, 244, .2), rgba(14, 22, 44, .35)); border-color: rgba(194, 155, 244, .55);}
:root:root .enh-opager a span {display: flex; flex-direction: column; gap: 5px; min-width: 0;}
:root:root .enh-opager a small {font: 500 9px/1 var(--mono, monospace); letter-spacing: .2em; opacity: .65;}
:root:root .enh-opager a b {font: 600 12.5px/1.1 'Oxanium', var(--mono, monospace); letter-spacing: .08em; text-transform: uppercase; white-space: nowrap;}
:root:root .enh-opager a:hover {border-color: #fff; transform: translateY(-2px);}
:root:root .enh-opager a svg {flex: none; transition: transform .25s ease !important;}
:root:root .enh-opager a:first-child:hover svg {transform: translateX(-4px);}
:root:root .enh-opager a:last-of-type:hover svg {transform: translateX(4px);}
:root:root .enh-opager__n {font: 600 14px/1 var(--mono, monospace); letter-spacing: .12em; font-style: normal; color: #c29bf4; min-width: 28px; text-align: center;}
:root:root .enh-opager a:focus-visible {outline: 2px solid #76e5ff; outline-offset: 2px;}
@media (max-width: 800px) {
:root:root .enh-opager a {min-width: 0; padding: 9px 12px;}
:root:root .enh-opager a b {display: none;}
}
@media (min-width: 801px) {
:root:root .project-description, :root:root .enh-casepage .project-description {font-size: clamp(12.5px, min(.92vw, 1.65vh), 16px) !important; line-height: 1.6 !important;}
:root:root .project-page .project-sidepanel h1 {font-size: clamp(34px, min(3.6vw, 6.4vh), 66px) !important; line-height: .98 !important;}
:root:root .enh-case__info p {font-size: clamp(12.5px, .95vw, 15.5px) !important; line-height: 1.58 !important;}
:root:root .enh-case__t {font-size: clamp(22px, 2vw, 32px) !important;}
:root:root .enh-case__tags span {font-size: 9px !important;}
}
:root:root .enh-case__logo img.is-norm {position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: auto; height: auto; max-width: none; max-height: none;}
:root:root .enh-case__logo:hover img.is-norm {transform: translate(-50%, -50%) scale(1.05);}
:root:root .enh-gal {display: flex !important; flex-direction: column; gap: 12px; grid-template-columns: none; grid-auto-rows: auto;}
:root:root .enh-gal__r {flex: 1 1 0; min-height: 0; display: flex; gap: 12px;}
:root:root .enh-gal__i {flex: 1 1 0; min-width: 0; border: 0 !important; border-radius: 16px; background: transparent !important; box-shadow: 0 10px 26px rgba(0, 0, 0, .3);}
:root:root .enh-gal__i img {position: static !important; inset: auto !important; width: 100% !important; height: 100% !important; padding: 0 !important; object-fit: cover; display: block; border-radius: 16px;}
:root:root .enh-gal__i span {left: 10px !important; right: auto !important; bottom: 10px !important; width: auto; padding: 5px 8px !important; border-radius: 6px; background: rgba(4, 8, 20, .72) !important; opacity: 0; transform: translateY(4px); transition: opacity .25s ease, transform .25s ease !important;}
:root:root .enh-gal__i:hover span {opacity: 1; transform: none;}
:root:root .enh-gal__i:hover {box-shadow: 0 14px 34px rgba(0, 0, 0, .42), 0 0 0 2px rgba(118, 229, 255, .7);}
@media (max-width: 1180px) {
:root:root .enh-gal {min-height: 380px;}
:root:root .enh-gal__r {min-height: 150px;}
}
@media (max-width: 560px) {
:root:root .enh-gal__r {flex-wrap: wrap;}
:root:root .enh-gal__i {flex: 1 1 100% !important; min-height: 170px;}
}
:root:root .project-footer.enh-openfoot .enh-opager {position: absolute; left: 50%; bottom: 22px; transform: translateX(-50%); z-index: 3;}
@media (max-width: 800px) {
:root:root .project-footer.enh-openfoot .enh-opager {bottom: 64px;}
}
:root:root .project-footer .enh-opager {display: flex !important; flex-direction: row !important; align-items: center; width: auto;}
:root:root .project-footer .enh-opager a {display: flex !important; flex-direction: row;}
:root:root .project-footer .enh-opager a span {display: flex !important; flex-direction: column;}
:root:root .enh-case__right.enh-gal {align-self: stretch; height: 100%; min-height: 0;}
@media (min-width: 1181px) {
:root:root .enh-cases__view {grid-template-rows: minmax(0, 1fr);}
:root:root .enh-case__right.enh-gal {height: auto;}
}
:root:root .enh-case__right.enh-gal {align-self: center; justify-self: center;}
@media (max-width: 1180px) {
:root:root .enh-gal {min-height: 0;}
:root:root .enh-gal__r {min-height: 0;}
}
@media (max-width: 560px) {
:root:root .enh-gal {width: 100% !important; height: auto !important;}
:root:root .enh-gal__i {height: 190px;}
}
@media (max-width: 800px) {
:root:root .project-footer.enh-openfoot .enh-opager {position: static; transform: none; bottom: auto; width: 100%; justify-content: space-between; margin: 0 0 6px; order: -1;}
:root:root .enh-opager a {flex: 1 1 0;}
}
@media (min-width: 1181px) {
:root:root .enh-cases__view {grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); align-items: center;}
:root:root .enh-case__left {align-self: center; max-height: 100%;}
:root:root .enh-case__logo {height: clamp(110px, 21vh, 170px);}
:root:root .enh-case__info {flex: 0 1 auto; overflow: visible; padding-right: 0;}
}
@media (min-width: 1181px) {
:root:root .enh-case__logo {height: clamp(96px, 16vh, 140px);}
:root:root .enh-case__left {gap: 10px;}
:root:root .enh-case__info p {margin-bottom: 8px;}
:root:root .enh-case__tags {margin-bottom: 9px;}
}
@media (min-width: 1181px) {
:root:root .enh-case__info {overflow: auto; flex: 0 1 auto; min-height: 0;}
}
@media (min-width: 1181px) and (max-height: 840px) {
:root:root .enh-case__logo {height: 84px;}
:root:root .enh-case__info p {font-size: 11.5px !important; line-height: 1.5 !important;}
:root:root .enh-case__t {font-size: 20px !important; margin-bottom: 6px;}
:root:root .enh-pal__c i {height: 18px;}
}
@media (min-width: 1181px) and (max-height: 740px) {
:root:root .enh-case__tags {display: none;}
:root:root .enh-case__logo {height: 70px;}
}
@keyframes enh-prog { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes enh-tip-in { from { opacity: 0; transform: translate(-50%, -30%) scale(.8); } to { opacity: 1; transform: translate(-50%, -50%) scale(1); } }
@keyframes enh-tip-flow { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@keyframes enh-dest { 0%, 14% { transform: translateX(0); } 28%, 44% { transform: translateX(-12.5%); } 58%, 74% { transform: translateX(-25%); } 88%, 100% { transform: translateX(-37.5%); } }
@keyframes enh-sweep { 0% { transform: translateX(-120%); } 60%, 100% { transform: translateX(120%); } }
@keyframes enh-btn-a { 0%, 100% { transform: scale(1); filter: drop-shadow(0 6px 10px rgba(210, 35, 48, .15)); } 30% { transform: scale(1.06); filter: drop-shadow(0 12px 18px rgba(210, 35, 48, .45)); } }
@keyframes enh-arr { 0%, 100% { transform: translateY(-50%) scale(1); } 50% { transform: translateY(-50%) scale(1.18); box-shadow: 0 0 0 6px rgba(210, 35, 48, .18); } }
@keyframes enh-rec { 0%, 100% { opacity: 1; } 50% { opacity: .25; } }
:root:root .enh-site {display: flex; flex-direction: column; gap: 10px; min-height: 0; min-width: 0; align-self: stretch; justify-self: stretch;}
:root:root .enh-site__chips {display: flex; flex-wrap: wrap; gap: 6px; flex: none;}
:root:root .enh-site__chips button {display: inline-flex; gap: 7px; align-items: center; padding: 7px 10px; border: 1px solid rgba(118, 229, 255, .28); background: rgba(10, 18, 40, .6); color: #b9d4ea; font: 600 clamp(8.5px, .66vw, 10.5px)/1 var(--mono, monospace); letter-spacing: .12em; text-transform: uppercase; cursor: pointer; transition: border-color .2s ease, background .2s ease, color .2s ease !important;}
:root:root .enh-site__chips button b {color: #76e5ff; font-weight: 600;}
:root:root .enh-site__chips button:hover {border-color: #76e5ff; color: #fff;}
:root:root .enh-site__chips button.is-on {background: linear-gradient(120deg, rgba(118, 229, 255, .28), rgba(194, 155, 244, .22)); border-color: #9be8ff; color: #fff;}
:root:root .enh-site__frame {flex: 1 1 0; min-height: 0; display: flex; flex-direction: column; border: 1px solid rgba(118, 229, 255, .32); border-radius: 12px; overflow: hidden; background: #070b18; box-shadow: 0 18px 44px rgba(0, 0, 0, .45);}
:root:root .enh-site__bar {flex: none; display: flex; align-items: center; gap: 6px; height: 28px; padding: 0 12px; background: linear-gradient(180deg, rgba(30, 44, 84, .95), rgba(18, 28, 56, .95));}
:root:root .enh-site__bar i {width: 8px; height: 8px; border-radius: 50%; background: rgba(255, 255, 255, .25);}
:root:root .enh-site__bar i:first-child {background: #ff6b6b;}
:root:root .enh-site__bar i:nth-child(2) {background: #ffd166;}
:root:root .enh-site__bar i:nth-child(3) {background: #5ee6a0;}
:root:root .enh-site__bar span {margin-left: 8px; flex: 1; text-align: center; font: 500 9.5px/1 var(--mono, monospace); letter-spacing: .12em; color: #9fb4d6; text-transform: lowercase;}
:root:root .enh-site__rec {font: 600 8.5px/1 var(--mono, monospace); font-style: normal; letter-spacing: .16em; color: #ff8a8a; display: inline-flex; align-items: center; gap: 5px;}
:root:root .enh-site__rec::before {content: ''; width: 6px; height: 6px; border-radius: 50%; background: #ff4d4d; animation: enh-rec 1.2s ease-in-out infinite !important;}
:root:root .enh-site__screen {position: relative; flex: 1 1 0; min-height: 0; background: #05070f; overflow: hidden;}
:root:root .enh-site[data-site="id"] .enh-site__screen {background: #f6f3ee;}
:root:root .enh-site__screen video {position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; display: block; background: #060a1c;}
:root:root .enh-site.is-phone .enh-site__screen {background: radial-gradient(ellipse at 50% 40%, #16224a, #060a1c 70%);}
:root:root .enh-site.is-phone .enh-site__screen video {inset: 3% auto 3% 50%; transform: translateX(-50%); width: auto; height: 94%; border-radius: 22px; border: 2px solid rgba(255, 255, 255, .28); box-shadow: 0 14px 40px rgba(0, 0, 0, .55);}
:root:root .enh-site__prog {flex: none; height: 3px; background: rgba(255, 255, 255, .08);}
:root:root .enh-site__prog i {display: block; height: 100%; background: linear-gradient(90deg, #76e5ff, #c29bf4); transform-origin: left; transform: scaleX(0);}
:root:root .enh-site__prog i.is-run {animation: enh-prog var(--dur, 6s) linear forwards !important;}
:root:root .enh-site__cap {flex: none; margin: 0; min-height: 3.1em; font: 400 clamp(12px, .92vw, 15px)/1.5 var(--display, 'Bodoni Moda', serif); color: #c4d2ee;}
:root:root .enh-tip {position: absolute; left: var(--x); top: var(--y); transform: translate(-50%, -50%); display: inline-flex; align-items: center; gap: 7px; padding: 5px 11px 5px 6px; border-radius: 999px; background: #d22330; color: #fff; font: 600 clamp(9.5px, .74vw, 12px)/1 var(--mono, monospace); letter-spacing: .06em; white-space: nowrap; box-shadow: 0 8px 18px rgba(210, 35, 48, .38); opacity: 0; animation: enh-tip-in .45s cubic-bezier(.2, .9, .3, 1.3) forwards !important; animation-delay: calc(.5s + var(--i) * .75s) !important;}
:root:root .enh-tip b {display: grid; place-items: center; width: 17px; height: 17px; border-radius: 50%; background: #fff; color: #d22330; font-size: 10px;}
:root:root .enh-tip.is-flow {position: static; transform: none; animation-name: enh-tip-flow !important;}
:root:root .enh-case__logo.is-light {background: linear-gradient(135deg, #f6f3ec, #dde3f0); border-color: rgba(255, 255, 255, .5);}
:root:root .enh-case__logo.is-light .enh-case__lbl {color: #5a6684;}
:root:root .enh-case__logo.is-light img {filter: drop-shadow(0 4px 10px rgba(16, 31, 90, .18));}
:root:root .enh-cp__t--ux {background: #f4f1ec;}
:root:root .enh-cp__t--ux video {display: block; width: 100%; height: 100%; object-fit: cover;}
:root:root .enh-prev--ux .enh-cp__t--ux img {position: static !important; width: 100% !important; height: 100% !important; object-fit: contain !important;}
@media (max-width: 1180px) {
:root:root .enh-site__frame {min-height: 300px;}
:root:root .enh-site {min-height: 420px;}
}
@media (min-width: 1181px) {
:root:root .enh-case__left {align-self: stretch; max-height: none;}
:root:root .enh-case__logo {flex: 1 1 0; height: auto; min-height: 96px; max-height: 330px;}
:root:root .enh-case__info {flex: none;}
}
@media (min-width: 1181px) and (max-height: 840px) {
:root:root .enh-case__logo {flex: 0 0 84px; min-height: 0;}
}
@media (min-width: 1181px) and (max-height: 740px) {
:root:root .enh-case__logo {flex: 0 0 70px;}
}
:root:root .enh-gal__r {flex: none !important;}
:root:root .enh-gal__i {flex: none !important; background: transparent !important;}
:root:root .enh-gal__i img {object-fit: fill !important;}
@media (max-width: 560px) {
:root:root .enh-gal__r {flex-wrap: nowrap;}
:root:root .enh-gal__i {height: auto; min-height: 0;}
}
:root:root .enh-vw {position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);}
:root:root .enh-vw video {position: static !important; inset: auto !important; width: 100% !important; height: 100% !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; transform: none !important; object-fit: fill; display: block;}
:root:root .enh-vw img {position: static !important; width: 100% !important; height: 100% !important; display: block; object-fit: fill; border-radius: 6px; box-shadow: 0 10px 34px rgba(0,0,0,.45);}
:root:root .enh-cp__t--ux img {width: 100%; height: 100%; object-fit: cover; display: block;}
:root:root .enh-site.is-phone .enh-vw {border-radius: 22px; overflow: hidden; border: 2px solid rgba(255, 255, 255, .28); box-shadow: 0 14px 40px rgba(0, 0, 0, .55);}
:root:root .enh-vtips {position: absolute; inset: 0; pointer-events: none;}
:root:root .enh-vtips .enh-tip {background: rgba(10, 18, 40, .92); color: #e8f7ff; border: 1px solid #76e5ff; box-shadow: 0 8px 20px rgba(0, 0, 0, .45);}
:root:root .enh-vtips .enh-tip b {background: #76e5ff; color: #06132a;}
:root:root .enh-cases.is-social .enh-cases__tabs {gap: 5px;}
:root:root .enh-cases.is-social .enh-cases__tabs button {padding: 7px 8px; font-size: clamp(8px, .6vw, 10.5px); letter-spacing: .07em; gap: 5px;}
:root:root .enh-cases__view.is-social {grid-template-columns: minmax(0, .62fr) minmax(0, 1.38fr);}
:root:root .enh-case__logo.is-soc {background: linear-gradient(135deg, var(--c1), var(--c2)) !important; border-color: rgba(255, 255, 255, .28) !important; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; text-align: center; padding: 10px 12px;}
:root:root .enh-soc__cat {margin: -2px 0 8px; font: 600 clamp(8.5px, .65vw, 10.5px)/1.2 var(--mono, monospace); letter-spacing: .18em; text-transform: uppercase; color: #76e5ff;}
:root:root .enh-soc__stats {display: flex; gap: 14px; margin: 2px 0 11px; font: 500 clamp(9px, .68vw, 11px)/1 var(--mono, monospace); letter-spacing: .14em; text-transform: uppercase; color: #9db6d8;}
:root:root .enh-soc__stats b {color: #fff; font-size: 1.5em; font-weight: 600; margin-right: 4px; letter-spacing: 0;}
:root:root .enh-soc__go {display: inline-flex; align-items: center; gap: 10px; padding: 9px 13px; border: 1px solid rgba(118, 229, 255, .55); background: rgba(8, 16, 34, .6); color: #dff6ff; text-decoration: none; font: 600 clamp(8.5px, .66vw, 10.5px)/1 var(--mono, monospace); letter-spacing: .16em; transition: background .2s ease, color .2s ease, border-color .2s ease !important;}
:root:root .enh-soc__go i {font-style: normal; color: #76e5ff; transition: transform .2s ease !important;}
:root:root .enh-soc__go:hover {background: #76e5ff; color: #04101e; border-color: #76e5ff;}
:root:root .enh-soc__go:hover i {color: #04101e; transform: translate(2px, -2px);}
:root:root .enh-case__right.enh-soc {display: grid; gap: 10px; align-content: center; justify-content: center; align-self: stretch; justify-self: center; min-height: 0; width: 100%;}
:root:root .enh-soc__i {position: relative; padding: 0; border: 0; border-radius: 14px; overflow: hidden; background: #0c1428; box-shadow: 0 10px 26px rgba(0, 0, 0, .35); cursor: zoom-in; animation: enh-boxin .55s cubic-bezier(.2, .8, .2, 1) both !important; animation-delay: calc(var(--i, 0) * 55ms + 180ms) !important; transition: transform .25s ease, box-shadow .25s ease !important;}
:root:root .enh-soc__i img {display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .5s cubic-bezier(.2, .8, .2, 1) !important;}
:root:root .enh-soc__i:hover, :root:root .enh-soc__i:focus-visible {transform: translateY(-4px); z-index: 2; box-shadow: 0 16px 34px rgba(0, 0, 0, .5), 0 0 0 2px rgba(118, 229, 255, .8); outline: 0;}
:root:root .enh-soc__i:hover img {transform: scale(1.06);}
:root:root .enh-soc__i > span {position: absolute; left: 8px; bottom: 8px; padding: 5px 7px; border-radius: 5px; background: rgba(4, 8, 20, .78); font: 500 8px/1 var(--mono, monospace); letter-spacing: .16em; color: #dff3ff; opacity: 0; transform: translateY(4px); transition: opacity .25s ease, transform .25s ease !important;}
:root:root .enh-soc__i:hover > span {opacity: 1; transform: none;}
:root:root .enh-soc__k {position: absolute; top: 8px; right: 8px; width: 26px; height: 26px; border-radius: 50%; background: rgba(6, 10, 24, .74); border: 1px solid rgba(255, 255, 255, .38); font-style: normal; pointer-events: none;}
:root:root .enh-soc__k.is-r::before {content: ''; position: absolute; left: 10px; top: 7px; border-left: 9px solid #fff; border-top: 5.5px solid transparent; border-bottom: 5.5px solid transparent;}
:root:root .enh-soc__k.is-c::before, :root:root .enh-soc__k.is-c::after {content: ''; position: absolute; width: 9px; height: 9px; border: 1.6px solid #fff; border-radius: 2px; box-sizing: border-box;}
:root:root .enh-soc__k.is-c::before {left: 6px; top: 10px;}
:root:root .enh-soc__k.is-c::after {left: 10px; top: 6px; background: rgba(6, 10, 24, .74);}
@media (max-width: 1180px) {
:root:root .enh-cases__view.is-social {grid-template-columns: 1fr;}
:root:root .enh-case__right.enh-soc {justify-self: center;}
}
:root:root #enh-sz {position: fixed; inset: 0; z-index: 9100; display: flex; align-items: center; justify-content: center; gap: clamp(8px, 2vw, 28px); background: rgba(3, 5, 13, .93); backdrop-filter: blur(6px); animation: enh-fs-in .25s ease both !important;}
:root:root #enh-sz.is-closing {animation: enh-fs-out .22s ease forwards !important;}
:root:root .enh-sz__box {display: grid; gap: 14px; justify-items: center; max-width: 92vw;}
:root:root .enh-sz__fr {position: relative; border-radius: 16px; overflow: hidden; box-shadow: 0 0 70px -12px rgba(118, 229, 255, .4), 0 24px 60px rgba(0, 0, 0, .6); background: #0c1428;}
:root:root .enh-sz__fr img {display: block; height: min(66vh, 500px); width: auto; max-width: 88vw; aspect-ratio: 3 / 4; object-fit: cover; transition: opacity .25s ease !important;}
:root:root .enh-sz__fr .enh-soc__k {width: 36px; height: 36px; top: 12px; right: 12px;}
:root:root .enh-sz__fr .enh-soc__k.is-r::before {left: 14px; top: 10px; border-left-width: 12px; border-top-width: 8px; border-bottom-width: 8px;}
:root:root .enh-sz__box:not(.is-reel) .enh-soc__k {display: none;}
:root:root .enh-sz__cap {font: 500 11px/1 var(--mono, monospace); letter-spacing: .22em; color: #c29bf4; text-transform: uppercase; text-align: center;}
:root:root .enh-sz__go {display: inline-flex; align-items: center; gap: 10px; padding: 11px 16px; border: 1px solid rgba(118, 229, 255, .6); background: rgba(8, 16, 34, .7); color: #dff6ff; text-decoration: none; font: 600 10px/1 var(--mono, monospace); letter-spacing: .16em;}
:root:root .enh-sz__go i {font-style: normal; color: #76e5ff;}
:root:root .enh-sz__go:hover {background: #76e5ff; color: #04101e;}
:root:root .enh-sz__go:hover i {color: #04101e;}
:root:root .enh-sz__n {flex: none; width: 52px; height: 52px; border-radius: 50%; border: 1px solid rgba(118, 229, 255, .5); background: rgba(8, 16, 34, .7); color: #dff6ff; font: 400 30px/1 var(--display, serif); cursor: pointer; transition: background .2s ease, color .2s ease !important;}
:root:root .enh-sz__n:hover {background: #76e5ff; color: #04101e;}
:root:root #enh-sz .enh-fs__x {position: absolute; top: 18px; right: 24px;}
@media (max-width: 700px) {
:root:root #enh-sz {gap: 0;}
:root:root .enh-sz__n {position: absolute; bottom: 20px; width: 46px; height: 46px;}
:root:root .enh-sz__n.is-p {left: 22px;}
:root:root .enh-sz__n.is-n {right: 22px;}
:root:root .enh-sz__fr img {height: min(62vh, 520px);}
}
:root:root .enh-cp__t--soc {height: auto !important; aspect-ratio: 3 / 4; position: relative; border-radius: 8px; border: 0;}
:root:root .enh-cp__t--soc .enh-soc__k {transform: scale(.62); transform-origin: top right; top: 4px; right: 4px;}
:root:root .enh-case__logo.is-soc {gap: 10px;}
:root:root .enh-case__logo img.enh-soc__av {position: static !important; transform: none !important; width: auto !important; height: min(72%, 150px) !important; aspect-ratio: 1; max-width: none; border-radius: 50%; box-shadow: 0 0 0 3px rgba(255, 255, 255, .85), 0 12px 30px rgba(0, 0, 0, .45); background: #fff;}
:root:root .enh-case__logo.is-soc:hover img.enh-soc__av {transform: scale(1.04) !important;}
:root:root .enh-case__logo.is-soc::before {content: ''; position: absolute; inset: 0; background: radial-gradient(120% 90% at 50% 0%, rgba(255, 255, 255, .22), transparent 60%); pointer-events: none;}
:root:root .enh-vw--img {overflow: hidden; border-radius: 8px; box-shadow: 0 12px 38px rgba(0,0,0,.5); background: #fff;}
:root:root .enh-vw--img .enh-pkz {position: absolute; left: 0; top: 0; transform: translate(var(--x0), var(--y)); animation: enh-pkpan 6.4s ease-in-out both !important; will-change: transform;}
:root:root .enh-vw--img .enh-pkz > img {position: static !important; width: 100% !important; height: 100% !important; display: block; box-shadow: none !important; border-radius: 0 !important; object-fit: fill; image-rendering: auto;}
@keyframes enh-pkpan { from { transform: translate(var(--x0), var(--y)); } to { transform: translate(var(--x1), var(--y)); } }
:root:root .enh-cp__t--ux .enh-pkp {display: block; width: 100%; height: 100%; overflow: hidden; background: #0a1a46;}
:root:root .enh-prev--ux .enh-cp__t--ux .enh-pkp img {position: static !important; width: 100% !important; height: 100% !important; object-fit: cover !important; object-position: 0% 30%; animation: enh-pkprev 9s ease-in-out infinite alternate !important;}
@keyframes enh-pkprev { from { object-position: 0% 30%; } to { object-position: 100% 30%; } }
:root:root .enh-deep {position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; z-index: 1;}
:root:root .portfolio-page .space-backdrop, :root:root .project-page .space-backdrop {background: radial-gradient(ellipse at 50% 38%, #0a1130 0%, #04061a 55%, #02030c 100%) !important;}
:root:root .portfolio-page .space-video, :root:root .project-page .space-video {opacity: .16 !important; filter: saturate(.8) brightness(.7);}
:root:root .portfolio-page .nebula, :root:root .project-page .nebula {opacity: .32 !important;}
:root:root .portfolio-page .space-backdrop::after, :root:root .project-page .space-backdrop::after {content: ''; position: absolute; inset: 0; z-index: 2; pointer-events: none; background: radial-gradient(ellipse at 50% 46%, transparent 38%, rgba(1, 2, 10, .62) 100%), linear-gradient(180deg, rgba(2, 4, 14, .35), transparent 30%, rgba(2, 4, 14, .4));}
:root:root .portfolio-page .enh-stars, :root:root .project-page .enh-stars {z-index: 1;}
:root:root .portfolio-page .space-orbit, :root:root .project-page .space-orbit {opacity: .55;}
@media (min-width: 1181px) {
:root:root .carousel-card {translate: calc(var(--panel-x) * 1.3) calc(var(--panel-y) * .3);}
:root:root .carousel-card[data-side="l"] {translate: calc(var(--panel-x) * .62) calc(var(--panel-y) * .3);}
:root:root .carousel-card:not(.carousel-card--active) {filter: brightness(calc((var(--panel-opacity, 1) - .2) * .9)) saturate(.7) blur(calc((1 - var(--panel-opacity, 1)) * 3.4px));}
:root:root .carousel-card[data-side="l"]:not(.carousel-card--active) {filter: brightness(calc((var(--panel-opacity, 1) - .26) * .8)) saturate(.62) blur(calc((1 - var(--panel-opacity, 1)) * 3.4px));}
}
:root:root .carousel-card--active {filter: brightness(1.08) saturate(1.1) drop-shadow(0 0 1px color-mix(in srgb, var(--panel-accent) 80%, #fff)) drop-shadow(0 0 7px color-mix(in srgb, var(--panel-accent) 26%, transparent)) !important;}
:root:root .carousel-card--active .folder-card__face, :root:root .portfolio-page .carousel-card--active .folder-card__face {box-shadow: inset 0 0 0 5px #04050f8a, 0 0 0 1px color-mix(in srgb, var(--panel-accent) 85%, white), 0 0 18px color-mix(in srgb, var(--panel-accent) 14%, transparent), 0 44px 70px -6px rgba(0, 0, 0, .7), 0 18px 30px rgba(0, 0, 0, .5) !important;}
:root:root .carousel-card:not(.carousel-card--active) .folder-card__face {box-shadow: inset 0 0 0 5px #04050f8a, 0 0 0 1px rgba(125, 214, 255, .2), 0 26px 50px rgba(0, 0, 0, .65) !important;}
:root:root .carousel-card:not(.carousel-card--active) .folder-card__face::before {content: ''; position: absolute; inset: 0; z-index: 6; pointer-events: none; background: linear-gradient(135deg, rgba(2, 4, 14, .15), rgba(2, 4, 14, .5));}
:root:root .enh-prev--wip {inset: 0 !important; left: 0 !important; right: 0 !important; top: 0 !important; bottom: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; transform: none !important; display: flex !important; flex-direction: column; align-items: center; justify-content: center; gap: 14px; z-index: 3;}
:root:root .enh-prev--wip::before, :root:root .enh-prev--wip::after {display: none !important;}
:root:root .enh-prev--wip i {font-size: clamp(30px, 3.4vw, 54px); opacity: .6;}
:root:root .enh-prev--wip .enh-prev__cap {position: static; left: auto; bottom: auto; font-size: clamp(10px, .95vw, 15px); letter-spacing: .34em; color: color-mix(in srgb, var(--panel-accent) 70%, #fff); text-shadow: 0 0 18px color-mix(in srgb, var(--panel-accent) 60%, transparent); text-align: center; animation: enh-wip 2.6s ease-in-out infinite !important;}
@keyframes enh-wip { 0%, 100% { opacity: .55; } 50% { opacity: 1; } }
:root:root .project-page .project-media-panel {position: relative; border: 2px solid rgba(120, 170, 255, .3); border-radius: 14px; background: #040819ee; box-shadow: 0 0 0 7px rgba(5, 9, 26, .92), 0 0 0 8px rgba(120, 170, 255, .2), inset 0 0 0 4px rgba(4, 6, 17, .6), inset 0 0 46px rgba(70, 130, 255, .14), 0 0 46px rgba(60, 120, 255, .14), 0 34px 70px rgba(0, 0, 0, .55);}
:root:root .project-page .project-media-panel::before {content: ''; position: absolute; z-index: 20; inset: 0; border-radius: 12px; pointer-events: none; background: repeating-linear-gradient(0deg, rgba(0, 0, 0, 0) 0 2px, rgba(130, 190, 255, .035) 3px), radial-gradient(ellipse at 50% 50%, transparent 60%, rgba(2, 4, 16, .55) 100%), linear-gradient(118deg, rgba(255, 255, 255, .055) 0 14%, transparent 14.4%);}
:root:root .project-page .project-media-panel::after {content: ''; position: absolute; z-index: 21; inset: 6px; border-radius: 9px; pointer-events: none; background: linear-gradient(#8fd4ff, #8fd4ff) 0 0 / 16px 1.5px no-repeat, linear-gradient(#8fd4ff, #8fd4ff) 0 0 / 1.5px 16px no-repeat, linear-gradient(#8fd4ff, #8fd4ff) 100% 0 / 16px 1.5px no-repeat, linear-gradient(#8fd4ff, #8fd4ff) 100% 0 / 1.5px 16px no-repeat, linear-gradient(#8fd4ff, #8fd4ff) 0 100% / 16px 1.5px no-repeat, linear-gradient(#8fd4ff, #8fd4ff) 0 100% / 1.5px 16px no-repeat, linear-gradient(#8fd4ff, #8fd4ff) 100% 100% / 16px 1.5px no-repeat, linear-gradient(#8fd4ff, #8fd4ff) 100% 100% / 1.5px 16px no-repeat; opacity: .55;}
:root:root .project-page .project-media-panel > .enh-led {position: absolute; z-index: 22; left: 50%; bottom: -17px; width: 46px; height: 3px; transform: translateX(-50%); border-radius: 3px; pointer-events: none; background: linear-gradient(90deg, transparent, #76e5ff, transparent); box-shadow: 0 0 10px #76e5ff; animation: enh-led 3.2s ease-in-out infinite !important;}
@keyframes enh-led { 50% { opacity: .35; } }
@media (max-width: 1180px) {
:root:root .project-page .project-media-panel {box-shadow: 0 0 0 4px rgba(5, 9, 26, .92), 0 0 0 5px rgba(120, 170, 255, .2), inset 0 0 30px rgba(70, 130, 255, .12);}
}
:root:root .enh-pk3 {gap: 10px;}
:root:root .enh-pk3__bar {flex: none; display: flex; flex-wrap: wrap; gap: 8px;}
:root:root .enh-pk3__grp {display: inline-flex; border: 1px solid rgba(118, 229, 255, .28); background: rgba(10, 18, 40, .6);}
:root:root .enh-pk3__grp button {display: inline-flex; gap: 7px; align-items: center; padding: 8px 11px; border: 0; border-right: 1px solid rgba(118, 229, 255, .16); background: transparent; color: #b9d4ea; font: 600 clamp(8.5px, .66vw, 10.5px)/1 var(--mono, monospace); letter-spacing: .12em; text-transform: uppercase; cursor: pointer; transition: background .2s ease, color .2s ease !important;}
:root:root .enh-pk3__grp button:last-child {border-right: 0;}
:root:root .enh-pk3__grp button i {font-style: normal; color: #76e5ff; font-size: 1.15em;}
:root:root .enh-pk3__grp button:hover {color: #fff; background: rgba(118, 229, 255, .12);}
:root:root .enh-pk3__grp button.is-on {background: linear-gradient(120deg, rgba(118, 229, 255, .3), rgba(194, 155, 244, .24)); color: #fff;}
:root:root .enh-pk3__stage {position: relative; flex: 1 1 0; min-height: 0; border: 1px solid rgba(118, 229, 255, .32); border-radius: 12px; overflow: hidden; background: radial-gradient(120% 90% at 50% 70%, #101a3a 0%, #070b18 70%); box-shadow: 0 18px 44px rgba(0, 0, 0, .45); cursor: grab; touch-action: pan-y;}
:root:root .enh-pk3__stage:active {cursor: grabbing;}
:root:root .enh-pk3__stage canvas {position: absolute; inset: 0; width: 100%; height: 100%; display: block; opacity: 0; transition: opacity .8s ease !important; touch-action: none;}
:root:root .enh-pk3__stage.is-live canvas {opacity: 1;}
:root:root .enh-pk3__fb {position: absolute; inset: 0; display: grid; place-items: center;}
:root:root .enh-pk3__fb img {max-width: 62%; max-height: 74%; object-fit: contain; filter: drop-shadow(0 20px 30px rgba(0, 0, 0, .6));}
:root:root .enh-pk3__stage.is-live .enh-pk3__fb {display: none;}
:root:root .enh-pk3__lb {position: absolute; inset: 0; pointer-events: none;}
:root:root .enh-pk3__lab {position: absolute; left: 0; top: 0; display: block; opacity: 1; transition: opacity .4s ease !important; white-space: nowrap;}
:root:root .enh-pk3__lab i {position: absolute; left: 0; bottom: 0; width: 1px; height: 26px; background: linear-gradient(#76e5ff, transparent); transform-origin: bottom;}
:root:root .enh-pk3__lab i::before {content: ''; position: absolute; left: -2px; bottom: -2px; width: 5px; height: 5px; border-radius: 50%; background: #76e5ff; box-shadow: 0 0 8px #76e5ff;}
:root:root .enh-pk3__lab b {position: absolute; left: 6px; bottom: 24px; padding: 4px 7px; border: 1px solid rgba(118, 229, 255, .5); background: rgba(6, 12, 30, .82); color: #dff6ff; font: 600 clamp(8px, .62vw, 10px)/1 var(--mono, monospace); letter-spacing: .12em;}
:root:root .enh-pk3__k {position: absolute; width: 14px; height: 14px; border: 0 solid #76e5ff; opacity: .8; pointer-events: none;}
:root:root .enh-pk3__k.k1 {left: 8px; top: 8px; border-width: 1px 0 0 1px;}
:root:root .enh-pk3__k.k2 {right: 8px; top: 8px; border-width: 1px 1px 0 0;}
:root:root .enh-pk3__k.k3 {left: 8px; bottom: 8px; border-width: 0 0 1px 1px;}
:root:root .enh-pk3__k.k4 {right: 8px; bottom: 8px; border-width: 0 1px 1px 0;}
:root:root .enh-pk3__tag {position: absolute; left: 18px; top: 16px; display: flex; gap: 8px; align-items: center; font: 600 clamp(8px, .6vw, 9.5px)/1 var(--mono, monospace); letter-spacing: .16em; color: #9fb4d6; pointer-events: none;}
:root:root .enh-pk3__tag b {padding: 4px 6px; background: linear-gradient(120deg, #76e5ff, #c29bf4); color: #060a18; letter-spacing: .1em;}
:root:root .enh-pk3__scan {position: absolute; left: 0; right: 0; top: 0; height: 2px; background: linear-gradient(90deg, transparent, #76e5ff, #c29bf4, transparent); box-shadow: 0 0 18px #76e5ff; opacity: 0; pointer-events: none;}
:root:root .enh-pk3__scan.is-run {animation: enh-pk3scan .9s ease-out 1 !important;}
@keyframes enh-pk3scan { 0% { top: 0; opacity: 0; } 12% { opacity: 1; } 100% { top: 100%; opacity: 0; } }
:root:root .enh-cases__view.is-in .enh-pk3__bar {animation: enh-pk3in .6s cubic-bezier(.2, .8, .2, 1) both !important;}
:root:root .enh-cases__view.is-in .enh-pk3__stage {animation: enh-pk3in .8s .1s cubic-bezier(.2, .8, .2, 1) both !important;}
@keyframes enh-pk3in { from { opacity: 0; transform: translateY(14px) scale(.985); } to { opacity: 1; transform: none; } }
:root:root .enh-pk3__spec {display: grid; grid-template-columns: 1fr 1fr; gap: 6px; margin-bottom: 12px;}
:root:root .enh-pk3__spec span {display: grid; gap: 4px; padding: 7px 9px; border: 1px solid rgba(118, 229, 255, .22); background: rgba(10, 18, 40, .5);}
:root:root .enh-pk3__spec small {font-size: 8px; letter-spacing: .2em; color: #7d8aa8;}
:root:root .enh-pk3__spec b {font: 600 11px/1.2 var(--mono, monospace); color: #dff6ff; letter-spacing: .04em;}
:root:root .enh-pk3__ctx {margin: 0 0 12px; display: grid; gap: 8px;}
:root:root .enh-pk3__ctx div {padding-left: 9px; border-left: 2px solid rgba(118, 229, 255, .45);}
:root:root .enh-pk3__ctx dt {font-size: 8px; letter-spacing: .22em; color: #76e5ff; margin: 0 0 2px;}
:root:root .enh-pk3__ctx dd {margin: 0; font-size: 11.5px; line-height: 1.45; color: #c9d6ec;}
:root:root .enh-pk3__items {margin: 0 0 8px; padding: 0; list-style: none; display: grid; gap: 4px;}
:root:root .enh-pk3__items li {position: relative; padding-left: 14px; font-size: 11.5px; line-height: 1.4; color: #b9c8e0;}
:root:root .enh-pk3__items li::before {content: ''; position: absolute; left: 0; top: .5em; width: 6px; height: 6px; border: 1px solid #76e5ff; transform: rotate(45deg);}
:root:root .enh-pk3__flat {position: absolute; inset: 0; z-index: 3; display: none; gap: 14px; align-items: center; justify-content: center; padding: 44px 18px 18px; overflow: auto; background: radial-gradient(120% 90% at 50% 70%, #101a3a 0%, #070b18 70%); cursor: default;}
:root:root .enh-pk3.is-flat .enh-pk3__flat {display: flex;}
:root:root .enh-pk3.is-flat .enh-pk3__flat.is-many {display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); align-content: start; align-items: start; justify-content: stretch;}
:root:root .enh-pk3__flat.is-many .enh-pk3__fi {max-height: none;}
:root:root .enh-pk3__flat.is-many .enh-pk3__fi img {flex: none; height: auto; max-height: 190px;}
:root:root .enh-pk3__fi {margin: 0; flex: 1 1 0; min-width: 0; max-height: 100%; display: flex; flex-direction: column; gap: 8px; cursor: zoom-in;}
:root:root .enh-pk3__fi img {width: 100%; min-height: 0; flex: 1 1 auto; object-fit: contain; border: 1px solid rgba(118, 229, 255, .3); background: #fff; border-radius: 4px;}
:root:root .enh-pk3__fi figcaption {flex: none; font: 600 clamp(8px, .62vw, 10px)/1.2 var(--mono, monospace); letter-spacing: .14em; text-transform: uppercase; color: #9fb4d6; text-align: center;}
:root:root .enh-pk3.is-flat .enh-pk3__grp:not([data-g="mode"]) {opacity: .35; pointer-events: none;}
:root:root .enh-pk3.is-flat .enh-pk3__stage {cursor: default;}
@media (max-width: 560px) {
:root:root .enh-pk3__flat {flex-wrap: wrap;}
:root:root .enh-pk3__fi {flex: 1 1 40%;}
}
@media (max-width: 1180px) {
:root:root .enh-pk3__stage {min-height: 340px;}
:root:root .enh-pk3 {min-height: 440px;}
}
@media (max-width: 560px) {
:root:root .enh-pk3__grp button {padding: 8px 8px;}
:root:root .enh-pk3__tag span {display: none;}
:root:root .enh-pk3__stage {min-height: 300px;}
}
:root:root .enh-prev--pack {inset: auto !important; left: 4% !important; right: 4% !important; top: 8% !important; bottom: 14% !important; z-index: 0 !important; overflow: visible !important; border: 0 !important; background: transparent !important; box-shadow: none !important; transform: none !important;}
:root:root .enh-prev--pack::before, :root:root .enh-prev--pack::after {display: none !important;}
:root:root .enh-prev--pack canvas {position: absolute; inset: 0; width: 100%; height: 100%; display: block;}
:root:root .project-media-stage.enh-has-cases .project-artwork-empty, :root:root .project-media-stage.enh-has-cases .project-media-corner {display: none !important;}
@media (max-width: 1180px) {
:root:root .enh-case__right.enh-pk3 {order: -1;}
}
:root:root .enh-prev--pack canvas.enh-pkv {opacity: 0; transition: opacity .9s ease !important;}
:root:root .enh-prev--pack canvas.enh-pkv.is-on {opacity: 1;}
:root:root .hud-glyph, :root:root .portfolio-page .hud-glyph, :root:root .project-page .hud-glyph {clip-path: none !important;}
:root:root .enh-contact__rec {font: 600 9.5px/1 var(--mono, monospace); letter-spacing: .12em; color: #8fe8ff; text-decoration: none; border-bottom: 1px solid rgba(118, 229, 255, .35); padding-bottom: 2px; white-space: nowrap;}
@media (min-width: 1181px) {
:root:root .portfolio-page .enh-contact {display: flex; position: fixed; left: 178px; bottom: 43px; padding: 0; z-index: 5;}
:root:root .portfolio-page .enh-contact__copy, :root:root .portfolio-page .enh-contact__links {display: none;}
}
:root:root .enh-tools__chip[data-app="es"] {--tag: #3db4ff; --tag-bg: #00233d;}
:root:root .enh-tools__chip[data-app="es"]::before {content: 'Es';}
:root:root .enh-vert {display: flex !important; flex-direction: column; gap: 16px; height: 100%; max-height: 100%; overflow-y: auto; padding: 0 10px 18px 0; scrollbar-width: thin; scrollbar-color: rgba(118, 229, 255, .45) transparent; outline: none;}
:root:root .enh-vert__f {margin: 0; display: grid; gap: 7px; flex: none; animation: enh-boxin .6s cubic-bezier(.2, .8, .2, 1) both !important; animation-delay: calc(var(--i, 0) * 70ms) !important;}
:root:root .enh-vert__i {all: unset; display: block; cursor: zoom-in; border-radius: 14px; overflow: hidden; background: #0b1226; box-shadow: 0 10px 28px rgba(0, 0, 0, .35); border: 1px solid rgba(118, 229, 255, .18);}
:root:root .enh-vert__i img {display: block; width: 100%; height: auto; max-height: 62vh; object-fit: contain; transition: transform .5s cubic-bezier(.2, .8, .2, 1) !important;}
:root:root .enh-vert__i:hover img {transform: scale(1.02);}
:root:root .enh-vert__i:focus-visible {outline: 2px solid #76e5ff; outline-offset: 2px;}
:root:root .enh-vert__f figcaption {font: 600 9px/1.3 var(--mono, monospace); letter-spacing: .16em; text-transform: uppercase; color: #9fb4d6; padding-left: 2px;}
@media (max-width: 1180px) {
:root:root .enh-vert {height: auto; max-height: none; overflow: visible; padding-right: 0;}
}
:root:root .enh-prev.enh-prev--v2 {position: absolute !important; inset: 0 !important; z-index: 0 !important; opacity: 1 !important; transform: none !important; -webkit-mask: none !important; mask: none !important; border-radius: inherit; border: 0 !important; background: #070b1a !important; box-shadow: none !important; overflow: hidden; container-type: size;}
:root:root .enh-prev--v2::before, :root:root .enh-prev--v2::after {display: none !important;}
:root:root .enh-prev--v2 img, :root:root .enh-prev--v2 video {opacity: 1 !important; filter: none !important; transform: none !important;}
:root:root .carousel-card:has(.enh-prev--v2) .folder-card__mark {display: none !important;}
:root:root .pv2-cap {position: absolute; left: 8px; bottom: 7px; z-index: 3; font: 600 8px/1 var(--mono, monospace); letter-spacing: .2em; color: #fff; text-shadow: 0 1px 6px rgba(0, 0, 0, .8);}
:root:root .pv2-lg {position: absolute; inset: 6px; display: grid; gap: 6px; grid-template-columns: repeat(6, 1fr); grid-template-rows: repeat(6, 1fr);}
:root:root .pv2-lg__t {position: relative; display: grid; place-items: center; border-radius: 4px; overflow: hidden; transition: transform .38s cubic-bezier(.2, .8, .2, 1), opacity .38s ease;}
:root:root .pv2-lg__t img {position: static !important; width: 76% !important; height: 70% !important; object-fit: contain;}
:root:root .pv2-lg__t.is-out {transform: scale(.86) rotateX(70deg); opacity: 0;}
:root:root .pv2-lg__t.is-light img {width: 56% !important;}
:root:root .pv2-lg__t--0 {grid-area: 1 / 1 / 4 / 4;}
:root:root .pv2-lg__t--1 {grid-area: 1 / 4 / 3 / 7;}
:root:root .pv2-lg__t--2 {grid-area: 3 / 4 / 4 / 6;}
:root:root .pv2-lg__t--3 {grid-area: 3 / 6 / 4 / 7;}
:root:root .pv2-lg__t--4 {grid-area: 4 / 1 / 5 / 3;}
:root:root .pv2-lg__t--5 {grid-area: 4 / 3 / 7 / 5;}
:root:root .pv2-lg__t--6 {grid-area: 4 / 5 / 5 / 7;}
:root:root .pv2-lg__t--7 {grid-area: 5 / 1 / 7 / 3;}
:root:root .pv2-lg__t--8 {grid-area: 5 / 5 / 6 / 6;}
:root:root .pv2-lg__t--9 {grid-area: 5 / 6 / 6 / 7;}
:root:root .pv2-lg__t--10 {grid-area: 6 / 5 / 7 / 6;}
:root:root .pv2-lg__t--11 {grid-area: 6 / 6 / 7 / 7;}
:root:root .pv2-lg__t--3 img, :root:root .pv2-lg__t--9 img, :root:root .pv2-lg__t--8 img, :root:root .pv2-lg__t--10 img, :root:root .pv2-lg__t--11 img {width: 84% !important;}
:root:root .enh-pv2--id {background: #0b1226 !important;}
:root:root .pv2-id__col {position: absolute; left: 0; right: 0; top: 0; display: flex; flex-direction: column; gap: 6px; padding: 6px; animation: pv2-scroll 46s linear infinite; will-change: transform;}
:root:root .enh-prev--v2 img.pv2-id__col-img, :root:root .pv2-id__col img {position: static !important; width: 100% !important; height: auto !important; border-radius: 5px; display: block; flex: none; object-fit: contain;}
:root:root .pv2-id__fade {position: absolute; inset: 0; pointer-events: none; background: linear-gradient(180deg, rgba(8, 13, 30, .5), transparent 14%, transparent 70%, rgba(8, 13, 30, .72));}
@keyframes pv2-scroll { from { transform: translateY(0); } to { transform: translateY(-50%); } }
:root:root .carousel-card:not(.carousel-card--active):not(:hover) .pv2-id__col {animation-play-state: paused;}
@media (prefers-reduced-motion: reduce) {
:root:root .pv2-id__col {animation: none;}
}
:root:root .enh-pv2--ux {background: linear-gradient(160deg, #101a3a, #070b1a) !important;}
:root:root .pv2-ux__win {position: absolute; left: 4%; right: 4%; top: 6%; bottom: 14%; border-radius: 7px; overflow: hidden; background: #0b1226; box-shadow: 0 10px 34px rgba(0, 0, 0, .6); border: 1px solid rgba(154, 213, 255, .3);}
:root:root .pv2-ux__top {height: 22px; display: flex; align-items: center; gap: 5px; padding: 0 8px; background: #151f3d;}
:root:root .pv2-ux__top i {width: 6px; height: 6px; border-radius: 50%; background: #3b4a78; display: block;}
:root:root .pv2-ux__url {margin-left: 8px; flex: 1; height: 13px; border-radius: 7px; background: #0a1020; font: 500 7.5px/13px var(--mono, monospace); letter-spacing: .1em; color: #8fa6cc; padding: 0 8px; text-transform: uppercase; overflow: hidden; white-space: nowrap;}
:root:root .pv2-ux__body {position: absolute; inset: 22px 0 0 0; background: #fff;}
:root:root .pv2-ux__s {position: absolute; inset: 0; opacity: 0; transform: translateX(14%) scale(1.04); transition: opacity .6s ease, transform .8s cubic-bezier(.2,.8,.2,1);}
:root:root .pv2-ux__s.is-on {opacity: 1; transform: none; z-index: 2;}
:root:root .pv2-ux__s.is-out {opacity: 0; transform: translateX(-14%) scale(.98); z-index: 1;}
:root:root .pv2-ux__s video, :root:root .pv2-ux__s img {position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; object-fit: cover; object-position: 50% 0;}
:root:root .pv2-ux__s.is-on img {animation: pv2-pan 3.4s ease-in-out both !important;}
@keyframes pv2-pan { from { object-position: 50% 0; } to { object-position: 50% 100%; } }
:root:root .pv2-ux__ph {position: absolute; right: 6%; bottom: 5%; width: 22%; aspect-ratio: 9 / 19; border-radius: 12px; overflow: hidden; border: 3px solid #1c2748; background: #000; box-shadow: 0 12px 30px rgba(0, 0, 0, .65); opacity: 0; transform: translateY(14px) scale(.96); transition: opacity .5s, transform .5s;}
:root:root .pv2-ux__ph.is-on {opacity: 1; transform: none;}
:root:root .pv2-ux__ph video, :root:root .pv2-ux__ph img {position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; object-fit: cover;}
:root:root .pv2-ux__chip {position: absolute; left: 5%; bottom: 5%; font: 600 8px/1 var(--mono, monospace); letter-spacing: .2em; color: #8fe8ff; padding: 6px 9px; border: 1px solid rgba(118, 229, 255, .4); border-radius: 3px; background: rgba(7, 11, 26, .8);}
:root:root .enh-pv2--soc {background: radial-gradient(120% 90% at 50% 40%, #1a2350, #090c1a 70%) !important;}
:root:root .pv2-so__stage {position: absolute; inset: 0; perspective: 760px; perspective-origin: 50% 46%; transform-style: preserve-3d; overflow: hidden;}
:root:root .pv2-so__c {position: absolute; left: 50%; top: 46%; width: 50%; aspect-ratio: 3 / 4; border-radius: 8px; overflow: hidden; background: #141b33; box-shadow: 0 16px 36px rgba(0, 0, 0, .6); transition: transform .9s cubic-bezier(.22, .8, .24, 1), opacity .9s; transform: translate(-50%, -50%); backface-visibility: hidden; border: 1px solid rgba(255, 255, 255, .08);}
:root:root .pv2-so__c.is-on {border-color: rgba(255, 255, 255, .5); box-shadow: 0 20px 46px rgba(0, 0, 0, .7), 0 0 0 1px rgba(150, 200, 255, .5);}
:root:root .enh-prev--v2 .pv2-so__c img {position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; object-fit: cover; object-position: top;}
:root:root .pv2-so__h {position: absolute; left: 14px; right: 14px; bottom: 34px; z-index: 40; display: flex; justify-content: space-between; align-items: baseline; padding: 7px 10px; border-radius: 6px; background: rgba(8, 13, 28, .78); backdrop-filter: blur(4px);}
:root:root .pv2-so__h b {font: 600 10px/1 var(--mono, monospace); letter-spacing: .08em; color: #fff; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
:root:root .pv2-so__h em {font: 500 8px/1 var(--mono, monospace); letter-spacing: .14em; color: #8fa6cc; font-style: normal;}
:root:root .enh-pk3__flat.is-in {animation: enh-flatin .7s ease both;}
@keyframes enh-flatin { from { opacity: 0; } to { opacity: 1; } }
:root:root .enh-case__logo.is-big {height: clamp(150px, 24vh, 250px) !important; min-height: 150px; padding: 3% 4% !important;}
:root:root .enh-case__logo.is-big img {width: 100%; height: 100%;}
:root:root .pv2-id__col {animation: none !important;}
:root:root .pv2-ux__win {top: 15% !important; bottom: auto !important; left: 5% !important; right: 5% !important; aspect-ratio: 16 / 10;}
:root:root .pv2-ux__ph {width: 25% !important; right: 8% !important; bottom: 9% !important;}
:root:root .pv2-ux__s img {object-position: 50% 0;}
:root:root .pv2-so__c {transition: none !important; will-change: transform;}
:root:root .pv2-ux__win {z-index: 1; animation: pv2-float 6s ease-in-out infinite !important;}
:root:root .pv2-ux__ph {z-index: 6 !important; animation: pv2-float2 5s ease-in-out infinite !important;}
@keyframes pv2-float { 0%, 100% { transform: translateY(0) rotateX(0); } 50% { transform: translateY(-6px) rotateX(2deg); } }
@keyframes pv2-float2 { 0%, 100% { translate: 0 0; } 50% { translate: 0 -8px; } }
:root:root .pv2-ux__s {transition: opacity .45s ease, transform .6s cubic-bezier(.2,.8,.2,1) !important;}
:root:root .pv2-ux__s.is-on img {animation: pv2-pan 2.4s ease-in-out both !important;}
:root:root .enh-pk3__flat.is-in {animation: enh-flatin .8s ease both !important;}
:root:root .project-page .project-back-link {white-space: nowrap !important; flex-wrap: nowrap !important; max-width: 100%; letter-spacing: .1em !important;}
:root:root .project-page .project-back-link > * {white-space: nowrap !important; min-width: 0;}
:root:root .project-page .project-back-link:hover, :root:root .project-page .portfolio-footer .footer-copy[href^="/"]:hover {transform: none !important; background: linear-gradient(90deg, rgba(118, 229, 255, .34), rgba(10, 18, 40, .8));}
:root:root .enh-case__logo.is-big:hover img {transform: none !important;}
:root:root .enh-case__logo:hover img {transform: scale(1.02);}
:root:root .enh-case__logo.is-big img {position: static !important; transform: none !important; left: auto !important; top: auto !important; width: 100% !important; height: 100% !important; max-width: 100% !important; max-height: 100% !important; object-fit: contain;}
:root:root .enh-tools__chip[data-app="wp"] {--tag: #4aa8d8; --tag-bg: #06212e;}
:root:root .enh-tools__chip[data-app="wp"]::before {content: 'Wp';}
:root:root .enh-tools__chip[data-app="nd"] {--tag: #8cc84b; --tag-bg: #14240a;}
:root:root .enh-tools__chip[data-app="nd"]::before {content: 'Nd';}
@media (max-width: 900px) {
:root:root .portfolio-footer {grid-template-columns: minmax(0, 1fr);}
:root:root .portfolio-footer > * {min-width: 0;}
}
@media (max-width: 900px) and (min-height: 521px), (orientation: portrait) and (max-width: 1100px) {
:root:root .carousel-stage {container-type: size;}
:root:root .carousel-card {width: min(clamp(200px, 60vw, 330px), 74cqh);}
:root:root .carousel-track {top: 51%;}
:root:root .enh-hint {bottom: calc(var(--enh-foot) + 64px); padding: 4px 10px; font-size: 8px;}
}
@media (min-width: 600px) and (max-width: 900px) and (min-height: 521px), (min-width: 600px) and (max-width: 1100px) and (orientation: portrait) {
:root:root .carousel-card {width: min(clamp(260px, min(56vw, 44vh), 470px), 74cqh);}
}
@media (max-width: 560px) {
:root:root .enh-boot__rec {top: 96px; right: auto; left: 50%; transform: translateX(-50%); max-width: none; white-space: nowrap;}
}
:root:root #enh-boot.is-static.is-ready .enh-boot__hint {opacity: 0;}
@media (max-width: 900px) and (min-height: 521px) and (max-height: 700px), (orientation: portrait) and (max-width: 1100px) and (max-height: 700px) {
:root:root .category-copy .enh-tools, :root:root .enh-hint {display: none;}
:root:root .active-project-copy {margin-top: 10px; padding: 8px 12px;}
:root:root .category-pager {padding: 4px 12px 6px;}
:root:root .category-pager button {min-height: 38px; padding: 6px 12px;}
}
@media (max-width: 420px) {
:root:root .enh-contact__copy {display: none;}
}
