:root {
    --ink: #14120f;
    --muted: #5e584f;
    --paper: #f4f0e7;
    --paper-2: #e7e0d2;
    --white: #fbfaf6;
    --black: #070708;
    --violet: #6a33f4;
    --magenta: #ff2f92;
    --cyan: #12d3dc;
    --yellow: #ffe14a;
    --line: rgba(20, 18, 15, 0.12);
    --head: Syne, "Arial Narrow", Impact, sans-serif;
    --body: Figtree, "Segoe UI", sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
html, body { overflow-x: hidden; }
body {
    margin: 0;
    background: var(--paper);
    color: var(--ink);
    font-family: var(--body);
    font-size: 1.05rem;
    line-height: 1.55;
}
img { max-width: 100%; display: block; }
a { color: inherit; }
.skip {
    position: absolute; left: 1rem; top: -4rem; background: var(--yellow); padding: .4rem .7rem;
}
.skip:focus { top: .5rem; z-index: 20; }
.site-head {
    color: #fff; position: sticky; top: 0; z-index: 10;
    background:
        radial-gradient(640px 220px at 0% 30%, rgba(255, 47, 146, .55), transparent 64%),
        radial-gradient(560px 240px at 100% 70%, rgba(20, 215, 224, .42), transparent 66%),
        radial-gradient(420px 200px at 58% 0%, rgba(122, 69, 255, .5), transparent 68%),
        linear-gradient(100deg, #2c1248 0%, #171028 46%, #0c2432 100%);
}
.color-bar {
    height: 6px;
    background: linear-gradient(90deg, #ff2f92, #14d7e0, #ffe14a, #7a45ff, #ff2f92);
    background-size: 200% 100%;
    animation: ink-bar 16s linear infinite;
}
@keyframes ink-bar { to { background-position: 200% 0; } }
.topbar, .nav-wrap, .band, .section, .site-foot { width: min(1120px, calc(100% - 2rem)); margin-inline: auto; }
.topbar-wrap {
    background: linear-gradient(90deg, #ff2f92 0%, #7a45ff 36%, #12c8d4 70%, #ffe14a 100%);
    color: #160e22;
}
.topbar {
    display: flex; justify-content: space-between; align-items: center; gap: .8rem 1rem; flex-wrap: wrap;
    width: min(1120px, calc(100% - 2rem));
    padding: .48rem 0; color: #160e22; font-size: .84rem; font-weight: 700;
}
.topbar a {
    color: #fff; text-decoration: none; font-weight: 800; background: #1a1028; border-radius: 999px; padding: .16rem .72rem;
}
.topbar a:hover { background: #07060c; }
.nav-wrap { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .55rem 0 .9rem; }
.brand { display: flex; align-items: center; gap: .7rem; color: #fff; text-decoration: none; }
.brand img { height: 64px; width: auto; background: #fff; border-radius: 14px; padding: 4px; }
.brand-name { font-family: var(--head); font-weight: 800; font-size: 1.55rem; letter-spacing: .04em; color: #fff; line-height: .95; }
.brand-name span {
    color: #d9c8ff;
    background: linear-gradient(90deg, #ff9ad0, #7af4fb);
    -webkit-background-clip: text; background-clip: text;
}
@supports ((-webkit-background-clip: text) or (background-clip: text)) {
    .brand-name span { color: transparent; -webkit-text-fill-color: transparent; }
}
nav { display: flex; align-items: center; gap: .3rem 1rem; }
nav a { color: #fff; text-decoration: none; font-size: .95rem; font-weight: 600; position: relative; }
nav a:not(.nav-quote):not(.is-on)::after {
    content: ""; position: absolute; left: 0; right: 0; bottom: -.2rem; height: 2px;
    background: linear-gradient(90deg, #ff2f92, #14d7e0, #ffe14a); transform: scaleX(0); transform-origin: left; transition: transform .25s ease;
}
nav a:not(.nav-quote):not(.is-on):hover::after { transform: scaleX(1); }
nav a.is-on { color: #061416; background: linear-gradient(90deg, #7af4fb, #14d7e0); border-radius: 999px; padding: .35rem .75rem; }
.nav-quote {
    background: linear-gradient(90deg, #ff2f92, #b026ff); color: white; border-radius: 999px; padding: .45rem .85rem;
    box-shadow: 0 8px 18px rgba(255, 47, 146, .28);
    transition: transform .2s ease, box-shadow .2s ease;
}
.nav-quote:hover { transform: translateY(-2px); box-shadow: 0 12px 22px rgba(176, 38, 255, .38); }
.menu-btn { display: none; background: transparent; color: white; border: 1px solid rgba(255,255,255,.3); border-radius: 999px; padding: .4rem .8rem; }
.hero-wrap { background: var(--black); color: white; }
.hero-stage {
    position: relative; overflow: hidden;
    height: clamp(620px, calc(100vh - 118px), 880px);
    height: clamp(620px, calc(100svh - 118px), 880px);
}
.hero-track { display: flex; height: 100%; width: 100%; transition: transform .8s cubic-bezier(.22, .8, .28, 1); }
.hero-page { position: relative; flex: 0 0 100%; width: 100%; height: 100%; min-width: 100%; }
.hero-page img {
    position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 68% center;
    transform: scale(1.08);
}
.hero-page.is-on img { animation: hero-drift 8s ease forwards; }
@keyframes hero-drift { to { transform: scale(1); } }
.hero-page::after {
    content: ""; position: absolute; inset: 0;
    background: linear-gradient(90deg, rgba(7, 7, 8, .9) 0%, rgba(7, 7, 8, .72) 34%, rgba(7, 7, 8, .28) 68%, rgba(7, 7, 8, .4) 100%);
}
.hero-copy {
    position: relative; z-index: 1; height: 100%;
    width: min(1120px, calc(100% - 3rem)); margin-inline: auto;
    display: flex; flex-direction: column; justify-content: center; align-items: flex-start;
    padding: 3.2rem 0 5.6rem;
}
.hero-copy .kicker, .hero-copy h1, .hero-copy h2, .hero-copy .lede, .hero-copy .hero-actions {
    opacity: 0; transform: translateY(16px);
}
.hero-page.is-on .kicker { animation: hero-rise .55s ease .05s forwards; }
.hero-page.is-on h1, .hero-page.is-on h2 { animation: hero-rise .65s ease .12s forwards; }
.hero-page.is-on .lede { animation: hero-rise .65s ease .2s forwards; }
.hero-page.is-on .hero-actions { animation: hero-rise .65s ease .28s forwards; }
@keyframes hero-rise { to { opacity: 1; transform: none; } }
.kicker { letter-spacing: .16em; text-transform: uppercase; font-size: .78rem; font-weight: 700; color: #5b27d6; margin: 0 0 .6rem; }
.hero-copy .kicker { color: #7af4fb; }
h1, h2, h3 { font-family: var(--head); line-height: 1.02; margin: 0; color: inherit; }
.hero-copy h1, .hero-copy h2 {
    font-size: clamp(2.7rem, 6.4vw, 5.6rem); max-width: 11ch; color: #fff;
    overflow-wrap: break-word; text-shadow: 0 12px 32px rgba(0, 0, 0, .35);
}
.hero-copy h1 em, .hero-copy h2 em { font-style: normal; color: #ff4fa3; }
.lede { font-size: 1.2rem; max-width: 38rem; color: #f6f3ec; }
.hero-copy .lede { color: #f4efe6; text-shadow: 0 8px 22px rgba(0, 0, 0, .45); }
.hero-actions, .inline-actions { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: 1.4rem; }
.hero-copy .btn-ghost:hover { background: #fff; color: #14120f; }
.btn, button.btn {
    display: inline-flex; align-items: center; justify-content: center; border: 0; cursor: pointer;
    text-decoration: none; border-radius: 999px; padding: .8rem 1.15rem; font: 600 1rem/1 var(--body);
    transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
.btn:hover, button.btn:hover { transform: translateY(-2px); box-shadow: 0 10px 18px rgba(80, 16, 110, .18); }
.btn-magenta { background: var(--magenta); color: white; }
.btn-yellow { background: var(--yellow); color: var(--ink); }
.btn-ghost { background: transparent; color: white; border: 1px solid rgba(255,255,255,.35); }
.btn-ink { background: var(--ink); color: white; }
.swatches { display: flex; gap: .4rem; margin-top: 1.6rem; }
.swatches i { width: 1.1rem; height: 1.1rem; border-radius: 3px; display: block; }
.carousel-controls {
    position: absolute; z-index: 3; left: 50%; bottom: 1.15rem; transform: translateX(-50%);
    width: min(1120px, calc(100% - 2rem));
    display: flex; align-items: center; justify-content: space-between; gap: .8rem;
}
.carousel-controls .prev, .carousel-controls .next {
    background: rgba(255, 255, 255, .12); color: #fff; border: 1px solid rgba(255, 255, 255, .5);
    border-radius: 999px; padding: .55rem 1rem; cursor: pointer; font: 700 .95rem/1 var(--body);
    transition: transform .2s ease, background .2s ease, color .2s ease;
}
.carousel-controls .prev:hover, .carousel-controls .next:hover { background: #fff; color: #14120f; transform: translateY(-2px); }
.dots { display: flex; gap: .4rem; align-items: center; }
.dot {
    width: 1.7rem; height: 4px; border-radius: 999px; border: 0; padding: 0;
    background: rgba(255, 255, 255, .4); cursor: pointer; transition: width .3s ease, background .3s ease;
}
.dot.is-on { width: 2.6rem; background: #ffe14a; }
.hero-count { margin: 0; color: #fff; font-family: var(--head); font-weight: 700; letter-spacing: .08em; }
.hero-progress { position: absolute; left: 0; right: 0; bottom: 0; height: 3px; z-index: 4; background: rgba(255, 255, 255, .18); }
.hero-progress span { display: block; height: 100%; width: 0; background: #ffe14a; }
@keyframes hero-meter { from { width: 0; } to { width: 100%; } }
.marquee { background: var(--yellow); color: #16130f; overflow: hidden; width: 100%; max-width: 100%; contain: inline-size; }
.marquee p { margin: 0; padding: .7rem 0; font-family: var(--head); white-space: nowrap; animation: slide 28s linear infinite; }
.marquee:hover p { animation-play-state: paused; }
@keyframes slide { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.section { padding: 4.2rem 0; }
.section h2, .band h2 { font-size: clamp(2rem, 4vw, 3.4rem); margin-bottom: .8rem; }
.intro { max-width: 40rem; color: #3c372f; }
.cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-top: 1.6rem; }
.card, .work-card, .panel, form.paper, .faq article {
    background: var(--white); border-radius: 22px; padding: 1.2rem 1.2rem 1.3rem;
    box-shadow: 0 14px 30px rgba(48, 16, 80, .08);
    transition: transform .28s ease, box-shadow .28s ease;
}
.card:hover, .work-card:hover, .panel:hover, form.paper:hover, .faq article:hover,
.visit-card:hover, .svc-paths article:hover {
    transform: translateY(-8px);
    box-shadow: 0 24px 44px rgba(80, 18, 120, .16);
}
.card { border-top: 4px solid var(--magenta); }
.card:nth-child(2) { border-top-color: var(--cyan); }
.card:nth-child(3) { border-top-color: var(--yellow); }
.card:nth-child(4) { border-top-color: var(--violet); }
.card:nth-child(5) { border-top-color: var(--magenta); }
.card:nth-child(6) { border-top-color: var(--cyan); }
.card .num { font-family: var(--head); color: #5b27d6; }
.card h3, .work-card h3 { font-size: 1.45rem; margin: .35rem 0; color: #16130f; }
.card p, .work-card p { color: #3f3a33; }
.card a { color: #5b27d6; font-weight: 700; background-image: linear-gradient(currentColor, currentColor); background-size: 0 2px; background-repeat: no-repeat; background-position: 0 100%; transition: background-size .25s ease; }
.card a:hover { background-size: 100% 2px; }
.shop-band {
    background:
        radial-gradient(560px 280px at 6% 0%, rgba(255, 47, 146, .16), transparent 68%),
        radial-gradient(520px 300px at 98% 12%, rgba(18, 211, 220, .18), transparent 66%),
        radial-gradient(420px 240px at 48% 100%, rgba(122, 69, 255, .12), transparent 70%),
        linear-gradient(180deg, #f7f1ea 0%, #f3eef8 100%);
}
.shop-does h2 {
    display: inline-block; margin-bottom: .45rem; padding-bottom: .4rem;
    background-image: linear-gradient(90deg, #ff2f92, #14d7e0 58%, #ffe14a);
    background-repeat: no-repeat; background-position: 0 100%; background-size: 100% 5px;
}
.js .shop-does .shop-head { opacity: 0; transform: translateY(18px); transition: opacity .6s ease, transform .65s cubic-bezier(.22, .8, .28, 1); }
.js .shop-does .shop-head h2 { background-size: 0 5px; }
.js .shop-does .shop-head.is-in { opacity: 1; transform: none; }
.js .shop-does .shop-head.is-in h2 { background-size: 100% 5px; transition: background-size .8s cubic-bezier(.22, .8, .28, 1) .12s; }
.shop-does .card {
    position: relative; overflow: hidden; border: 0; border-top: 0;
    background: linear-gradient(180deg, #fff1f7 0%, #fff 58%);
}
.shop-does .card:nth-child(6n + 2) { background: linear-gradient(180deg, #e7fbff 0%, #fff 58%); }
.shop-does .card:nth-child(6n + 3) { background: linear-gradient(180deg, #fff8d4 0%, #fff 58%); }
.shop-does .card:nth-child(6n + 4) { background: linear-gradient(180deg, #f3e9ff 0%, #fff 58%); }
.shop-does .card:nth-child(6n + 5) { background: linear-gradient(180deg, #ffe8f4 0%, #fff 58%); }
.shop-does .card:nth-child(6n + 6) { background: linear-gradient(180deg, #e5fbf8 0%, #fff 58%); }
.shop-does .card::before {
    content: ""; position: absolute; left: 0; right: 0; top: 0; height: 5px; transform: scaleX(1); transform-origin: left;
    background: linear-gradient(90deg, #ff2f92, #7a45ff);
}
.shop-does .card:nth-child(6n + 2)::before { background: linear-gradient(90deg, #12d3dc, #6a33f4); }
.shop-does .card:nth-child(6n + 3)::before { background: linear-gradient(90deg, #ffe14a, #ff2f92); }
.shop-does .card:nth-child(6n + 4)::before { background: linear-gradient(90deg, #7a45ff, #12d3dc); }
.shop-does .card:nth-child(6n + 5)::before { background: linear-gradient(90deg, #ff2f92, #ffe14a); }
.shop-does .card:nth-child(6n + 6)::before { background: linear-gradient(90deg, #14d7e0, #7a45ff); }
.js .shop-does .card::before { transform: scaleX(0); }
.js .shop-does .card.is-in::before { animation: shop-draw .7s cubic-bezier(.22, .8, .28, 1) forwards; }
.shop-does .card .num {
    display: inline-flex; align-items: center; justify-content: center; min-width: 2.5rem; height: 2.5rem; margin-bottom: .35rem;
    border-radius: 12px; color: #fff; background: linear-gradient(135deg, #ff2f92, #7a45ff); font-size: .95rem;
}
.shop-does .card:nth-child(6n + 2) .num { background: linear-gradient(135deg, #12d3dc, #2f6bff); }
.shop-does .card:nth-child(6n + 3) .num { background: linear-gradient(135deg, #f0c93a, #ff2f92); color: #1a1208; }
.shop-does .card:nth-child(6n + 4) .num { background: linear-gradient(135deg, #7a45ff, #ff2f92); }
.shop-does .card:nth-child(6n + 5) .num { background: linear-gradient(135deg, #ff2f92, #ffe14a); }
.shop-does .card:nth-child(6n + 6) .num { background: linear-gradient(135deg, #14d7e0, #6a33f4); }
.js .shop-does .card.is-in .num { animation: shop-pop .5s cubic-bezier(.22, .8, .28, 1) both; }
.shop-does .card a { display: inline-flex; align-items: center; }
.shop-does .card a::after {
    content: ""; width: .42rem; height: .42rem; margin-left: .4rem; border-right: 2px solid currentColor; border-top: 2px solid currentColor;
    transform: rotate(45deg); transition: transform .2s ease;
}
.shop-does .card a:hover::after { transform: rotate(45deg) translate(3px, -3px); }
.js .shop-does .card {
    opacity: 0; transform: translateY(28px) scale(.97);
    transition: opacity .7s ease, transform .7s cubic-bezier(.22, .8, .28, 1), box-shadow .28s ease;
}
.js .shop-does .cards .card:nth-child(2) { transition-delay: .08s; }
.js .shop-does .cards .card:nth-child(3) { transition-delay: .16s; }
.js .shop-does .cards .card:nth-child(4) { transition-delay: .24s; }
.js .shop-does .cards .card:nth-child(5) { transition-delay: .32s; }
.js .shop-does .cards .card:nth-child(6) { transition-delay: .4s; }
.js .shop-does .card.is-in { opacity: 1; transform: none; }
.js .shop-does .card.is-in:hover { transform: translateY(-10px); }
@keyframes shop-draw { to { transform: scaleX(1); } }
@keyframes shop-pop { from { scale: .7; } to { scale: 1; } }
.split { display: grid; grid-template-columns: .9fr 1.1fr; gap: 2rem; align-items: center; }
.steps { list-style: none; padding: 0; margin: 1rem 0 0; }
.steps li {
    display: grid; grid-template-columns: auto 1fr; gap: .9rem; padding: .85rem .7rem;
    border-top: 1px solid var(--line); border-radius: 14px;
    transition: background .25s ease, transform .25s ease;
}
.steps li:hover { background: rgba(255, 255, 255, .72); transform: translateX(6px); }
.steps strong { font-family: var(--head); font-size: 1.4rem; }
.dark-band { background: var(--black); color: #f7f4ee; }
.dark-band .section, .dark-band a, .dark-band span, .dark-band b { color: #f7f4ee; }
.dark-band a { text-decoration: underline; text-underline-offset: .18em; }
.dark-band .section { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 1rem; }
.stat { border-top: 3px solid var(--cyan); padding-top: .8rem; transition: transform .25s ease; }
.stat:hover { transform: translateY(-4px); }
.stat:nth-child(2) { border-color: var(--magenta); }
.stat:nth-child(3) { border-color: var(--yellow); }
.stat b { display: block; font-family: var(--head); font-size: 1.8rem; }
.gallery-grid, .work-grid { columns: 3 240px; gap: 1rem; margin-top: 1.4rem; }
.gallery-grid figure, .work-card { break-inside: avoid; margin: 0 0 1rem; }
.gallery-grid figure { overflow: hidden; border-radius: 18px; }
.gallery-grid img, .work-card img { width: 100%; border-radius: 18px; transition: transform .6s ease; }
.gallery-grid figure:hover img, .work-card:hover img, .folio-card:hover .folio-photo img, .shot:hover img { transform: scale(1.05); }
.shot { overflow: hidden; }
.shot img { transition: transform .55s ease; }
.gallery-grid figcaption, .tag { color: #3a342c; font-size: .88rem; }
.shot { display: block; width: 100%; margin: 0; padding: 0; border: 0; background: none; cursor: zoom-in; border-radius: 18px; }
.shot:focus-visible { outline: 3px solid #5b27d6; outline-offset: 3px; }
.lightbox { position: fixed; inset: 0; z-index: 40; display: grid; place-items: center; overflow: auto; }
html.lightbox-open, html.lightbox-open body { overflow: hidden; }
.lightbox[hidden] { display: none; }
.lightbox-backdrop {
    position: absolute; inset: 0; border: 0; cursor: zoom-out; opacity: 0;
    transition: opacity .35s ease;
    background:
        radial-gradient(540px 300px at 10% 0%, rgba(255, 47, 146, .38), transparent 68%),
        radial-gradient(480px 320px at 92% 100%, rgba(18, 211, 220, .28), transparent 66%),
        radial-gradient(420px 260px at 72% 8%, rgba(122, 69, 255, .34), transparent 70%),
        rgba(8, 6, 12, .9);
}
.lightbox.is-on .lightbox-backdrop { opacity: 1; }
.lightbox-frame {
    position: relative; z-index: 1; width: min(1080px, calc(100% - 7rem)); margin: 0; text-align: left;
    padding: .7rem .7rem .95rem; border-radius: 24px; border: 2px solid transparent;
    background:
        linear-gradient(180deg, #1a1224 0%, #120e18 100%) padding-box,
        linear-gradient(120deg, #ff2f92, #7a45ff 48%, #14d7e0) border-box;
    box-shadow: 0 28px 70px rgba(0, 0, 0, .46);
    opacity: 0; transform: translateY(22px) scale(.96);
    transition: opacity .4s ease, transform .45s cubic-bezier(.22, .8, .28, 1);
}
.lightbox.is-on .lightbox-frame { opacity: 1; transform: none; }
.lightbox-frame::before {
    content: ""; position: absolute; z-index: 2; left: 1rem; right: 1rem; top: 0; height: 4px; border-radius: 4px;
    background: linear-gradient(90deg, #ff2f92, #14d7e0 58%, #ffe14a); transform: scaleX(0); transform-origin: left center;
}
.lightbox.is-on .lightbox-frame::before { animation: shop-draw .7s cubic-bezier(.22, .8, .28, 1) .08s forwards; }
.lightbox-frame img {
    width: 100%; max-height: calc(100vh - 14rem); margin: 0 auto; border-radius: 16px; object-fit: contain; background: #0c0a10; display: block;
}
.lightbox-frame img.is-next { animation: light-next .42s cubic-bezier(.22, .8, .28, 1); }
.lightbox-frame img.is-prev { animation: light-prev .42s cubic-bezier(.22, .8, .28, 1); }
@keyframes light-next { from { opacity: .15; transform: translateX(36px); } to { opacity: 1; transform: none; } }
@keyframes light-prev { from { opacity: .15; transform: translateX(-36px); } to { opacity: 1; transform: none; } }
.lightbox-frame figcaption { color: #f7f4ee; margin: .75rem .35rem 0; }
.lightbox-frame strong { display: block; font-family: var(--head); font-size: 1.35rem; color: #fff; }
.lightbox-frame span { display: block; margin-top: .25rem; color: #f0ebe3; }
.lightbox-frame em {
    display: inline-block; margin-top: .55rem; padding: .22rem .6rem; border-radius: 999px; font-style: normal;
    background: rgba(255, 255, 255, .1); color: #ffe14a; font-family: var(--head); font-size: .92rem; letter-spacing: .04em;
}
.lightbox-close, .lightbox-prev, .lightbox-next {
    position: absolute; z-index: 2; border-radius: 999px; cursor: pointer; color: #fff; opacity: 0;
    border: 2px solid transparent; font: 700 .95rem/1 var(--body); padding: .7rem 1rem;
    background:
        linear-gradient(#22182f, #22182f) padding-box,
        linear-gradient(135deg, #ff2f92, #14d7e0) border-box;
    box-shadow: 0 12px 26px rgba(0, 0, 0, .32);
    transition: opacity .3s ease .08s, transform .2s ease, background .2s ease;
}
.lightbox.is-on .lightbox-close, .lightbox.is-on .lightbox-prev, .lightbox.is-on .lightbox-next { opacity: 1; }
.lightbox-close:hover, .lightbox-prev:hover, .lightbox-next:hover {
    background:
        linear-gradient(#2c1c40, #2c1c40) padding-box,
        linear-gradient(135deg, #ffe14a, #ff2f92) border-box;
}
.lightbox-close { top: 1rem; right: 1rem; }
.lightbox-close:hover { transform: translateY(-2px); }
.lightbox-prev { left: 1rem; top: 50%; transform: translateY(-50%); }
.lightbox-next { right: 1rem; top: 50%; transform: translateY(-50%); }
.lightbox-prev:hover { transform: translateY(-50%) scale(1.04); }
.lightbox-next:hover { transform: translateY(-50%) scale(1.04); }
.lightbox-close:focus-visible, .lightbox-prev:focus-visible, .lightbox-next:focus-visible { outline: 3px solid #ffe14a; outline-offset: 3px; }
@media (max-width: 700px) {
    .lightbox { grid-template-columns: 1fr 1fr; align-content: center; padding: 4.5rem .75rem 1rem; }
    .lightbox-frame { width: calc(100vw - 1.5rem); justify-self: center; grid-column: 1 / -1; grid-row: 1; }
    .lightbox-prev, .lightbox-next {
        position: static; grid-row: 2; margin-top: .8rem; transform: none;
    }
    .lightbox-prev { grid-column: 1; justify-self: start; }
    .lightbox-next { grid-column: 2; justify-self: end; }
    .lightbox-prev:hover, .lightbox-next:hover { transform: translateY(-2px); }
    .lightbox-frame img { max-height: calc(100vh - 16rem); }
}
@media (prefers-reduced-motion: reduce) {
    .lightbox-backdrop, .lightbox-frame, .lightbox-frame::before, .lightbox.is-on .lightbox-frame::before, .lightbox-frame img, .lightbox-frame img.is-next, .lightbox-frame img.is-prev, .lightbox-close, .lightbox-prev, .lightbox-next { transition: none; animation: none; }
    .lightbox-backdrop, .lightbox-frame, .lightbox-close, .lightbox-prev, .lightbox-next { opacity: 1; }
    .lightbox-frame { transform: none; }
    .lightbox-frame::before, .lightbox.is-on .lightbox-frame::before { transform: scaleX(1); }
}
.tag { display: inline-block; background: var(--paper-2); color: #241f1a; border-radius: 999px; padding: .2rem .6rem; margin-bottom: .45rem; font-weight: 700; }
.bench-band {
    background:
        radial-gradient(560px 280px at 4% 0%, rgba(18, 211, 220, .22), transparent 68%),
        radial-gradient(520px 300px at 100% 80%, rgba(122, 69, 255, .16), transparent 66%),
        radial-gradient(380px 220px at 48% 100%, rgba(255, 47, 146, .1), transparent 70%),
        linear-gradient(180deg, #eef8fb 0%, #f6f3ea 100%);
}
.work-band {
    background:
        radial-gradient(540px 280px at 96% 0%, rgba(255, 47, 146, .16), transparent 68%),
        radial-gradient(480px 260px at 0% 90%, rgba(255, 225, 74, .22), transparent 66%),
        radial-gradient(360px 200px at 50% 40%, rgba(18, 211, 220, .1), transparent 70%),
        linear-gradient(180deg, #fbf6ef 0%, #f4eaf6 100%);
}
.bench.section, .picked.section { padding: 3.5rem 0 3.6rem; }
.bench h2, .picked h2 {
    display: inline-block; margin-bottom: .45rem; padding-bottom: .4rem;
    background-repeat: no-repeat; background-position: 0 100%; background-size: 100% 5px;
}
.bench h2 { background-image: linear-gradient(90deg, #12d3dc, #7a45ff 58%, #ff2f92); }
.picked h2 { background-image: linear-gradient(90deg, #ff2f92, #ffe14a 55%, #14d7e0); }
.js .bench .bench-head, .js .picked .picked-head, .js .bench .bench-more {
    opacity: 0; transform: translateY(18px);
    transition: opacity .6s ease, transform .65s cubic-bezier(.22, .8, .28, 1);
}
.js .bench .bench-head h2, .js .picked .picked-head h2 { background-size: 0 5px; }
.js .bench .bench-head.is-in, .js .picked .picked-head.is-in, .js .bench .bench-more.is-in { opacity: 1; transform: none; }
.js .bench .bench-more.is-in { transition-delay: .24s; }
.js .bench .bench-head.is-in h2, .js .picked .picked-head.is-in h2 {
    background-size: 100% 5px; transition: background-size .8s cubic-bezier(.22, .8, .28, 1) .12s;
}
.bench .gallery-grid, .picked .work-grid {
    display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.1rem;
    column-count: unset; column-width: unset; margin-top: 1.6rem;
}
.bench .gallery-grid figure, .picked .work-card { margin: 0; }
.bench .gallery-grid figure {
    position: relative; display: flex; flex-direction: column;
    background: #fff; border-radius: 22px; padding: 0 0 .9rem;
    box-shadow: 0 16px 34px rgba(40, 16, 80, .1);
    transition: transform .28s ease, box-shadow .28s ease;
}
.bench .gallery-grid figure:hover { transform: translateY(-8px); box-shadow: 0 24px 42px rgba(40, 16, 80, .16); }
.bench .gallery-grid figure::before {
    content: ""; position: absolute; z-index: 1; left: 0; right: 0; top: 0; height: 5px;
    transform: scaleX(1); transform-origin: left center;
    background: linear-gradient(90deg, #ff2f92, #7a45ff);
}
.bench .gallery-grid figure:nth-child(2)::before { background: linear-gradient(90deg, #12d3dc, #6a33f4); }
.bench .gallery-grid figure:nth-child(3)::before { background: linear-gradient(90deg, #ffe14a, #ff2f92); }
.js .bench .gallery-grid figure::before { transform: scaleX(0); }
.js .bench .gallery-grid figure.is-in::before { animation: shop-draw .7s cubic-bezier(.22, .8, .28, 1) forwards; }
.js .bench .gallery-grid figure:nth-child(2).is-in::before { animation-delay: .1s; }
.js .bench .gallery-grid figure:nth-child(3).is-in::before { animation-delay: .2s; }
.bench .gallery-grid img {
    width: 100%; aspect-ratio: 3 / 2; height: auto; object-fit: cover;
    border-radius: 22px 22px 12px 12px;
}
.bench .gallery-grid figcaption {
    display: flex; align-items: center; gap: .55rem; margin: 0; padding: .85rem 1rem 0;
    font-family: var(--head); font-size: 1.05rem; font-weight: 700; color: #16130f;
}
.bench .gallery-grid figcaption::before {
    content: ""; width: .55rem; height: .55rem; border-radius: 999px; flex: none;
    background: linear-gradient(135deg, #ff2f92, #7a45ff);
}
.bench .gallery-grid figure:nth-child(2) figcaption::before { background: linear-gradient(135deg, #12d3dc, #2f6bff); }
.bench .gallery-grid figure:nth-child(3) figcaption::before { background: linear-gradient(135deg, #ffe14a, #ff2f92); }
.js .bench .gallery-grid figure {
    opacity: 0; transform: translateY(28px) scale(.97);
    transition: opacity .7s ease, transform .7s cubic-bezier(.22, .8, .28, 1), box-shadow .28s ease;
}
.js .bench .gallery-grid figure:nth-child(2) { transition-delay: .1s; }
.js .bench .gallery-grid figure:nth-child(3) { transition-delay: .2s; }
.js .bench .gallery-grid figure img { transform: scale(1.08); transition: transform .9s cubic-bezier(.22, .8, .28, 1); }
.js .bench .gallery-grid figure:nth-child(2) img { transition-delay: .1s; }
.js .bench .gallery-grid figure:nth-child(3) img { transition-delay: .2s; }
.js .bench .gallery-grid figure.is-in { opacity: 1; transform: none; }
.js .bench .gallery-grid figure.is-in img { transform: scale(1); }
.js .bench .gallery-grid figure.is-in:hover { transform: translateY(-8px); }
.js .bench .gallery-grid figure.is-in:hover img,
.bench .gallery-grid figure:hover img { transform: scale(1.06); }
.bench .bench-more { margin: 1.35rem 0 0; }
.bench .btn-ink {
    gap: .5rem;
    background: linear-gradient(100deg, #1a1024, #3a1860 58%, #0c3a42);
    box-shadow: 0 12px 24px rgba(40, 16, 80, .2);
}
.bench .btn-ink::after {
    content: ""; width: .42rem; height: .42rem; border-right: 2px solid currentColor; border-top: 2px solid currentColor;
    transform: rotate(45deg); transition: transform .2s ease;
}
.bench .btn-ink:hover::after { transform: rotate(45deg) translate(3px, -3px); }
.picked .work-card {
    position: relative; padding: 0 0 1.25rem; border: 0;
    background: linear-gradient(180deg, #fff1f7 0%, #fff 48%);
}
.picked .work-card:nth-child(2) { background: linear-gradient(180deg, #e7fbff 0%, #fff 48%); }
.picked .work-card:nth-child(3) { background: linear-gradient(180deg, #fff8d4 0%, #fff 48%); }
.picked .work-card::before {
    content: ""; position: absolute; z-index: 1; left: 0; right: 0; top: 0; height: 5px;
    transform: scaleX(1); transform-origin: left center;
    background: linear-gradient(90deg, #ff2f92, #7a45ff);
}
.picked .work-card:nth-child(2)::before { background: linear-gradient(90deg, #12d3dc, #6a33f4); }
.picked .work-card:nth-child(3)::before { background: linear-gradient(90deg, #ffe14a, #ff2f92); }
.js .picked .work-card::before { transform: scaleX(0); }
.js .picked .work-card.is-in::before { animation: shop-draw .7s cubic-bezier(.22, .8, .28, 1) forwards; }
.js .picked .work-card:nth-child(2).is-in::before { animation-delay: .1s; }
.js .picked .work-card:nth-child(3).is-in::before { animation-delay: .2s; }
.picked .work-card img {
    width: 100%; aspect-ratio: 3 / 2; height: auto; object-fit: cover;
    margin: 0 0 1rem; border-radius: 22px 22px 0 0;
}
.picked .work-card .tag, .picked .work-card h3, .picked .work-card > p:not(.tag) { margin-left: 1.15rem; margin-right: 1.15rem; }
.picked .work-card .tag { margin-bottom: .5rem; border: 1px solid transparent; }
.picked .work-card:nth-child(1) .tag { background: #ffe8f4; color: #9d145c; }
.picked .work-card:nth-child(2) .tag { background: #e5fbff; color: #0c6470; }
.picked .work-card:nth-child(3) .tag { background: #fff4c2; color: #6a4a00; }
.picked .work-card h3 { margin-top: .15rem; margin-bottom: .35rem; }
.picked .work-card > p:not(.tag) { margin-top: 0; margin-bottom: 0; }
.js .picked .work-card {
    opacity: 0; transform: translateY(28px) scale(.97);
    transition: opacity .7s ease, transform .7s cubic-bezier(.22, .8, .28, 1), box-shadow .28s ease;
}
.js .picked .work-grid .work-card:nth-child(2) { transition-delay: .1s; }
.js .picked .work-grid .work-card:nth-child(3) { transition-delay: .2s; }
.js .picked .work-card img { transform: scale(1.08); transition: transform .9s cubic-bezier(.22, .8, .28, 1); }
.js .picked .work-card:nth-child(2) img { transition-delay: .1s; }
.js .picked .work-card:nth-child(3) img { transition-delay: .2s; }
.js .picked .work-card.is-in { opacity: 1; transform: none; }
.js .picked .work-card.is-in img { transform: scale(1); }
.js .picked .work-card.is-in:hover { transform: translateY(-10px); }
.js .picked .work-card.is-in:hover img,
.picked .work-card:hover img { transform: scale(1.06); }
@media (max-width: 860px) {
    .bench .gallery-grid, .picked .work-grid { grid-template-columns: 1fr; }
}
.folio-head { display: grid; grid-template-columns: 1.1fr .9fr; gap: 1.5rem; align-items: end; }
.folio-head h2 { margin: 0; }
.folio-filters { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1.6rem; }
.folio-filters button {
    border: 1px solid rgba(20, 18, 15, .16); background: #fff; color: #1b1714;
    border-radius: 999px; padding: .5rem .85rem; font: 700 .92rem/1 var(--body); cursor: pointer;
    transition: transform .2s ease, background .2s ease, color .2s ease;
}
.folio-filters button:hover { transform: translateY(-2px); }
.folio-filters button span { color: #5b27d6; margin-left: .25rem; }
.folio-filters button.is-on { background: #14120f; color: #fff; border-color: #14120f; }
.folio-filters button.is-on span { color: #ffe14a; }
.folio-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.15rem; margin-top: 1.2rem; }
.folio-card {
    background: #fff; border-radius: 24px; overflow: hidden;
    display: flex; flex-direction: column; min-width: 0;
    box-shadow: 0 10px 30px rgba(20, 18, 15, .05);
}
.folio-card:nth-child(4n + 1) { box-shadow: inset 0 4px 0 #ff2f92, 0 10px 30px rgba(20, 18, 15, .05); }
.folio-card:nth-child(4n + 2) { box-shadow: inset 0 4px 0 #12d3dc, 0 10px 30px rgba(20, 18, 15, .05); }
.folio-card:nth-child(4n + 3) { box-shadow: inset 0 4px 0 #e2c200, 0 10px 30px rgba(20, 18, 15, .05); }
.folio-card:nth-child(4n + 4) { box-shadow: inset 0 4px 0 #6a33f4, 0 10px 30px rgba(20, 18, 15, .05); }
.folio-card.is-lead { grid-column: 1 / -1; display: grid; grid-template-columns: 1.15fr .85fr; }
.folio-card[hidden] { display: none !important; }
.folio-card, .svc-card, .way { transition: transform .28s ease, filter .28s ease; }
.folio-card:hover, .svc-card:hover, .way:hover { transform: translateY(-8px); filter: drop-shadow(0 18px 16px rgba(70, 16, 110, .18)); }
.dark-band .folio-cta { display: flex; align-items: center; justify-content: space-between; }
.folio-photo img { width: 100%; height: 240px; object-fit: cover; border-radius: 0; }
.folio-card.is-lead .folio-photo { height: 100%; }
.folio-card.is-lead .folio-photo img { height: 100%; min-height: 380px; }
.folio-copy { padding: 1.15rem 1.25rem 1.35rem; display: grid; align-content: start; gap: .15rem; }
.folio .tag { justify-self: start; }
.folio-index { margin: 0; font-family: var(--head); font-size: 1.3rem; color: #5b27d6; }
.folio-card h3 { font-size: clamp(1.45rem, 2vw, 2.1rem); }
.folio-summary { font-size: 1.05rem; }
.folio-story { margin-top: .35rem; }
.folio-card:not(.is-lead):not(.is-open) .folio-story { display: none; }
.folio-more {
    justify-self: start; margin-top: .7rem; padding: 0; border: 0; background: none;
    color: #5b27d6; font: 700 1rem/1 var(--body); cursor: pointer;
}
.folio-empty { margin-top: 1rem; font-weight: 700; }
.folio-cta { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; }
.folio-cta h2 { margin: 0 0 .4rem; }
.folio-cta p { margin: 0; max-width: 36rem; color: #f7f4ee; }
.svc-paths { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 1rem; margin-top: 1.4rem; }
.svc-paths article { background: #fff; border-radius: 20px; padding: 1rem 1.1rem 1.15rem; }
.svc-paths b { display: block; font-family: var(--head); font-size: 1.35rem; margin-bottom: .35rem; color: #16130f; }
.svc-paths p { margin: 0; color: #3f3a33; }
.svc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.15rem; margin-top: 1.2rem; }
.svc-card {
    background: #fff; border-radius: 24px; padding: 1.15rem 1.25rem 1.3rem;
    display: grid; align-content: start; gap: .35rem; scroll-margin-top: 7.5rem;
    box-shadow: 0 10px 30px rgba(20, 18, 15, .05);
}
.svc-card:nth-child(4n + 1) { box-shadow: inset 0 4px 0 #ff2f92, 0 10px 30px rgba(20, 18, 15, .05); }
.svc-card:nth-child(4n + 2) { box-shadow: inset 0 4px 0 #12d3dc, 0 10px 30px rgba(20, 18, 15, .05); }
.svc-card:nth-child(4n + 3) { box-shadow: inset 0 4px 0 #e2c200, 0 10px 30px rgba(20, 18, 15, .05); }
.svc-card:nth-child(4n + 4) { box-shadow: inset 0 4px 0 #6a33f4, 0 10px 30px rgba(20, 18, 15, .05); }
.svc-card[hidden] { display: none !important; }
.svc-card h3 { font-size: clamp(1.45rem, 2vw, 1.9rem); color: #16130f; }
.svc-top { display: flex; justify-content: space-between; align-items: baseline; gap: .75rem; }
.svc-summary { font-weight: 700; color: #1b1714; }
.svc-card p { margin: 0; color: #3f3a33; }
.price { color: #5b27d6; font-weight: 700; margin: 0; text-align: right; }
.svc-flags { display: flex; flex-wrap: wrap; gap: .4rem; }
.svc-flag { background: #ffe1f2; color: #4a1233; border-radius: 999px; padding: .2rem .6rem; font-size: .82rem; font-weight: 700; }
.svc-flag.press { background: #d8f7fb; color: #08383c; }
.svc-ask { color: #5b27d6; font-weight: 700; margin-top: .35rem; width: fit-content; background-image: linear-gradient(currentColor, currentColor); background-repeat: no-repeat; background-position: 0 100%; background-size: 0 2px; transition: background-size .25s ease; }
.svc-ask:hover { background-size: 100% 2px; }
.svc-empty { margin-top: 1rem; font-weight: 700; }
.svc-band {
    background:
        radial-gradient(560px 280px at 0% 0%, rgba(122, 69, 255, .16), transparent 68%),
        radial-gradient(520px 300px at 100% 12%, rgba(18, 211, 220, .16), transparent 66%),
        radial-gradient(420px 240px at 46% 100%, rgba(255, 47, 146, .1), transparent 70%),
        linear-gradient(180deg, #f3eefc 0%, #f7f4ea 100%);
}
.folio-band {
    background:
        radial-gradient(540px 280px at 100% 0%, rgba(255, 47, 146, .14), transparent 68%),
        radial-gradient(480px 260px at 0% 90%, rgba(255, 225, 74, .18), transparent 66%),
        linear-gradient(180deg, #fbf6ef 0%, #f4eef8 100%);
}
.gallery-band {
    background:
        radial-gradient(560px 280px at 4% 0%, rgba(18, 211, 220, .2), transparent 68%),
        radial-gradient(500px 280px at 100% 80%, rgba(122, 69, 255, .14), transparent 66%),
        linear-gradient(180deg, #eef8fb 0%, #f7f3ea 100%);
}
.svc .page-head h2, .folio .page-head h2, .floor-gallery .page-head h2, .folio-cta h2 {
    display: inline-block; padding-bottom: .4rem;
    background-repeat: no-repeat; background-position: 0 100%; background-size: 100% 5px;
}
.svc .page-head h2 { background-image: linear-gradient(90deg, #7a45ff, #12d3dc 58%, #ff2f92); }
.folio .page-head h2 { background-image: linear-gradient(90deg, #ff2f92, #ffe14a 55%, #14d7e0); }
.floor-gallery .page-head h2 { background-image: linear-gradient(90deg, #12d3dc, #7a45ff 58%, #ff2f92); }
.folio-cta h2 { background-image: linear-gradient(90deg, #ff2f92, #14d7e0 60%, #ffe14a); }
.folio-cta .btn { text-decoration: none; }
.js .page-head, .js .folio-filters, .js .folio-cta {
    opacity: 0; transform: translateY(18px);
    transition: opacity .6s ease, transform .65s cubic-bezier(.22, .8, .28, 1);
}
.js .svc .page-head h2, .js .folio .page-head h2, .js .floor-gallery .page-head h2, .js .folio-cta h2 { background-size: 0 5px; }
.js .page-head.is-in, .js .folio-filters.is-in, .js .folio-cta.is-in { opacity: 1; transform: none; }
.js .page-head.is-in h2, .js .folio-cta.is-in h2 { background-size: 100% 5px; transition: background-size .8s cubic-bezier(.22, .8, .28, 1) .12s; }
.folio-filters button.is-on { background: linear-gradient(100deg, #1a1024, #3a1860 60%, #0c3a42); border-color: transparent; }
.svc .svc-paths article, .svc .svc-card, .folio .folio-card, .floor-gallery .gallery-grid figure { position: relative; overflow: hidden; }
.svc .svc-paths article::before, .svc .svc-card::before, .folio .folio-card::before, .floor-gallery .gallery-grid figure::before {
    content: ""; position: absolute; z-index: 1; left: 0; right: 0; top: 0; height: 5px;
    transform: scaleX(1); transform-origin: left center; background: linear-gradient(90deg, #ff2f92, #7a45ff);
}
.svc .svc-paths article:nth-child(2)::before, .svc .svc-card:nth-child(4n + 2)::before, .folio .folio-card:nth-child(4n + 2)::before, .floor-gallery .gallery-grid figure:nth-child(3n + 2)::before { background: linear-gradient(90deg, #12d3dc, #6a33f4); }
.svc .svc-paths article:nth-child(3)::before, .svc .svc-card:nth-child(4n + 3)::before, .folio .folio-card:nth-child(4n + 3)::before, .floor-gallery .gallery-grid figure:nth-child(3n + 3)::before { background: linear-gradient(90deg, #ffe14a, #ff2f92); }
.svc .svc-card:nth-child(4n + 4)::before, .folio .folio-card:nth-child(4n + 4)::before { background: linear-gradient(90deg, #7a45ff, #14d7e0); }
.js .svc .svc-paths article::before, .js .svc .svc-card::before, .js .folio .folio-card::before, .js .floor-gallery .gallery-grid figure::before { transform: scaleX(0); }
.js .svc .svc-paths article.is-in::before, .js .svc .svc-card.is-in::before, .js .folio .folio-card.is-in::before, .js .floor-gallery .gallery-grid figure.is-in::before { animation: shop-draw .7s cubic-bezier(.22, .8, .28, 1) forwards; }
.js .svc .svc-paths article:nth-child(2).is-in::before, .js .svc .svc-grid .svc-card:nth-child(2n).is-in::before, .js .folio .folio-grid .folio-card:nth-child(2n).is-in::before, .js .floor-gallery .gallery-grid figure:nth-child(3n + 2).is-in::before { animation-delay: .08s; }
.js .svc .svc-paths article:nth-child(3).is-in::before, .js .floor-gallery .gallery-grid figure:nth-child(3n + 3).is-in::before { animation-delay: .16s; }
.svc .svc-paths article:nth-child(1) { background: linear-gradient(180deg, #fff1f7 0%, #fff 62%); }
.svc .svc-paths article:nth-child(2) { background: linear-gradient(180deg, #e7fbff 0%, #fff 62%); }
.svc .svc-paths article:nth-child(3) { background: linear-gradient(180deg, #fff8d4 0%, #fff 62%); }
.svc .svc-card, .svc .svc-card:nth-child(n), .folio .folio-card, .folio .folio-card:nth-child(n) { box-shadow: 0 14px 30px rgba(48, 16, 80, .08); }
.svc .svc-card:nth-child(4n + 1), .folio .folio-card:nth-child(4n + 1) { background: linear-gradient(180deg, #fff1f7 0%, #fff 48%); }
.svc .svc-card:nth-child(4n + 2), .folio .folio-card:nth-child(4n + 2) { background: linear-gradient(180deg, #e7fbff 0%, #fff 48%); }
.svc .svc-card:nth-child(4n + 3), .folio .folio-card:nth-child(4n + 3) { background: linear-gradient(180deg, #fff8d4 0%, #fff 48%); }
.svc .svc-card:nth-child(4n + 4), .folio .folio-card:nth-child(4n + 4) { background: linear-gradient(180deg, #f3e9ff 0%, #fff 48%); }
.js .svc .svc-paths article, .js .svc .svc-card, .js .folio .folio-card, .js .floor-gallery .gallery-grid figure {
    opacity: 0; transform: translateY(26px) scale(.98);
    transition: opacity .7s ease, transform .7s cubic-bezier(.22, .8, .28, 1), box-shadow .28s ease, filter .28s ease;
}
.js .svc .svc-paths article:nth-child(2), .js .svc .svc-grid .svc-card:nth-child(2n), .js .folio .folio-grid .folio-card:nth-child(2n) { transition-delay: .08s; }
.js .svc .svc-paths article:nth-child(3) { transition-delay: .16s; }
.js .floor-gallery .gallery-grid figure:nth-child(3n + 2) { transition-delay: .08s; }
.js .floor-gallery .gallery-grid figure:nth-child(3n + 3) { transition-delay: .16s; }
.js .svc .svc-paths article.is-in, .js .svc .svc-card.is-in, .js .folio .folio-card.is-in, .js .floor-gallery .gallery-grid figure.is-in { opacity: 1; transform: none; }
.js .svc .svc-paths article.is-in:hover, .js .svc .svc-card.is-in:hover, .js .folio .folio-card.is-in:hover, .js .floor-gallery .gallery-grid figure.is-in:hover { transform: translateY(-8px); }
.js .folio .folio-card .folio-photo img, .js .floor-gallery .gallery-grid figure img { transform: scale(1.08); transition: transform .9s cubic-bezier(.22, .8, .28, 1); }
.js .folio .folio-card.is-in .folio-photo img, .js .floor-gallery .gallery-grid figure.is-in img { transform: scale(1); }
.js .folio .folio-card.is-in:hover .folio-photo img, .folio .folio-card:hover .folio-photo img,
.js .floor-gallery .gallery-grid figure.is-in:hover img, .floor-gallery .gallery-grid figure:hover img { transform: scale(1.06); }
.floor-gallery .gallery-grid {
    display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.1rem;
    column-count: unset; column-width: unset; margin-top: 1.6rem;
}
.floor-gallery .gallery-grid figure {
    margin: 0; display: flex; flex-direction: column; background: #fff; border-radius: 22px;
    box-shadow: 0 16px 34px rgba(40, 16, 80, .1);
}
.floor-gallery .shot { border-radius: 22px 22px 0 0; }
.floor-gallery .shot img { width: 100%; aspect-ratio: 3 / 2; height: auto; object-fit: cover; border-radius: 0; }
.floor-gallery figcaption { padding: .85rem 1rem 1rem; color: #3f3a33; font-size: .95rem; }
.floor-gallery figcaption strong { display: block; margin-bottom: .15rem; font-family: var(--head); font-size: 1.08rem; color: #16130f; }
.floor-gallery figcaption br { display: none; }
.floor-gallery .lightbox-frame figcaption { padding: 0; margin: .75rem .35rem 0; color: #f7f4ee; font-size: 1rem; }
.floor-gallery .lightbox-frame figcaption strong { margin: 0; font-size: 1.35rem; color: #fff; }
form.paper { display: grid; gap: .9rem; }
label { display: grid; gap: .3rem; font-size: .92rem; font-weight: 600; }
input, select, textarea {
    font: 400 1rem/1.4 var(--body); padding: .75rem .8rem; border-radius: 12px;
    border: 1px solid var(--line); background: white; color: var(--ink); width: 100%;
}
textarea { min-height: 140px; resize: vertical; }
.honey { position: absolute; left: -9999px; }
.flash { padding: .8rem 1rem; border-radius: 12px; margin-bottom: 1rem; }
.flash-ok { background: #e5f8df; }
.flash-error { background: #ffe1ea; }
.contact-grid, .two { display: grid; grid-template-columns: .8fr 1.2fr; gap: 1.4rem; }
.contact-ways { display: grid; grid-template-columns: repeat(4, 1fr); gap: .8rem; margin-top: 1.6rem; }
.way {
    display: grid; gap: .3rem; background: #fff; color: #16130f; text-decoration: none;
    border-radius: 20px; padding: 1rem 1.05rem 1.15rem;
    box-shadow: inset 0 4px 0 #ff2f92, 0 10px 30px rgba(20, 18, 15, .05);
}
.way:nth-child(2) { box-shadow: inset 0 4px 0 #12d3dc, 0 10px 30px rgba(20, 18, 15, .05); }
.way:nth-child(3) { box-shadow: inset 0 4px 0 #e2c200, 0 10px 30px rgba(20, 18, 15, .05); }
.way:nth-child(4) { box-shadow: inset 0 4px 0 #6a33f4, 0 10px 30px rgba(20, 18, 15, .05); }
.way span { font-size: .75rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #5b27d6; }
.way strong { font-family: var(--head); font-size: 1.15rem; color: #16130f; line-height: 1.2; overflow-wrap: anywhere; }
.way:focus-visible { outline: 3px solid #5b27d6; outline-offset: 3px; }
.contact-layout { display: grid; grid-template-columns: .95fr 1.05fr; gap: 1.15rem; margin-top: 1.15rem; align-items: start; }
.visit-card, .svc-paths article { background: #fff; border-radius: 24px; padding: 1.15rem 1.2rem 1.2rem; box-shadow: 0 14px 30px rgba(48, 16, 80, .08); transition: transform .28s ease, box-shadow .28s ease; }
.visit-card h3 { font-size: clamp(1.35rem, 2vw, 1.8rem); color: #16130f; margin: .15rem 0 .35rem; }
.visit-card p { margin: 0; color: #3f3a33; }
.map { border: 0; width: 100%; min-height: 320px; border-radius: 16px; background: var(--paper-2); margin-top: .9rem; }
.contact-form h3 { color: #16130f; font-size: 1.7rem; }
.quote-layout { display: grid; grid-template-columns: .85fr 1.15fr; gap: 1.15rem; margin-top: 1.5rem; align-items: start; }
.quote-list { margin: .8rem 0 0; padding: 0; list-style: none; display: grid; gap: .75rem; }
.quote-list li { margin: 0; color: #3f3a33; padding-top: .75rem; border-top: 1px solid rgba(20, 18, 15, .1); }
.quote-list b { display: block; color: #16130f; }
.quote-or { margin: 1rem 0 .4rem; color: #3f3a33; font-weight: 700; }
.quote-links { display: flex; flex-wrap: wrap; gap: .5rem .9rem; }
.quote-links a { color: #5b27d6; font-weight: 700; }
.quote-pair { display: grid; grid-template-columns: 1fr 1fr; gap: .85rem; }
.contact-note { margin: 0; color: #3f3a33; }
.contact-note a { color: #5b27d6; font-weight: 700; }
.faq { display: grid; gap: .8rem; margin-top: 1rem; }
.about-band {
    background:
        radial-gradient(560px 280px at 0% 0%, rgba(122, 69, 255, .16), transparent 68%),
        radial-gradient(520px 300px at 100% 18%, rgba(18, 211, 220, .18), transparent 66%),
        radial-gradient(420px 240px at 40% 100%, rgba(255, 47, 146, .1), transparent 70%),
        linear-gradient(180deg, #f4eefc 0%, #f7f3ea 100%);
}
.ask-band {
    background:
        radial-gradient(540px 280px at 100% 0%, rgba(255, 47, 146, .14), transparent 68%),
        radial-gradient(480px 260px at 0% 100%, rgba(255, 225, 74, .2), transparent 66%),
        radial-gradient(360px 220px at 55% 40%, rgba(18, 211, 220, .1), transparent 70%),
        linear-gradient(180deg, #fbf6ef 0%, #f6eef8 100%);
}
.about-shop.section, .about-ask.section { padding: 3.5rem 0 3.6rem; }
.about-shop h2, .about-ask h2 {
    display: inline-block; margin-bottom: .45rem; padding-bottom: .4rem;
    background-repeat: no-repeat; background-position: 0 100%; background-size: 100% 5px;
}
.about-shop h2 { background-image: linear-gradient(90deg, #7a45ff, #12d3dc 58%, #ff2f92); }
.about-ask h2 { background-image: linear-gradient(90deg, #ff2f92, #ffe14a 55%, #14d7e0); }
.js .about-shop .about-head, .js .about-ask .about-head, .js .about-shop .intro, .js .about-note {
    opacity: 0; transform: translateY(18px);
    transition: opacity .65s ease, transform .7s cubic-bezier(.22, .8, .28, 1);
}
.js .about-shop .about-head h2, .js .about-ask .about-head h2 { background-size: 0 5px; }
.js .about-shop .about-head.is-in, .js .about-ask .about-head.is-in, .js .about-shop .intro.is-in, .js .about-note.is-in { opacity: 1; transform: none; }
.js .about-shop .intro.is-in { transition-delay: .08s; }
.js .about-shop .about-head.is-in h2, .js .about-ask .about-head.is-in h2 {
    background-size: 100% 5px; transition: background-size .8s cubic-bezier(.22, .8, .28, 1) .12s;
}
.about-shop .split { align-items: start; margin-top: .4rem; }
.about-shop .intro { font-size: 1.15rem; margin: .2rem 0 0; }
.about-notes { display: grid; gap: .85rem; }
.about-note {
    position: relative; overflow: hidden; border-radius: 22px; padding: 1.05rem 1.15rem 1.15rem;
    background: linear-gradient(180deg, #fff1f7 0%, #fff 62%);
    box-shadow: 0 14px 30px rgba(48, 16, 80, .08);
    transition: transform .28s ease, box-shadow .28s ease;
}
.about-note:nth-child(2) { background: linear-gradient(180deg, #e7fbff 0%, #fff 62%); }
.about-note:nth-child(3) { background: linear-gradient(180deg, #fff8d4 0%, #fff 62%); }
.about-note::before {
    content: ""; position: absolute; left: 0; right: 0; top: 0; height: 5px; transform: scaleX(1); transform-origin: left center;
    background: linear-gradient(90deg, #ff2f92, #7a45ff);
}
.about-note:nth-child(2)::before { background: linear-gradient(90deg, #12d3dc, #6a33f4); }
.about-note:nth-child(3)::before { background: linear-gradient(90deg, #ffe14a, #ff2f92); }
.js .about-note::before { transform: scaleX(0); }
.js .about-note.is-in::before { animation: shop-draw .7s cubic-bezier(.22, .8, .28, 1) forwards; }
.js .about-notes .about-note:nth-child(2).is-in::before { animation-delay: .12s; }
.js .about-notes .about-note:nth-child(3).is-in::before { animation-delay: .24s; }
.about-note .num {
    display: inline-flex; align-items: center; justify-content: center; min-width: 2.4rem; height: 2.4rem; margin-bottom: .45rem;
    border-radius: 12px; color: #fff; background: linear-gradient(135deg, #ff2f92, #7a45ff); font-family: var(--head); font-size: .95rem;
}
.about-note:nth-child(2) .num { background: linear-gradient(135deg, #12d3dc, #2f6bff); }
.about-note:nth-child(3) .num { background: linear-gradient(135deg, #f0c93a, #ff2f92); color: #1a1208; }
.js .about-note.is-in .num { animation: shop-pop .5s cubic-bezier(.22, .8, .28, 1) both; }
.about-note p { margin: 0; color: #3f3a33; }
.js .about-note { transform: translateY(26px) scale(.98); transition: opacity .7s ease, transform .7s cubic-bezier(.22, .8, .28, 1), box-shadow .28s ease; }
.js .about-notes .about-note:nth-child(2) { transition-delay: .12s; }
.js .about-notes .about-note:nth-child(3) { transition-delay: .24s; }
.js .about-note.is-in:hover, .about-note:hover { transform: translateY(-6px); box-shadow: 0 20px 36px rgba(48, 16, 80, .14); }
.about-ask .faq { grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: 1.4rem; }
.about-ask .faq article { position: relative; overflow: hidden; }
.about-ask .faq article:nth-child(1) { background: linear-gradient(180deg, #fff1f7 0%, #fff 58%); }
.about-ask .faq article:nth-child(2) { background: linear-gradient(180deg, #e7fbff 0%, #fff 58%); }
.about-ask .faq article:nth-child(3) { background: linear-gradient(180deg, #fff8d4 0%, #fff 58%); }
.about-ask .faq article:nth-child(4) { background: linear-gradient(180deg, #f3e9ff 0%, #fff 58%); }
.about-ask .faq article::before {
    content: ""; position: absolute; left: 0; right: 0; top: 0; height: 5px; transform: scaleX(1); transform-origin: left center;
    background: linear-gradient(90deg, #ff2f92, #7a45ff);
}
.about-ask .faq article:nth-child(2)::before { background: linear-gradient(90deg, #12d3dc, #6a33f4); }
.about-ask .faq article:nth-child(3)::before { background: linear-gradient(90deg, #ffe14a, #ff2f92); }
.about-ask .faq article:nth-child(4)::before { background: linear-gradient(90deg, #7a45ff, #14d7e0); }
.js .about-ask .faq article::before { transform: scaleX(0); }
.js .about-ask .faq article.is-in::before { animation: shop-draw .7s cubic-bezier(.22, .8, .28, 1) forwards; }
.js .about-ask .faq article:nth-child(2).is-in::before { animation-delay: .08s; }
.js .about-ask .faq article:nth-child(3).is-in::before { animation-delay: .16s; }
.js .about-ask .faq article:nth-child(4).is-in::before { animation-delay: .24s; }
.about-ask .faq article h3 { margin: .15rem 0 .45rem; font-size: 1.35rem; color: #16130f; }
.about-ask .faq article p { margin: 0; color: #3f3a33; }
.js .about-ask .faq article {
    opacity: 0; transform: translateY(26px) scale(.98);
    transition: opacity .7s ease, transform .7s cubic-bezier(.22, .8, .28, 1), box-shadow .28s ease;
}
.js .about-ask .faq article:nth-child(2) { transition-delay: .08s; }
.js .about-ask .faq article:nth-child(3) { transition-delay: .16s; }
.js .about-ask .faq article:nth-child(4) { transition-delay: .24s; }
.js .about-ask .faq article.is-in { opacity: 1; transform: none; }
.js .about-ask .faq article.is-in:hover { transform: translateY(-8px); }
@media (max-width: 860px) {
    .about-ask .faq { grid-template-columns: 1fr; }
}
.site-foot { width: min(1120px, calc(100% - 2rem)); padding: 2.2rem 0 1.3rem; }
.foot-wrap {
    position: relative; margin-top: 3rem; color: #f6f2ea; overflow: hidden;
    background:
        radial-gradient(540px 280px at 6% -10%, rgba(255, 47, 146, .5), transparent 68%),
        radial-gradient(460px 300px at 96% 8%, rgba(20, 215, 224, .34), transparent 66%),
        radial-gradient(420px 280px at 72% 120%, rgba(122, 69, 255, .48), transparent 70%),
        linear-gradient(165deg, #2a1450 0%, #140d22 46%, #07060c 100%);
}
.foot-wrap::before {
    content: ""; display: block; height: 6px;
    background: linear-gradient(90deg, #ff2f92, #14d7e0, #ffe14a, #7a45ff, #ff2f92);
    background-size: 200% 100%;
    animation: ink-bar 16s linear infinite;
}
.foot-grid { display: grid; grid-template-columns: 1.25fr .9fr .9fr; gap: 1rem; align-items: stretch; }
.foot-brand { padding: .35rem .2rem 0; }
.foot-brand p { max-width: 26rem; margin: .85rem 0 0; color: #f3ece3; font-size: 1.05rem; }
.foot-grid .brand img { height: 64px; }
.foot-grid .brand-name { font-size: 1.45rem; }
.foot-panel {
    border-radius: 22px; padding: 1.15rem 1.2rem 1.25rem;
    background:
        linear-gradient(180deg, #321c56 0%, #1a102c 100%) padding-box,
        linear-gradient(135deg, #ff2f92, #7a45ff 55%, #14d7e0) border-box;
    border: 2px solid transparent;
    box-shadow: 0 16px 34px rgba(0, 0, 0, .28);
}
.foot-panel:nth-child(3) {
    background:
        linear-gradient(180deg, #24324e 0%, #161426 100%) padding-box,
        linear-gradient(135deg, #14d7e0, #ffe14a 48%, #ff2f92) border-box;
}
.foot-grid h2 {
    margin: 0 0 .75rem; font-size: .78rem; letter-spacing: .16em; text-transform: uppercase; color: #ffb3dc;
    background: linear-gradient(90deg, #ff9ad0, #7af4fb); -webkit-background-clip: text; background-clip: text;
}
@supports ((-webkit-background-clip: text) or (background-clip: text)) {
    .foot-grid h2 { color: transparent; -webkit-text-fill-color: transparent; }
}
.foot-panel p { margin: 0 0 .75rem; color: #f6f2ea; }
.foot-panel p:last-child { margin-bottom: 0; }
.foot-grid a:not(.brand) {
    display: block; width: fit-content; max-width: 100%; color: #fff; text-decoration: none; margin: .28rem 0; font-weight: 700;
    background-image: linear-gradient(90deg, #7af4fb, #ffe14a); background-repeat: no-repeat; background-position: 0 100%; background-size: 0 2px;
    transition: background-size .25s ease, color .2s ease;
}
.foot-grid a:not(.brand):hover { color: #fff; background-size: 100% 2px; }
.foot-wrap a:focus-visible { outline: 2px solid #ffe14a; outline-offset: 3px; border-radius: 4px; }
.foot-bar {
    position: relative; display: flex; justify-content: space-between; align-items: center; gap: 1rem;
    margin-top: 1.15rem; padding: 1.05rem 0 .2rem; color: #efe7dc; font-size: .92rem;
}
.foot-bar::before {
    content: ""; position: absolute; left: 0; right: 0; top: 0; height: 1px;
    background: linear-gradient(90deg, transparent, #ff2f92, #14d7e0, #ffe14a, #7a45ff, transparent);
}
.foot-bar a {
    color: #1a1208; font-weight: 800; text-decoration: none; border-radius: 999px; padding: .45rem .9rem;
    background: linear-gradient(90deg, #ffe14a, #fff1a3);
    box-shadow: 0 8px 18px rgba(255, 225, 74, .18);
    transition: transform .2s ease, box-shadow .2s ease;
}
.foot-bar a:hover { transform: translateY(-2px); box-shadow: 0 12px 22px rgba(255, 225, 74, .32); }
@media (max-width: 860px) {
    .topbar span { display: none; }
    .topbar { justify-content: flex-end; }
    .menu-btn { display: inline-flex; flex: none; background: linear-gradient(90deg, #ffe14a, #fff1a3); color: #1a1208; border: 0; font-weight: 800; }
    nav {
        display: none; position: absolute; left: 0; right: 0; top: 100%; padding: 1rem;
        flex-direction: column; align-items: flex-start;
        background:
            radial-gradient(240px 140px at 0% 0%, rgba(255, 47, 146, .42), transparent 70%),
            radial-gradient(220px 140px at 100% 100%, rgba(20, 215, 224, .32), transparent 72%),
            linear-gradient(180deg, #2a1648, #120c1c);
        box-shadow: 0 18px 30px rgba(0, 0, 0, .28);
    }
    nav.is-open { display: flex; }
    nav a.is-on { color: #061416; }
    .nav-wrap { position: relative; }
    .split, .dark-band .section, .contact-grid, .contact-layout, .quote-layout, .quote-pair, .two, .foot-grid, .cards, .folio-head, .folio-grid, .folio-card.is-lead, .folio-cta, .svc-paths, .svc-grid { grid-template-columns: 1fr; }
    .foot-bar { flex-direction: column; align-items: flex-start; }
    .hero-stage { height: clamp(640px, calc(100vh - 96px), 880px); height: clamp(640px, calc(100svh - 96px), 880px); }
    .hero-page::after { background: linear-gradient(180deg, rgba(7, 7, 8, .18) 0%, rgba(7, 7, 8, .5) 40%, rgba(7, 7, 8, .92) 100%); }
    .hero-copy { justify-content: flex-end; width: min(1120px, calc(100% - 1.6rem)); padding: 1.4rem 0 5rem; }
    .hero-copy h1, .hero-copy h2 { font-size: clamp(2.4rem, 12vw, 3.6rem); }
    .carousel-controls { width: calc(100% - 1.2rem); gap: .35rem; }
    .carousel-controls .prev, .carousel-controls .next { padding: .5rem .7rem; }
    .hero-count, .dots { flex: none; }
    .hero-count { white-space: nowrap; font-size: .9rem; }
    .contact-ways { grid-template-columns: 1fr 1fr; }
    .folio-card.is-lead, .dark-band .folio-cta { display: flex; flex-direction: column; align-items: flex-start; }
    .floor-gallery .gallery-grid { grid-template-columns: 1fr; }
    .hero-copy .lede { font-size: 1.05rem; }
    .brand img { height: 52px; }
    .brand-name { font-size: 1.2rem; }
}
.js .card, .js .work-card, .js .folio-card, .js .svc-card, .js .way, .js .stat, .js .steps li,
.js .gallery-grid figure, .js .visit-card, .js .svc-paths article, .js .faq article, .js .panel {
    opacity: 0; transform: translateY(18px);
    transition: opacity .6s ease, transform .6s ease, box-shadow .28s ease, filter .28s ease, background .25s ease;
}
.js .cards .card:nth-child(2), .js .work-grid .work-card:nth-child(2), .js .steps li:nth-child(2) { transition-delay: .05s; }
.js .cards .card:nth-child(3), .js .work-grid .work-card:nth-child(3), .js .steps li:nth-child(3) { transition-delay: .1s; }
.js .cards .card:nth-child(4), .js .steps li:nth-child(4) { transition-delay: .15s; }
.js .cards .card:nth-child(5) { transition-delay: .08s; }
.js .cards .card:nth-child(6) { transition-delay: .12s; }
.js .card.is-in, .js .work-card.is-in, .js .folio-card.is-in, .js .svc-card.is-in, .js .way.is-in, .js .stat.is-in,
.js .steps li.is-in, .js .gallery-grid figure.is-in, .js .visit-card.is-in, .js .svc-paths article.is-in,
.js .faq article.is-in, .js .panel.is-in { opacity: 1; transform: none; }
.js .card.is-in:hover, .js .work-card.is-in:hover, .js .folio-card.is-in:hover, .js .svc-card.is-in:hover,
.js .way.is-in:hover, .js .visit-card.is-in:hover, .js .svc-paths article.is-in:hover, .js .faq article.is-in:hover,
.js .panel.is-in:hover { transform: translateY(-8px); }
.js .stat.is-in:hover { transform: translateY(-4px); }
.js .steps li.is-in:hover { transform: translateX(6px); }
.work-card { overflow: hidden; }
@media (prefers-reduced-motion: reduce) {
    .marquee p, .color-bar, .foot-wrap::before, .shop-does .card::before, .shop-does .card .num, .bench .gallery-grid figure::before, .picked .work-card::before, .about-note::before, .about-note .num, .js .about-note .num, .js .about-note.is-in .num, .about-ask .faq article::before, .svc .svc-paths article::before, .svc .svc-card::before, .folio .folio-card::before, .floor-gallery .gallery-grid figure::before, .hero-page.is-on img, .hero-page.is-on .kicker, .hero-page.is-on h1, .hero-page.is-on h2, .hero-page.is-on .lede, .hero-page.is-on .hero-actions { animation: none; }
    .js .shop-does .card::before, .js .bench .gallery-grid figure::before, .js .bench .gallery-grid figure.is-in::before, .js .picked .work-card::before, .js .picked .work-card.is-in::before, .js .about-note::before, .js .about-note.is-in::before, .js .about-ask .faq article::before, .js .about-ask .faq article.is-in::before, .js .svc .svc-paths article::before, .js .svc .svc-paths article.is-in::before, .js .svc .svc-card::before, .js .svc .svc-card.is-in::before, .js .folio .folio-card::before, .js .folio .folio-card.is-in::before, .js .floor-gallery .gallery-grid figure::before, .js .floor-gallery .gallery-grid figure.is-in::before { transform: scaleX(1); animation: none; }
    .js .page-head, .js .page-head.is-in, .js .folio-filters, .js .folio-filters.is-in, .js .folio-cta, .js .folio-cta.is-in, .js .svc .page-head h2, .js .folio .page-head h2, .js .floor-gallery .page-head h2, .js .folio-cta h2, .js .page-head.is-in h2, .js .folio-cta.is-in h2 { opacity: 1; transform: none; background-size: 100% 5px; transition: none; }
    .js .svc .svc-paths article, .js .svc .svc-paths article.is-in, .js .svc .svc-paths article.is-in:hover,
    .js .svc .svc-card, .js .svc .svc-card.is-in, .js .svc .svc-card.is-in:hover,
    .js .folio .folio-card, .js .folio .folio-card.is-in, .js .folio .folio-card.is-in:hover,
    .js .floor-gallery .gallery-grid figure, .js .floor-gallery .gallery-grid figure.is-in, .js .floor-gallery .gallery-grid figure.is-in:hover { opacity: 1; transform: none; transition: none; }
    .js .folio .folio-card .folio-photo img, .js .folio .folio-card.is-in .folio-photo img, .js .folio .folio-card.is-in:hover .folio-photo img, .folio .folio-card:hover .folio-photo img,
    .js .floor-gallery .gallery-grid figure img, .js .floor-gallery .gallery-grid figure.is-in img, .js .floor-gallery .gallery-grid figure.is-in:hover img, .floor-gallery .gallery-grid figure:hover img { transform: none; transition: none; }
    .svc-ask, .svc-ask:hover { transition: none; }
    .js .shop-does .shop-head, .js .shop-does .shop-head h2, .js .bench .bench-head, .js .picked .picked-head, .js .bench .bench-more, .js .bench .bench-head h2, .js .picked .picked-head h2, .js .about-shop .about-head, .js .about-ask .about-head, .js .about-shop .about-head h2, .js .about-ask .about-head h2, .js .about-shop .intro, .js .about-shop .intro.is-in { opacity: 1; transform: none; background-size: 100% 5px; transition: none; }
    .js .about-note, .js .about-note.is-in, .js .about-note.is-in:hover, .about-note:hover,
    .js .about-ask .faq article, .js .about-ask .faq article.is-in, .js .about-ask .faq article.is-in:hover { opacity: 1; transform: none; transition: none; }
    .js .shop-does .card, .js .shop-does .card.is-in, .js .shop-does .card.is-in:hover { opacity: 1; transform: none; transition: none; }
    .js .bench .gallery-grid figure, .js .bench .gallery-grid figure.is-in, .js .bench .gallery-grid figure.is-in:hover, .bench .gallery-grid figure:hover,
    .js .picked .work-card, .js .picked .work-card.is-in, .js .picked .work-card.is-in:hover { opacity: 1; transform: none; transition: none; }
    .js .bench .gallery-grid figure img, .js .bench .gallery-grid figure.is-in img, .js .bench .gallery-grid figure.is-in:hover img, .bench .gallery-grid figure:hover img,
    .js .picked .work-card img, .js .picked .work-card.is-in img, .js .picked .work-card.is-in:hover img, .picked .work-card:hover img { transform: none; transition: none; }
    .bench .btn-ink::after, .bench .btn-ink:hover::after { transform: rotate(45deg); transition: none; }
    .foot-grid a:not(.brand), .foot-bar a, .nav-quote { transition: none; }
    .foot-bar a:hover, .nav-quote:hover { transform: none; }
    .hero-track, .hero-page img, .hero-copy .kicker, .hero-copy h1, .hero-copy h2, .hero-copy .lede, .hero-copy .hero-actions,
    .card, .work-card, .panel, form.paper, .faq article, .folio-card, .svc-card, .way, .visit-card, .btn, button.btn,
    .steps li, .stat, .gallery-grid img, .work-card img, .shot img, .folio-photo img, nav a::after, .folio-filters button { transition: none; }
    .hero-copy .kicker, .hero-copy h1, .hero-copy h2, .hero-copy .lede, .hero-copy .hero-actions { opacity: 1; transform: none; }
    .hero-page img { transform: none; }
    .card:hover, .work-card:hover, .panel:hover, form.paper:hover, .faq article:hover, .folio-card:hover, .svc-card:hover, .way:hover, .visit-card:hover, .btn:hover, button.btn:hover, .steps li:hover, .stat:hover,
    .js .card, .js .work-card, .js .folio-card, .js .svc-card, .js .way, .js .stat, .js .steps li, .js .gallery-grid figure,
    .js .visit-card, .js .svc-paths article, .js .faq article, .js .panel,
    .js .card.is-in, .js .work-card.is-in, .js .folio-card.is-in, .js .svc-card.is-in, .js .way.is-in, .js .stat.is-in,
    .js .steps li.is-in, .js .gallery-grid figure.is-in, .js .visit-card.is-in, .js .svc-paths article.is-in,
    .js .faq article.is-in, .js .panel.is-in,
    .js .card.is-in:hover, .js .work-card.is-in:hover, .js .folio-card.is-in:hover, .js .svc-card.is-in:hover,
    .js .way.is-in:hover, .js .visit-card.is-in:hover, .js .svc-paths article.is-in:hover, .js .faq article.is-in:hover,
    .js .panel.is-in:hover, .js .stat.is-in:hover, .js .steps li.is-in:hover { opacity: 1; transform: none; transition: none; }
}
