/* assets/ai-experience.css */
/* Shared AI directory and dedicated AI portfolio. */
.ai-directory, .ai-page {
    --ai-ink: #f4f3ed;
    --ai-muted: #a3b0b4;
    --ai-cyan: #6be4ff;
    --ai-line: rgba(194, 221, 229, .18);
    --ai-ground: #080d0f;
    color: var(--ai-ink);
}
.ai-directory *, .ai-page * { box-sizing: border-box; }
.ai-directory { padding: 2.5rem 0 4rem; scroll-margin-top: 100px; }
.ai-directory [data-ai-catalog] { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 2rem; }
.ai-directory .ai-catalog-group { grid-column: 1 / -1; }
.ai-directory .ai-catalog-group:nth-child(n+2):nth-child(-n+4) { grid-column: auto; display: block; }
.ai-directory .ai-catalog-group:nth-child(n+2):nth-child(-n+4) .ai-group-heading { min-height: 4rem; }
.ai-directory .ai-catalog-group:nth-child(n+2):nth-child(-n+4) .ai-model-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ai-eyebrow {
    display: flex; align-items: center; gap: .7rem;
    margin: 0 0 1.1rem; color: var(--ai-cyan);
    font: 600 .68rem/1.4 ui-monospace, Consolas, monospace;
    letter-spacing: .13em;
}
.ai-directory-heading { display: flex; justify-content: space-between; align-items: end; gap: 2rem; margin-bottom: 1.8rem; }
.ai-directory-heading h2 { margin: 0; font: 500 clamp(1.8rem, 3vw, 2.8rem)/1.05 "Space Grotesk", sans-serif; letter-spacing: -.04em; }
.ai-text-link { display: inline-flex; align-items: center; gap: 1.2rem; color: var(--ai-ink); text-decoration: none; font-size: .9rem; padding: .6rem 0; border-bottom: 1px solid var(--ai-cyan); }
.ai-text-link > span { color: var(--ai-cyan); font-size: 1.35em; }
.ai-directory a:focus-visible, .ai-page :is(a, button, video):focus-visible { outline: 2px solid var(--ai-cyan); outline-offset: 5px; }
.ai-catalog-group { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 2rem; padding: 1.35rem 0; border-top: 1px solid var(--ai-line); }
.ai-catalog-group[hidden] { display: none; }
.ai-group-heading { align-self: start; }
.ai-group-heading h3 { font: 500 .95rem/1.35 "Space Grotesk", sans-serif; margin: 0; max-width: 21ch; }
.ai-model-list { list-style: none; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: .75rem; margin: 0; padding: 0; }
.ai-model-list > li { min-width: 0; }
.ai-model-mark { display: flex; flex-direction: column; align-items: center; gap: .7rem; padding: .5rem .25rem; color: var(--ai-ink); text-decoration: none; text-align: center; }
.ai-logo { display: inline-grid; width: 64px; height: 64px; flex: 0 0 64px; place-items: center; }
.ai-logo img { display: block; width: 100%; height: 100%; object-fit: contain; }
.ai-model-mark .ai-logo { width: 52px; height: 52px; flex-basis: 52px; transition: transform .2s ease; }
.ai-model-mark > span:last-child { font: 500 .79rem/1.25 "Space Grotesk", sans-serif; }
.ai-model-mark:hover { color: var(--ai-cyan); }
.ai-model-mark:hover .ai-logo { transform: translateY(-4px); }

/* Page shell */
.ai-page { margin: 0; background: var(--ai-ground); font: 400 16px/1.55 "Outfit", system-ui, sans-serif; }
.ai-page h1, .ai-page h2, .ai-page h3, .ai-page h4 { font-family: "Space Grotesk", sans-serif; }
.ai-page a { color: inherit; }
.ai-page img { max-width: 100%; }
.ai-page [hidden] { display: none !important; }
.ai-page :is(section, .ai-tool-entry) { scroll-margin-top: 100px; }
.ai-page h2 { font-size: clamp(2.2rem, 4.1vw, 4rem); font-weight: 500; line-height: 1.06; letter-spacing: -.05em; margin: 0; }
.ai-wrap { width: min(1440px, calc(100% - 96px)); margin-inline: auto; }
.ai-skip { position: fixed; top: -100px; left: 1rem; padding: 1rem; z-index: 100; background: var(--ai-cyan); color: #080d0f !important; }
.ai-skip:focus { top: 1rem; }
.ai-topbar { position: sticky; top: 0; z-index: 30; height: 80px; display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: 0 max(32px, calc((100vw - 1440px) / 2)); border-bottom: 1px solid var(--ai-line); background: #080d0ff5; }
.ai-brand { display: flex; align-items: center; gap: .8rem; text-decoration: none; font-size: .86rem; font-weight: 600; line-height: 1.3; }
.ai-brand img { width: 40px; height: 40px; }
.ai-brand small { display: block; font-size: .73rem; color: var(--ai-muted); font-weight: 400; }
.ai-topbar nav { display: flex; align-items: center; gap: 2rem; }
.ai-topbar nav a { text-decoration: none; font-size: .82rem; }
.ai-topbar nav a:hover { color: var(--ai-cyan); }
.ai-dot { display: inline-block; width: 6px; height: 6px; background: var(--ai-cyan); border-radius: 50%; }
.ai-hero { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: clamp(2rem, 4vw, 5rem); padding-top: clamp(3.5rem, 7vw, 7rem); padding-bottom: clamp(3.5rem, 6vw, 6rem); min-height: 690px; }
.ai-hero h1 { font-size: clamp(3.4rem, 5.3vw, 5.5rem); letter-spacing: -.065em; font-weight: 500; line-height: .99; margin: 1.7rem 0; }
.ai-hero h1 em { display: inline; color: var(--ai-cyan); font-style: normal; white-space: nowrap; }
.ai-hero-description { max-width: 42ch; color: var(--ai-muted); font-size: clamp(.97rem, 1.25vw, 1.12rem); line-height: 1.6; }
.ai-hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 1rem 1.8rem; margin-top: 2.1rem; }
.ai-button { display: inline-flex; align-items: center; justify-content: space-between; gap: 1.7rem; padding: 1rem 1.2rem; background: var(--ai-cyan); color: #061014 !important; font-weight: 600; font-size: .9rem; text-decoration: none; transition: background .2s ease; }
.ai-button:hover { background: #b8f2ff; }
.ai-button span { font-size: 1.2rem; }
.ai-hero-visual { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; align-items: start; padding: 30px 0 48px; }
.ai-still { display: block; position: relative; overflow: hidden; text-decoration: none; background: #122024; aspect-ratio: 9 / 18; }
.ai-still img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.ai-still:hover img { transform: scale(1.04); }
.ai-still span { position: absolute; bottom: 0; left: 0; right: 0; display: flex; justify-content: space-between; gap: .3rem; padding: 2.5rem .7rem .7rem; background: linear-gradient(transparent, #020708db); color: #fff; font: .55rem/1.4 ui-monospace, Consolas, monospace; letter-spacing: .09em; }
.ai-still span b { color: var(--ai-cyan); font-weight: 400; }
.ai-still-one { margin-top: 58px; }
.ai-still-two { margin-top: 0; }
.ai-still-three { margin-top: 104px; }
.ai-visual-label, .ai-visual-foot { position: absolute; font: .56rem/1.4 ui-monospace, Consolas, monospace; letter-spacing: .12em; color: var(--ai-muted); }
.ai-visual-label { top: 0; left: 0; }
.ai-visual-foot { bottom: -4px; left: 0; padding-top: 12px; width: 100%; border-top: 1px solid var(--ai-line); }
.ai-section { padding-block: clamp(4rem, 7vw, 7rem); }
.ai-section-heading { display: grid; grid-template-columns: 1.4fr 1fr; gap: 3rem; align-items: end; margin-bottom: 2.8rem; }
.ai-section-heading > p { color: var(--ai-muted); max-width: 43ch; margin: 0 0 .2rem auto; font-size: 1rem; }
.ai-project-grid { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 3rem 1.3rem; }
.ai-project { grid-column: span 2; min-width: 0; }
.ai-project:nth-child(5) { grid-column: 2 / span 2; }
.ai-project-player { position: relative; aspect-ratio: 9/16; background: #030506; overflow: hidden; }
.ai-project-player video { display: block; width: 100%; height: 100%; object-fit: contain; }
.ai-project-play { position: absolute; top: 50%; left: 50%; translate: -50% -50%; display: grid; place-items: center; width: 62px; height: 62px; padding: 0; border: 1px solid #c2f4ff99; border-radius: 50%; background: #061014ce; color: #f4fbfd; cursor: pointer; transition: background .2s, scale .2s; }
.ai-project-play::before { content: ""; position: absolute; inset: -6px; border: 1px solid #c2f4ff44; border-radius: 50%; }
.ai-project-play svg { width: 23px; height: 23px; fill: currentColor; }
.ai-project-play:hover { background: #6be4ff; color: #061014; scale: 1.06; }
.ai-project-line { display: flex; gap: .6rem; align-items: center; margin: .8rem 0 1.1rem; padding-top: .8rem; border-top: 1px solid var(--ai-line); }
.ai-project-line > span { color: var(--ai-cyan); font: .62rem/1 ui-monospace, Consolas, monospace; }
.ai-project-models { display: flex; flex-wrap: wrap; gap: .5rem .8rem; }
.ai-project-models a { display: flex; align-items: center; gap: .3rem; font-size: .6rem; text-decoration: none; }
.ai-project-models a:hover { color: var(--ai-cyan); }
.ai-project-models .ai-logo { width: 18px; height: 18px; flex-basis: 18px; }
.ai-project-caption h3 { margin: 0; font-size: 1.2rem; letter-spacing: -.025em; font-weight: 600; }
.ai-project-caption .ai-project-subject { margin: .2rem 0 .7rem; color: var(--ai-ink); font-size: .87rem; }
.ai-project-caption p { color: var(--ai-muted); margin: 0; font-size: .82rem; line-height: 1.55; }
.ai-service-section { padding-block: clamp(4rem, 6vw, 6rem); background: #101d21; border-block: 1px solid var(--ai-line); }
.ai-service-layout { display: grid; grid-template-columns: .9fr 1.3fr; gap: clamp(3rem, 7vw, 7rem); }
.ai-service-intro { max-width: 35ch; color: var(--ai-muted); margin-top: 1.5rem; }
.ai-offer-list article { display: grid; grid-template-columns: 36px 1fr; gap: 1rem; padding: 1.5rem 0; border-top: 1px solid var(--ai-line); }
.ai-offer-list article > span { color: var(--ai-cyan); font: .7rem/1.5 ui-monospace, Consolas, monospace; padding-top: .25rem; }
.ai-offer-list h3 { margin: 0 0 .7rem; font-size: 1.4rem; font-weight: 500; }
.ai-offer-list p { margin: 0; max-width: 57ch; color: var(--ai-muted); }
.ai-process { padding: 0; margin: 0; list-style: none; display: grid; grid-template-columns: repeat(4, 1fr); gap: 2rem; }
.ai-process li { border-top: 1px solid var(--ai-cyan); padding-top: 1.3rem; }
.ai-process li > span { color: var(--ai-cyan); font: .63rem/1.5 ui-monospace, Consolas, monospace; letter-spacing: .1em; }
.ai-process h3 { font-weight: 500; font-size: 1.2rem; margin: 1.5rem 0 .7rem; }
.ai-process p { color: var(--ai-muted); font-size: .9rem; margin: 0; }
.ai-guide-promo { padding-block: clamp(4rem, 7vw, 7rem); border-block: 1px solid #cbd8e7; background: #edf3fb; color: #18283b; }
.ai-guide-promo-layout { display: grid; grid-template-columns: 1.02fr 1fr; gap: clamp(3rem, 8vw, 8rem); align-items: center; }
.ai-guide-promo-copy h2 { max-width: 13ch; margin: .9rem 0 1.4rem; font-size: clamp(2.7rem, 5vw, 5rem); line-height: 1.02; font-weight: 500; letter-spacing: -.06em; }
.ai-guide-promo-copy > p:not(.ai-eyebrow) { max-width: 54ch; color: #63758b; line-height: 1.7; }
.ai-guide-promo-copy ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin: 2.2rem 0; padding: 0; border-block: 1px solid #cbd8e7; list-style: none; }
.ai-guide-promo-copy li { padding: 1rem 1rem 1rem 0; border-right: 1px solid #cbd8e7; }
.ai-guide-promo-copy li + li { padding-left: 1rem; }
.ai-guide-promo-copy li:last-child { border-right: 0; }
.ai-guide-promo-copy li strong, .ai-guide-promo-copy li span { display: block; }
.ai-guide-promo-copy li strong { margin-bottom: .35rem; font-size: .76rem; color: #1f3550; }
.ai-guide-promo-copy li span { color: #6b7d92; font-size: .68rem; line-height: 1.4; }
.ai-guide-promo .ai-button { background: #23354b; color: #fff !important; }
.ai-guide-promo .ai-button:hover { background: #345274; }
.ai-guide-promo-map { position: relative; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); min-width: 0; min-height: 300px; gap: .45rem; align-items: center; }
.ai-guide-promo-map::before { content: ""; position: absolute; top: 50%; left: 7%; right: 7%; height: 1px; background: #aebfd3; }
.ai-guide-promo-map a { position: relative; display: grid; min-width: 0; min-height: 160px; padding: 1rem .8rem; align-content: space-between; overflow: hidden; border-left: 1px solid #b9c9da; background: #f7faff; color: inherit; text-decoration: none; transition: border-color 180ms ease, background-color 180ms ease, box-shadow 180ms ease; }
.ai-guide-promo-map a:nth-child(even) { translate: 0 38px; background: #e4ecf7; }
.ai-guide-promo-map a:first-child { border-left: 2px solid #285cc4; }
.ai-guide-promo-map a:hover, .ai-guide-promo-map a:focus-visible { z-index: 1; border-left-color: #285cc4; background: #fff; box-shadow: 0 12px 32px rgba(33, 61, 101, .12); outline: none; }
.ai-guide-promo-map span { color: #285cc4; font: 600 .62rem/1 ui-monospace, Consolas, monospace; letter-spacing: .08em; }
.ai-guide-promo-map strong { min-width: 0; font-size: .9rem; font-weight: 600; line-height: 1.2; overflow-wrap: anywhere; word-break: break-word; }
.ai-guide-promo-map small { min-width: 0; color: #6e8094; font-size: .65rem; line-height: 1.35; overflow-wrap: anywhere; word-break: break-word; }
html[data-theme="dark"] .ai-guide-promo-map a { border-left-color: var(--theme-accent); background: var(--theme-bg); color: var(--theme-ink); }
html[data-theme="dark"] .ai-guide-promo-map a:nth-child(even) { background: var(--theme-accent-soft); }
html[data-theme="dark"] .ai-guide-promo-map a:hover, html[data-theme="dark"] .ai-guide-promo-map a:focus-visible { border-left-color: var(--theme-accent); background: var(--theme-surface-soft); box-shadow: 0 12px 32px rgba(0, 0, 0, .24); }
.ai-full-catalog { border-top: 1px solid var(--ai-line); }
.ai-full-catalog h2 > span { color: var(--ai-muted); }
.ai-catalog-toolbar { display: flex; justify-content: space-between; flex-wrap: wrap; align-items: center; gap: 1rem; margin-bottom: 2rem; }
.ai-filters { display: flex; flex-wrap: wrap; gap: .3rem; }
.ai-filters button { padding: .65rem .95rem; border: 1px solid transparent; background: transparent; color: var(--ai-muted); font: inherit; font-size: .85rem; cursor: pointer; }
.ai-filters button[aria-pressed="true"] { border-color: var(--ai-cyan); background: var(--ai-cyan); color: #061014; }
.ai-filters button:hover:not([aria-pressed="true"]) { border-color: var(--ai-line); color: var(--ai-ink); }
.ai-catalog-status { font: .61rem/1.5 ui-monospace, Consolas, monospace; color: var(--ai-muted); }
.ai-full-catalog .ai-catalog-group { grid-template-columns: 210px 1fr; gap: 3rem; padding-block: 2.7rem; }
.ai-full-catalog .ai-group-heading h3 { font-size: 1.2rem; }
.ai-full-catalog .ai-group-heading p { color: var(--ai-muted); font-size: .86rem; margin: .8rem 0 0; }
.ai-full-catalog .ai-model-list { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2.5rem 1.8rem; }
.ai-tool-entry { display: flex; flex-direction: column; align-items: start; min-width: 0; }
.ai-tool-entry .ai-logo { margin-bottom: 1rem; }
.ai-tool-entry:target { outline: 1px solid var(--ai-cyan); outline-offset: 10px; }
.ai-tool-use { color: var(--ai-muted); font-size: .68rem; }
.ai-tool-body { display: flex; flex-direction: column; flex: 1; align-items: start; }
.ai-tool-body h4 { font-size: 1.2rem; font-weight: 500; letter-spacing: -.025em; margin: .2rem 0 .8rem; }
.ai-tool-body p { margin: 0 0 1rem; font-size: .86rem; line-height: 1.6; color: var(--ai-muted); }
.ai-contact-section { background: #16292f; border-top: 1px solid #6be4ff45; padding-block: clamp(4rem, 7vw, 7rem); }
.ai-contact-layout { display: grid; grid-template-columns: 1.2fr 1fr; gap: 5rem; align-items: center; }
.ai-contact-layout h2 { font-size: clamp(2.5rem, 5vw, 5rem); }
.ai-contact-layout p:not(.ai-eyebrow) { color: #bfcccf; max-width: 46ch; margin: 1.5rem 0 2rem; }
.ai-contact-details a { position: relative; display: block; text-decoration: none; border-top: 1px solid #6be4ff45; padding: 1.3rem 2rem 1.3rem 0; }
.ai-contact-details a > span { display: block; font: .62rem/1.5 ui-monospace, Consolas, monospace; letter-spacing: .1em; color: var(--ai-cyan); margin-bottom: .5rem; }
.ai-contact-details strong { font-size: clamp(1rem, 1.8vw, 1.6rem); font-weight: 500; overflow-wrap: anywhere; }
.ai-contact-details b { position: absolute; top: 50%; right: 0; font-size: 1.5rem; color: var(--ai-cyan); font-weight: 400; }
.ai-footer { display: flex; justify-content: space-between; gap: 1rem; padding-block: 1.8rem; color: var(--ai-muted); font-size: .77rem; }
.ai-footer a { text-decoration: none; }
.ai-footer a span { margin-left: .7rem; color: var(--ai-cyan); }

@media (max-width: 1180px) {
    .ai-guide-promo-layout { grid-template-columns: 1fr; gap: 3.5rem; }
    .ai-guide-promo-map { width: 100%; max-width: 860px; margin-inline: auto; }
}

@media (max-width: 1100px) {
    .ai-wrap { width: calc(100% - 56px); }
    .ai-hero { gap: 2rem; }
    .ai-hero h1 { font-size: clamp(3.1rem, 5.5vw, 4.3rem); }
    .ai-hero-visual { gap: 8px; }
    .ai-still-three { margin-top: 84px; }
    .ai-catalog-group { grid-template-columns: 150px 1fr; gap: 1rem; }
    .ai-model-list { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 1.3rem; }
    .ai-full-catalog .ai-catalog-group { grid-template-columns: 165px 1fr; gap: 2rem; }
    .ai-full-catalog .ai-model-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ai-topbar { gap: 1.5rem; padding-inline: 28px; }
    .ai-topbar nav { gap: 1.25rem; }
}
@media (max-width: 800px) {
    .ai-directory [data-ai-catalog] { grid-template-columns: 1fr; }
    .ai-directory .ai-catalog-group:nth-child(n+2):nth-child(-n+4) { display: grid; }
    .ai-directory .ai-catalog-group:nth-child(n+2):nth-child(-n+4) .ai-group-heading { min-height: 0; }
    .ai-directory .ai-catalog-group:nth-child(n+2):nth-child(-n+4) .ai-model-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .ai-topbar { height: auto; min-height: 74px; flex-wrap: wrap; padding-block: .8rem; gap: .7rem 1rem; }
    .ai-topbar nav { order: 3; width: 100%; justify-content: space-between; border-top: 1px solid var(--ai-line); padding-top: .7rem; }
    .ai-page :is(section, .ai-tool-entry) { scroll-margin-top: 145px; }
    .ai-hero { grid-template-columns: 1fr; padding-top: 3rem; }
    .ai-hero-copy { max-width: 650px; }
    .ai-hero h1 { font-size: clamp(3.4rem, 8.5vw, 5rem); max-width: 15ch; }
    .ai-hero-visual { width: 100%; max-width: 600px; justify-self: center; }
    .ai-still { aspect-ratio: 9 / 16; }
    .ai-section-heading { grid-template-columns: 1fr; gap: 1.5rem; }
    .ai-section-heading > p { margin-left: 0; }
    .ai-project-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2.5rem 1rem; }
    .ai-project:nth-child(5) { grid-column: span 2; }
    .ai-project:last-child { grid-column: 2 / span 2; }
    .ai-service-layout, .ai-contact-layout, .ai-guide-promo-layout { grid-template-columns: 1fr; gap: 2.5rem; }
    .ai-process { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ai-directory-heading { align-items: start; flex-direction: column; gap: 1rem; }
    .ai-full-catalog .ai-catalog-group { grid-template-columns: 1fr; }
    .ai-full-catalog .ai-group-heading { max-width: 460px; }
    .ai-full-catalog .ai-group-heading h3 { max-width: none; }
    .ai-full-catalog .ai-tool-entry { flex-direction: row; gap: 1rem; }
    .ai-full-catalog .ai-logo { width: 48px; height: 48px; flex-basis: 48px; }
}
@media (max-width: 520px) {
    .ai-wrap { width: calc(100% - 36px); }
    .ai-topbar { padding-inline: 18px; }
    .ai-brand img { width: 32px; height: 32px; }
    .ai-brand { font-size: .8rem; }
    .ai-brand small { font-size: .65rem; }
    .ai-hero h1 { font-size: clamp(2.9rem, 12vw, 4rem); }
    .ai-hero-visual { padding-top: 24px; }
    .ai-still-one { margin-top: 40px; }
    .ai-still-three { margin-top: 75px; }
    .ai-still span { font-size: .43rem; padding-inline: .35rem; }
    .ai-catalog-group { grid-template-columns: 1fr; padding-block: 1.5rem; }
    .ai-group-heading { display: flex; align-items: baseline; gap: .7rem; }
    .ai-group-heading h3 { max-width: none; }
    .ai-model-list { gap: 1rem .5rem; }
    .ai-model-mark .ai-logo { width: 48px; height: 48px; flex-basis: 48px; }
    .ai-model-mark > span:last-child { font-size: .75rem; }
    .ai-project-grid { grid-template-columns: 1fr; }
    .ai-project, .ai-project:nth-child(5), .ai-project:last-child { grid-column: auto; }
    .ai-project-player { max-height: 660px; }
    .ai-project-models a { font-size: .73rem; }
    .ai-project-caption p { font-size: .92rem; }
    .ai-process { grid-template-columns: 1fr; }
    .ai-guide-promo-copy ul { grid-template-columns: 1fr; }
    .ai-guide-promo-copy li, .ai-guide-promo-copy li + li { padding: .9rem 0; border-right: 0; border-bottom: 1px solid #cbd8e7; }
    .ai-guide-promo-copy li:last-child { border-bottom: 0; }
    .ai-guide-promo-map { grid-template-columns: 1fr; min-height: 0; }
    .ai-guide-promo-map::before { top: 5%; bottom: 5%; left: 18px; right: auto; width: 1px; height: auto; }
    .ai-guide-promo-map a, .ai-guide-promo-map a:nth-child(even) { min-height: 0; translate: 0; grid-template-columns: 32px 1fr; gap: .35rem 1rem; padding: 1rem .9rem; }
    .ai-guide-promo-map small { grid-column: 2; }
    .ai-process h3 { margin-top: .8rem; }
    .ai-full-catalog .ai-model-list { grid-template-columns: 1fr; gap: 2rem; }
    .ai-full-catalog .ai-group-heading { display: block; }
    .ai-full-catalog .ai-logo { width: 56px; height: 56px; flex-basis: 56px; }
    .ai-filters button { font-size: .8rem; padding: .55rem .7rem; }
    .ai-footer { flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
    .ai-directory *, .ai-page * { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}

/* Realizacje AI: one calm horizontal row, with a maximum of four cards in view. */
.ai-project-carousel { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: .9rem; }
.ai-project-viewport { min-width: 0; overflow: hidden; }
.ai-project-grid { display: grid !important; grid-auto-flow: column; grid-auto-columns: calc((100% - 3.75rem) / 4); grid-template-columns: none !important; gap: 1.25rem !important; overflow-x: auto; overscroll-behavior-inline: contain; padding: .15rem .1rem 1.1rem; scroll-snap-type: x mandatory; scrollbar-width: none; }
.ai-project-grid::-webkit-scrollbar { display: none; }
.ai-project { grid-column: auto !important; min-width: 0; scroll-snap-align: start; }
.ai-project-arrow { display: grid; place-items: center; width: 2.5rem; height: 2.5rem; padding: 0; border: 1px solid #bccbdd; background: transparent; color: #263c57; font: 1.2rem/1 "Space Grotesk", sans-serif; cursor: pointer; transition: background .2s ease, border-color .2s ease, color .2s ease; }
.ai-project-arrow:hover:not(:disabled), .ai-project-arrow:focus-visible:not(:disabled) { border-color: #285cc4; background: #285cc4; color: #fff; }
.ai-project-arrow:disabled { cursor: default; opacity: .32; }
.ai-project-caption { display: grid; gap: .55rem; padding-top: .8rem; }
.ai-project-topline { display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding-top: .7rem; border-top: 1px solid #cbd6e2; }
.ai-project-client, .ai-project-format, .ai-project-models-label { color: #5f7691; font: 600 .54rem/1.2 ui-monospace, Consolas, monospace; letter-spacing: .1em; text-transform: uppercase; }
.ai-project-format { color: #8a9bad; white-space: nowrap; }
.ai-project-caption h3 { margin: 0; color: #1e2e43; font-size: 1.1rem; font-weight: 600; line-height: 1.15; letter-spacing: -.025em; }
.ai-project-description { min-height: 4.7em; margin: 0; color: #687b91; font-size: .78rem; line-height: 1.55; }
.ai-project { display: flex; flex-direction: column; }
.ai-project-caption { display: flex; flex: 1 1 auto; flex-direction: column; gap: .55rem; }
.ai-project-models { display: flex; flex-direction: column; align-items: stretch; gap: .55rem; min-height: 5.5rem; margin-top: auto; padding-top: .8rem; border-top: 1px solid #d8e0e9; }
.ai-project-models-label { display: flex; align-items: center; gap: .45rem; color: #5f7691; font: 600 .54rem/1.2 ui-monospace, Consolas, monospace; letter-spacing: .1em; text-transform: uppercase; }
.ai-project-models-label::before { content: ""; width: 1.2rem; height: 1px; flex: 0 0 1.2rem; background: #285cc4; opacity: .55; }
.ai-project-models-list { display: flex; flex: 1 1 auto; flex-wrap: wrap; align-items: center; align-content: center; gap: .45rem; min-width: 0; }
.ai-project-models-list.is-multiple { display: flex; }
.ai-project-models a { position: relative; display: grid; place-items: center; width: 2.5rem; height: 2.5rem; min-height: 2.5rem; max-width: none; padding: 0; border: 0; border-radius: 50%; background: transparent; color: #2d435d; box-shadow: none; font-size: 0; line-height: 1; text-decoration: none; white-space: nowrap; transition: color .18s ease; }
.ai-project-models a::after { content: attr(data-tooltip); position: absolute; left: 50%; bottom: calc(100% + .55rem); z-index: 10; width: max-content; max-width: 15rem; padding: .42rem .6rem; border: 1px solid #3e5875; border-radius: .45rem; background: #263950; color: #fff; font-size: .68rem; font-weight: 600; line-height: 1.2; white-space: nowrap; pointer-events: none; opacity: 0; transform: translate(-50%, .25rem); transition: opacity .18s ease, transform .18s ease; }
.ai-project-models a:hover::after, .ai-project-models a:focus-visible::after { opacity: 1; transform: translate(-50%, 0); }
.ai-project-models a:hover .ai-logo, .ai-project-models a:focus-visible .ai-logo { transform: translateY(-2px) scale(1.04); }
.ai-project-models .ai-logo { width: 2.25rem; height: 2.25rem; flex: 0 0 2.25rem; transition: transform .18s ease; }
@media (max-width: 800px) {
    .ai-project-grid { grid-auto-columns: calc((100% - 2rem) / 3); gap: 1rem !important; }
}
@media (max-width: 1200px) {
    .ai-project-models-list.is-multiple { display: flex; }
    .ai-project-models-list.is-multiple a { width: 2.35rem; height: 2.35rem; min-height: 2.35rem; padding: 0; font-size: 0; }
    .ai-project-models-list.is-multiple .ai-logo { width: 2.1rem; height: 2.1rem; flex-basis: 2.1rem; }
}
@media (max-width: 520px) {
    .ai-project-carousel { grid-template-columns: 2rem minmax(0, 1fr) 2rem; gap: .4rem; }
    .ai-project-grid { grid-auto-columns: 100%; gap: .8rem !important; padding-inline: 0; }
    .ai-project-arrow { width: 2rem; height: 2rem; font-size: 1rem; }
    .ai-project-description { min-height: 0; }
}

/* assets/editorial-light.css */
/* Shared light art direction. Loaded after legacy styles deliberately.
 * Each used weight maps to a real WOFF2 file, so the browser never has to
 * manufacture a heavier cut from Regular. */
:root{
    --bg:#fafaf9;--bg-soft:#f2f3f3;--surface:#fff;--surface-light:#eceeef;
    --text:#191c20;--muted:#64696f;--quiet:#767c83;
    --line:rgba(25,28,32,.13);--line-strong:rgba(25,28,32,.25);
    --accent:#20262d;--accent-cool:#285cc4;--accent-soft:#e8edf4;
    --ai-accent:#285cc4;--shadow:0 15px 40px #1520300a;--content:1320px;
    --font-text:"SF Pro Text",Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
    --font-display:"SF Pro Display","SF Pro Text",Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
    --font-sans:var(--font-text);
    --editorial-font:var(--font-text);
}

/* Main portfolio order: tools and AI work before the horizontal films and music videos. */
body.light-theme:not(.ai-page) #showreel > .section-inner > .portfolio-stack > #client-reels{order:1}
body.light-theme:not(.ai-page) #showreel > .section-inner > .portfolio-stack > #tech{order:2}
body.light-theme:not(.ai-page) #showreel > .section-inner > .portfolio-stack > .ai-zone{order:3}
body.light-theme:not(.ai-page) #showreel > .section-inner > .portfolio-stack > #long-form{order:4}
body.light-theme:not(.ai-page) #showreel > .section-inner > .portfolio-stack > #music-videos{order:5}
html{color-scheme:light;font-family:var(--font-sans);font-synthesis:none;font-optical-sizing:auto;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body.light-theme{margin:0;background:#fafaf9!important;color:var(--text);font-family:var(--font-text)!important;font-weight:400;letter-spacing:-.005em;line-height:1.55;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body.light-theme::before,body.light-theme::after{display:none!important}
body.light-theme *,body.light-theme *::before,body.light-theme *::after{box-sizing:border-box}
body.light-theme :is(h1,h2,h3,h4,p,a,button,span,strong,small,summary,label,li){font-family:var(--editorial-font)!important}
body.light-theme :is(h1,h2,h3,h4),body.light-theme :is(h1,h2,h3,h4) :is(span,strong,small,em,a){font-family:var(--font-display)!important}
body.light-theme :is(a,button):focus-visible{outline:2px solid #285cc4!important;outline-offset:5px}
body.light-theme ::selection{background:#dce8fb;color:#142036}
body.light-theme .section-inner,.editorial-wrap{width:min(1320px,calc(100% - 96px));margin-inline:auto}
body.light-theme h2{font-weight:600;letter-spacing:-.035em}
body.light-theme .section-kicker{color:#64696f!important;font-size:.68rem!important;letter-spacing:.1em!important;font-weight:600!important}
body.light-theme .section-kicker::before,
body.light-theme .section-kicker::after,
body.light-theme .section-kicker svg,
body.light-theme .service-icon,
body.light-theme .process-icon,
body.light-theme .about-copy-icon{display:none!important}
body.light-theme .section-copy{color:#64696f}
body.light-theme .section{background:transparent}
body.light-theme .section::before,body.light-theme .section::after{display:none!important}
body.light-theme .reveal{opacity:1!important;transform:none!important;filter:none!important}
body.light-theme .site-nav{
    position:sticky!important;top:0;min-height:80px!important;
    width:100%!important;padding:14px max(32px,calc((100vw - 1320px)/2))!important;
    border-bottom:1px solid #e6e7e8!important;background:#fafaf9f7!important;
    box-shadow:none!important;backdrop-filter:blur(14px);
}
body.light-theme .site-nav .brand-copy{color:#191c20;font-size:.86rem!important;font-weight:600}
body.light-theme .site-nav .brand-copy>span{color:#797e84!important;font-size:.68rem!important;letter-spacing:0!important}
body.light-theme .site-nav .brand-logo-wrap{width:37px!important;height:37px!important;flex-basis:37px!important;border:0!important;background:#121416!important}
body.light-theme .nav-links{gap:1.65rem!important}
body.light-theme .nav-links a{color:#63686e!important;font-weight:500!important;font-size:.78rem!important;letter-spacing:-.01em!important}
body.light-theme .nav-links a:hover,body.light-theme .nav-links a.is-active{color:#171b20!important}
body.light-theme .nav-links .nav-ai-link{min-width:36px!important;height:36px!important;min-height:36px!important;border:0!important;background:#e9eef6!important;color:#285cc4!important;font-size:.76rem!important;letter-spacing:0!important}
body.light-theme .nav-links .nav-ai-link:hover{background:#dbe5f6!important}
body.light-theme .language-menu summary{color:#545c65!important;border:0!important}
body.light-theme .language-chevron{color:#64696f!important}
body.light-theme .language-options{background:#fff!important;border-color:#e1e3e6!important;box-shadow:0 15px 35px #121a2510}
body.light-theme .language-option{color:#414952!important}
body.light-theme .language-option.is-current,body.light-theme .language-option:hover{background:#f0f3f8!important;color:#202a39!important;border-color:#285cc4!important}

/* The opening is intentionally compact: actual moving work stays above the fold. */
.portfolio-intro{padding-top:clamp(45px,5.2vw,82px)}
.intro-layout{display:grid;grid-template-columns:1.35fr 1fr;gap:60px;align-items:end;padding-bottom:44px}
.intro-kicker{font-size:.64rem;letter-spacing:.12em;color:#535b65;margin:0 0 22px;font-weight:600}
.intro-kicker span{padding-inline:12px;color:#abb0b6}
.portfolio-intro h1{font-size:clamp(44px,5.4vw,78px);line-height:1.06;font-weight:500;letter-spacing:-.065em;margin:0;color:#171b20}
.portfolio-intro h1>span{color:#81878e}
.hero-rotating-line{display:inline-block;white-space:nowrap}
.hero-rotating-text{display:inline}
.hero-typing-cursor{display:inline-block;width:.055em;height:.82em;margin-left:.12em;background:currentColor;vertical-align:-.06em;animation:hero-typing-cursor-blink .82s steps(1,end) infinite}
@keyframes hero-typing-cursor-blink{0%,48%{opacity:1}49%,100%{opacity:0}}
.intro-summary{max-width:430px;justify-self:end;padding-bottom:4px}
.intro-summary>p{font-size:clamp(14px,1.1vw,16px);line-height:1.7;color:#626971;margin:0 0 24px}
.editorial-button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;background:#1b2026;color:#fff!important;padding:14px 19px;text-decoration:none;font-size:.78rem;font-weight:500;border:1px solid #1b2026;transition:background .2s}
.editorial-button:hover{background:#343c47}
.editorial-button>span{font-size:1.15rem}
.reel-section-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:17px}
.reel-section-bar>p{display:flex;align-items:center;gap:10px;margin:0;font-size:.61rem;font-weight:600;letter-spacing:.1em;color:#4f5963}
.reel-bar-note{font-size:.65rem;font-weight:400;letter-spacing:0;color:#7d848c;margin-left:5px}
.live-dot{width:5px;height:5px;background:#285cc4;display:inline-block;border-radius:50%}
.reel-navigation{display:flex;align-items:center;gap:5px}
.reel-navigation button{display:grid;place-items:center;width:32px;height:32px;padding:0;color:#363e48;background:transparent;border:1px solid transparent;cursor:pointer;font-size:18px;line-height:1}
.reel-navigation button:hover{border-color:#d8dce1;background:#fff}
.reel-navigation button svg{width:15px;height:15px}
.reel-viewport{width:100%;overflow:hidden;touch-action:pan-y pinch-zoom;cursor:grab;padding-bottom:2px}
.reel-viewport.is-dragging{cursor:grabbing}
.reel-track{display:flex;width:max-content;will-change:transform}
.reel-group{display:flex;gap:20px;padding-right:20px;flex-shrink:0}
.reel-card{display:block;width:clamp(225px,19vw,306px);padding:0;border:0;background:none;color:#20272e;text-align:left;cursor:pointer;flex:0 0 auto;user-select:none;-webkit-user-select:none}
.ai-page-showcase .reel-card{width:var(--ai-reel-card-width,clamp(280px,26vw,520px))}
.reel-card:focus-visible{outline-offset:-2px!important}
.reel-picture{display:block;position:relative;aspect-ratio:9/16;overflow:hidden;background:#e1e3e4;border-radius:4px!important}
.reel-picture video{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none}
[data-reel-showcase="portfolio"] .reel-card[data-reel-file="tados-firek-ai-02"] .reel-picture video{transform:scale(1.065);transform-origin:center center}
.reel-open{display:grid;place-items:center;position:absolute;bottom:14px;right:14px;width:37px;height:37px;border-radius:50%;background:#fffffff0;color:#1c242d;border:1px solid #ffffff90;transition:scale .2s;box-shadow:0 3px 16px #00000015}
body.light-theme .reel-open{border-radius:50%!important}
.reel-open svg{width:18px;height:18px}
.reel-card:hover .reel-open{scale:1.13}
.reel-caption{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 2px 0}
.reel-caption small{display:block;font-size:.53rem;letter-spacing:.12em;font-weight:500;color:#626e7c;margin-bottom:5px}
.reel-caption strong{display:block;font-weight:600;font-size:.77rem;line-height:1.4;letter-spacing:-.015em}
body.light-theme #showreel{padding-top:70px!important;background:transparent!important}
body.light-theme #main .section-kicker::before{filter:grayscale(1) brightness(.6)}
body.light-theme #showreel>.section-inner>.section-header{margin-bottom:35px}
body.light-theme #showreel h2{font-weight:500;letter-spacing:-.05em}
body.light-theme .category-top{border-color:#dce1e5!important}
body.light-theme .category-note{color:#717984}
body.light-theme :is(.video-card,.external-card){border-color:#d4d9df!important;box-shadow:none!important;border-radius:10px!important}
body.light-theme .work-video{filter:none!important}
body.light-theme .video-card::before,body.light-theme .video-card::after{display:none!important}
body.light-theme .video-card .play-center,body.light-theme .external-play{
    background:#ffffffed!important;color:#17202a!important;border:1px solid #ffffff99!important;
    width:58px!important;height:58px!important;box-shadow:0 5px 24px #0000001a!important;backdrop-filter:blur(8px);
}
body.light-theme .video-card .play-center::before,body.light-theme .external-play::before{border-color:#ffffff70!important}
body.light-theme .video-card .play-center:hover,body.light-theme .external-play:hover{background:white!important}
body.light-theme .control-bar{color:#fff!important;background:#111923cc!important}
body.light-theme .control-bar,body.light-theme .volume-popover{--accent:#edf4ff;--text:#fff;--muted:#d2dbe7;color:#fff}
body.light-theme .control-button,body.light-theme .time-code{color:#fff!important}
body.light-theme .control-button:hover,body.light-theme .control-button:focus-visible,body.light-theme .volume-control.is-open .volume-toggle{background:#ffffff26!important;color:#fff!important}
body.light-theme .volume-value{color:#edf4ff!important}
body.light-theme .reels-toggle{color:#293441!important;border-color:#cbd3dc!important;background:transparent!important;padding:13px 22px!important;font-size:.8rem!important}
body.light-theme .reels-toggle:hover{background:#edf1f5!important}
body.light-theme .year-badge{background:#fffffff0!important;border:0!important;color:#25313f!important}
body.light-theme #musicGrid .music-project-meta,body.light-theme #longGrid .music-project-meta{border-color:#dce1e5}
body.light-theme #musicGrid .music-project-meta h3,body.light-theme #longGrid .music-project-meta h3{color:#242b34;font-weight:600;line-height:1.35}
body.light-theme #musicGrid .music-project-meta p,body.light-theme #longGrid .music-project-meta p{color:#6a737e;line-height:1.6}
body.light-theme #musicGrid .music-project-code,body.light-theme #longGrid .music-project-code{color:#7a8592;letter-spacing:.04em;font-size:.56rem}
body.light-theme #musicGrid .music-project-achievement,body.light-theme #longGrid .music-project-achievement{color:#285cc4;background:transparent;border-color:#8fa9cc}
body.light-theme #musicGrid .music-project-credits,body.light-theme #longGrid .music-project-credits{border-color:#dce1e5}
body.light-theme #musicGrid .music-project-credits span,body.light-theme #longGrid .music-project-credits span{color:#8490a0}
body.light-theme #musicGrid .music-project-credits strong,body.light-theme #longGrid .music-project-credits strong{color:#34455a}
body.light-theme #showreel #tech{
    margin-top:clamp(46px,6vw,82px);padding:clamp(50px,6vw,78px) 0!important;
    border-top:1px solid #dce1e5;border-bottom:1px solid #dce1e5
}
body.light-theme #showreel #tech .section-header{
    align-items:end!important;margin-bottom:0!important;padding-bottom:clamp(30px,3.5vw,44px)!important;
    border:0!important
}
body.light-theme #showreel #tech .section-kicker{margin-bottom:14px!important}
body.light-theme #showreel #tech h2{
    max-width:13ch;color:#202831;font-size:clamp(2.15rem,3.8vw,3.65rem)!important;
    font-weight:500!important;line-height:1.02!important;letter-spacing:-.055em!important
}
body.light-theme #showreel #tech .section-copy{
    max-width:44ch!important;align-self:end;color:#727c88!important;font-size:.78rem!important;line-height:1.65!important
}
body.light-theme #showreel #tech .tools-group{margin:0!important;padding:0!important;border:0!important}
body.light-theme #showreel #tech .programs-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:0!important;
    border-top:1px solid #dce1e5!important;border-bottom:1px solid #dce1e5!important
}
body.light-theme #showreel #tech .programs-grid .tool-item{
    --program-accent:#5c63cf;display:flex!important;min-height:220px!important;padding:26px 28px 28px!important;
    flex-direction:column!important;align-content:initial!important;border:0!important;
    border-top:2px solid var(--program-accent)!important;border-right:1px solid #dce1e5!important;
    background:#fff!important;box-shadow:none!important;transition:background-color .2s ease!important
}
body.light-theme #showreel #tech .programs-grid .tool-item:nth-child(2){--program-accent:#795fdf}
body.light-theme #showreel #tech .programs-grid .tool-item:nth-child(3){--program-accent:#2875ca}
body.light-theme #showreel #tech .programs-grid .tool-item:last-child{border-right:0!important}
body.light-theme #showreel #tech .programs-grid .tool-item:hover,
body.light-theme #showreel #tech .programs-grid .tool-item:focus-within{
    background:#f8fafc!important;transform:none!important
}
body.light-theme #showreel #tech .programs-grid .tool-head{
    display:flex!important;width:100%!important;margin:0 0 25px!important;
    align-items:flex-start!important;justify-content:space-between!important;gap:16px!important
}
body.light-theme #showreel #tech .programs-grid .tool-icons{
    order:1!important;display:grid!important;width:56px!important;height:56px!important;place-items:center!important;
    border:0!important;background:transparent!important;box-shadow:none!important
}
body.light-theme #showreel #tech .programs-grid .tool-icon,
body.light-theme #showreel #tech .programs-grid .adobe-product-icon{
    width:52px!important;height:52px!important;padding:0!important;border:0!important;border-radius:10px!important;
    object-fit:contain!important;box-shadow:0 8px 22px rgba(39,49,68,.12)!important
}
body.light-theme #showreel #tech .programs-grid .tool-tag{
    order:2!important;display:inline-flex!important;min-height:0!important;margin-top:2px!important;
    padding:.26rem 0!important;border:0!important;border-bottom:1px solid var(--program-accent)!important;
    background:transparent!important;color:#667286!important;font-size:.55rem!important;font-weight:700!important;
    line-height:1.2!important;letter-spacing:.09em!important;text-transform:uppercase
}
body.light-theme #showreel #tech .programs-grid .tool-item h3{
    margin:0!important;color:#253448!important;font-size:clamp(1.05rem,1.45vw,1.28rem)!important;
    font-weight:650!important;line-height:1.2!important;letter-spacing:-.025em!important
}
body.light-theme #showreel #tech .programs-grid .tool-desc{
    display:block!important;max-width:36ch;margin:.7rem 0 0!important;overflow:visible!important;
    color:#6e7987!important;font-size:.76rem!important;line-height:1.58!important;
    -webkit-line-clamp:unset!important
}
body.light-theme .service-card::before{display:none!important}

/* One continuous, quiet blue-grey surface for the films and model directory. */
body.light-theme .ai-zone{--ai-accent:#285cc4;padding-top:65px;margin-top:20px}
body.light-theme .ai-zone::before{background:var(--ai-dynamic-bg,#f0f3f7)!important}
body.light-theme .ai-zone-intro{border-color:#d4dde8!important;padding-top:0!important}
body.light-theme .ai-zone-kicker{color:#54759c!important;letter-spacing:.12em}
body.light-theme .ai-zone-mark{background:#dde6f4!important;border:0!important;color:#285cc4!important;font-weight:500!important}
body.light-theme .ai-zone-heading h2{color:#1e2e43!important;font-weight:500!important;font-size:clamp(34px,4.1vw,58px)!important;line-height:1.1!important;letter-spacing:-.055em!important}
body.light-theme .ai-zone-heading p{color:#6f7b8b!important}
body.light-theme #ai-reels{--ai-gallery-line:#d4dde8;--ai-gallery-ink:#263950;--ai-accent:#285cc4}
body.light-theme #ai-reels .ai-gallery-index{display:none}
body.light-theme #ai-reels .ai-gallery-header{grid-template-columns:1.2fr 1fr!important;gap:3rem!important;margin-bottom:2rem!important}
body.light-theme #ai-reels .ai-gallery-title h3{font-size:clamp(25px,3vw,40px);font-weight:500;line-height:1.15;max-width:none;letter-spacing:-.04em}
body.light-theme #ai-reels .ai-gallery-title h3 br{display:none}
body.light-theme #ai-reels .ai-gallery-meta{border-color:#d4dde8;padding-left:0;border-left:0}
body.light-theme #ai-reels .ai-gallery-meta p{color:#6a7889}
body.light-theme #ai-reels .ai-gallery-meta span{color:#677d99}
body.light-theme #ai-reels .ai-grid .video-card{border:0!important;background:#e6edf4!important}
body.light-theme #ai-reels .play-center{color:#1d3046!important;border-color:#ffffffaa!important}
body.light-theme #ai-reels .play-center::before{border-color:#ffffff70!important}
body.light-theme #ai-reels .section-kicker::before{display:none!important}
body.light-theme #main #showreel .portfolio-category .category-top .section-kicker::before,
body.light-theme #main #showreel #ai-reels .ai-gallery-title .section-kicker::before{
    content:none!important;display:none!important;background:none!important
}
body.light-theme #ai-reels .video-card .video-caption{color:#536479!important;font-weight:400;font-size:.73rem!important;line-height:1.65!important}
body.light-theme #ai-reels .caption-link{color:#314a6b!important;text-decoration-color:#b7c5d7}
body.light-theme #ai-reels .video-card.has-models.has-caption{margin-bottom:12rem!important}
body.light-theme #ai-reels .video-card .model-badges{
    gap:.5rem!important;min-height:3.35rem!important;padding:.62rem 0 .68rem!important;
    border-color:#c6d2df!important;background:transparent!important
}
body.light-theme #ai-reels .video-card .model-badges::before{
    content:"MODELE WYKORZYSTANE W FILMIE"!important;
    width:100%;padding:0!important;border:0!important;color:#697c93!important;
    font-size:.52rem!important;letter-spacing:.1em!important
}
body.light-theme #ai-reels .video-card .model-badge{
    gap:.42rem!important;padding:.32rem .55rem!important;border:1px solid #cbd6e2!important;
    background:#fff!important;color:#2d435d!important;font-size:.72rem!important;font-weight:700!important
}
body.light-theme #ai-reels .video-card .model-badge + .model-badge::before{display:none!important}
body.light-theme #ai-reels .video-card .model-badge img{
    width:1.35rem!important;height:1.35rem!important;flex-basis:1.35rem!important
}
body.light-theme #ai-reels .video-card.has-models .video-caption{top:auto!important}
body.light-theme .ai-directory,body.light-theme.ai-page{
    --ai-ink:#1e2a3a;--ai-muted:#647182;--ai-cyan:#285cc4;--ai-line:#d5dee8;--ai-ground:#fafaf9;
}
body.light-theme .ai-directory{padding-top:clamp(38px,4.5vw,68px);padding-bottom:clamp(52px,6vw,84px)}
body.light-theme .ai-directory-heading{
    display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:40px;
    margin-bottom:clamp(24px,3vw,38px);padding-bottom:clamp(24px,3vw,36px);
    border-bottom:1px solid #cdd8e5
}
body.light-theme .ai-directory-heading h2{
    max-width:20ch;margin:0;font-size:clamp(2.25rem,3.65vw,3.8rem);font-weight:500;
    line-height:.98;letter-spacing:-.055em
}
body.light-theme .ai-directory .ai-eyebrow{margin-bottom:15px;font-size:.58rem;letter-spacing:.14em}
body.light-theme .ai-directory .ai-text-link{
    min-width:min(330px,34vw);justify-content:space-between;padding:12px 0;
    border-color:#9fb2cb;font-size:.76rem
}

/* A flat editorial directory: every category uses the same rhythm and columns. */
body.light-theme .ai-directory [data-ai-catalog="compact"]{
    display:block!important
}
body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-catalog-group,
body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-catalog-group:nth-child(n+2):nth-child(-n+4){
    display:grid!important;grid-column:auto!important;
    grid-template-columns:clamp(175px,18vw,245px) minmax(0,1fr)!important;
    align-items:center;gap:clamp(22px,3vw,46px)!important;
    min-height:126px;padding:24px 0!important;border-top:0!important;border-bottom:1px solid #cdd8e5
}
body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-catalog-group:first-child{
    border-top:0!important
}
body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-group-heading{
    display:block!important;min-height:0!important;align-self:center
}
body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-group-heading::before,
body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-group-heading h3::before{
    content:none!important;display:none!important
}
body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-group-heading h3{
    max-width:19ch;margin:0;color:#26364a;font-size:clamp(.88rem,1.25vw,1.05rem);
    font-weight:600;line-height:1.35;letter-spacing:-.025em
}
body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-model-list,
body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-catalog-group:nth-child(n+2):nth-child(-n+4) .ai-model-list{
    display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;
    align-items:start;gap:clamp(10px,1.4vw,22px)!important
}
body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-model-mark{
    min-height:82px;padding:3px 0!important;gap:10px!important;justify-content:start;
    color:#203044;text-align:center
}
body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-model-mark .ai-logo{
    width:46px;height:46px;flex-basis:46px;padding:0;background:transparent;box-shadow:none
}
body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-model-mark>span:last-child{
    max-width:14ch;color:#2f4055;font-size:.7rem;line-height:1.28;font-weight:600;
    text-wrap:balance
}
body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-model-mark:hover{
    color:#285cc4
}
body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-model-mark:hover .ai-logo{
    transform:translateY(-2px)
}
body.light-theme #about .about-icon-row,body.light-theme #services .section-inner,body.light-theme #services .scope-list,body.light-theme #services .scope-list li{border-color:#dce1e5!important}
body.light-theme #about h2,body.light-theme #services h2{font-weight:500!important;letter-spacing:-.045em!important;line-height:1.12!important}
body.light-theme #services .section-kicker{color:#67717d!important}
body.light-theme #about .about-copy p{color:#66717d}
body.light-theme #about .about-copy strong{color:#313d4a}
body.light-theme #contact{background:#eef0f2!important;border-top:1px solid #dce1e5}
body.light-theme #contact h2{color:#202934;font-weight:500!important;letter-spacing:-.05em!important;line-height:1.12}
body.light-theme #contact .contact-copy{color:#687481}
body.light-theme #contact :is(.contact-link,.contact-card){background:transparent!important;border-color:#d2d9e1!important;box-shadow:none!important}
body.light-theme #contact .contact-link strong{color:#273749}
body.light-theme #contact .contact-link span{color:#778698}
body.light-theme #contact .client-logo{background:#fff!important;border-color:#e1e6ec!important;color:#4c5b6e!important;box-shadow:none!important}
body.light-theme #contact .client-logo img{filter:brightness(0)!important;opacity:.68}
body.light-theme #contact .client-logo-name{color:#5c6c7f!important}
body.light-theme #contact #clients-title{font-weight:500!important;letter-spacing:-.035em!important;font-size:clamp(1.7rem,3vw,2.7rem)!important}
body.light-theme #contact .clients-title{color:#3a4c61!important}
body.light-theme .client-list-toggle{background:#fff!important;border-color:#d6dde6!important;color:#465a73!important}
body.light-theme .client-full-list{background:#f8f9fb!important;border-color:#d6dde6!important;color:#465a73!important}

/* Client proof now follows the opening film carousel as one compact, seamless band. */
body.light-theme .portfolio-intro .clients--featured{
    margin:0!important;padding:clamp(20px,2.4vw,34px) 0 clamp(16px,2vw,24px)!important;
    border-top:0!important;border-bottom:0!important;
    background:transparent!important;overflow:hidden;opacity:1!important;transform:none!important
}
body.light-theme .portfolio-intro .clients--featured::before{
    content:"";display:block;width:min(calc(100% - 64px),1250px);height:1px;margin:0 auto clamp(20px,2.4vw,34px);
    background:#e1e5e9
}
body.light-theme .clients--featured .client-collaborations-header{
    position:relative;z-index:2;width:min(calc(100% - 64px),1250px);margin:0 auto 20px!important;
    text-align:center!important;opacity:1!important;transform:none!important;animation:none!important
}
body.light-theme .clients--featured .client-collaborations-header *{
    opacity:1!important;transform:none!important;animation:none!important
}
body.light-theme .clients--featured .client-collaborations-header>div{
    display:grid!important;justify-items:center!important;justify-content:center!important;gap:9px!important
}
body.light-theme .clients--featured .section-kicker{
    justify-content:center!important;margin:0!important;color:#6d7680!important;font-size:.56rem!important;
    line-height:1.2!important;letter-spacing:.14em!important;text-align:center!important
}
body.light-theme .clients--featured #clients-title{
    margin:0!important;color:#1d232a!important;font-size:clamp(1.3rem,2.05vw,1.9rem)!important;
    max-width:none!important;font-weight:500!important;line-height:1.08!important;
    letter-spacing:-.04em!important;text-align:center!important;will-change:auto!important
}
body.light-theme .clients--featured .client-logos{
    gap:.1rem!important;padding:0!important;background:transparent!important
}
body.light-theme .clients--featured .client-logo,
body.light-theme .clients--featured .client-full-list .client-logo{
    min-height:96px!important;padding:.65rem .8rem .55rem!important;gap:.45rem!important;
    border:0!important;background:transparent!important;box-shadow:none!important;color:#445365!important
}
body.light-theme .clients--featured .client-logo:hover,
body.light-theme .clients--featured .client-logo:focus-visible{
    background:transparent!important;transform:translateY(-2px)
}
body.light-theme .clients--featured .client-logo img{
    height:43px!important;max-width:84%!important;filter:brightness(0)!important;opacity:.66
}
body.light-theme .clients--featured .client-logo-name{
    min-height:2.25em!important;color:#647286!important;font-size:.64rem!important;
    font-weight:600!important;line-height:1.18!important
}
body.light-theme .clients--featured>.client-list-toggle,
body.light-theme .clients--featured>.client-full-list{display:none!important}

body.light-theme #contact .clients--secondary{
    margin-top:clamp(58px,7vw,96px)!important;padding-top:clamp(34px,4vw,54px)!important;
    border-top:1px solid #d3dae2!important;overflow:hidden
}
body.light-theme #contact .clients--secondary .client-collaborations-header{
    margin:0 0 20px!important;text-align:center!important
}
body.light-theme #contact .clients--secondary .client-collaborations-header>div{
    display:grid!important;justify-items:center!important;justify-content:center!important;gap:0!important
}
body.light-theme #contact .clients--secondary .section-kicker{
    margin:0!important;color:#6e7b89!important;font-size:.56rem!important;letter-spacing:.14em!important
}
body.light-theme #contact .clients--secondary h3{
    margin:0!important;color:#202934!important;font-size:clamp(1.45rem,2.4vw,2.15rem)!important;
    font-weight:500!important;line-height:1.1!important;letter-spacing:-.04em!important
}
body.light-theme #contact .clients--secondary .client-logos{
    gap:0!important;padding:0!important;background:transparent!important
}
body.light-theme #contact .clients--secondary .client-logo,
body.light-theme #contact .clients--secondary .client-full-list .client-logo{
    min-height:96px!important;padding:.65rem .8rem .55rem!important;gap:.45rem!important;
    border:0!important;background:transparent!important;box-shadow:none!important;color:#445365!important
}
body.light-theme #contact .clients--secondary .client-logo:hover,
body.light-theme #contact .clients--secondary .client-logo:focus-visible{
    background:transparent!important;transform:translateY(-2px)
}
body.light-theme #contact .clients--secondary .client-logo img{
    height:43px!important;max-width:84%!important;filter:brightness(0)!important;opacity:.66
}
body.light-theme #contact .clients--secondary .client-logo-name{
    min-height:2.25em!important;color:#647286!important;font-size:.64rem!important;
    font-weight:600!important;line-height:1.18!important
}
body.light-theme #contact .clients--secondary .client-list-toggle{
    width:36px;height:36px;margin:17px auto 0!important;background:transparent!important;
    border-color:#c5cfda!important;color:#43566d!important
}
body.light-theme #contact .clients--secondary .client-full-list{
    background:transparent!important;border:0!important
}
body.light-theme footer{background:transparent;color:#79828d;border-color:#dce1e5}

/* AI is part of the same visual identity, not a separate dark microsite. */
body.light-theme.ai-page{font-family:var(--editorial-font)!important;color:var(--ai-ink)}
body.light-theme .ai-topbar{background:#fafaf9f7;border-color:#e0e4e8;backdrop-filter:blur(14px)}
body.light-theme .ai-brand{color:#192533}
body.light-theme .ai-brand small{color:#79828c}
body.light-theme .ai-hero{min-height:0;display:block;padding-top:55px;padding-bottom:0}
body.light-theme .ai-hero-copy{display:grid;grid-template-columns:1.3fr 1fr;column-gap:60px;max-width:none;align-items:center;padding-bottom:36px}
body.light-theme .ai-hero-copy>.ai-eyebrow{grid-column:1/-1;font-size:.62rem;color:#607796}
body.light-theme .ai-hero h1{grid-column:1;grid-row:2/4;font-size:clamp(45px,5.4vw,76px);margin:0;line-height:1.06;font-weight:500;letter-spacing:-.06em}
body.light-theme .ai-hero h1 em{color:#7488a0}
body.light-theme .ai-hero-description{grid-column:2;max-width:44ch;font-size:.92rem;margin:0}
body.light-theme .ai-hero-actions{grid-column:2;margin-top:22px;gap:18px}
body.light-theme .ai-button{background:#23354b;color:#fff!important;font-weight:500;font-size:.78rem;padding:14px 18px}
body.light-theme .ai-button:hover{background:#354e6e}
body.light-theme .ai-hero-actions .ai-text-link{font-size:.77rem;border-color:#b8c8dc}
body.light-theme .ai-page-showcase{padding-top:10px;padding-bottom:40px}
body.light-theme.ai-page h2{font-weight:500;line-height:1.1}
body.light-theme .ai-section-heading>p{font-size:.92rem;line-height:1.7}
body.light-theme .ai-service-section{background:#f0f3f7}
body.light-theme .ai-contact-section{background:#eaf0f7;border-color:#d5dfe9}
body.light-theme .ai-contact-layout p:not(.ai-eyebrow){color:#63758b}
body.light-theme .ai-contact-details a{border-color:#cbd8e7}
body.light-theme .ai-project-player{border-radius:4px}
body.light-theme .ai-project-play{background:#fffffff0;color:#1e2c3b;border-color:#ffffffb3;box-shadow:0 4px 20px #00000015}
body.light-theme .ai-project-play::before{border-color:#ffffff70}
body.light-theme .ai-project-play:hover{background:white;color:#285cc4}
body.light-theme .ai-project-caption h3{font-weight:600}
body.light-theme .ai-project-line{display:block;margin:.9rem 0 1.1rem;padding-top:.9rem;border-color:#cbd6e2}
body.light-theme .ai-project-models-label{
    display:block;margin-bottom:.55rem;color:#6a7d94;font-size:.55rem;font-weight:700;
    letter-spacing:.1em;text-transform:uppercase
}
body.light-theme .ai-project-models{gap:.45rem}
body.light-theme .ai-project-models a{
    position:relative;display:grid;place-items:center;width:2.5rem;height:2.5rem;min-height:2.5rem;
    padding:0;border:0;border-radius:50%;background:transparent;color:#2d435d;
    box-shadow:none;font-size:0;line-height:1
}
body.light-theme .ai-project-models a:hover,
body.light-theme .ai-project-models a:focus-visible{border:0;background:transparent;color:#285cc4;box-shadow:none}
body.light-theme .ai-project-models .ai-logo{width:2.25rem;height:2.25rem;flex-basis:2.25rem}
body.light-theme .ai-offer-list article{grid-template-columns:1fr!important;gap:0!important}
body.light-theme .ai-tool-entry .ai-logo{margin-bottom:0;background:transparent!important;padding:0!important;box-shadow:none!important}
body.light-theme .ai-tool-entry .ai-logo-link{display:inline-flex;color:inherit;text-decoration:none;border-radius:4px;margin-bottom:1rem}
body.light-theme .ai-tool-entry .ai-logo-link:focus-visible{outline:2px solid #285cc4;outline-offset:5px}
body.light-theme .ai-tool-entry .ai-logo-link:hover .ai-logo{transform:translateY(-2px)}
body.light-theme .ai-tool-body h4{font-weight:600}
body.light-theme .ai-filters button[aria-pressed=true]{background:#283d56;border-color:#283d56;color:#fff}
body.light-theme .ai-eyebrow{letter-spacing:.11em;font-weight:600}

/* Full film player: large image, native audio controls, keyboard-safe close. */
.reel-dialog{padding:20px;border:1px solid #e0e5eb;background:#fafaf9;color:#1e2b3b;max-width:min(620px,calc(100vw - 24px));width:max-content;max-height:calc(100dvh - 32px);overflow:auto;box-shadow:0 30px 100px #00000030}
.reel-dialog::backdrop{background:#172334b8;backdrop-filter:blur(8px)}
.reel-dialog-heading{display:flex;justify-content:space-between;gap:30px;align-items:center;padding-bottom:16px}
.reel-dialog-heading span{font-size:.55rem;letter-spacing:.1em;color:#758293}
.reel-dialog h2{font-size:1rem;font-weight:600;margin:4px 0 0;letter-spacing:-.025em}
.reel-dialog-close{width:36px;height:36px;flex-shrink:0;border:1px solid #d8dfe7;background:#fff;color:#2b3e55;font-size:24px;cursor:pointer}
.reel-dialog video{display:block;max-height:calc(100dvh - 160px);width:auto;max-width:100%;min-width:240px;aspect-ratio:9/16;margin:auto;background:#111;object-fit:contain}
.reel-dialog-error{max-width:45ch;font-size:.8rem}
@media(min-width:1700px){
    html{font-size:clamp(18px,.94vw,22px)}
    :root{--desktop-content:min(82vw,2400px)}

    body.light-theme .section-inner,.editorial-wrap{width:var(--desktop-content)}
    body.light-theme .site-nav{
        min-height:92px!important;
        padding:16px max(42px,calc((100vw - var(--desktop-content))/2))!important
    }
    body.light-theme .site-nav .brand-logo-wrap{
        width:46px!important;height:46px!important;flex-basis:46px!important
    }
    body.light-theme .site-nav .brand-copy{font-size:1rem!important}
    body.light-theme .site-nav .brand-copy>span{font-size:.72rem!important}
    body.light-theme .nav-links{gap:2rem!important}
    body.light-theme .nav-links a{font-size:.86rem!important}
    body.light-theme .nav-links .nav-ai-link{
        min-width:44px!important;height:44px!important;min-height:44px!important;font-size:.82rem!important
    }

    .portfolio-intro{padding-top:clamp(72px,4.4vw,150px)}
    .intro-layout{
        grid-template-columns:1.42fr .88fr;gap:clamp(72px,5vw,170px);
        padding-bottom:clamp(54px,3.2vw,92px)
    }
    .intro-kicker{font-size:.72rem;margin-bottom:1.55rem}
    .portfolio-intro h1{font-size:clamp(5rem,4vw,6.5rem);max-width:12ch}
    .intro-summary{max-width:32rem;padding-bottom:.35rem}
    .intro-summary>p{font-size:1rem;line-height:1.72;margin-bottom:1.6rem}
    .editorial-button{padding:.95rem 1.25rem;font-size:.82rem;min-width:15rem}
    .reel-section-bar{margin-bottom:1.1rem}
    .reel-section-bar>p{font-size:.67rem}
    .reel-bar-note{font-size:.68rem}
    .reel-navigation{gap:.35rem}
    .reel-navigation button{width:2.55rem;height:2.55rem;font-size:1.25rem}
    .reel-navigation button svg{width:1rem;height:1rem}
    .reel-group{gap:1.25rem;padding-right:1.25rem}
    .reel-card{width:clamp(19rem,14vw,24rem)}
    .reel-open{right:1rem;bottom:1rem;width:2.7rem;height:2.7rem}
    .reel-caption{padding-top:1rem}
    .reel-caption small{font-size:.58rem}
    .reel-caption strong{font-size:.82rem}
    body.light-theme #showreel{padding-top:clamp(92px,6vw,165px)!important}
    body.light-theme #showreel>.section-inner>.section-header{
        max-width:min(78rem,72vw)!important;margin-bottom:2.6rem!important
    }
    body.light-theme #showreel h2{font-size:clamp(3.35rem,3.6vw,5.4rem)!important}
    body.light-theme #showreel #tech h2{font-size:clamp(3rem,3.4vw,5rem)!important}
    body.light-theme #showreel #tech .section-copy{font-size:.88rem!important}
    body.light-theme #showreel #tech .programs-grid .tool-item{
        min-height:15rem!important;padding:1.75rem 1.9rem 1.9rem!important
    }
    body.light-theme #showreel #tech .programs-grid .tool-icons{
        width:3.5rem!important;height:3.5rem!important
    }
    body.light-theme #showreel #tech .programs-grid .tool-icon,
    body.light-theme #showreel #tech .programs-grid .adobe-product-icon{
        width:3.25rem!important;height:3.25rem!important
    }

    body.light-theme #ai-reels .ai-gallery-title h3{
        font-size:clamp(2rem,2.6vw,3.5rem)!important
    }
    body.light-theme #about h2,
    body.light-theme #services h2,
    body.light-theme #contact h2{
        font-size:clamp(3.15rem,3.55vw,5.25rem)!important
    }
    body.light-theme #services .section-copy,
    body.light-theme #contact .contact-copy{font-size:.94rem!important;line-height:1.7!important}

    body.light-theme .clients--featured .client-collaborations-header{
        width:var(--desktop-content);margin-bottom:1.15rem!important
    }
    body.light-theme .clients--featured #clients-title{
        font-size:clamp(1.65rem,2vw,2.5rem)!important
    }
    .client-logo-row .client-logo{
        flex:0 0 clamp(12rem,8vw,15rem)!important;
        width:clamp(12rem,8vw,15rem)!important;
        min-width:clamp(12rem,8vw,15rem)!important;
        max-width:clamp(12rem,8vw,15rem)!important
    }
    .client-logo-row .client-logo--compact{
        flex-basis:clamp(10rem,6.6vw,12.5rem)!important;
        width:clamp(10rem,6.6vw,12.5rem)!important;
        min-width:clamp(10rem,6.6vw,12.5rem)!important;
        max-width:clamp(10rem,6.6vw,12.5rem)!important
    }
    body.light-theme .clients--featured .client-logo,
    body.light-theme #contact .clients--secondary .client-logo{
        min-height:7.1rem!important;padding:.8rem 1rem .7rem!important
    }
    body.light-theme .clients--featured .client-logo img,
    body.light-theme #contact .clients--secondary .client-logo img{height:3rem!important}
    body.light-theme .clients--featured .client-logo-name,
    body.light-theme #contact .clients--secondary .client-logo-name{font-size:.68rem!important}
    body.light-theme #contact .clients--secondary h3{
        font-size:clamp(1.65rem,2.2vw,2.75rem)!important
    }
    .client-full-list{width:min(100%,80rem)!important}
    .client-full-list .client-logo,
    .client-full-list .client-logo--compact{max-width:12rem!important}
}
@media(max-width:1000px){
    body.light-theme .section-inner,.editorial-wrap{width:calc(100% - 56px)}
    .intro-layout{gap:30px;grid-template-columns:1.2fr 1fr}
    .intro-summary>p{font-size:13px}
    .portfolio-intro h1{font-size:clamp(42px,5.8vw,60px)}
    .reel-card{width:238px}
    body.light-theme .ai-hero-copy{column-gap:30px}
    body.light-theme #ai-reels .ai-gallery-meta{grid-column:auto;grid-template-columns:1fr;border-top:0}
    body.light-theme .ai-hero-actions{align-items:start;flex-direction:column;gap:8px}
    body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-model-list,
    body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-catalog-group:nth-child(n+2):nth-child(-n+4) .ai-model-list{
        grid-template-columns:repeat(3,minmax(0,1fr))!important;row-gap:20px!important
    }
}
@media(max-width:700px){
    body.light-theme .site-nav{min-height:67px!important;padding:12px 18px!important;grid-template-columns:auto 1fr auto!important;gap:14px!important}
    body.light-theme .nav-links{gap:16px!important}
    body.light-theme .nav-links a{font-size:.7rem!important}
    body.light-theme .section-inner,.editorial-wrap{width:calc(100% - 36px)}
    .portfolio-intro{padding-top:38px}
    .intro-layout{grid-template-columns:1fr;gap:23px;padding-bottom:25px}
    .intro-kicker{font-size:.57rem;margin-bottom:18px}
    .portfolio-intro h1{font-size:clamp(40px,8.8vw,58px)}
    .intro-summary{justify-self:start;max-width:470px}
    .intro-summary>p{font-size:13px;margin-bottom:18px;line-height:1.65}
    .editorial-button{padding:12px 16px;font-size:.73rem}
    .reel-section-bar{margin-bottom:12px}
    .reel-section-bar>p{font-size:.52rem;gap:7px}
    .reel-bar-note{display:none}
    .reel-navigation button{width:29px;height:29px}
    .reel-card{width:210px}
    .reel-group{gap:12px;padding-right:12px}
    .reel-caption strong{font-size:.73rem}
    .reel-caption small{font-size:.48rem}
    body.light-theme .clients--featured{padding:24px 0 20px!important}
    body.light-theme .clients--featured .client-collaborations-header{
        width:calc(100% - 36px);margin-bottom:18px!important
    }
    body.light-theme .clients--featured .client-collaborations-header>div{
        display:grid!important;justify-items:center!important;justify-content:center!important;gap:8px!important
    }
    body.light-theme .clients--featured #clients-title{
        max-width:none;font-size:clamp(1.22rem,6vw,1.55rem)!important;text-align:center!important
    }
    body.light-theme .clients--featured .client-logo{min-height:88px!important;padding:.55rem .65rem!important}
    body.light-theme .clients--featured .client-logo img{height:38px!important}
    body.light-theme .clients--featured .client-logo-name{font-size:.59rem!important}
    body.light-theme #contact .clients--secondary{margin-top:46px!important;padding-top:30px!important}
    body.light-theme #contact .clients--secondary .client-collaborations-header>div{
        display:grid!important;justify-items:center!important;justify-content:center!important;gap:0!important
    }
    body.light-theme #contact .clients--secondary h3{font-size:clamp(1.25rem,6vw,1.65rem)!important}
    body.light-theme .ai-directory-heading{grid-template-columns:1fr;align-items:start;gap:18px}
    body.light-theme .ai-directory-heading h2{font-size:clamp(2.15rem,11vw,3.2rem)}
    body.light-theme .ai-directory .ai-text-link{min-width:0;width:100%;font-size:.7rem}
    body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-catalog-group,
    body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-catalog-group:nth-child(n+2):nth-child(-n+4){
        grid-template-columns:1fr!important;gap:17px!important;padding:24px 0!important
    }
    body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-group-heading h3{max-width:none}
    body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-model-list,
    body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-catalog-group:nth-child(n+2):nth-child(-n+4) .ai-model-list{
        grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px 10px!important
    }
    body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-model-mark>span:last-child{font-size:.64rem}
    body.light-theme #showreel{padding-top:48px!important}
    body.light-theme .ai-zone{padding-top:44px}
    body.light-theme #ai-reels .ai-gallery-header{grid-template-columns:1fr!important;gap:20px!important}
    body.light-theme .ai-zone-heading h2{font-size:35px!important}
    body.light-theme .ai-directory{padding-bottom:45px}
    body.light-theme #showreel #tech .programs-grid{grid-template-columns:1fr!important}
    body.light-theme #showreel #tech{margin-top:38px;padding:42px 0!important}
    body.light-theme #showreel #tech .section-header{gap:20px!important;padding-bottom:28px!important}
    body.light-theme #showreel #tech h2{font-size:clamp(2.05rem,10.5vw,3rem)!important}
    body.light-theme #showreel #tech .programs-grid .tool-item{
        min-height:185px!important;padding:22px!important;border-right:0!important;border-bottom:1px solid #dce1e5!important
    }
    body.light-theme #showreel #tech .programs-grid .tool-item:last-child{border-bottom:0!important}
    body.light-theme #showreel #tech .programs-grid .tool-head{margin-bottom:20px!important}
    body.light-theme #showreel #tech .programs-grid .tool-icon,
    body.light-theme #showreel #tech .programs-grid .adobe-product-icon{width:48px!important;height:48px!important}
    body.light-theme .ai-hero{padding-top:28px}
    body.light-theme .ai-hero-copy{display:block;padding-bottom:25px}
    body.light-theme .ai-hero h1{font-size:clamp(43px,10.5vw,65px);margin:16px 0}
    body.light-theme .ai-hero-description{font-size:.82rem;max-width:46ch;line-height:1.65}
    body.light-theme .ai-hero-actions{flex-direction:row;align-items:center;gap:15px}
    body.light-theme .ai-hero-actions .ai-text-link{display:none}
    body.light-theme .ai-page-showcase{padding-top:0;padding-bottom:30px}
    .reel-dialog{padding:14px}
}
@media(prefers-reduced-motion:reduce){
    .reel-track{will-change:auto}
    .reel-open{transition:none}
}

/* Daily tools: a compact editorial panel instead of three loose cards. */
body.light-theme #showreel #tech {
    margin-top: clamp(4rem, 7vw, 7rem) !important;
    padding: clamp(2.5rem, 4vw, 4.25rem) 0 clamp(3.25rem, 5vw, 5rem) !important;
}
body.light-theme #showreel #tech .section-header {
    display: grid !important;
    grid-template-columns: minmax(0, 1.35fr) minmax(250px, .65fr) !important;
    align-items: end !important;
    gap: clamp(2rem, 6vw, 7rem) !important;
    margin-bottom: clamp(2rem, 3.5vw, 3.25rem) !important;
    padding-bottom: 0 !important;
}
body.light-theme #showreel #tech .section-kicker {
    margin-bottom: .85rem !important;
    color: #285cc4 !important;
    font-size: .58rem !important;
    letter-spacing: .16em !important;
}
body.light-theme #showreel #tech h2 {
    max-width: 18ch !important;
    color: #1e2e43 !important;
    font-size: clamp(2.35rem, 4.15vw, 4.65rem) !important;
    line-height: .98 !important;
    letter-spacing: -.065em !important;
}
body.light-theme #showreel #tech .section-copy {
    max-width: 31ch !important;
    margin: 0 0 .2rem auto !important;
    color: #6d7c8e !important;
    font-size: .82rem !important;
    line-height: 1.65 !important;
}
body.light-theme #showreel #tech .tools-group {
    margin: 0 !important;
    padding: 0 !important;
}
body.light-theme #showreel #tech .programs-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 1px !important;
    overflow: hidden !important;
    border: 1px solid #d3deea !important;
    border-top: 2px solid #285cc4 !important;
    background: #d3deea !important;
}
body.light-theme #showreel #tech .programs-grid .tool-item {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto 1fr !important;
    min-height: 238px !important;
    padding: 1.55rem 1.65rem 1.7rem !important;
    border: 0 !important;
    background: #fff !important;
    color: #1e2e43 !important;
    transition: background-color .2s ease, transform .2s ease !important;
}
body.light-theme #showreel #tech .programs-grid .tool-item:hover,
body.light-theme #showreel #tech .programs-grid .tool-item:focus-within {
    background: #f7faff !important;
    transform: none !important;
}
body.light-theme #showreel #tech .programs-grid .tool-head {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 1rem !important;
    width: 100% !important;
    margin: 0 0 2rem !important;
}
body.light-theme #showreel #tech .programs-grid .tool-icons {
    display: grid !important;
    width: 3.35rem !important;
    height: 3.35rem !important;
    place-items: center !important;
    border: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
body.light-theme #showreel #tech .programs-grid .tool-icon,
body.light-theme #showreel #tech .programs-grid .adobe-product-icon {
    width: 2.95rem !important;
    height: 2.95rem !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 9px !important;
    object-fit: contain !important;
    box-shadow: none !important;
}
body.light-theme #showreel #tech .programs-grid .tool-tag {
    align-self: flex-start !important;
    min-height: 0 !important;
    margin: .2rem 0 0 !important;
    padding: .25rem 0 .45rem !important;
    border: 0 !important;
    border-bottom: 1px solid #9bb2d0 !important;
    background: transparent !important;
    color: #637994 !important;
    font-size: .54rem !important;
    font-weight: 700 !important;
    letter-spacing: .11em !important;
    line-height: 1.15 !important;
    text-transform: uppercase !important;
}
body.light-theme #showreel #tech .programs-grid .tool-item h3 {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
    margin: 0 !important;
    color: #1e2e43 !important;
    font-size: clamp(1.12rem, 1.45vw, 1.42rem) !important;
    font-weight: 650 !important;
    line-height: 1.15 !important;
    letter-spacing: -.03em !important;
}
body.light-theme #showreel #tech .programs-grid .tool-desc {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
    max-width: 34ch !important;
    margin: .7rem 0 0 !important;
    color: #6d7c8e !important;
    font-size: .76rem !important;
    line-height: 1.58 !important;
}
body.light-theme #showreel #tech .section-header {
    max-width: none !important;
    grid-template-columns: 1fr !important;
}
body.light-theme #showreel #tech .section-header > div,
body.light-theme #showreel #tech .section-header h2 {
    width: 100% !important;
    max-width: none !important;
}
@media (max-width: 860px) {
    body.light-theme #showreel #tech .section-header { grid-template-columns: 1fr 1fr !important; gap: 2rem !important; }
    body.light-theme #showreel #tech .programs-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 620px) {
    body.light-theme #showreel #tech .section-header { grid-template-columns: 1fr !important; gap: 1rem !important; }
    body.light-theme #showreel #tech .section-copy { margin-left: 0 !important; }
    body.light-theme #showreel #tech .programs-grid { grid-template-columns: 1fr !important; }
    body.light-theme #showreel #tech .programs-grid .tool-item { min-height: 0 !important; padding: 1.35rem !important; }
}

/* On 4K screens the contact layout uses the full editorial width instead of leaving an empty right column. */
@media (min-width: 1800px) {
    body.light-theme #contact .contact-panel {
        grid-template-columns: minmax(0, 2.2fr) minmax(360px, 1fr) !important;
        column-gap: clamp(3rem, 5vw, 7rem) !important;
        justify-content: stretch !important;
    }
}


/* AI directory: a compact category board without stretched empty rows. */
body.light-theme .ai-directory [data-ai-catalog="compact"] {
    display: grid !important;
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
    gap: 1px !important;
    border: 1px solid #d3deea !important;
    background: #d3deea !important;
}
body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-catalog-group,
body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-catalog-group:nth-child(n+2):nth-child(-n+4) {
    display: flex !important;
    grid-column: span 4 !important;
    min-height: 0 !important;
    padding: 1.2rem 1.15rem 1.25rem !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
    border: 0 !important;
    background: #fff !important;
}
body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-catalog-group:first-child,
body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-catalog-group:last-child {
    grid-column: 1 / -1 !important;
}
body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-group-heading {
    display: flex !important;
    min-height: 0 !important;
    margin: 0 0 1rem !important;
    padding: 0 0 .85rem !important;
    align-items: baseline !important;
    justify-content: space-between !important;
    border-bottom: 1px solid #dce4ed !important;
}
body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-group-heading h3 {
    max-width: none !important;
    margin: 0 !important;
    color: #26364a !important;
    font-size: clamp(1rem, 1.35vw, 1.18rem) !important;
    font-weight: 650 !important;
    line-height: 1.2 !important;
    letter-spacing: -.025em !important;
}
body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-model-list,
body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-catalog-group:nth-child(n+2):nth-child(-n+4) .ai-model-list {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)) !important;
    align-items: stretch !important;
    gap: .55rem !important;
}
body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-model-mark {
    min-height: 6.7rem !important;
    padding: .8rem .55rem !important;
    gap: .55rem !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid #e0e6ed !important;
    background: #f8fafc !important;
    color: #203044 !important;
    text-align: center !important;
    transition: border-color .2s ease, background-color .2s ease, transform .2s ease !important;
}
body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-model-mark:hover,
body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-model-mark:focus-visible {
    border-color: #9fb2cb !important;
    background: #f1f5f9 !important;
    color: #285cc4 !important;
    transform: translateY(-2px) !important;
}
body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-model-mark .ai-logo {
    width: 3rem !important;
    height: 3rem !important;
    flex: 0 0 3rem !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-model-mark .ai-logo img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
}
body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-model-mark > span:last-child {
    max-width: 18ch !important;
    color: inherit !important;
    font-size: .72rem !important;
    font-weight: 650 !important;
    line-height: 1.25 !important;
    text-wrap: balance !important;
}
@media (max-width: 900px) {
    body.light-theme .ai-directory [data-ai-catalog="compact"] {
        grid-template-columns: 1fr !important;
    }
    body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-catalog-group,
    body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-catalog-group:first-child,
    body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-catalog-group:last-child {
        grid-column: 1 !important;
    }
}
@media (max-width: 560px) {
    body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-catalog-group {
        padding: 1rem .8rem !important;
    }
    body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-model-list,
    body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-catalog-group:nth-child(n+2):nth-child(-n+4) .ai-model-list {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

/* Homepage AI directory: let the logos sit directly on the page, with only category dividers. */
body.light-theme .ai-directory {
    background: transparent !important;
}
body.light-theme .ai-directory .ai-directory-heading {
    margin-bottom: 2.2rem !important;
    padding-bottom: 0 !important;
    border-bottom: 0 !important;
}
body.light-theme .ai-directory [data-ai-catalog="compact"] {
    display: block !important;
    border: 0 !important;
    background: transparent !important;
}
body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-catalog-group,
body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-catalog-group:nth-child(n+2):nth-child(-n+4) {
    display: grid !important;
    grid-column: auto !important;
    grid-template-columns: clamp(190px, 20vw, 280px) minmax(0, 1fr) !important;
    align-items: center !important;
    gap: clamp(24px, 3.2vw, 52px) !important;
    min-height: 0 !important;
    padding: 2.1rem 0 !important;
    border: 0 !important;
    border-top: 1px solid #d8e0e8 !important;
    background: transparent !important;
}
body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-catalog-group:first-child {
    padding-top: 0 !important;
    border-top: 0 !important;
}
body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-group-heading {
    display: block !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}
body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-group-heading h3 {
    max-width: 18ch !important;
    margin: 0 !important;
    color: #26364a !important;
    font-size: clamp(1rem, 1.35vw, 1.18rem) !important;
    line-height: 1.25 !important;
}
body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-model-list,
body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-catalog-group:nth-child(n+2):nth-child(-n+4) .ai-model-list {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(118px, 1fr)) !important;
    align-items: start !important;
    gap: 1.1rem 1rem !important;
    margin: 0 !important;
}
body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-model-mark {
    min-height: 5.9rem !important;
    padding: .15rem .35rem .25rem !important;
    gap: .65rem !important;
    align-items: center !important;
    justify-content: flex-start !important;
    border: 0 !important;
    background: transparent !important;
    color: #203044 !important;
    box-shadow: none !important;
    text-align: center !important;
    transition: color .2s ease, transform .2s ease !important;
}
body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-model-mark:hover,
body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-model-mark:focus-visible {
    border: 0 !important;
    background: transparent !important;
    color: #285cc4 !important;
    transform: translateY(-3px) !important;
}
body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-model-mark .ai-logo {
    width: 3.3rem !important;
    height: 3.3rem !important;
    flex: 0 0 3.3rem !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-model-mark .ai-logo img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
}
body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-model-mark > span:last-child {
    max-width: 18ch !important;
    color: inherit !important;
    font-size: .72rem !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
    text-wrap: balance !important;
}
@media (max-width: 900px) {
    body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-catalog-group,
    body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-catalog-group:nth-child(n+2):nth-child(-n+4) {
        grid-template-columns: 1fr !important;
        gap: 1.2rem !important;
    }
}
@media (max-width: 560px) {
    body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-catalog-group {
        padding-block: 1.7rem !important;
    }
    body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-catalog-group:first-child {
        padding-top: 0 !important;
    }
    body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-model-list,
    body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-catalog-group:nth-child(n+2):nth-child(-n+4) .ai-model-list {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 1rem .35rem !important;
    }
}

/* Homepage AI workshop: use the same full catalog language as ai.html. */
body.light-theme .ai-home-full-catalog {
    --ai-ink: var(--theme-ink, #191c20);
    --ai-muted: var(--theme-muted, #65707a);
    --ai-cyan: var(--theme-accent, #285cc4);
    --ai-line: var(--theme-line, #dce1e5);
    --ai-ground: #fafaf9;
    color: var(--ai-ink);
    background: transparent;
}
body.light-theme .ai-home-full-catalog .ai-section-heading {
    grid-template-columns: 1.4fr 1fr;
    gap: 3rem;
    align-items: end;
    margin-bottom: 2.8rem;
}
body.light-theme .ai-home-full-catalog .ai-section-heading h2 {
    margin: 0;
    color: var(--theme-ink, #191c20);
    font-size: clamp(2.35rem, 4.1vw, 4.6rem);
    font-weight: 500;
    line-height: 1.02;
    letter-spacing: -.06em;
}
body.light-theme .ai-home-full-catalog .ai-section-heading h2 > span {
    color: var(--theme-muted, #65707a);
}
body.light-theme .ai-home-full-catalog .ai-section-heading > p {
    max-width: 43ch;
    margin: 0 0 .2rem auto;
    color: var(--theme-muted, #65707a);
    font-size: .92rem;
    line-height: 1.7;
}
body.light-theme .ai-home-full-catalog .ai-catalog-toolbar {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    align-items: center;
    gap: 1rem;
    margin-bottom: 2rem;
}
body.light-theme .ai-home-full-catalog .ai-filters {
    display: flex;
    flex-wrap: wrap;
    gap: .3rem;
}
body.light-theme .ai-home-full-catalog .ai-filters button {
    padding: .65rem .95rem;
    border: 1px solid var(--theme-line, #dce1e5);
    background: transparent;
    color: var(--theme-muted, #65707a);
    font-size: .78rem;
    cursor: pointer;
}
body.light-theme .ai-home-full-catalog .ai-filters button[aria-pressed="true"] {
    border-color: #283d56;
    background: #283d56;
    color: #fff;
}
body.light-theme .ai-home-full-catalog .ai-filters button:hover:not([aria-pressed="true"]) {
    border-color: #9fb2cb;
    color: var(--theme-ink, #191c20);
}
body.light-theme .ai-home-full-catalog .ai-catalog-group {
    grid-template-columns: 210px 1fr;
    gap: 3rem;
    padding-block: 2.7rem;
    border-color: var(--theme-line, #dce1e5);
}
body.light-theme .ai-home-full-catalog .ai-group-heading h3 {
    color: var(--theme-ink, #191c20);
    font-size: 1.2rem;
    font-weight: 600;
}
body.light-theme .ai-home-full-catalog .ai-group-heading p {
    color: var(--theme-muted, #65707a);
    font-size: .86rem;
    line-height: 1.55;
    margin: .8rem 0 0;
}
body.light-theme .ai-home-full-catalog .ai-model-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 2.5rem 1.8rem;
}
body.light-theme .ai-home-full-catalog .ai-tool-entry .ai-logo {
    margin-bottom: 0;
    padding: 0;
    background: transparent;
    box-shadow: none;
}
body.light-theme .ai-home-full-catalog .ai-tool-use {
    color: var(--theme-muted, #65707a);
    font-size: .68rem;
}
body.light-theme .ai-home-full-catalog .ai-tool-body h4 {
    color: var(--theme-ink, #191c20);
    font-size: 1.2rem;
    font-weight: 600;
}
body.light-theme .ai-home-full-catalog .ai-tool-body p {
    color: var(--theme-muted, #65707a);
    font-size: .84rem;
    line-height: 1.6;
}
body.light-theme .hero-typing-cursor{background:#81878e}
@media (max-width: 800px) {
    body.light-theme .ai-home-full-catalog .ai-section-heading {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
    body.light-theme .ai-home-full-catalog .ai-section-heading > p {
        margin-left: 0;
    }
    body.light-theme .ai-home-full-catalog .ai-catalog-group {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
    body.light-theme .ai-home-full-catalog .ai-group-heading {
        max-width: 460px;
    }
    body.light-theme .ai-home-full-catalog .ai-model-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 520px) {
    .hero-rotating-line{white-space:normal}
    body.light-theme .ai-home-full-catalog .ai-model-list {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
}
@media (prefers-reduced-motion: reduce) {
    .hero-typing-cursor{animation:none;opacity:1}
}

/* Large desktop / 4K: keep the AI page readable instead of scaling the whole interface down. */
@media (min-width: 1800px) {
    body.light-theme .ai-home-full-catalog.ai-wrap {
        width: min(1760px, calc(100% - 160px));
    }
    body.light-theme.ai-page .ai-wrap {
        width: min(1760px, calc(100% - 160px));
    }
    body.light-theme.ai-page .ai-topbar {
        height: 96px;
        padding-inline: max(48px, calc((100vw - 1760px) / 2));
    }
    body.light-theme.ai-page .ai-brand {
        gap: 1rem;
        font-size: 1.05rem;
    }
    body.light-theme.ai-page .ai-brand img {
        width: 52px;
        height: 52px;
    }
    body.light-theme.ai-page .ai-brand small {
        font-size: .88rem;
    }
    body.light-theme.ai-page .ai-topbar nav {
        gap: 2.6rem;
    }
    body.light-theme.ai-page .ai-topbar nav a {
        font-size: 1rem;
    }
    body.light-theme.ai-page .ai-hero {
        padding-top: 72px;
    }
    body.light-theme.ai-page .ai-hero-copy {
        column-gap: 80px;
        padding-bottom: 52px;
    }
    body.light-theme.ai-page .ai-hero-copy > .ai-eyebrow {
        font-size: .78rem;
    }
    body.light-theme.ai-page .ai-hero h1 {
        font-size: clamp(64px, 4.6vw, 104px);
    }
    body.light-theme.ai-page .ai-hero-description {
        font-size: 1.18rem;
        line-height: 1.65;
    }
    body.light-theme.ai-page .ai-button {
        padding: 17px 22px;
        font-size: 1rem;
    }
    body.light-theme.ai-page .ai-hero-actions .ai-text-link {
        font-size: .98rem;
    }
    body.light-theme.ai-page .ai-page-showcase {
        padding-top: 20px;
        padding-bottom: 56px;
    }
    body.light-theme.ai-page .reel-section-bar {
        margin-bottom: 24px;
    }
    body.light-theme.ai-page .reel-section-bar > p {
        gap: 12px;
        font-size: .76rem;
    }
    body.light-theme.ai-page .reel-bar-note {
        font-size: .8rem;
    }
    body.light-theme.ai-page .reel-navigation button {
        width: 3rem;
        height: 3rem;
        font-size: 1.35rem;
    }
}

/* Homepage AI gallery: one calm, auto-advancing row with no cloned cards. */
body.light-theme:not(.ai-page) #ai-reels .ai-project-carousel {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    gap: 0;
}
body.light-theme:not(.ai-page) #ai-reels .ai-project-viewport {
    min-width: 0;
    overflow: hidden;
}
body.light-theme:not(.ai-page) #ai-reels .ai-grid {
    display: flex !important;
    flex-wrap: nowrap !important;
    width: 100%;
    max-width: none !important;
    grid-template-columns: none !important;
    gap: 1rem !important;
    padding: .15rem .1rem 1rem;
    overflow-x: auto !important;
    overflow-y: visible !important;
    scroll-behavior: smooth;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
    touch-action: pan-x pan-y;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-inline: contain;
    cursor: grab;
    user-select: none;
}
body.light-theme:not(.ai-page) #ai-reels .ai-grid:active,
body.light-theme:not(.ai-page) #ai-reels .ai-grid.is-dragging { cursor: grabbing; }
body.light-theme:not(.ai-page) #ai-reels .ai-grid::-webkit-scrollbar {
    display: none;
}
body.light-theme:not(.ai-page) #ai-reels .ai-grid .video-card,
body.light-theme:not(.ai-page) #ai-reels .ai-grid .video-card:nth-child(5),
body.light-theme:not(.ai-page) #ai-reels .ai-grid .video-card:last-child:nth-child(odd) {
    flex: 0 0 calc((100% - 3rem) / 4) !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    grid-column: auto !important;
    scroll-snap-align: start;
}
body.light-theme:not(.ai-page) #ai-reels .ai-project-carousel-arrow {
    display: none !important;
}
body.light-theme:not(.ai-page) #ai-reels .ai-project-carousel-arrow:hover,
body.light-theme:not(.ai-page) #ai-reels .ai-project-carousel-arrow:focus-visible {
    border-color: #285cc4;
    background: #edf3ff;
    color: #285cc4;
}
body.light-theme:not(.ai-page) #ai-reels .ai-project-carousel-arrow:focus-visible {
    outline: 2px solid #285cc4;
    outline-offset: 3px;
}
@media (max-width: 980px) {
    body.light-theme:not(.ai-page) #ai-reels .ai-project-carousel {
        grid-template-columns: minmax(0, 1fr);
    }
    body.light-theme:not(.ai-page) #ai-reels .ai-grid {
        gap: .8rem !important;
    }
    body.light-theme:not(.ai-page) #ai-reels .ai-grid .video-card,
    body.light-theme:not(.ai-page) #ai-reels .ai-grid .video-card:nth-child(5),
    body.light-theme:not(.ai-page) #ai-reels .ai-grid .video-card:last-child:nth-child(odd) {
        flex-basis: calc((100% - .8rem) / 2) !important;
    }
}
@media (max-width: 620px) {
    body.light-theme:not(.ai-page) #ai-reels .ai-project-carousel {
        grid-template-columns: minmax(0, 1fr);
        gap: 0;
    }
    body.light-theme:not(.ai-page) #ai-reels .ai-grid {
        gap: .7rem !important;
    }
    body.light-theme:not(.ai-page) #ai-reels .ai-grid .video-card,
    body.light-theme:not(.ai-page) #ai-reels .ai-grid .video-card:nth-child(5),
    body.light-theme:not(.ai-page) #ai-reels .ai-grid .video-card:last-child:nth-child(odd) {
        flex-basis: 100% !important;
    }
}

/* Social media preview: fade the visible second row into the button below. */
body.light-theme:not(.ai-page) #client-reels .reels-more.desktop-preview {
    position: relative;
}
body.light-theme:not(.ai-page) #client-reels .reels-more.desktop-preview:not(.is-open)::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 4;
    height: clamp(9rem, 14vw, 13rem);
    background: linear-gradient(180deg, rgba(250,250,249,0) 0%, rgba(250,250,249,.24) 24%, rgba(250,250,249,.9) 68%, #fafaf9 100%);
    pointer-events: none;
}
body.light-theme:not(.ai-page) #client-reels .reels-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .6rem;
    position: relative;
    z-index: 5;
}
body.light-theme:not(.ai-page) #client-reels .reels-toggle::after {
    content: "↓";
    font-size: .9em;
    line-height: 1;
    transition: transform 260ms cubic-bezier(.22,.72,.18,1);
}
body.light-theme:not(.ai-page) #client-reels .reels-toggle[aria-expanded="true"]::after {
    content: "↑";
}
body.light-theme:not(.ai-page) #client-reels .reels-more.desktop-preview:not(.is-open) + .reels-toggle {
    margin-top: clamp(-5.4rem, -6vw, -4.35rem);
    border-color: transparent !important;
    background: transparent !important;
    color: #293441 !important;
    font-weight: 550;
    box-shadow: none;
}
body.light-theme:not(.ai-page) #client-reels .reels-more.desktop-preview:not(.is-open) + .reels-toggle:hover,
body.light-theme:not(.ai-page) #client-reels .reels-more.desktop-preview:not(.is-open) + .reels-toggle:focus-visible {
    background: rgba(237,241,245,.76) !important;
}
body.light-theme:not(.ai-page) #client-reels .reels-more.desktop-preview:not(.is-open) + .reels-toggle:hover::after,
body.light-theme:not(.ai-page) #client-reels .reels-more.desktop-preview:not(.is-open) + .reels-toggle:focus-visible::after {
    transform: translateY(2px);
}

/* San Francisco polish: use the display cut for headings without flattening
 * the responsive type sizes and deliberate label styles used across the site. */
html body.light-theme :is(h1,h2,h3,h4) {
    font-family: var(--font-display) !important;
    font-optical-sizing: auto;
}

html body.light-theme h1 {
    font-weight: 600 !important;
    letter-spacing: -.045em !important;
    line-height: .98 !important;
}

html body.light-theme h2 {
    font-weight: 600 !important;
    letter-spacing: -.035em !important;
    line-height: 1.03 !important;
}

html body.light-theme h3 {
    font-weight: 500 !important;
    letter-spacing: -.025em !important;
    line-height: 1.1 !important;
}

html body.light-theme h4 {
    font-weight: 500 !important;
    letter-spacing: -.015em !important;
    line-height: 1.15 !important;
}

html body.light-theme p {
    font-weight: 400;
    letter-spacing: -.005em;
    line-height: 1.6;
}

html body.light-theme :is(nav,button,.button,.btn,a.button) {
    font-family: var(--font-text) !important;
    font-weight: 500;
    letter-spacing: -.01em;
}

html body.light-theme :is(input,textarea,select,option) {
    font-family: var(--font-text) !important;
}

/* Keep anchor/link transitions smooth, but let wheel gestures remain native.
   Vertical snap made one wheel movement settle on a second section point. */
@media (prefers-reduced-motion: no-preference) {
    html:has(#showreel) {
        scroll-behavior: smooth;
        scroll-snap-type: none;
        scroll-padding-top: 84px;
    }

    /* The first snap point belongs to the Portfolio heading itself. Snapping
       to the reel grid made the heading disappear under the sticky header. */
    html:has(#showreel) #showreel > .section-inner > .section-header {
        scroll-snap-align: start;
        scroll-margin-top: 0;
    }

    html:has(#showreel) #showreel .portfolio-stack > :is(#long-form, #music-videos, .ai-zone) {
        scroll-snap-align: start;
        scroll-margin-top: 84px;
    }
}

@media (prefers-reduced-motion: reduce) {
    html:has(#showreel) {
        scroll-behavior: auto;
        scroll-snap-type: none;
    }
}

/* assets/site-navigation.css */
/* Shared header. Parent links and disclosure buttons are separate controls. */
:root{--rp-header-height:81px;--rp-bar-min:80px;--rp-ink:#191c20;--rp-muted:#65707a;--rp-line:#e0e4e8;--rp-accent:#285cc4}
.rp-header,.rp-header *{box-sizing:border-box}
body .rp-header{position:sticky;top:0;z-index:120;width:100%;background:var(--theme-bg,#fafaf9);border-bottom:1px solid var(--rp-line);font:500 14px/1.5 var(--editorial-font,"Manrope",sans-serif);color:var(--rp-ink);isolation:isolate}
.rp-header-inner{display:flex;align-items:center;justify-content:space-between;width:min(1320px,calc(100% - 96px));min-height:var(--rp-bar-min);margin-inline:auto;gap:clamp(16px,1.5vw,24px)}
.rp-header a{color:inherit;text-decoration:none}
.rp-brand{display:flex;flex:0 0 auto;align-items:center;gap:11px;min-width:0;text-decoration:none;color:var(--rp-ink)}
.rp-brand img{display:block;width:40px;height:40px;flex:0 0 40px;object-fit:contain}
/* Keep the personal mark square without the rounded source-artwork frame. */
.rp-brand img[data-rp-logo]{border-radius:0!important;background:#1b1e22}
html[data-theme="light"] .rp-brand img[data-rp-logo]{filter:none}
html[data-theme="dark"] .rp-brand img[data-rp-logo]{background:#eaedf3;filter:none}
.rp-brand>span{display:block;font-size:14px;font-weight:700;letter-spacing:-.025em;line-height:1.4}
.rp-brand small{display:block;margin-top:3px;font-size:11px;color:var(--rp-muted);font-weight:500;letter-spacing:0}
.rp-navigation{display:flex;align-items:center;justify-content:center;gap:clamp(12px,1.7vw,28px);min-width:0;margin-left:auto}
.rp-nav-group{position:relative}
.rp-nav-trigger{display:flex;align-items:center;gap:0}
.rp-nav-parent,.rp-nav-link{display:inline-flex;align-items:center;min-height:44px;padding:10px 0;white-space:nowrap;font-size:13px;color:var(--rp-muted)!important}
.rp-submenu-toggle{display:none!important}
.rp-nav-parent:hover,.rp-nav-link:hover,.rp-nav-group.is-open .rp-nav-parent,.rp-nav-group.is-current-section .rp-nav-parent{color:var(--rp-ink)!important}
.rp-nav-group.is-current-section:not(.rp-nav-ai) .rp-nav-parent{position:relative}
.rp-nav-group.is-current-section:not(.rp-nav-ai) .rp-nav-parent::after{display:none!important}
.rp-chevron{width:14px;height:14px;flex:0 0 14px;stroke:currentColor;fill:none;stroke-width:1.5;transition:transform .16s ease}
.rp-submenu-toggle[aria-expanded="true"] .rp-chevron,.rp-language[open]>summary>.rp-chevron{transform:rotate(180deg)}
.rp-nav-dropdown,.rp-language-options{position:absolute;top:calc(100% + 10px);min-width:232px;padding:8px;border:1px solid var(--rp-line);border-radius:8px;background:var(--theme-surface,#fff);box-shadow:var(--theme-shadow,0 12px 36px #17233612);z-index:5}
.rp-nav-dropdown{left:-17px;display:none}
.rp-nav-dropdown::before{content:"";position:absolute;bottom:100%;left:0;right:0;height:14px}
.rp-nav-group.is-open>.rp-nav-dropdown{display:block}
.rp-header:not(.rp-enhanced) .rp-nav-group:is(:hover,:focus-within)>.rp-nav-dropdown{display:block}
.rp-nav-dropdown a{display:flex;align-items:center;min-height:43px;padding:10px 12px;border-radius:4px;font-size:13px;line-height:1.45;white-space:normal}
.rp-nav-dropdown a:hover,.rp-nav-dropdown a[aria-current="page"],.rp-language-options a:hover{background:var(--theme-hover,#f0f3f7);color:var(--rp-accent)}
.rp-header-actions{display:flex;flex:0 0 auto;align-items:center;gap:10px}
.rp-language{position:relative;margin:0;padding:0;border:0}
.rp-language>summary{display:flex;align-items:center;height:44px;gap:7px;padding:0 8px;font-size:12px;font-weight:650;list-style:none;cursor:pointer}
.rp-language>summary::-webkit-details-marker{display:none}
.rp-language>summary::marker{content:""}
.rp-language>summary::before,.rp-language>summary::after{display:none}
.rp-globe{width:17px;height:17px;flex:0 0 17px;stroke:currentColor;stroke-width:1.2;fill:none}
.rp-language-options{right:0;min-width:200px}
.rp-language-options a{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:44px;padding:10px 12px;border-radius:4px;font-size:13px}
.rp-language-options a[aria-current="page"]{background:var(--theme-accent-soft,#edf3fd);color:var(--rp-accent);font-weight:700}
.rp-lang-code{color:var(--rp-muted);font-size:10px;letter-spacing:.06em}
.rp-language-options a[aria-current="page"] .rp-lang-code{color:var(--rp-accent)}
.rp-contact{display:inline-flex;align-items:center;justify-content:space-between;min-height:42px;gap:22px;padding:10px 16px;background:var(--theme-button,#20262d);color:var(--theme-button-text,#fff)!important;font-size:12px}
.rp-contact:hover{background:var(--theme-button-hover,#354252)}
.rp-contact>span{font-size:16px}
.rp-theme-toggle{display:grid;place-items:center;position:relative;flex:0 0 40px;width:40px;height:44px;padding:9px;border:1px solid transparent;border-radius:5px;background:transparent;color:var(--rp-ink);cursor:pointer}
.rp-theme-toggle:hover{background:var(--theme-hover,#f0f3f7);border-color:var(--rp-line)}
.rp-theme-toggle svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;grid-area:1/1}
.rp-theme-toggle .rp-theme-sun{display:none}
html[data-theme="dark"] .rp-theme-toggle .rp-theme-sun{display:block}
html[data-theme="dark"] .rp-theme-toggle .rp-theme-moon{display:none}
.rp-menu-toggle,.rp-menu-backdrop,.rp-mobile-contact{display:none}
.rp-header :is(a,button,summary):focus-visible{outline:2px solid var(--rp-accent)!important;outline-offset:3px!important}
.rp-header [hidden]{display:none!important}
.rp-ai-label{display:inline-flex;align-items:center;justify-content:center;min-width:37px;min-height:29px;padding:3px 9px;border:0;background:var(--theme-accent-soft,#edf2fb);color:var(--rp-accent);font-size:12px;font-weight:750;line-height:1.5;letter-spacing:.025em}
.rp-nav-ai.is-open .rp-ai-label,.rp-nav-ai.is-current-section .rp-ai-label,.rp-nav-ai .rp-nav-parent:hover .rp-ai-label{border-color:var(--rp-accent)}
.rp-ai-dropdown{grid-template-columns:minmax(0,1fr);width:min(410px,calc(100vw - 48px));min-width:0;left:auto;right:-84px;gap:0;padding:16px}
.rp-nav-ai.is-open>.rp-ai-dropdown,.rp-header:not(.rp-enhanced) .rp-nav-ai:is(:hover,:focus-within)>.rp-ai-dropdown{display:grid}
.rp-ai-column{min-width:0;padding:0}
.rp-header .rp-ai-heading{margin:0 0 7px;padding:3px 12px 8px;color:var(--rp-muted);font-size:11px;font-weight:700;line-height:1.5;letter-spacing:.035em;text-transform:none}
.rp-ai-dropdown a{min-width:0;overflow-wrap:anywhere}
.rp-ai-dropdown a:first-of-type{color:var(--rp-ink)}
.rp-ai-dropdown a:hover,.rp-ai-dropdown a[aria-current="page"]{background:var(--theme-accent-soft,#edf2fb);color:var(--rp-accent)}
.rp-ai-dropdown a[aria-current="page"]:not(.rp-ai-projects-button){background:transparent;color:var(--rp-ink)}
.rp-ai-dropdown .rp-ai-projects-button{justify-content:space-between;gap:18px;margin:0 0 10px;padding-inline:15px;background:var(--theme-button,#20262d);color:var(--theme-button-text,#fff)!important;font-weight:700}
.rp-ai-dropdown .rp-ai-projects-button::after{content:"\2197";flex:0 0 auto;font-size:1.2em;font-weight:500;line-height:1}
.rp-ai-dropdown .rp-ai-projects-button:hover,.rp-ai-dropdown .rp-ai-projects-button[aria-current="page"]{background:var(--theme-button-hover,#354252);color:var(--theme-button-text,#fff)!important}
html{scroll-padding-top:calc(var(--rp-header-height) + 16px)}
body.light-theme :is(section[id],.ai-tool-entry[id],.guide-section[id]){scroll-margin-top:0}
.guide-page .guide-progress{z-index:121}
@media(min-width:1081px) and (max-width:1250px){
 .rp-header-inner{width:calc(100% - 96px);gap:18px}.rp-brand small{max-width:180px;font-size:10px}.rp-navigation{gap:16px}.rp-nav-parent,.rp-nav-link{font-size:12px}.rp-header-actions{gap:5px}.rp-contact{gap:14px;padding-inline:12px}
}
@media(min-width:1700px){.rp-header-inner{width:var(--desktop-content)}}
@media(max-width:1080px){
 :root{--rp-header-height:73px;--rp-bar-min:72px}
 .rp-header-inner{position:relative;width:calc(100% - 40px);flex-wrap:nowrap;gap:0 8px;padding-block:10px}
 .rp-brand{margin-right:auto;gap:7px}.rp-brand img{width:34px;height:34px;flex-basis:34px}.rp-brand>span{font-size:12.5px}.rp-brand small{font-size:9.5px;margin-top:2px}
 .rp-header-actions{gap:0;flex-shrink:0}.rp-header-actions>.rp-contact{display:none}.rp-theme-toggle{flex-basis:36px;width:36px;height:40px;padding:7px}.rp-theme-toggle svg{width:19px;height:19px}.rp-language>summary{height:40px;gap:4px;padding-inline:4px;font-size:11px}.rp-globe{width:16px;height:16px;flex-basis:16px}
 .rp-navigation{order:3;display:block;width:100%;margin:12px 0 0;padding:12px 0 20px;border-top:1px solid var(--rp-line)}
 .rp-nav-group{border-bottom:1px solid var(--rp-line)}
 .rp-nav-trigger{width:100%;justify-content:space-between;gap:8px}
 .rp-nav-parent,.rp-nav-link{min-height:56px;padding:14px 0;font-size:17px;font-weight:550;color:var(--rp-ink)!important}
 .rp-nav-parent{flex:1;white-space:normal}.rp-submenu-toggle{width:44px;height:44px;flex:0 0 44px;border:1px solid var(--rp-line);border-radius:4px}
 .rp-nav-group.is-current-section:not(.rp-nav-ai) .rp-nav-parent::after{display:none}.rp-nav-group.is-current-section .rp-nav-parent{color:var(--rp-accent)!important}
 .rp-nav-dropdown{position:static;min-width:0;padding:0 0 12px;border:0;border-radius:0;box-shadow:none;background:transparent}.rp-nav-dropdown::before{display:none}
 .rp-nav-dropdown a{min-height:46px;padding:10px 14px;font-size:14px;color:var(--rp-muted)}
 .rp-nav-link{width:100%;border-bottom:1px solid var(--rp-line)}.rp-mobile-contact{display:flex;color:var(--rp-accent)!important}
 .rp-language-options{top:calc(100% + 12px);right:-2px;width:210px;max-width:calc(100vw - 40px)}
 .rp-header.rp-enhanced .rp-menu-toggle{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;margin:0;padding:8px;border:1px solid var(--rp-line);border-radius:6px;background:transparent;color:var(--rp-ink);cursor:pointer}
 .rp-menu-lines{position:relative;display:block;width:18px;height:12px}.rp-menu-lines::before,.rp-menu-lines::after{content:"";position:absolute;left:0;width:18px;height:1.5px;background:currentColor;transition:transform .15s ease}.rp-menu-lines::before{top:2px}.rp-menu-lines::after{bottom:2px}
 .rp-menu-toggle[aria-expanded="true"] .rp-menu-lines::before{top:5px;transform:rotate(45deg)}.rp-menu-toggle[aria-expanded="true"] .rp-menu-lines::after{bottom:5.5px;transform:rotate(-45deg)}
 .rp-header.rp-enhanced .rp-navigation{display:none;position:absolute;top:100%;left:-20px;width:calc(100% + 40px);margin:0;padding:8px 20px max(24px,env(safe-area-inset-bottom));background:var(--theme-bg,#fafaf9);max-height:calc(100vh - var(--rp-header-height));max-height:calc(100dvh - var(--rp-header-height));overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;border-bottom:1px solid var(--rp-line);z-index:3}
 .rp-header.rp-menu-is-open{position:fixed;top:0;left:0;right:0}.rp-header.rp-menu-is-open .rp-navigation{display:block}.rp-header.rp-menu-is-open .rp-menu-backdrop{display:block;position:fixed;inset:var(--rp-header-height) 0 0;z-index:-1;background:#080e1980}.rp-header.rp-menu-is-open .rp-language{z-index:4}
 html.rp-menu-locked,html.rp-menu-locked body{overflow:hidden!important;overscroll-behavior:none}
 .rp-ai-label{min-width:42px;min-height:31px;font-size:14px}.rp-ai-dropdown{grid-template-columns:minmax(0,1fr);width:100%;min-width:0;gap:0;padding:0 0 16px;border:0}.rp-header .rp-ai-heading{padding:3px 14px 4px;margin-bottom:4px;font-size:11px}.rp-ai-dropdown a{min-height:44px}.rp-ai-dropdown .rp-ai-projects-button{margin:4px 0 8px}
}
@media(min-width:1081px){
 .rp-brand{gap:14px}.rp-brand img{width:50px;height:50px;flex-basis:50px}.rp-brand>span{font-size:17.5px}.rp-brand small{margin-top:4px;font-size:13.75px}
 .rp-navigation{gap:clamp(15px,2.1vw,35px)}.rp-nav-parent,.rp-nav-link{min-height:55px;padding:12.5px 0;font-size:16.25px}.rp-submenu-toggle{width:37.5px;height:55px}.rp-chevron{width:17.5px;height:17.5px;flex-basis:17.5px}
 .rp-header-actions{gap:12.5px}.rp-language>summary{height:55px;gap:9px;padding-inline:10px;font-size:15px}.rp-globe{width:21px;height:21px;flex-basis:21px}.rp-theme-toggle{flex-basis:50px;width:50px;height:55px;padding:11px}.rp-theme-toggle svg{width:24px;height:24px}
 .rp-contact{min-height:52.5px;gap:27.5px;padding:12.5px 20px;font-size:15px}.rp-contact>span{font-size:20px}.rp-ai-label{min-width:46px;min-height:36px;padding:4px 11px;font-size:15px}.rp-nav-dropdown,.rp-language-options{min-width:290px;padding:10px}.rp-nav-dropdown a{min-height:54px;padding:12px 15px;font-size:16.25px}.rp-language-options a{min-height:55px;padding:12px 15px;font-size:16.25px}
}
@media(max-width:400px){.rp-header .rp-brand small{font-size:9px}.rp-header-actions{gap:2px}.rp-header .rp-globe{display:none}}
@media(max-width:359px){
 .rp-header-inner{width:calc(100% - 28px);gap:0 6px}.rp-header .rp-brand small{display:none}.rp-header .rp-brand>span{font-size:12px}.rp-header .rp-brand img{width:32px;height:32px;flex-basis:32px}.rp-header .rp-brand{gap:7px}.rp-header-actions{gap:2px}.rp-language>summary{gap:5px;padding-inline:4px}.rp-header.rp-enhanced .rp-navigation{left:-14px;width:calc(100% + 28px);padding-inline:14px}
}
@media(prefers-reduced-motion:reduce){.rp-header *{transition:none!important}}
/* The homepage has a legacy universal “square corners” rule. Shared controls
   deliberately override it so all eighteen headers really are identical. */
body.light-theme .rp-header .rp-ai-label{border-radius:0!important}
body.light-theme .rp-header .rp-theme-toggle{border-radius:5px!important}
body.light-theme .rp-header :is(.rp-nav-dropdown,.rp-language-options){border-radius:8px!important;box-shadow:var(--theme-shadow,0 12px 36px #17233612)!important}
body.light-theme .rp-header :is(.rp-submenu-toggle,.rp-menu-toggle,.rp-nav-dropdown a,.rp-language-options a){border-radius:4px!important}
@media(max-width:1080px){body.light-theme .rp-header .rp-nav-dropdown{border-radius:0!important;box-shadow:none!important}}

@media(max-width:1080px){
 html.rp-has-js .rp-header:not(.rp-enhanced) .rp-navigation{display:none;}
 html.rp-has-js .rp-header:not(.rp-enhanced) .rp-menu-toggle{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;margin:0;padding:8px;border:1px solid var(--rp-line);border-radius:6px;background:transparent;color:var(--rp-ink);cursor:pointer;}
}

/* assets/mobile-layout.css */
/* Responsive repairs only. Existing desktop page layouts (981px and up) are left intact. */
@media (max-width: 980px) {
    html { max-width: 100%; overflow-x: hidden; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
    body.light-theme { width: 100%; max-width: 100%; overflow-x: hidden; }
    @supports (overflow: clip) { html, body.light-theme { overflow-x: clip; } }
    body.light-theme :is(main, .portfolio-intro, .portfolio-stack, .portfolio-category, .section-inner, .editorial-wrap, .ai-wrap, .guide-wrap, .guide-shell, .guide-content, .intro-layout, .intro-summary, .contact-panel, .contact-actions, .ai-section-heading, .ai-contact-layout, .ai-tool-body, .guide-section, .prompt-library) { min-width: 0; }
    body.light-theme :is(h1, h2, h3, h4, p, li, strong) { overflow-wrap: anywhere; }
    /* Clipping is local: moving rails cannot enlarge Safari's root scroll area. */
    body.light-theme :is(.reel-showcase, .reel-viewport, .ai-project-viewport, .client-logos) { min-width: 0; max-width: 100%; overflow: hidden; }
    body.light-theme .reel-viewport { contain: inline-size; isolation: isolate; }
    body.light-theme :is(.ai-grid, .ai-project-grid, .guide-table-scroll, .prompt-library-table, .guide-tab-list, .prompt-library-filters) { min-width: 0; max-width: 100%; overscroll-behavior-x: contain; }
    body.light-theme :is(.guide-table-scroll, .prompt-library-table) { -webkit-overflow-scrolling: touch; }
    /* Critical fix: media and captions now occupy real grid rows, not absolute overlays
       followed by a guessed 18.5rem margin. Long translations / larger text grow naturally. */
    body.light-theme :is(#longGrid, #musicGrid) {
        display: grid !important; grid-template-columns: minmax(0, 1fr) !important;
        gap: 36px !important; width: 100% !important; max-width: none !important;
        padding: 0 !important; margin: 0 !important; align-items: start;
    }
    body.light-theme :is(#longGrid, #musicGrid) > :is(.video-card, .external-card).has-project-meta {
        display: grid !important; grid-template-columns: minmax(0, 1fr); grid-template-rows: auto auto;
        position: relative; width: 100% !important; min-width: 0; max-width: 100%;
        height: auto !important; min-height: 0 !important; aspect-ratio: auto !important;
        margin: 0 !important; padding: 0 !important; overflow: visible !important;
        transform: none !important; isolation: auto; background: transparent !important;
        border: 0 !important; box-shadow: none !important;
    }
    body.light-theme :is(#longGrid, #musicGrid) .video-media-frame,
    body.light-theme :is(#longGrid, #musicGrid) .external-preview {
        position: relative !important; inset: auto !important; grid-column: 1; grid-row: 1;
        display: block; width: 100%; max-width: 100%; aspect-ratio: 16 / 9;
        height: auto !important; min-width: 0; overflow: hidden;
        background: #151b23; border-radius: 4px !important;
        -webkit-mask-image: -webkit-radial-gradient(white, black);
    }
    body.light-theme :is(#longGrid, #musicGrid) .video-media-frame > video,
    body.light-theme :is(#longGrid, #musicGrid) .external-preview > :is(img, video) {
        position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover;
    }
    body.light-theme :is(#longGrid, #musicGrid) .player-overlay {
        position: relative !important; inset: auto !important; grid-column: 1; grid-row: 1;
        align-self: stretch; min-width: 0; width: 100%; height: auto !important; z-index: 3;
        pointer-events: none;
    }
    body.light-theme :is(#longGrid, #musicGrid) .video-card::after { display: none !important; }
    body.light-theme :is(#longGrid, #musicGrid) .music-project-meta {
        position: static !important; inset: auto !important; grid-column: 1; grid-row: 2;
        display: grid; grid-template-columns: minmax(0, 1fr) !important; gap: 8px !important;
        width: 100%; min-width: 0; max-width: 100%; height: auto; margin: 14px 0 0 !important;
        padding: 15px 0 0 !important; border-top: 1px solid #dce1e5; z-index: auto;
        overflow: visible; text-align: left;
    }
    body.light-theme :is(#longGrid, #musicGrid) .music-project-meta > div { min-width: 0; }
    body.light-theme :is(#longGrid, #musicGrid) .music-project-code { font-size: 10px; line-height: 1.4; padding: 0; letter-spacing: .08em; }
    body.light-theme :is(#longGrid, #musicGrid) .music-project-meta h3 { margin: 0; font-size: 19px; line-height: 1.4; letter-spacing: -.025em; text-wrap: pretty; }
    body.light-theme :is(#longGrid, #musicGrid) .music-project-meta p { max-width: none; font-size: 14px; line-height: 1.75; margin: 9px 0 0; }
    body.light-theme :is(#longGrid, #musicGrid) .music-project-meta .music-project-achievement { max-width: 100%; width: fit-content; padding: 6px 8px; font-size: 10px; line-height: 1.5; }
    body.light-theme :is(#longGrid, #musicGrid) .music-project-credits { display: flex; flex-wrap: wrap; gap: 14px 24px; margin-top: 17px; padding-top: 14px; }
    body.light-theme :is(#longGrid, #musicGrid) .music-project-credits li { min-width: 0; max-width: 100%; gap: 4px; }
    body.light-theme :is(#longGrid, #musicGrid) .music-project-credits span { font-size: 9px; line-height: 1.5; }
    body.light-theme :is(#longGrid, #musicGrid) .music-project-credits strong { font-size: 12px; line-height: 1.6; }
    /* Fullscreen must remain a media-only surface. Native iOS fullscreen is handled by the video. */
    body.light-theme :is(#longGrid, #musicGrid) .video-card:fullscreen { width: 100% !important; height: 100% !important; background: #000 !important; }
    body.light-theme :is(#longGrid, #musicGrid) .video-card:fullscreen .music-project-meta { display: none !important; }
    body.light-theme :is(#longGrid, #musicGrid) .video-card:fullscreen .video-media-frame { height: 100% !important; aspect-ratio: auto; }
    body.light-theme :is(#longGrid, #musicGrid) .video-card:fullscreen .work-video { object-fit: contain; }
    /* Existing media controls are too wide for two-column reels. On touch screens the JS
       enables native controls after Play; only the custom central play target is retained. */
    body.light-theme.rp-native-players .video-card .control-bar { display: none !important; }
    body.light-theme.rp-native-players .work-video[controls] { transform: none !important; }
    body.light-theme.rp-native-players .play-center { width: 54px; height: 54px; min-width: 44px; min-height: 44px; }
    body.light-theme.rp-native-players .video-card.is-playing .player-overlay { pointer-events: none; }
    body.light-theme.rp-native-players .video-card .work-video[controls] { pointer-events: auto; }
    body.light-theme .hero-rotating-line { max-width: 100%; white-space: normal; }
    body.light-theme .portfolio-intro h1 { overflow-wrap: normal; }
    body.light-theme :is(.contact-actions, .ai-contact-details) { min-width: 0; width: 100%; }
    body.light-theme :is(.contact-link, .ai-contact-details a) { min-width: 0; max-width: 100%; height: auto; }
    body.light-theme :is(.contact-link strong, .ai-contact-details strong) { min-width: 0; overflow-wrap: anywhere; }
    body.light-theme.ai-page :is(section, .ai-tool-entry) { scroll-margin-top: 0; }
    body.light-theme :is(input, select, textarea) { font-size: max(16px, 1rem); }
    .guide-page .prompt-library-search input { font-size: 16px; }
    .guide-page :is(.guide-callout, .guide-production article, .guide-brief-grid > *, .guide-decision-grid > *, .guide-budget-example > *) { min-width: 0; }
    .guide-page :is(pre, code) { white-space: pre-wrap; overflow-wrap: anywhere; word-break: normal; }
}
@media (max-width: 700px) {
    /* One 20px gutter, stable stacks and readable type instead of miniature desktop columns. */
    body.light-theme :is(.section-inner, .editorial-wrap, .ai-wrap, .guide-wrap) { width: calc(100% - 40px); margin-inline: auto; }
    body.light-theme .portfolio-intro { padding-top: 32px; }
    body.light-theme .intro-layout { grid-template-columns: minmax(0, 1fr); gap: 22px; padding-bottom: 28px; }
    body.light-theme .portfolio-intro h1 { font-size: clamp(33px, 9.7vw, 49px); line-height: 1.12; }
    body.light-theme .intro-kicker { font-size: 9px; line-height: 1.65; margin-bottom: 16px; letter-spacing: .1em; }
    body.light-theme .intro-summary > p { font-size: 14px; line-height: 1.7; }
    body.light-theme :is(.editorial-button, .ai-button, .reels-toggle) { min-height: 46px; }
    body.light-theme .reel-group { align-items: flex-start; }
    body.light-theme .reel-picture { border-radius: 4px !important; }
    body.light-theme .reel-caption { padding-top: 11px; }
    body.light-theme .reel-caption small { font-size: 9px; line-height: 1.5; }
    body.light-theme .reel-caption strong { font-size: 13px; line-height: 1.5; }
    body.light-theme :is(.section-header, .category-top, .split, .contact-panel) { min-width: 0; }
    body.light-theme :is(.category-top, .ai-section-heading, .ai-home-full-catalog .ai-section-heading) { display: grid !important; grid-template-columns: minmax(0, 1fr) !important; gap: 14px !important; }
    body.light-theme .category-note { max-width: 100%; font-size: 13px; line-height: 1.65; text-align: left; }
    body.light-theme :is(#long-form, #music-videos) { margin-inline: 0 !important; padding-inline: 0 !important; width: 100% !important; }
    body.light-theme :is(#long-form, #music-videos) .category-top { margin-bottom: 22px; }
    body.light-theme .portfolio-stack { gap: 48px; }
    body.light-theme :is(.section-copy, .about-copy p, .services-list li span, .process-card > span) { font-size: 14px !important; line-height: 1.75 !important; }
    body.light-theme .about-copy .statement { font-size: 17px !important; line-height: 1.7 !important; }
    body.light-theme .contact-panel { display: grid !important; grid-template-columns: minmax(0, 1fr) !important; gap: 26px !important; padding: 0 !important; }
    body.light-theme #contact h2 { font-size: clamp(29px, 8.8vw, 42px) !important; line-height: 1.12 !important; }
    body.light-theme .contact-link { padding: 18px 16px !important; }
    body.light-theme .contact-link strong { font-size: clamp(15px, 4.1vw, 19px) !important; line-height: 1.5; }
    body.light-theme .footer-inner { display: flex; flex-direction: column; gap: 10px; align-items: flex-start; }
    /* On touch screens the AI galleries use native horizontal swiping. */
    body.light-theme #ai-reels .ai-project-carousel,
    body.light-theme.ai-page .ai-project-carousel {
        display: block !important;
    }
    body.light-theme #ai-reels .ai-project-viewport,
    body.light-theme.ai-page .ai-project-viewport { width: 100%; }
    body.light-theme #ai-reels .ai-project-carousel-arrow,
    body.light-theme.ai-page .ai-project-arrow {
        display: none !important;
    }
    body.light-theme #ai-reels .ai-grid,
    body.light-theme.ai-page .ai-project-grid {
        overflow-x: auto !important;
        touch-action: pan-x pan-y;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior-inline: contain;
        scroll-behavior: smooth;
        scroll-snap-type: x mandatory;
        gap: 14px !important;
        padding-inline: 0 !important;
    }
    body.light-theme #ai-reels .ai-grid .video-card,
    body.light-theme #ai-reels .ai-grid .video-card:nth-child(5),
    body.light-theme #ai-reels .ai-grid .video-card:last-child:nth-child(odd) { flex-basis: 100% !important; }
    body.light-theme.ai-page .ai-project-grid { grid-auto-columns: 100% !important; }
    body.light-theme #ai-reels .ai-grid .video-card,
    body.light-theme.ai-page .ai-project { scroll-snap-stop: always; }
    body.light-theme .ai-hero-description { font-size: 15px; line-height: 1.75; }
    body.light-theme .ai-hero-actions { flex-wrap: wrap; }
    body.light-theme .ai-section-heading > p { margin-left: 0; font-size: 14px; line-height: 1.75; }
    body.light-theme .ai-full-catalog .ai-model-list { grid-template-columns: minmax(0, 1fr) !important; gap: 24px !important; }
    body.light-theme .ai-full-catalog .ai-group-heading { display: block; }
    body.light-theme .ai-full-catalog .ai-tool-entry { display: flex; flex-direction: row; gap: 14px; }
    body.light-theme .ai-tool-body p { font-size: 14px; line-height: 1.75; }
    body.light-theme .ai-filters { flex-wrap: wrap; gap: 6px; }
    body.light-theme .ai-filters button { min-height: 42px; padding: 9px 12px; font-size: 12px; }
    body.light-theme .ai-contact-details strong { font-size: clamp(15px, 4.5vw, 20px); }
    body.light-theme .ai-footer { flex-wrap: wrap; gap: 14px; font-size: 12px; }
    body.light-theme .guide-hero-grid { padding-block: 38px 32px; gap: 28px; }
    body.light-theme .guide-hero h1 { font-size: clamp(37px, 10.5vw, 53px); line-height: 1.12; }
    body.light-theme .guide-lead { font-size: 15px; line-height: 1.75; }
    body.light-theme .guide-section { padding-block: 42px; }
    body.light-theme .guide-section h2 { font-size: clamp(29px, 8.4vw, 40px); line-height: 1.14; }
    body.light-theme :is(.guide-opening, .guide-section-lead, .guide-section > p, .prompt-library-content, .guide-prompt-card pre) { font-size: 14px; line-height: 1.8; }
    body.light-theme .guide-prompt-card header { flex-wrap: wrap; gap: 12px; }
    body.light-theme .guide-prompt-card header button { min-height: 44px; }
    body.light-theme .guide-calculator { margin-inline: 0; padding: 22px 18px; }
    body.light-theme :is(.guide-summary, .guide-callout) { padding: 24px 18px; }
    body.light-theme .guide-summary { margin-inline: 0; }
    body.light-theme .guide-summary-actions a { min-width: 0; width: 100%; font-size: 13px; }
    body.light-theme .prompt-library-reader-header { grid-template-columns: 42px minmax(0, 1fr) 44px; gap: 10px; padding: 18px 12px; }
    body.light-theme .prompt-library-close { min-width: 44px; min-height: 44px; }
}
@media (max-width: 359px) {
    body.light-theme :is(.section-inner, .editorial-wrap, .ai-wrap, .guide-wrap) { width: calc(100% - 28px); }
    body.light-theme .contact-link { padding-inline: 12px !important; }
    body.light-theme .contact-link strong { font-size: 15px !important; }
    body.light-theme :is(#longGrid, #musicGrid) .music-project-meta h3 { font-size: 18px; }
}

/* assets/site-theme.css */
/* Editorial night palette. Only colours are overridden here; no media filters or layout inversion.
   Semantic tokens are shared by navigation, footer and the production timeline. */
:root{
 --theme-bg:#fafaf9;--theme-ink:#191c20;--theme-muted:#65707a;--theme-quiet:#748092;
 --theme-surface:#ffffff;--theme-subtle:#f1f3f5;--theme-surface-soft:#eef2f7;--theme-footer:#f0f2f4;
 --theme-accent:#285cc4;--theme-accent-strong:#285cc4;--theme-accent-soft:#edf2fb;--theme-ai-line:#c5d5ee;
 --theme-line:#dce1e5;--theme-line-strong:#b8c6d7;--theme-hover:#edf1f6;
 --theme-button:#20262d;--theme-button-text:#fff;--theme-button-hover:#354252;
 --theme-shadow:0 14px 42px #15203312;--theme-success:#276345;--theme-warning:#825617;
}
html[data-theme="dark"]{
 color-scheme:dark;background:#101319;
 --theme-bg:#101319;--theme-ink:#edf1f6;--theme-muted:#b0b9c7;--theme-quiet:#97a3b5;
 --theme-surface:#1a202a;--theme-subtle:#151a22;--theme-surface-soft:#172130;--theme-footer:#141922;
 --theme-accent:#91b5fa;--theme-accent-strong:#345fa7;--theme-accent-soft:#1c2b43;--theme-ai-line:#40597e;
 --theme-line:#2e3847;--theme-line-strong:#465771;--theme-hover:#232f40;
 --theme-button:#edf1f6;--theme-button-text:#151a22;--theme-button-hover:#cddcf6;
 --theme-shadow:0 18px 52px #03060e66;--theme-success:#91d1ac;--theme-warning:#e6c28c;
}

/* Colour compatibility: client-carousel.css */
html[data-theme="dark"] .client-list-toggle{border:1px solid var(--theme-line);background:var(--theme-line);color:var(--accent);}
html[data-theme="dark"] .client-list-toggle:hover,html[data-theme="dark"] .client-list-toggle:focus-visible{border-color:var(--theme-line);background:var(--theme-line);}
html[data-theme="dark"][lang="cs"] .language-menu summary::before,html[data-theme="dark"] .language-option[lang="cs"]::before{background-image:url("icons/flags/cs.svg")!important;}
html[data-theme="dark"][lang="fr"] .language-menu summary::before,html[data-theme="dark"] .language-option[lang="fr"]::before{background-image:url("icons/flags/fr.svg")!important;}

/* Colour compatibility: ai-experience.css */
html[data-theme="dark"] .ai-directory,html[data-theme="dark"] .ai-page{--ai-ink:var(--theme-ink);--ai-muted:var(--theme-muted);--ai-cyan:var(--theme-accent);--ai-line:var(--theme-accent);--ai-ground:var(--theme-surface-soft);color:var(--ai-ink);}
html[data-theme="dark"] .ai-eyebrow{color:var(--ai-cyan);}
html[data-theme="dark"] .ai-text-link{color:var(--ai-ink);border-bottom:1px solid var(--ai-cyan);}
html[data-theme="dark"] .ai-text-link > span{color:var(--ai-cyan);}
html[data-theme="dark"] .ai-directory a:focus-visible,html[data-theme="dark"] .ai-page :is(a, button, video):focus-visible{outline:2px solid var(--ai-cyan);}
html[data-theme="dark"] .ai-catalog-group{border-top:1px solid var(--ai-line);}
html[data-theme="dark"] .ai-model-mark{color:var(--ai-ink);}
html[data-theme="dark"] .ai-model-mark:hover{color:var(--ai-cyan);}
html[data-theme="dark"] .ai-page{background:var(--ai-ground);}
html[data-theme="dark"] .ai-page a{color:inherit;}
html[data-theme="dark"] .ai-skip{background:var(--ai-cyan);color:var(--theme-ink)!important;}
html[data-theme="dark"] .ai-topbar{border-bottom:1px solid var(--ai-line);background:var(--theme-surface-soft);}
html[data-theme="dark"] .ai-brand small{color:var(--ai-muted);}
html[data-theme="dark"] .ai-topbar nav a:hover{color:var(--ai-cyan);}
html[data-theme="dark"] .ai-dot{background:var(--ai-cyan);}
html[data-theme="dark"] .ai-hero h1 em{color:var(--ai-cyan);}
html[data-theme="dark"] .ai-hero-description{color:var(--ai-muted);}
html[data-theme="dark"] .ai-button{background:var(--ai-cyan);color:var(--theme-ink)!important;}
html[data-theme="dark"] .ai-button:hover{background:var(--theme-accent-soft);}
html[data-theme="dark"] .ai-visual-label,html[data-theme="dark"] .ai-visual-foot{color:var(--ai-muted);}
html[data-theme="dark"] .ai-visual-foot{border-top:1px solid var(--ai-line);}
html[data-theme="dark"] .ai-section-heading > p{color:var(--ai-muted);}
html[data-theme="dark"] .ai-project-line{border-top:1px solid var(--ai-line);}
html[data-theme="dark"] .ai-project-line > span{color:var(--ai-cyan);}
html[data-theme="dark"] .ai-project-models a:hover{color:var(--ai-cyan);}
html[data-theme="dark"] .ai-project-caption .ai-project-subject{color:var(--ai-ink);}
html[data-theme="dark"] .ai-project-caption p{color:var(--ai-muted);}
html[data-theme="dark"] .ai-service-section{background:var(--theme-surface-soft);border-block:1px solid var(--ai-line);}
html[data-theme="dark"] .ai-service-intro{color:var(--ai-muted);}
html[data-theme="dark"] .ai-offer-list article{border-top:1px solid var(--ai-line);}
html[data-theme="dark"] .ai-offer-list article > span{color:var(--ai-cyan);}
html[data-theme="dark"] .ai-offer-list p{color:var(--ai-muted);}
html[data-theme="dark"] .ai-process li{border-top:1px solid var(--ai-cyan);}
html[data-theme="dark"] .ai-process li > span{color:var(--ai-cyan);}
html[data-theme="dark"] .ai-process p{color:var(--ai-muted);}
html[data-theme="dark"] .ai-guide-promo{border-block:1px solid var(--theme-line);background:var(--theme-bg);color:var(--theme-ink);}
html[data-theme="dark"] .ai-guide-promo-copy > p:not(.ai-eyebrow){color:var(--theme-muted);}
html[data-theme="dark"] .ai-guide-promo-copy ul{border-block:1px solid var(--theme-line);}
html[data-theme="dark"] .ai-guide-promo-copy li{border-right:1px solid var(--theme-line);}
html[data-theme="dark"] .ai-guide-promo-copy li:last-child{border-right:0;}
html[data-theme="dark"] .ai-guide-promo-copy li strong{color:var(--theme-ink);}
html[data-theme="dark"] .ai-guide-promo-copy li span{color:var(--theme-muted);}
html[data-theme="dark"] .ai-guide-promo .ai-button{background:var(--theme-surface-soft);color:var(--theme-ink)!important;}
html[data-theme="dark"] .ai-guide-promo .ai-button:hover{background:var(--theme-accent-strong);}
html[data-theme="dark"] .ai-guide-promo-map::before{background:var(--theme-accent-strong);}
html[data-theme="dark"] .ai-guide-promo-map div{border-left:1px solid var(--theme-accent);background:var(--theme-bg);}
html[data-theme="dark"] .ai-guide-promo-map div:nth-child(even){background:var(--theme-accent-soft);}
html[data-theme="dark"] .ai-guide-promo-map div:first-child{border-left:2px solid var(--theme-accent);}
html[data-theme="dark"] .ai-guide-promo-map span{color:var(--theme-accent);}
html[data-theme="dark"] .ai-guide-promo-map small{color:var(--theme-muted);}
html[data-theme="dark"] .ai-full-catalog{border-top:1px solid var(--ai-line);}
html[data-theme="dark"] .ai-full-catalog h2 > span{color:var(--ai-muted);}
html[data-theme="dark"] .ai-filters button{border:1px solid transparent;background:transparent;color:var(--ai-muted);}
html[data-theme="dark"] .ai-filters button[aria-pressed="true"]{border-color:var(--ai-cyan);background:var(--ai-cyan);color:var(--theme-ink);}
html[data-theme="dark"] .ai-filters button:hover:not([aria-pressed="true"]){border-color:var(--ai-line);color:var(--ai-ink);}
html[data-theme="dark"] .ai-catalog-status{color:var(--ai-muted);}
html[data-theme="dark"] .ai-full-catalog .ai-group-heading p{color:var(--ai-muted);}
html[data-theme="dark"] .ai-tool-entry:target{outline:1px solid var(--ai-cyan);}
html[data-theme="dark"] .ai-tool-use{color:var(--ai-muted);}
html[data-theme="dark"] .ai-tool-body p{color:var(--ai-muted);}
html[data-theme="dark"] .ai-contact-section{background:var(--theme-surface-soft);border-top:1px solid var(--theme-accent);}
html[data-theme="dark"] .ai-contact-layout p:not(.ai-eyebrow){color:var(--theme-muted);}
html[data-theme="dark"] .ai-contact-details a{border-top:1px solid var(--theme-accent);}
html[data-theme="dark"] .ai-contact-details a > span{color:var(--ai-cyan);}
html[data-theme="dark"] .ai-contact-details b{color:var(--ai-cyan);}
html[data-theme="dark"] .ai-footer{color:var(--ai-muted);}
html[data-theme="dark"] .ai-footer a span{color:var(--ai-cyan);}
@media (max-width: 800px){
html[data-theme="dark"] .ai-topbar nav{border-top:1px solid var(--ai-line);}
}
@media (max-width: 520px){
html[data-theme="dark"] .ai-guide-promo-copy li,html[data-theme="dark"] .ai-guide-promo-copy li + li{border-right:0;border-bottom:1px solid var(--theme-line);}
html[data-theme="dark"] .ai-guide-promo-copy li:last-child{border-bottom:0;}
}
html[data-theme="dark"] .ai-project-arrow{border:1px solid var(--theme-accent);background:transparent;color:var(--theme-ink);}
html[data-theme="dark"] .ai-project-arrow:hover:not(:disabled),html[data-theme="dark"] .ai-project-arrow:focus-visible:not(:disabled){border-color:var(--theme-accent);background:var(--theme-accent-strong);color:var(--theme-ink);}
html[data-theme="dark"] .ai-project-topline{border-top:1px solid var(--theme-line);}
html[data-theme="dark"] .ai-project-client,html[data-theme="dark"] .ai-project-format,html[data-theme="dark"] .ai-project-models-label{color:var(--theme-muted);}
html[data-theme="dark"] .ai-project-format{color:var(--theme-muted);}
html[data-theme="dark"] .ai-project-caption h3{color:var(--theme-ink);}
html[data-theme="dark"] .ai-project-description{color:var(--theme-muted);}
html[data-theme="dark"] .ai-project-models{border-top:1px solid var(--theme-line);}
html[data-theme="dark"] .ai-project-models-label{color:var(--theme-muted);}
html[data-theme="dark"] .ai-project-models-label::before{background:var(--theme-accent-strong);}
html[data-theme="dark"] .ai-project-models a{border:0;background:transparent;color:var(--theme-ink);box-shadow:none;}
html[data-theme="dark"] .ai-project-models a::after{border:1px solid var(--theme-accent);background:var(--theme-surface-soft);color:var(--theme-ink);}

/* Colour compatibility: editorial-light.css */
html[data-theme="dark"]{--bg:var(--theme-bg);--bg-soft:var(--theme-bg);--surface:var(--theme-surface);--surface-light:var(--theme-subtle);--text:var(--theme-ink);--muted:var(--theme-muted);--quiet:var(--theme-muted);--line:var(--theme-line-strong);--line-strong:var(--theme-line-strong);--accent:var(--theme-accent);--accent-cool:var(--theme-accent);--accent-soft:var(--theme-accent-soft);--ai-accent:var(--theme-accent);}
html[data-theme="dark"] body.light-theme{background:var(--theme-bg)!important;color:var(--text);}
html[data-theme="dark"] body.light-theme :is(a,button):focus-visible{outline:2px solid var(--theme-accent)!important;}
html[data-theme="dark"] body.light-theme ::selection{background:var(--theme-accent-soft);color:var(--theme-ink);}
html[data-theme="dark"] body.light-theme .section-kicker{color:var(--theme-muted)!important;}
html[data-theme="dark"] body.light-theme .section-copy{color:var(--theme-muted);}
html[data-theme="dark"] body.light-theme .section{background:transparent;}
html[data-theme="dark"] body.light-theme .site-nav{border-bottom:1px solid var(--theme-line)!important;background:var(--theme-bg)!important;box-shadow:none!important;}
html[data-theme="dark"] body.light-theme .site-nav .brand-copy{color:var(--theme-ink);}
html[data-theme="dark"] body.light-theme .site-nav .brand-copy>span{color:var(--theme-muted)!important;}
html[data-theme="dark"] body.light-theme .site-nav .brand-logo-wrap{border:0!important;background:var(--theme-surface-soft)!important;}
html[data-theme="dark"] body.light-theme .nav-links a{color:var(--theme-muted)!important;}
html[data-theme="dark"] body.light-theme .nav-links a:hover,html[data-theme="dark"] body.light-theme .nav-links a.is-active{color:var(--theme-ink)!important;}
html[data-theme="dark"] body.light-theme .nav-links .nav-ai-link{border:0!important;background:var(--theme-accent-soft)!important;color:var(--theme-accent)!important;}
html[data-theme="dark"] body.light-theme .nav-links .nav-ai-link:hover{background:var(--theme-accent-soft)!important;}
html[data-theme="dark"] body.light-theme .language-menu summary{color:var(--theme-ink)!important;border:0!important;}
html[data-theme="dark"] body.light-theme .language-chevron{color:var(--theme-muted)!important;}
html[data-theme="dark"] body.light-theme .language-options{background:var(--theme-surface)!important;border-color:var(--theme-line)!important;box-shadow:0 15px 35px #121a2510;}
html[data-theme="dark"] body.light-theme .language-option{color:var(--theme-ink)!important;}
html[data-theme="dark"] body.light-theme .language-option.is-current,html[data-theme="dark"] body.light-theme .language-option:hover{background:var(--theme-bg)!important;color:var(--theme-ink)!important;border-color:var(--theme-accent)!important;}
html[data-theme="dark"] .intro-kicker{color:var(--theme-ink);}
html[data-theme="dark"] .intro-kicker span{color:var(--theme-muted);}
html[data-theme="dark"] .portfolio-intro h1{color:var(--theme-ink);}
html[data-theme="dark"] .portfolio-intro h1>span{color:var(--theme-muted);}
html[data-theme="dark"] .hero-typing-cursor{background:currentColor;}
html[data-theme="dark"] .intro-summary>p{color:var(--theme-muted);}
html[data-theme="dark"] .editorial-button{background:var(--theme-surface-soft);color:var(--theme-ink)!important;border:1px solid var(--theme-line-strong);}
html[data-theme="dark"] .editorial-button:hover{background:var(--theme-surface-soft);}
html[data-theme="dark"] .reel-section-bar>p{color:var(--theme-ink);}
html[data-theme="dark"] .reel-bar-note{color:var(--theme-muted);}
html[data-theme="dark"] .live-dot{background:var(--theme-accent-strong);}
html[data-theme="dark"] .reel-navigation button{color:var(--theme-ink);background:transparent;border:1px solid transparent;}
html[data-theme="dark"] .reel-navigation button:hover{border-color:var(--theme-line);background:var(--theme-surface);}
html[data-theme="dark"] .reel-card{border:0;background:none;color:var(--theme-ink);}
html[data-theme="dark"] .reel-open{background:var(--theme-bg);color:var(--theme-ink);border:1px solid var(--theme-line);box-shadow:0 3px 16px #00000015;}
html[data-theme="dark"] .reel-caption small{color:var(--theme-muted);}
html[data-theme="dark"] body.light-theme #showreel{background:transparent!important;}
html[data-theme="dark"] body.light-theme .category-top{border-color:var(--theme-line)!important;}
html[data-theme="dark"] body.light-theme .category-note{color:var(--theme-muted);}
html[data-theme="dark"] body.light-theme :is(.video-card,.external-card){border-color:var(--theme-line)!important;box-shadow:none!important;}
html[data-theme="dark"] body.light-theme .reels-toggle{color:var(--theme-ink)!important;border-color:var(--theme-line)!important;background:transparent!important;}
html[data-theme="dark"] body.light-theme .reels-toggle:hover{background:var(--theme-accent-soft)!important;}
html[data-theme="dark"] body.light-theme #musicGrid .music-project-meta,html[data-theme="dark"] body.light-theme #longGrid .music-project-meta{border-color:var(--theme-line);}
html[data-theme="dark"] body.light-theme #musicGrid .music-project-meta h3,html[data-theme="dark"] body.light-theme #longGrid .music-project-meta h3{color:var(--theme-ink);}
html[data-theme="dark"] body.light-theme #musicGrid .music-project-meta p,html[data-theme="dark"] body.light-theme #longGrid .music-project-meta p{color:var(--theme-muted);}
html[data-theme="dark"] body.light-theme #musicGrid .music-project-code,html[data-theme="dark"] body.light-theme #longGrid .music-project-code{color:var(--theme-muted);}
html[data-theme="dark"] body.light-theme #musicGrid .music-project-achievement,html[data-theme="dark"] body.light-theme #longGrid .music-project-achievement{color:var(--theme-accent);background:transparent;border-color:var(--theme-accent);}
html[data-theme="dark"] body.light-theme #musicGrid .music-project-credits,html[data-theme="dark"] body.light-theme #longGrid .music-project-credits{border-color:var(--theme-line);}
html[data-theme="dark"] body.light-theme #musicGrid .music-project-credits span,html[data-theme="dark"] body.light-theme #longGrid .music-project-credits span{color:var(--theme-muted);}
html[data-theme="dark"] body.light-theme #musicGrid .music-project-credits strong,html[data-theme="dark"] body.light-theme #longGrid .music-project-credits strong{color:var(--theme-ink);}
html[data-theme="dark"] body.light-theme #showreel #tech{border-top:1px solid var(--theme-line);border-bottom:1px solid var(--theme-line);}
html[data-theme="dark"] body.light-theme #showreel #tech .section-header{border:0!important;}
html[data-theme="dark"] body.light-theme #showreel #tech h2{color:var(--theme-ink);}
html[data-theme="dark"] body.light-theme #showreel #tech .section-copy{color:var(--theme-muted)!important;}
html[data-theme="dark"] body.light-theme #showreel #tech .tools-group{border:0!important;}
html[data-theme="dark"] body.light-theme #showreel #tech .programs-grid{border-top:1px solid var(--theme-line)!important;border-bottom:1px solid var(--theme-line)!important;}
html[data-theme="dark"] body.light-theme #showreel #tech .programs-grid .tool-item{border:0!important;border-top:2px solid var(--program-accent)!important;border-right:1px solid var(--theme-line)!important;background:var(--theme-surface)!important;box-shadow:none!important;}
html[data-theme="dark"] body.light-theme #showreel #tech .programs-grid .tool-item:last-child{border-right:0!important;}
html[data-theme="dark"] body.light-theme #showreel #tech .programs-grid .tool-item:hover,html[data-theme="dark"] body.light-theme #showreel #tech .programs-grid .tool-item:focus-within{background:var(--theme-bg)!important;}
html[data-theme="dark"] body.light-theme #showreel #tech .programs-grid .tool-icons{border:0!important;background:transparent!important;box-shadow:none!important;}
html[data-theme="dark"] body.light-theme #showreel #tech .programs-grid .tool-icon,html[data-theme="dark"] body.light-theme #showreel #tech .programs-grid .adobe-product-icon{border:0!important;box-shadow:0 8px 22px rgba(39,49,68,.12)!important;}
html[data-theme="dark"] body.light-theme #showreel #tech .programs-grid .tool-tag{border:0!important;border-bottom:1px solid var(--program-accent)!important;background:transparent!important;color:var(--theme-muted)!important;}
html[data-theme="dark"] body.light-theme #showreel #tech .programs-grid .tool-item h3{color:var(--theme-ink)!important;}
html[data-theme="dark"] body.light-theme #showreel #tech .programs-grid .tool-desc{color:var(--theme-muted)!important;}
html[data-theme="dark"] body.light-theme .ai-zone{--ai-accent:var(--theme-accent);}
html[data-theme="dark"] body.light-theme .ai-zone::before{background:var(--ai-dynamic-bg,var(--theme-bg))!important;}
html[data-theme="dark"] body.light-theme .ai-zone-intro{border-color:var(--theme-line)!important;}
html[data-theme="dark"] body.light-theme .ai-zone-kicker{color:var(--theme-accent)!important;}
html[data-theme="dark"] body.light-theme .ai-zone-mark{background:var(--theme-accent-soft)!important;border:0!important;color:var(--theme-accent)!important;}
html[data-theme="dark"] body.light-theme .ai-zone-heading h2{color:var(--theme-ink)!important;}
html[data-theme="dark"] body.light-theme .ai-zone-heading p{color:var(--theme-muted)!important;}
html[data-theme="dark"] body.light-theme #ai-reels{--ai-gallery-line:var(--theme-line);--ai-gallery-ink:var(--theme-ink);--ai-accent:var(--theme-accent);}
html[data-theme="dark"] body.light-theme #ai-reels .ai-gallery-meta{border-color:var(--theme-line);border-left:0;}
html[data-theme="dark"] body.light-theme #ai-reels .ai-gallery-meta p{color:var(--theme-muted);}
html[data-theme="dark"] body.light-theme #ai-reels .ai-gallery-meta span{color:var(--theme-muted);}
html[data-theme="dark"] body.light-theme #ai-reels .ai-grid .video-card{border:0!important;}
html[data-theme="dark"] body.light-theme #main #showreel .portfolio-category .category-top .section-kicker::before,html[data-theme="dark"] body.light-theme #main #showreel #ai-reels .ai-gallery-title .section-kicker::before{background:none!important;}
html[data-theme="dark"] body.light-theme #ai-reels .video-card .video-caption{color:var(--theme-muted)!important;}
html[data-theme="dark"] body.light-theme #ai-reels .caption-link{color:var(--theme-accent)!important;text-decoration-color:var(--theme-accent);}
html[data-theme="dark"] body.light-theme #ai-reels .video-card .model-badges{border-color:var(--theme-line)!important;}
html[data-theme="dark"] body.light-theme #ai-reels .video-card .model-badges::before{border:0!important;color:var(--theme-muted)!important;}
html[data-theme="dark"] body.light-theme #ai-reels .video-card .model-badge{border:1px solid var(--theme-line)!important;color:var(--theme-ink)!important;}
html[data-theme="dark"] body.light-theme .ai-directory,html[data-theme="dark"] body.light-theme.ai-page{--ai-ink:var(--theme-ink);--ai-muted:var(--theme-muted);--ai-cyan:var(--theme-accent);--ai-line:var(--theme-line);--ai-ground:var(--theme-bg);}
html[data-theme="dark"] body.light-theme .ai-directory-heading{border-bottom:1px solid var(--theme-line);}
html[data-theme="dark"] body.light-theme .ai-directory .ai-text-link{border-color:var(--theme-accent);}
html[data-theme="dark"] body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-catalog-group,html[data-theme="dark"] body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-catalog-group:nth-child(n/**/+2):nth-child(-n/**/+4){border-top:0!important;border-bottom:1px solid var(--theme-line);}
html[data-theme="dark"] body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-catalog-group:first-child{border-top:0!important;}
html[data-theme="dark"] body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-group-heading h3{color:var(--theme-ink);}
html[data-theme="dark"] body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-model-mark{color:var(--theme-ink);}
html[data-theme="dark"] body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-model-mark .ai-logo{background:transparent;box-shadow:none;}
html[data-theme="dark"] body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-model-mark>span:last-child{color:var(--theme-ink);}
html[data-theme="dark"] body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-model-mark:hover{color:var(--theme-accent);}
html[data-theme="dark"] body.light-theme #about .about-icon-row,html[data-theme="dark"] body.light-theme #services .section-inner,html[data-theme="dark"] body.light-theme #services .scope-list,html[data-theme="dark"] body.light-theme #services .scope-list li{border-color:var(--theme-line)!important;}
html[data-theme="dark"] body.light-theme #services .section-kicker{color:var(--theme-muted)!important;}
html[data-theme="dark"] body.light-theme #about .about-copy p{color:var(--theme-muted);}
html[data-theme="dark"] body.light-theme #about .about-copy strong{color:var(--theme-ink);}
html[data-theme="dark"] body.light-theme #contact{background:var(--theme-subtle)!important;border-top:1px solid var(--theme-line);}
html[data-theme="dark"] body.light-theme #contact h2{color:var(--theme-ink);}
html[data-theme="dark"] body.light-theme #contact .contact-copy{color:var(--theme-muted);}
html[data-theme="dark"] body.light-theme #contact :is(.contact-link,.contact-card){background:transparent!important;border-color:var(--theme-line)!important;box-shadow:none!important;}
html[data-theme="dark"] body.light-theme #contact .contact-link strong{color:var(--theme-ink);}
html[data-theme="dark"] body.light-theme #contact .contact-link span{color:var(--theme-muted);}
html[data-theme="dark"] body.light-theme #contact .client-logo{background:var(--theme-surface)!important;border-color:var(--theme-line)!important;color:var(--theme-ink)!important;box-shadow:none!important;}
html[data-theme="dark"] body.light-theme #contact .client-logo-name{color:var(--theme-muted)!important;}
html[data-theme="dark"] body.light-theme #contact .clients-title{color:var(--theme-ink)!important;}
html[data-theme="dark"] body.light-theme .client-list-toggle{background:var(--theme-surface)!important;border-color:var(--theme-line)!important;color:var(--theme-ink)!important;}
html[data-theme="dark"] body.light-theme .client-full-list{background:var(--theme-bg)!important;border-color:var(--theme-line)!important;color:var(--theme-ink)!important;}
html[data-theme="dark"] body.light-theme .portfolio-intro .clients--featured{border-top:0!important;border-bottom:0!important;background:transparent!important;}
html[data-theme="dark"] body.light-theme .portfolio-intro .clients--featured::before{background:var(--theme-subtle);}
html[data-theme="dark"] body.light-theme .clients--featured .section-kicker{color:var(--theme-muted)!important;}
html[data-theme="dark"] body.light-theme .clients--featured #clients-title{color:var(--theme-ink)!important;}
html[data-theme="dark"] body.light-theme .clients--featured .client-logos{background:transparent!important;}
html[data-theme="dark"] body.light-theme .clients--featured .client-logo,html[data-theme="dark"] body.light-theme .clients--featured .client-full-list .client-logo{border:0!important;background:transparent!important;box-shadow:none!important;color:var(--theme-ink)!important;}
html[data-theme="dark"] body.light-theme .clients--featured .client-logo:hover,html[data-theme="dark"] body.light-theme .clients--featured .client-logo:focus-visible{background:transparent!important;}
html[data-theme="dark"] body.light-theme .clients--featured .client-logo-name{color:var(--theme-muted)!important;}
html[data-theme="dark"] body.light-theme #contact .clients--secondary{border-top:1px solid var(--theme-line)!important;}
html[data-theme="dark"] body.light-theme #contact .clients--secondary .section-kicker{color:var(--theme-muted)!important;}
html[data-theme="dark"] body.light-theme #contact .clients--secondary h3{color:var(--theme-ink)!important;}
html[data-theme="dark"] body.light-theme #contact .clients--secondary .client-logos{background:transparent!important;}
html[data-theme="dark"] body.light-theme #contact .clients--secondary .client-logo,html[data-theme="dark"] body.light-theme #contact .clients--secondary .client-full-list .client-logo{border:0!important;background:transparent!important;box-shadow:none!important;color:var(--theme-ink)!important;}
html[data-theme="dark"] body.light-theme #contact .clients--secondary .client-logo:hover,html[data-theme="dark"] body.light-theme #contact .clients--secondary .client-logo:focus-visible{background:transparent!important;}
html[data-theme="dark"] body.light-theme #contact .clients--secondary .client-logo-name{color:var(--theme-muted)!important;}
html[data-theme="dark"] body.light-theme #contact .clients--secondary .client-list-toggle{background:transparent!important;border-color:var(--theme-line)!important;color:var(--theme-ink)!important;}
html[data-theme="dark"] body.light-theme #contact .clients--secondary .client-full-list{background:transparent!important;border:0!important;}
html[data-theme="dark"] body.light-theme footer{background:transparent;color:var(--theme-muted);border-color:var(--theme-line);}
html[data-theme="dark"] body.light-theme.ai-page{color:var(--ai-ink);}
html[data-theme="dark"] body.light-theme .ai-topbar{background:var(--theme-bg);border-color:var(--theme-line);}
html[data-theme="dark"] body.light-theme .ai-brand{color:var(--theme-ink);}
html[data-theme="dark"] body.light-theme .ai-brand small{color:var(--theme-muted);}
html[data-theme="dark"] body.light-theme .ai-hero-copy>.ai-eyebrow{color:var(--theme-muted);}
html[data-theme="dark"] body.light-theme .ai-hero h1 em{color:var(--theme-muted);}
html[data-theme="dark"] body.light-theme .ai-button{background:var(--theme-surface-soft);color:var(--theme-ink)!important;}
html[data-theme="dark"] body.light-theme .ai-button:hover{background:var(--theme-accent-strong);}
html[data-theme="dark"] body.light-theme .ai-hero-actions .ai-text-link{border-color:var(--theme-accent);}
html[data-theme="dark"] body.light-theme .ai-service-section{background:var(--theme-bg);}
html[data-theme="dark"] body.light-theme .ai-contact-section{background:var(--theme-accent-soft);border-color:var(--theme-line);}
html[data-theme="dark"] body.light-theme .ai-contact-layout p:not(.ai-eyebrow){color:var(--theme-muted);}
html[data-theme="dark"] body.light-theme .ai-contact-details a{border-color:var(--theme-line);}
html[data-theme="dark"] body.light-theme .ai-project-line{border-color:var(--theme-line);}
html[data-theme="dark"] body.light-theme .ai-project-models-label{color:var(--theme-muted);}
html[data-theme="dark"] body.light-theme .ai-project-models a{border:0;background:transparent;color:var(--theme-ink);box-shadow:none;}
html[data-theme="dark"] body.light-theme .ai-project-models a:hover,html[data-theme="dark"] body.light-theme .ai-project-models a:focus-visible{border:0;background:transparent;color:var(--theme-accent);box-shadow:none;}
html[data-theme="dark"] body.light-theme .ai-tool-entry .ai-logo{background:transparent!important;box-shadow:none!important;}
html[data-theme="dark"] body.light-theme .ai-tool-entry .ai-logo-link{color:inherit;}
html[data-theme="dark"] body.light-theme .ai-tool-entry .ai-logo-link:focus-visible{outline:2px solid var(--theme-accent);}
html[data-theme="dark"] body.light-theme .ai-filters button[aria-pressed=true]{background:var(--theme-surface-soft);border-color:var(--theme-line-strong);color:var(--theme-ink);}
html[data-theme="dark"] .reel-dialog{border:1px solid var(--theme-line);background:var(--theme-bg);color:var(--theme-ink);box-shadow:0 30px 100px #00000030;}
html[data-theme="dark"] .reel-dialog::backdrop{background:var(--theme-surface-soft);}
html[data-theme="dark"] .reel-dialog-heading span{color:var(--theme-muted);}
html[data-theme="dark"] .reel-dialog-close{border:1px solid var(--theme-line);background:var(--theme-surface);color:var(--theme-ink);}
@media (max-width:1000px){
html[data-theme="dark"] body.light-theme #ai-reels .ai-gallery-meta{border-top:0;}
}
@media (max-width:700px){
html[data-theme="dark"] body.light-theme #showreel #tech .programs-grid .tool-item{border-right:0!important;border-bottom:1px solid var(--theme-line)!important;}
html[data-theme="dark"] body.light-theme #showreel #tech .programs-grid .tool-item:last-child{border-bottom:0!important;}
}
html[data-theme="dark"] body.light-theme #showreel #tech .section-kicker{color:var(--theme-accent)!important;}
html[data-theme="dark"] body.light-theme #showreel #tech h2{color:var(--theme-ink)!important;}
html[data-theme="dark"] body.light-theme #showreel #tech .section-copy{color:var(--theme-muted)!important;}
html[data-theme="dark"] body.light-theme #showreel #tech .programs-grid{border:1px solid var(--theme-line)!important;border-top:2px solid var(--theme-accent)!important;background:var(--theme-accent-soft)!important;}
html[data-theme="dark"] body.light-theme #showreel #tech .programs-grid .tool-item{border:0!important;background:var(--theme-surface)!important;color:var(--theme-ink)!important;}
html[data-theme="dark"] body.light-theme #showreel #tech .programs-grid .tool-item:hover,html[data-theme="dark"] body.light-theme #showreel #tech .programs-grid .tool-item:focus-within{background:var(--theme-bg)!important;}
html[data-theme="dark"] body.light-theme #showreel #tech .programs-grid .tool-icons{border:0!important;background:transparent!important;box-shadow:none!important;}
html[data-theme="dark"] body.light-theme #showreel #tech .programs-grid .tool-icon,html[data-theme="dark"] body.light-theme #showreel #tech .programs-grid .adobe-product-icon{border:0!important;box-shadow:none!important;}
html[data-theme="dark"] body.light-theme #showreel #tech .programs-grid .tool-tag{border:0!important;border-bottom:1px solid var(--theme-accent)!important;background:transparent!important;color:var(--theme-muted)!important;}
html[data-theme="dark"] body.light-theme #showreel #tech .programs-grid .tool-item h3{color:var(--theme-ink)!important;}
html[data-theme="dark"] body.light-theme #showreel #tech .programs-grid .tool-desc{color:var(--theme-muted)!important;}
html[data-theme="dark"] body.light-theme .ai-directory [data-ai-catalog="compact"]{border:1px solid var(--theme-line)!important;background:var(--theme-accent-soft)!important;}
html[data-theme="dark"] body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-catalog-group,html[data-theme="dark"] body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-catalog-group:nth-child(n/**/+2):nth-child(-n/**/+4){border:0!important;background:var(--theme-surface)!important;}
html[data-theme="dark"] body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-group-heading{border-bottom:1px solid var(--theme-line)!important;}
html[data-theme="dark"] body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-group-heading h3{color:var(--theme-ink)!important;}
html[data-theme="dark"] body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-model-mark{border:1px solid var(--theme-line)!important;background:var(--theme-bg)!important;color:var(--theme-ink)!important;}
html[data-theme="dark"] body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-model-mark:hover,html[data-theme="dark"] body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-model-mark:focus-visible{border-color:var(--theme-accent)!important;background:var(--theme-bg)!important;color:var(--theme-accent)!important;}
html[data-theme="dark"] body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-model-mark .ai-logo{background:transparent!important;box-shadow:none!important;}
html[data-theme="dark"] body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-model-mark > span:last-child{color:inherit!important;}
html[data-theme="dark"] body.light-theme .ai-directory{background:transparent!important;}
html[data-theme="dark"] body.light-theme .ai-directory .ai-directory-heading{border-bottom:0!important;}
html[data-theme="dark"] body.light-theme .ai-directory [data-ai-catalog="compact"]{border:0!important;background:transparent!important;}
html[data-theme="dark"] body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-catalog-group,html[data-theme="dark"] body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-catalog-group:nth-child(n/**/+2):nth-child(-n/**/+4){border:0!important;border-top:1px solid var(--theme-line)!important;background:transparent!important;}
html[data-theme="dark"] body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-catalog-group:first-child{border-top:0!important;}
html[data-theme="dark"] body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-group-heading{border:0!important;background:transparent!important;}
html[data-theme="dark"] body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-group-heading h3{color:var(--theme-ink)!important;}
html[data-theme="dark"] body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-model-mark{border:0!important;background:transparent!important;color:var(--theme-ink)!important;box-shadow:none!important;}
html[data-theme="dark"] body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-model-mark:hover,html[data-theme="dark"] body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-model-mark:focus-visible{border:0!important;background:transparent!important;color:var(--theme-accent)!important;}
html[data-theme="dark"] body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-model-mark .ai-logo{border:0!important;background:transparent!important;box-shadow:none!important;}
html[data-theme="dark"] body.light-theme .ai-directory [data-ai-catalog="compact"] .ai-model-mark > span:last-child{color:inherit!important;}
html[data-theme="dark"] body.light-theme .ai-home-full-catalog{--ai-ink:var(--theme-ink);--ai-muted:var(--theme-muted);--ai-cyan:var(--theme-accent);--ai-line:var(--theme-line);--ai-ground:var(--theme-bg);color:var(--ai-ink);background:transparent;}
html[data-theme="dark"] body.light-theme .ai-home-full-catalog .ai-section-heading h2{color:var(--theme-ink);}
html[data-theme="dark"] body.light-theme .ai-home-full-catalog .ai-section-heading h2 > span{color:var(--theme-muted);}
html[data-theme="dark"] body.light-theme .ai-home-full-catalog .ai-section-heading > p{color:var(--theme-muted);}
html[data-theme="dark"] body.light-theme .ai-home-full-catalog .ai-filters button{border:1px solid var(--theme-line);background:transparent;color:var(--theme-muted);}
html[data-theme="dark"] body.light-theme .ai-home-full-catalog .ai-filters button[aria-pressed="true"]{border-color:var(--theme-line-strong);background:var(--theme-surface-soft);color:var(--theme-ink);}
html[data-theme="dark"] body.light-theme .ai-home-full-catalog .ai-filters button:hover:not([aria-pressed="true"]){border-color:var(--theme-accent);color:var(--theme-ink);}
html[data-theme="dark"] body.light-theme .ai-home-full-catalog .ai-catalog-group{border-color:var(--theme-line);}
html[data-theme="dark"] body.light-theme .ai-home-full-catalog .ai-group-heading h3{color:var(--theme-ink);}
html[data-theme="dark"] body.light-theme .ai-home-full-catalog .ai-group-heading p{color:var(--theme-muted);}
html[data-theme="dark"] body.light-theme .ai-home-full-catalog .ai-tool-entry .ai-logo{background:transparent;box-shadow:none;}
html[data-theme="dark"] body.light-theme .ai-home-full-catalog .ai-tool-use{color:var(--theme-muted);}
html[data-theme="dark"] body.light-theme .ai-home-full-catalog .ai-tool-body h4{color:var(--theme-ink);}
html[data-theme="dark"] body.light-theme .ai-home-full-catalog .ai-tool-body p{color:var(--theme-muted);}
html[data-theme="dark"] body.light-theme .hero-typing-cursor{background:var(--theme-surface-soft);}
html[data-theme="dark"] body.light-theme:not(.ai-page) #ai-reels .ai-project-carousel-arrow{border:1px solid var(--theme-accent);background:transparent;color:var(--theme-ink);}
html[data-theme="dark"] body.light-theme:not(.ai-page) #ai-reels .ai-project-carousel-arrow:hover,html[data-theme="dark"] body.light-theme:not(.ai-page) #ai-reels .ai-project-carousel-arrow:focus-visible{border-color:var(--theme-accent);background:var(--theme-bg);color:var(--theme-accent);}
html[data-theme="dark"] body.light-theme:not(.ai-page) #ai-reels .ai-project-carousel-arrow:focus-visible{outline:2px solid var(--theme-accent);}
html[data-theme="dark"] body.light-theme:not(.ai-page) #client-reels .reels-more.desktop-preview:not(.is-open)::after{background:linear-gradient(180deg, rgba(250,250,249,0), var(--theme-bg) 62%, var(--theme-bg) 100%);}

/* Colour compatibility: ai-guide.css */
html[data-theme="dark"]{--guide-bg:var(--theme-bg);--guide-paper:var(--theme-ink);--guide-soft:var(--theme-bg);--guide-blue:var(--theme-accent);--guide-blue-dark:var(--theme-accent);--guide-ink:var(--theme-ink);--guide-muted:var(--theme-muted);--guide-line:var(--theme-line);--guide-line-dark:var(--theme-accent);}
html[data-theme="dark"] body.guide-page{background:var(--guide-bg)!important;color:var(--guide-ink);}
html[data-theme="dark"] .guide-page a{color:inherit;}
html[data-theme="dark"] .guide-page button{color:inherit;}
html[data-theme="dark"] .guide-page :is(a, button, input):focus-visible{outline:2px solid var(--guide-blue)!important;}
html[data-theme="dark"] .guide-page ::selection{background:var(--theme-accent-soft);color:var(--theme-ink);}
html[data-theme="dark"] .guide-skip{background:var(--guide-blue);color:var(--theme-ink)!important;}
html[data-theme="dark"] .guide-progress{background:transparent;}
html[data-theme="dark"] .guide-progress span{background:var(--guide-blue);}
html[data-theme="dark"] .guide-topbar{border-bottom:1px solid var(--guide-line);background:var(--theme-bg);}
html[data-theme="dark"] .guide-brand img{background:var(--theme-surface-soft);}
html[data-theme="dark"] .guide-brand small{color:var(--guide-muted);}
html[data-theme="dark"] .guide-topbar nav a,html[data-theme="dark"] .guide-back{color:var(--theme-muted);}
html[data-theme="dark"] .guide-topbar nav a:hover,html[data-theme="dark"] .guide-back:hover{color:var(--guide-blue);}
html[data-theme="dark"] .guide-back{border-bottom:1px solid var(--guide-line-dark);color:var(--guide-ink);}
html[data-theme="dark"] .guide-back span{color:var(--guide-blue);}
html[data-theme="dark"] .guide-hero{border-bottom:1px solid var(--guide-line);background:var(--guide-soft);}
html[data-theme="dark"] .guide-kicker,html[data-theme="dark"] .guide-label{color:var(--guide-blue);}
html[data-theme="dark"] .guide-lead{color:var(--theme-ink);}
html[data-theme="dark"] .guide-route{border-top:1px solid var(--guide-blue);}
html[data-theme="dark"] .guide-route li{border-bottom:1px solid var(--guide-line-dark);}
html[data-theme="dark"] .guide-route a:hover{background:var(--theme-accent-soft);color:var(--guide-blue);}
html[data-theme="dark"] .guide-route-number{color:var(--guide-blue);}
html[data-theme="dark"] .guide-route-copy small{color:var(--guide-muted);}
html[data-theme="dark"] .guide-route-arrow{color:var(--guide-blue);}
html[data-theme="dark"] .guide-toc > p{color:var(--theme-muted);}
html[data-theme="dark"] .guide-toc nav{border-top:1px solid var(--guide-line);}
html[data-theme="dark"] .guide-toc nav a{border-bottom:1px solid var(--guide-line);color:var(--theme-muted);}
html[data-theme="dark"] .guide-toc nav a:hover,html[data-theme="dark"] .guide-toc nav a.is-active{color:var(--guide-blue);}
html[data-theme="dark"] .guide-toc nav a.is-active{border-bottom-color:var(--guide-blue);}
html[data-theme="dark"] .guide-toc-cta{border-bottom:1px solid var(--guide-blue);color:var(--guide-blue)!important;}
html[data-theme="dark"] .guide-section{border-bottom:1px solid var(--guide-line);}
html[data-theme="dark"] .guide-opening,html[data-theme="dark"] .guide-section-lead{color:var(--guide-muted);}
html[data-theme="dark"] .guide-definitions{border-top:1px solid var(--guide-line-dark);}
html[data-theme="dark"] .guide-definitions article{border-bottom:1px solid var(--guide-line);}
html[data-theme="dark"] .guide-definitions article:nth-child(odd){border-right:1px solid var(--guide-line);}
html[data-theme="dark"] .guide-definitions article > span,html[data-theme="dark"] .guide-decision-grid article > span,html[data-theme="dark"] .guide-production article > div > span{color:var(--guide-blue);}
html[data-theme="dark"] .guide-definitions p{color:var(--guide-muted);}
html[data-theme="dark"] .guide-note{border-block:1px solid var(--guide-blue);}
html[data-theme="dark"] .guide-note strong{color:var(--guide-blue);}
html[data-theme="dark"] .guide-check-list{border-top:1px solid var(--guide-line-dark);}
html[data-theme="dark"] .guide-check-list li{border-bottom:1px solid var(--guide-line);}
html[data-theme="dark"] .guide-check-list span{color:var(--guide-blue);}
html[data-theme="dark"] .guide-callout{background:var(--guide-blue);color:var(--theme-ink);}
html[data-theme="dark"] .guide-callout > p{color:var(--theme-accent);}
html[data-theme="dark"] .guide-callout dl div{border-top:1px solid var(--theme-line);}
html[data-theme="dark"] .guide-callout dt{color:var(--theme-accent);}
html[data-theme="dark"] .guide-table-block{border-top:1px solid var(--guide-line-dark);}
html[data-theme="dark"] .guide-table-heading p,html[data-theme="dark"] .guide-cost-toolbar p{color:var(--guide-blue);}
html[data-theme="dark"] .guide-table-heading > span{color:var(--guide-muted);}
html[data-theme="dark"] .guide-page th{border-block:1px solid var(--guide-line-dark);background:var(--theme-bg);color:var(--theme-muted);}
html[data-theme="dark"] .guide-page td{border-bottom:1px solid var(--guide-line);}
html[data-theme="dark"] .guide-page tbody tr:hover{background:var(--theme-bg);}
html[data-theme="dark"] .guide-table-note{color:var(--guide-muted);}
html[data-theme="dark"] .guide-tab-list{border-bottom:1px solid var(--guide-line-dark);}
html[data-theme="dark"] .guide-tab-list button{border:0;border-bottom:3px solid transparent;background:transparent;color:var(--theme-muted);}
html[data-theme="dark"] .guide-tab-list button[aria-selected="true"]{border-color:var(--guide-blue);color:var(--guide-blue);}
html[data-theme="dark"] .guide-tab-mark{border:1px solid var(--guide-blue);color:var(--guide-blue);}
html[data-theme="dark"] .guide-tab-panel p{color:var(--guide-muted);}
html[data-theme="dark"] .guide-tab-panel ul{color:var(--guide-blue);}
html[data-theme="dark"] .case-film{background:var(--theme-surface-soft);color:var(--theme-ink);}
html[data-theme="dark"] .case-film-frame{background:var(--theme-surface-soft);}
html[data-theme="dark"] .case-film figcaption span,html[data-theme="dark"] .case-overview-label,html[data-theme="dark"] .case-subheading > p{color:var(--theme-accent);}
html[data-theme="dark"] .case-film figcaption small{color:var(--theme-accent);}
html[data-theme="dark"] .case-overview-label{color:var(--guide-blue);}
html[data-theme="dark"] .case-toolchain{background:var(--guide-line);}
html[data-theme="dark"] .case-tool{background:var(--guide-paper);}
html[data-theme="dark"] .case-tool > img{background:var(--theme-surface);}
html[data-theme="dark"] .case-tool--brand > img{background:var(--theme-surface-soft);}
html[data-theme="dark"] .case-tool small{color:var(--guide-muted);}
html[data-theme="dark"] .case-tool strong{color:var(--guide-ink);}
html[data-theme="dark"] .case-facts{border-top:1px solid var(--guide-line-dark);}
html[data-theme="dark"] .case-facts div{border-bottom:1px solid var(--guide-line);}
html[data-theme="dark"] .case-facts div:nth-child(odd){border-right:1px solid var(--guide-line);}
html[data-theme="dark"] .case-facts dt{color:var(--guide-blue);}
html[data-theme="dark"] .case-facts dd{color:var(--theme-ink);}
html[data-theme="dark"] .case-overview-copy{color:var(--guide-muted);}
html[data-theme="dark"] .case-subheading{border-bottom:1px solid var(--guide-line-dark);}
html[data-theme="dark"] .case-subheading > p{color:var(--guide-blue);}
html[data-theme="dark"] .case-pipeline-list{background:var(--guide-line);}
html[data-theme="dark"] .case-pipeline-list li{background:var(--guide-paper);}
html[data-theme="dark"] .case-pipeline-list li:not(:last-child)::after{background:var(--guide-bg);color:var(--guide-blue);}
html[data-theme="dark"] .case-step-number{color:var(--guide-blue);}
html[data-theme="dark"] .case-pipeline-list img,html[data-theme="dark"] .case-step-icon{background:var(--theme-bg);}
html[data-theme="dark"] .case-step-file{border:1px solid var(--guide-blue);background:transparent;color:var(--guide-blue);}
html[data-theme="dark"] .case-pipeline-list p{color:var(--guide-muted);}
html[data-theme="dark"] .case-motion-grid{background:var(--guide-line);}
html[data-theme="dark"] .case-motion-grid article{background:var(--guide-paper);}
html[data-theme="dark"] .case-motion-grid span{color:var(--guide-blue);}
html[data-theme="dark"] .case-motion-grid p{color:var(--guide-muted);}
html[data-theme="dark"] .case-timing-track{border:1px solid var(--guide-line-dark);}
html[data-theme="dark"] .case-timing-track > div{border-right:1px solid var(--guide-line-dark);}
html[data-theme="dark"] .case-timing-track > div:last-child{border-right:0;}
html[data-theme="dark"] .case-timing-cut{background:repeating-linear-gradient(135deg, var(--theme-subtle), var(--theme-subtle) 8px, var(--theme-subtle) 8px, var(--theme-subtle) 16px);color:var(--theme-muted);}
html[data-theme="dark"] .case-timing-use{background:var(--guide-blue);color:var(--theme-ink);}
html[data-theme="dark"] .case-speed-result{border:solid var(--guide-line-dark);color:var(--theme-ink);}
html[data-theme="dark"] .case-speed-result b{color:var(--guide-blue);}
html[data-theme="dark"] .case-speed-result strong{color:var(--guide-blue-dark);}
html[data-theme="dark"] .case-caption{color:var(--guide-muted);}
html[data-theme="dark"] .case-lessons{border-top:1px solid var(--guide-line-dark);}
html[data-theme="dark"] .case-lessons details{border-bottom:1px solid var(--guide-line-dark);}
html[data-theme="dark"] .case-lessons summary::after{color:var(--guide-blue);}
html[data-theme="dark"] .case-lessons summary span{color:var(--guide-blue);}
html[data-theme="dark"] .case-lessons summary small{color:var(--guide-muted);}
html[data-theme="dark"] .case-lessons details > div{color:var(--guide-muted);}
html[data-theme="dark"] .prompt-library-stats{border-top:1px solid var(--guide-blue);}
html[data-theme="dark"] .prompt-library-stats div{border-bottom:1px solid var(--guide-line-dark);}
html[data-theme="dark"] .prompt-library-stats div + div{border-left:1px solid var(--guide-line);}
html[data-theme="dark"] .prompt-library-stats dt{color:var(--guide-blue);}
html[data-theme="dark"] .prompt-library-stats dd{color:var(--guide-muted);}
html[data-theme="dark"] .prompt-library-principles{background:var(--guide-line);}
html[data-theme="dark"] .prompt-library-principles article{background:var(--theme-bg);}
html[data-theme="dark"] .prompt-library-principles span{color:var(--guide-blue);}
html[data-theme="dark"] .prompt-library-principles p{color:var(--guide-muted);}
html[data-theme="dark"] .prompt-library{border-top:1px solid var(--guide-line-dark);}
html[data-theme="dark"] .prompt-library-search span{color:var(--guide-muted);}
html[data-theme="dark"] .prompt-library-search input{border:0;border-bottom:1px solid var(--guide-line-dark);background:transparent;color:var(--guide-ink);outline:0;}
html[data-theme="dark"] .prompt-library-search input:focus{border-color:var(--guide-blue);}
html[data-theme="dark"] .prompt-library-filters button{border:1px solid var(--guide-line-dark);background:transparent;color:var(--guide-muted);}
html[data-theme="dark"] .prompt-library-filters button:hover,html[data-theme="dark"] .prompt-library-filters button[aria-pressed="true"]{border-color:var(--guide-blue);background:var(--guide-blue);color:var(--theme-ink);}
html[data-theme="dark"] .prompt-library-layout{border:1px solid var(--guide-line-dark);background:var(--theme-surface);}
html[data-theme="dark"] .prompt-library-index{border-right:1px solid var(--guide-line-dark);}
html[data-theme="dark"] .prompt-library-index-item{border:0;border-bottom:1px solid var(--guide-line);background:var(--theme-surface);color:var(--guide-ink);}
html[data-theme="dark"] .prompt-library-index-item:hover{background:var(--theme-bg);}
html[data-theme="dark"] .prompt-library-index-item.is-active{background:var(--theme-accent-soft);box-shadow:inset 3px 0 0 var(--guide-blue);}
html[data-theme="dark"] .prompt-library-index-item small{color:var(--guide-blue);}
html[data-theme="dark"] .prompt-library-index-item b{color:var(--theme-muted);}
html[data-theme="dark"] .prompt-library-index-brand{background:var(--theme-bg);}
html[data-theme="dark"] .prompt-library-reader{background:var(--theme-surface);}
html[data-theme="dark"] .prompt-library-reader-header{border-bottom:1px solid var(--guide-line-dark);background:var(--theme-bg);}
html[data-theme="dark"] .prompt-library-reader-header p{color:var(--guide-blue);}
html[data-theme="dark"] .prompt-library-brand{background:var(--theme-surface);}
html[data-theme="dark"] .prompt-library-wordmark{background:var(--theme-surface-soft);color:var(--theme-ink);}
html[data-theme="dark"] .prompt-library-brand[data-brand="wan"] .prompt-library-wordmark{background:var(--theme-accent-strong);}
html[data-theme="dark"] .prompt-library-close{border:1px solid var(--guide-line-dark);background:transparent;color:var(--guide-blue);}
html[data-theme="dark"] .prompt-library-content{color:var(--theme-ink);}
html[data-theme="dark"] .prompt-library-content h4{color:var(--guide-ink);}
html[data-theme="dark"] .prompt-library-content h5{color:var(--guide-ink);}
html[data-theme="dark"] .prompt-library-content a{color:var(--guide-blue);}
html[data-theme="dark"] .prompt-library-content code:not(pre code){background:var(--theme-bg);color:var(--theme-accent);}
html[data-theme="dark"] .prompt-library-content blockquote{border-left:3px solid var(--guide-blue);background:var(--theme-bg);color:var(--theme-accent);}
html[data-theme="dark"] .prompt-library-code{border:1px solid var(--theme-line-strong);background:var(--theme-surface-soft);color:var(--theme-ink);}
html[data-theme="dark"] .prompt-library-code > div{border-bottom:1px solid var(--theme-line);}
html[data-theme="dark"] .prompt-library-code > div span{color:var(--theme-accent);}
html[data-theme="dark"] .prompt-library-code button{border:1px solid var(--theme-line);background:transparent;color:var(--theme-ink);}
html[data-theme="dark"] .prompt-library-code button:hover{border-color:var(--theme-accent);color:var(--theme-accent);}
html[data-theme="dark"] .prompt-library-table{border-top:1px solid var(--guide-line-dark);}
html[data-theme="dark"] .prompt-library-table-date{border-bottom:1px solid var(--guide-line);color:var(--guide-muted);}
html[data-theme="dark"] .prompt-library-table-date span::after{color:var(--guide-line-dark);}
html[data-theme="dark"] .prompt-library-table-date strong{color:var(--guide-ink);}
html[data-theme="dark"] .prompt-library-table th,html[data-theme="dark"] .prompt-library-table td{border-bottom:1px solid var(--guide-line);}
html[data-theme="dark"] .prompt-library-table th{color:var(--guide-blue);}
html[data-theme="dark"] .prompt-library-loading,html[data-theme="dark"] .prompt-library-empty,html[data-theme="dark"] .prompt-library-error{color:var(--guide-muted);}
html[data-theme="dark"] .prompt-library-footer{border-bottom:1px solid var(--guide-line-dark);}
html[data-theme="dark"] .prompt-library-footer p{color:var(--guide-muted);}
html[data-theme="dark"] .prompt-library-footer a{border-bottom:1px solid var(--guide-blue);color:var(--guide-blue);}
html[data-theme="dark"] .guide-wordmark{background:var(--theme-surface-soft);color:var(--theme-ink);}
html[data-theme="dark"] .guide-wordmark-runway{background:var(--theme-surface-soft);color:var(--theme-ink);}
html[data-theme="dark"] .guide-wordmark-magnific{background:var(--theme-accent-soft);color:var(--theme-accent);}
html[data-theme="dark"] .guide-wordmark-artlist{background:var(--theme-surface-soft);color:var(--theme-ink);}
html[data-theme="dark"] .guide-wordmark-openart{background:var(--theme-accent-soft);color:var(--theme-accent);}
html[data-theme="dark"] .guide-wordmark-firefly{background:var(--theme-surface-soft);color:var(--theme-muted);}
html[data-theme="dark"] .guide-decision-grid article{border-top:1px solid var(--guide-blue);background:var(--theme-bg);}
html[data-theme="dark"] .guide-decision-grid p{color:var(--guide-muted);}
html[data-theme="dark"] .guide-table-date{color:var(--guide-muted);}
html[data-theme="dark"] .guide-table-date span::after{color:var(--guide-line-dark);}
html[data-theme="dark"] .guide-table-date strong{color:var(--guide-ink);}
html[data-theme="dark"] .guide-best-value td{background:var(--theme-accent-soft)!important;}
html[data-theme="dark"] .guide-best-value td:first-child{box-shadow:inset 3px 0 0 var(--guide-blue);}
html[data-theme="dark"] .guide-value-badge{background:var(--guide-blue);color:var(--theme-ink)!important;}
html[data-theme="dark"] .guide-value-callout{border-left:3px solid var(--guide-blue);background:var(--theme-accent-soft);}
html[data-theme="dark"] .guide-value-callout span{color:var(--guide-blue);}
html[data-theme="dark"] .guide-value-callout p{color:var(--guide-muted);}
html[data-theme="dark"] .h3-local{border-top:1px solid var(--guide-blue);}
html[data-theme="dark"] .h3-local-grid{background:var(--guide-line);}
html[data-theme="dark"] .h3-local-grid article,html[data-theme="dark"] .h3-local-grid aside{background:var(--theme-surface);}
html[data-theme="dark"] .h3-local-grid aside{background:var(--theme-surface-soft);color:var(--theme-ink);}
html[data-theme="dark"] .h3-local-grid span{color:var(--guide-blue);}
html[data-theme="dark"] .h3-local-grid aside span{color:var(--theme-accent);}
html[data-theme="dark"] .h3-local-grid p{color:var(--guide-muted);}
html[data-theme="dark"] .h3-local-grid aside p{color:var(--theme-muted);}
html[data-theme="dark"] .guide-prompt-formula{background:var(--guide-line);}
html[data-theme="dark"] .guide-prompt-formula li{background:var(--guide-paper);}
html[data-theme="dark"] .guide-prompt-formula span{color:var(--guide-blue);}
html[data-theme="dark"] .guide-prompt-formula small{color:var(--guide-muted);}
html[data-theme="dark"] .guide-prompt-card{border:1px solid var(--guide-line-dark);background:var(--theme-surface);}
html[data-theme="dark"] .guide-prompt-card header{border-bottom:1px solid var(--guide-line);}
html[data-theme="dark"] .guide-prompt-card header span{color:var(--guide-blue);}
html[data-theme="dark"] .guide-prompt-card button{border:1px solid var(--guide-line-dark);background:transparent;color:var(--guide-blue);}
html[data-theme="dark"] .guide-prompt-card button:hover{background:var(--guide-soft);}
html[data-theme="dark"] .guide-prompt-card button.is-copied{border-color:var(--guide-blue);background:var(--guide-blue);color:var(--theme-ink);}
html[data-theme="dark"] .guide-prompt-card pre{color:var(--theme-ink);}
html[data-theme="dark"] .guide-prompt-negative{background:var(--theme-bg);}
html[data-theme="dark"] .guide-production{border-top:1px solid var(--guide-line-dark);}
html[data-theme="dark"] .guide-production article{border-bottom:1px solid var(--guide-line);}
html[data-theme="dark"] .guide-production-number{color:var(--theme-muted);}
html[data-theme="dark"] .guide-production p{color:var(--guide-muted);}
html[data-theme="dark"] .guide-production li{border-top:1px solid var(--guide-line);}
html[data-theme="dark"] .guide-platform-index{background:var(--guide-line);}
html[data-theme="dark"] .guide-platform-index a{background:var(--theme-surface);}
html[data-theme="dark"] .guide-platform-index a:hover{background:var(--theme-bg);color:var(--guide-blue);}
html[data-theme="dark"] .guide-platform-index small{color:var(--guide-muted);}
html[data-theme="dark"] .guide-duration-filters{border:1px solid var(--guide-line-dark);}
html[data-theme="dark"] .guide-duration-filters button{border:0;border-left:1px solid var(--guide-line);background:var(--theme-surface);color:var(--guide-muted);}
html[data-theme="dark"] .guide-duration-filters button:first-child{border-left:0;}
html[data-theme="dark"] .guide-duration-filters button[aria-pressed="true"]{background:var(--guide-blue);color:var(--theme-ink);}
html[data-theme="dark"] .guide-provider-tables{border-top:1px solid var(--guide-line-dark);}
html[data-theme="dark"] .guide-provider-tables details{border-bottom:1px solid var(--guide-line-dark);}
html[data-theme="dark"] .guide-provider-tables summary::after{color:var(--guide-blue);}
html[data-theme="dark"] .guide-provider-tables summary small{color:var(--guide-muted);}
html[data-theme="dark"] .guide-detail-copy{color:var(--guide-muted);}
html[data-theme="dark"] .guide-budget-example{border:1px solid var(--guide-blue);background:var(--guide-soft);}
html[data-theme="dark"] .guide-budget-example > div > p{color:var(--guide-blue);}
html[data-theme="dark"] .guide-budget-example > div > span{color:var(--guide-muted);}
html[data-theme="dark"] .guide-budget-numbers p{border-left:1px solid var(--guide-blue);}
html[data-theme="dark"] .guide-budget-numbers span{color:var(--guide-blue);}
html[data-theme="dark"] .guide-budget-numbers small{color:var(--guide-muted);}
html[data-theme="dark"] .guide-troubleshooting{background:var(--guide-line);}
html[data-theme="dark"] .guide-troubleshooting article{background:var(--guide-paper);}
html[data-theme="dark"] .guide-troubleshooting p{color:var(--guide-muted);}
html[data-theme="dark"] .guide-publish-check{border-block:1px solid var(--guide-blue);}
html[data-theme="dark"] .guide-publish-check > div:first-child > p{color:var(--guide-blue);}
html[data-theme="dark"] .guide-publish-check > div:first-child span{color:var(--guide-muted);}
html[data-theme="dark"] .guide-check-options label{border-bottom:1px solid var(--guide-line);color:var(--theme-ink);}
html[data-theme="dark"] .guide-summary{border:0;background:var(--theme-surface-soft);color:var(--theme-ink);}
html[data-theme="dark"] .guide-summary .guide-label{color:var(--theme-accent);}
html[data-theme="dark"] .guide-summary > p:not(.guide-label){color:var(--theme-accent);}
html[data-theme="dark"] .guide-summary-actions a{border:1px solid var(--theme-line);color:var(--theme-ink);}
html[data-theme="dark"] .guide-summary-actions a:first-child{border-color:var(--theme-accent);background:var(--theme-accent-strong);color:var(--theme-ink);}
html[data-theme="dark"] .guide-sources > p{color:var(--guide-muted);}
html[data-theme="dark"] .guide-sources li{border-bottom:1px solid var(--guide-line);color:var(--theme-muted);}
html[data-theme="dark"] .guide-sources a{color:var(--theme-ink);}
html[data-theme="dark"] .guide-sources a:hover{color:var(--guide-blue);}
html[data-theme="dark"] .guide-footer{border-top:1px solid var(--guide-line);background:var(--theme-surface);}
html[data-theme="dark"] .guide-footer > div{color:var(--guide-muted);}
html[data-theme="dark"] .guide-footer a:hover{color:var(--guide-blue);}
@media (max-width: 1080px){
html[data-theme="dark"] .guide-route li{border-right:1px solid var(--guide-line-dark);}
html[data-theme="dark"] .guide-route li:last-child{border-right:0;}
}
@media (max-width: 760px){
html[data-theme="dark"] .guide-hero{background:var(--guide-soft);}
html[data-theme="dark"] .guide-route li{border-right:0;}
html[data-theme="dark"] .guide-definitions article:nth-child(odd){border-right:0;}
html[data-theme="dark"] .case-timing-track > div{border-right:0;border-bottom:1px solid var(--guide-line-dark);}
html[data-theme="dark"] .case-timing-track > div:last-child{border-bottom:0;}
html[data-theme="dark"] .prompt-library-stats div + div{border-left:0;}
html[data-theme="dark"] .prompt-library-layout{border-inline:0;}
html[data-theme="dark"] .prompt-library-index{border-right:0;}
html[data-theme="dark"] .prompt-library-code{border-inline:0;}
}
@media (max-width: 420px){
html[data-theme="dark"] .case-facts div:nth-child(odd){border-right:0;}
}

/* Explicit art-direction decisions override the legacy colours above. */
html[data-theme="dark"]{
 --bg:var(--theme-bg);--bg-soft:var(--theme-subtle);--surface:var(--theme-surface);--surface-light:var(--theme-surface-soft);
 --text:var(--theme-ink);--muted:var(--theme-muted);--quiet:var(--theme-quiet);--line:var(--theme-line);--line-strong:var(--theme-line-strong);
 --accent:var(--theme-ink);--accent-cool:var(--theme-accent);--accent-soft:var(--theme-accent-soft);--ai-accent:var(--theme-accent);
 --rp-ink:var(--theme-ink);--rp-muted:var(--theme-muted);--rp-line:var(--theme-line);--rp-accent:var(--theme-accent);
 --guide-bg:var(--theme-bg);--guide-paper:var(--theme-surface);--guide-soft:var(--theme-accent-soft);--guide-blue:var(--theme-accent);--guide-blue-dark:var(--theme-accent);
 --guide-ink:var(--theme-ink);--guide-muted:var(--theme-muted);--guide-line:var(--theme-line);--guide-line-dark:var(--theme-line-strong);
 --ai-ground:var(--theme-bg);--ai-ink:var(--theme-ink);--ai-muted:var(--theme-muted);--ai-cyan:var(--theme-accent);--ai-line:var(--theme-line);
}
html[data-theme="dark"] body.light-theme{background:var(--theme-bg)!important;color:var(--theme-ink)}
html[data-theme="dark"] body.light-theme :is(.ai-directory,.ai-zone),html[data-theme="dark"] body.light-theme.ai-page{
 --ai-ink:var(--theme-ink);--ai-muted:var(--theme-muted);--ai-cyan:var(--theme-accent);--ai-line:var(--theme-line);--ai-ground:var(--theme-bg);--ai-accent:var(--theme-accent);
}
html[data-theme="dark"] body.light-theme .ai-zone::before{background:#141d2b!important}
html[data-theme="dark"] body.light-theme #ai-reels{--ai-gallery-line:var(--theme-line);--ai-gallery-ink:var(--theme-ink);--ai-accent:var(--theme-accent)}
html[data-theme="dark"] body.light-theme :is(.editorial-button,.ai-button){background:var(--theme-button);color:var(--theme-button-text)!important;border-color:var(--theme-button)}
html[data-theme="dark"] body.light-theme :is(.editorial-button,.ai-button):hover{background:var(--theme-button-hover);border-color:var(--theme-button-hover)}
html[data-theme="dark"] body.light-theme :is(.portfolio-intro h1,.ai-hero h1){color:var(--theme-ink)}
html[data-theme="dark"] body.light-theme :is(.portfolio-intro h1>span,.ai-hero h1 em){color:#a7b7ce}
html[data-theme="dark"] body.light-theme .live-dot{background:var(--theme-accent)}
html[data-theme="dark"] body.light-theme ::selection{background:#345580;color:#fff}
html[data-theme="dark"] body.light-theme :is(a,button,input,summary):focus-visible{outline-color:var(--theme-accent)!important}
html[data-theme="dark"] body.light-theme :is(.client-logo img,.brand-strip img){filter:grayscale(1) brightness(0) invert(.9)!important;opacity:.83}
html[data-theme="dark"] body.light-theme .client-logo-name{color:var(--theme-muted)!important}
/* The AI catalog uses the marks directly on the dark surface, without white tiles. */
html[data-theme="dark"] body.light-theme .ai-logo img{
 background:transparent;border-radius:0;box-shadow:none;object-fit:contain;
}
/* These two source files contain a white canvas. In dark mode it is optically
   removed while the black symbol becomes white. */
html[data-theme="dark"] body.light-theme .ai-logo img:is([src$="/openai.png"],[src$="/elevenlabs.png"]){
 filter:invert(1);mix-blend-mode:screen;
}
/* Compact utility icons outside the catalog still need their neutral plate. */
html[data-theme="dark"] :is(.rp-tool-icons img,.prompt-library-brand img){
 background:#e9eef5;border-radius:5px;object-fit:contain;
}
html[data-theme="dark"] .rp-tool-icons img{box-shadow:0 0 0 2px #e9eef5}
html[data-theme="dark"] body.light-theme :is(#musicGrid,#longGrid) .music-project-meta h3{color:var(--theme-ink)}
html[data-theme="dark"] body.light-theme :is(#musicGrid,#longGrid) .music-project-meta p{color:var(--theme-muted)}
html[data-theme="dark"] body.light-theme :is(#musicGrid,#longGrid) .music-project-credits strong{color:#d5e0f1}
html[data-theme="dark"] body.light-theme :is(#musicGrid,#longGrid) .music-project-credits span{color:var(--theme-quiet)}
html[data-theme="dark"] .reel-dialog{background:var(--theme-surface);color:var(--theme-ink);border-color:var(--theme-line)}
html[data-theme="dark"] .reel-dialog::backdrop{background:#02050cc9}
html[data-theme="dark"] .reel-dialog-heading h2{color:var(--theme-ink)}
html[data-theme="dark"] .reel-dialog-heading span{color:var(--theme-muted)}
html[data-theme="dark"] .reel-dialog-close{background:var(--theme-hover);color:var(--theme-ink);border-color:var(--theme-line)}
html[data-theme="dark"] body.light-theme .ai-filters button[aria-pressed="true"]{background:var(--theme-accent-soft);color:var(--theme-accent);border-color:var(--theme-ai-line)}
html[data-theme="dark"] .guide-page :is(input,select,textarea){color:var(--theme-ink);background:var(--theme-surface);border-color:var(--theme-line-strong);caret-color:var(--theme-accent)}
html[data-theme="dark"] .guide-page input::placeholder{color:var(--theme-quiet);opacity:1}
html[data-theme="dark"] .guide-page :is(.guide-prompt-card pre,.prompt-library-code pre){background:#0c121c;color:#dbe7f7}
html[data-theme="dark"] .guide-page .guide-calculator{border:1px solid #304663;background:#152238;color:#f0f4fa}
html[data-theme="dark"] .guide-page .guide-calculator-fields input{background:transparent;color:#f0f4fa;border-color:#58708f}
html[data-theme="dark"] .guide-page .guide-progress span{background:var(--theme-accent)}
html[data-theme="dark"] body.light-theme :is(.guide-summary-actions a,.guide-download){background:var(--theme-accent-soft);color:var(--theme-ink);border-color:var(--theme-ai-line)}
/* Footer palette wins over legacy generic footer styles. */
body.light-theme .rp-footer{background:var(--theme-footer);color:var(--theme-ink);border-color:var(--theme-line)}
html[data-theme="dark"] body.light-theme .rp-footer{background:var(--theme-footer);color:var(--theme-ink);border-color:var(--theme-line)}
/* High-specificity legacy components: exact exceptions keep each state readable. */
html[data-theme="dark"] body.light-theme .clients--featured .client-logo img,
html[data-theme="dark"] body.light-theme #contact .client-logo img,
html[data-theme="dark"] body.light-theme #contact .clients--secondary .client-logo img{
 filter:grayscale(1) brightness(0) invert(1)!important;opacity:1!important;
}
html[data-theme="dark"] body.light-theme .guide-callout{background:#1b2c48;color:var(--theme-ink)}
html[data-theme="dark"] body.light-theme :is(.guide-skip,.case-timing-use,.guide-value-badge){background:#345fa7;color:#fff!important}
html[data-theme="dark"] body.light-theme .prompt-library-filters button:is(:hover,[aria-pressed="true"]),
html[data-theme="dark"] body.light-theme .guide-duration-filters button[aria-pressed="true"],
html[data-theme="dark"] body.light-theme .guide-prompt-card button.is-copied{
 background:var(--theme-accent-soft);color:var(--theme-accent);border-color:var(--theme-ai-line);
}
html[data-theme="dark"] :is(.case-tool>img,.case-pipeline-list img,.prompt-library-index-brand img){background:#e9eef5;border-radius:4px}
/* Mobile/layout patches also style the homepage AI cards. Override their light
   backing surfaces without changing the video frame, crop or card geometry. */
html[data-theme="dark"] body.light-theme #ai-reels .ai-grid .video-card,
html[data-theme="dark"] body.light-theme #ai-reels .ai-grid .video-card:is(:hover,:focus-within){background:transparent!important}
html[data-theme="dark"] body.light-theme #ai-reels .video-card .model-badge{background:var(--theme-surface)!important;color:var(--theme-ink)!important}
html[data-theme="dark"] body.light-theme .ai-skip{background:#345fa7;color:#fff!important}

/* assets/site-components.css */
/* Shared additions use semantic colour tokens; desktop content geometry is unchanged. */
.rp-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
/* A single useful footer: identity, actual destinations and direct contact. */
body .rp-footer{margin:0;padding:0;background:var(--theme-footer,#f0f2f4);color:var(--theme-ink,#191c20);border-top:1px solid var(--theme-line,#dce1e5);font:500 14px/1.6 var(--editorial-font,Manrope,sans-serif)}
.rp-footer,.rp-footer *{box-sizing:border-box}
.rp-footer-inner{width:min(1320px,calc(100% - 96px));margin-inline:auto;padding:64px 0 22px}
.rp-footer-grid{display:grid;grid-template-columns:1.3fr .85fr .95fr 1.3fr;gap:clamp(24px,4vw,64px);padding-bottom:54px}
.rp-footer-grid>*{min-width:0}
.rp-footer .rp-brand{align-items:center}
.rp-footer .rp-brand img{width:44px;height:44px;flex-basis:44px}
.rp-footer .rp-brand>span{font-size:15px}
.rp-footer .rp-brand small{font-size:11px;line-height:1.5}
.rp-footer-brand>p{margin:22px 0 0;max-width:32ch;font-size:13px;line-height:1.85;color:var(--theme-muted,#65707a)}
.rp-footer-brand::after{display:none;content:none}
.rp-footer-contact::after{display:block;margin-top:10px;color:var(--theme-ink,#191c20);font-size:10px;font-weight:650;line-height:1.5;letter-spacing:.09em;text-transform:uppercase}
html[lang="pl"] .rp-footer-contact::after{content:"Częstochowa, Polska"}
html[lang="en"] .rp-footer-contact::after{content:"Based in Częstochowa, Poland"}
html[lang="de"] .rp-footer-contact::after{content:"Standort: Częstochowa, Polen"}
html[lang="fr"] .rp-footer-contact::after{content:"Basé à Częstochowa, Pologne"}
html[lang="cs"] .rp-footer-contact::after{content:"Působím v Čenstochové, Polsko"}
html[lang="uk"] .rp-footer-contact::after,html[lang="ua"] .rp-footer-contact::after{content:"Працюю в Ченстохові, Польща"}
.rp-footer h2{font-size:12px;font-weight:650;letter-spacing:0;line-height:1.6;margin:0 0 16px;color:var(--theme-ink,#191c20)}
.rp-footer a{text-decoration:none;color:inherit}
.rp-footer a:hover{color:var(--theme-accent,#285cc4)}
.rp-footer a:focus-visible{outline:2px solid var(--theme-accent,#285cc4)!important;outline-offset:4px}
.rp-footer-column{display:flex;flex-direction:column;align-items:flex-start}
.rp-footer-column>a{display:flex;align-items:center;min-height:36px;font-size:13px;line-height:1.5;color:var(--theme-muted,#65707a);padding:5px 0}
.rp-footer-column h2{display:flex;align-items:center;gap:8px}
.rp-footer-ai-dot{display:none}
.rp-footer-contact .rp-footer-mail{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:clamp(15px,1.3vw,19px);font-weight:550;letter-spacing:-.025em;padding:2px 0 11px;border-bottom:1px solid var(--theme-line,#dce1e5);overflow-wrap:anywhere}
.rp-footer-mail>span:first-child{min-width:0}
.rp-footer-mail>span:last-child{flex-shrink:0}
.rp-footer-contact .rp-footer-phone{display:inline-flex;align-items:center;min-height:46px;font-size:18px;letter-spacing:-.02em;margin-top:8px}
.rp-footer-contact .rp-footer-process{display:none!important}
.rp-footer-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 26px;border-top:1px solid var(--theme-line,#dce1e5);padding-top:20px;color:var(--theme-muted,#65707a);font-size:11px}
.rp-footer-bottom p{margin:0;line-height:1.6}.rp-footer-bottom>a{display:inline-flex;align-items:center;gap:14px;min-height:36px;color:var(--theme-ink,#191c20)}
/* Real production milestones, not decorative cards. */
body .rp-process{color:var(--theme-ink,#191c20)}
.rp-process-heading{display:grid;grid-template-columns:1.4fr 1fr;align-items:end;gap:3rem;margin-bottom:52px}
.rp-process-heading h2{margin:0;max-width:17ch;font-size:clamp(32px,4vw,56px);font-weight:500;line-height:1.12;letter-spacing:-.045em}
.rp-process-heading>p{margin:0 0 3px auto;max-width:43ch;color:var(--theme-muted,#65707a);font-size:15px;line-height:1.8}
.rp-process-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(22px,3vw,44px);list-style:none;padding:0;margin:0;counter-reset:none}
.rp-process-steps>li{min-width:0;position:relative;margin:0;padding:0}
.rp-step-track{display:flex;align-items:center;gap:14px;margin-bottom:28px}
.rp-step-number{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border:1px solid var(--theme-ai-line,#bdcee7);border-radius:50%;color:var(--theme-accent,#285cc4);background:var(--theme-bg,#fafaf9);font-size:12px;font-weight:650;letter-spacing:.025em;font-variant-numeric:tabular-nums}
.rp-step-line{height:1px;flex:1;background:var(--theme-line-strong,#bac6d5);margin-right:calc(-1 * clamp(22px,3vw,44px) + 14px)}
.rp-process-steps>li:last-child .rp-step-line{background:var(--theme-line,#dce1e5);margin-right:0}
.rp-step-copy .rp-step-kicker{margin:0 0 12px;font-size:10px;font-weight:650;letter-spacing:.09em;color:var(--theme-accent,#285cc4);line-height:1.6}
.rp-step-copy h3{margin:0 0 17px;color:var(--theme-ink,#191c20);font-size:clamp(20px,1.8vw,25px);font-weight:550;line-height:1.3;letter-spacing:-.03em}
.rp-step-copy>p:not(.rp-step-kicker){margin:0;color:var(--theme-muted,#65707a);font-size:14px;line-height:1.85}
.rp-process-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:40px;padding-top:23px;border-top:1px solid var(--theme-line,#dce1e5)}
.rp-process-bottom>p{display:flex;align-items:center;gap:10px;margin:0;font-size:13px;color:var(--theme-ink,#191c20)}
.rp-process-bottom svg{width:20px;height:20px;flex:0 0 20px;stroke:var(--theme-accent,#285cc4);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.rp-process-bottom>a{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:44px;font-size:13px;font-weight:600;color:var(--theme-accent,#285cc4);text-decoration:none}
.rp-process-bottom>a:hover{text-decoration:underline;text-underline-offset:5px}
/* Hover previews have their own lightweight video, never taking over the full player. */
.ai-project-player .rp-ai-preview{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;opacity:0;pointer-events:none;transition:opacity .18s ease;z-index:1}
.ai-project-player.is-previewing .rp-ai-preview{opacity:1}
.ai-project-player .ai-project-play{z-index:3}
.ai-project-player .ai-project-play[hidden]{display:none!important}
.rp-player-error{position:absolute;left:8px;right:8px;bottom:8px;padding:10px;background:#152030ed;color:white;font-size:12px;line-height:1.6;z-index:4}
.rp-player-error[hidden]{display:none}
/* Desktop keeps the full software/model directory exactly as before. */
.rp-tool-toggle,.rp-adobe-toggle,.rp-tools-expand-all{display:none}
.ai-catalog-group[hidden]{display:none!important}
@media(max-width:1100px) and (min-width:701px){
 .rp-footer-grid{grid-template-columns:1.2fr 1fr 1fr;gap:32px}.rp-footer-contact{grid-column:1/-1;display:grid;grid-template-columns:1.2fr 1fr 1fr;align-items:center;gap:20px}.rp-footer-contact::after{grid-column:1/-1;justify-self:start}.rp-footer-contact h2{grid-column:1/-1;margin-bottom:0}.rp-footer-contact .rp-footer-phone,.rp-footer-contact .rp-footer-process{margin-top:0}
 .rp-process-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 32px}.rp-process-steps>li:nth-child(2) .rp-step-line{margin-right:0}.rp-process-heading{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
 .rp-footer-inner{width:calc(100% - 40px);padding:38px 0 18px}.rp-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 22px;padding-bottom:30px}.rp-footer-brand,.rp-footer-contact{grid-column:1/-1}.rp-footer-brand>p{max-width:42ch;margin-top:16px;font-size:13px}.rp-footer-column>a{min-height:44px;font-size:13px}.rp-footer h2{margin-bottom:8px;font-size:12px}.rp-footer-contact{padding-top:24px;border-top:1px solid var(--theme-line,#dce1e5)}.rp-footer-contact .rp-footer-mail{font-size:19px;min-height:44px}.rp-footer-contact .rp-footer-process{margin-top:4px;min-height:44px}.rp-footer-bottom{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 16px;font-size:10px}.rp-footer-bottom p{grid-column:1}.rp-footer-bottom>a{grid-column:2;grid-row:1/3;gap:7px;white-space:nowrap}
 .rp-process-heading{grid-template-columns:minmax(0,1fr);gap:18px;margin-bottom:30px}.rp-process-heading h2{font-size:clamp(30px,8.3vw,42px);max-width:20ch}.rp-process-heading>p{margin:0;max-width:none;font-size:14px;line-height:1.8}
 .rp-process-steps{grid-template-columns:minmax(0,1fr);gap:0}.rp-process-steps>li{display:grid;grid-template-columns:38px minmax(0,1fr);gap:18px;padding-bottom:30px}.rp-process-steps>li:last-child{padding-bottom:0}.rp-step-track{position:relative;display:block;margin:0}.rp-step-number{position:relative;z-index:1}.rp-step-line{position:absolute;left:18px;top:48px;bottom:-20px;width:1px;height:auto;margin:0;background:var(--theme-line-strong,#bac6d5)}.rp-process-steps>li:last-child .rp-step-line{display:none}.rp-step-copy{padding-top:1px}.rp-step-copy .rp-step-kicker{font-size:9px;margin-bottom:7px}.rp-step-copy h3{font-size:21px;line-height:1.3;margin-bottom:12px}.rp-step-copy>p:not(.rp-step-kicker){font-size:14px;line-height:1.8}.rp-process-bottom{align-items:flex-start;flex-direction:column;gap:8px;margin-top:28px;padding-top:20px}.rp-process-bottom>p{font-size:12px}.rp-process-bottom>a{font-size:13px}
 /* Five compact category rows instead of seventeen fully expanded model essays. */
 body.light-theme .rp-catalog-compact .ai-catalog-group{display:block!important;padding:0!important;margin:0!important;border-top:0!important;border-bottom:1px solid var(--theme-line,#dce1e5)!important;min-height:0!important}
 body.light-theme .rp-catalog-compact .ai-catalog-group[hidden]{display:none!important}
 body.light-theme .rp-catalog-compact .ai-catalog-group:first-child{border-top:1px solid var(--theme-line,#dce1e5)!important}
 .rp-tool-toggle{display:grid;grid-template-columns:minmax(0,1fr) 32px 20px;align-items:center;gap:12px;width:100%;min-height:80px;border:0;background:transparent;color:var(--theme-ink,#191c20);padding:16px 0;text-align:left;cursor:pointer;font:inherit}
 .rp-tool-title{display:block;font-size:14px;font-weight:600;line-height:1.5;letter-spacing:-.015em}.rp-tool-icons{display:flex;align-items:center;gap:8px;margin-top:10px;min-height:23px}.rp-tool-icons img{display:block;width:23px;height:23px;object-fit:contain}.rp-tool-icons small{font-size:10px;color:var(--theme-muted,#65707a)}
 .rp-tool-count{color:var(--theme-muted,#65707a);font-size:12px;font-variant-numeric:tabular-nums;text-align:right}.rp-tool-toggle>.rp-chevron{width:16px;height:16px;color:var(--theme-accent,#285cc4)}.rp-tool-toggle[aria-expanded="true"]>.rp-chevron{transform:rotate(180deg)}
 body.light-theme .rp-catalog-compact .ai-catalog-group:not(.is-expanded)>.ai-group-heading,body.light-theme .rp-catalog-compact .ai-catalog-group:not(.is-expanded)>.ai-model-list{display:none!important}
 body.light-theme .rp-catalog-compact .ai-group-heading h3{display:none!important}
 body.light-theme .rp-catalog-compact .ai-group-heading>p{margin:0 0 24px;font-size:13px;line-height:1.75;color:var(--theme-muted,#65707a)}
 body.light-theme .rp-catalog-compact .ai-model-list{margin:0!important;padding:0 0 22px!important;gap:24px!important}
 body.light-theme .rp-catalog-compact .ai-tool-entry{gap:13px}.rp-catalog-compact .ai-tool-entry .ai-logo{width:42px!important;height:42px!important;flex-basis:42px!important}
 body.light-theme .rp-catalog-compact .ai-tool-body h4{font-size:17px!important;margin:3px 0 8px!important}.rp-catalog-compact .ai-tool-body p{font-size:13px!important;line-height:1.75!important}
 body.light-theme .ai-catalog-toolbar{gap:12px;margin-bottom:16px}.rp-tools-expand-all{display:inline-flex;align-items:center;min-height:44px;border:0;border-bottom:1px solid var(--theme-line-strong,#bac6d5);padding:5px 0;background:transparent;color:var(--theme-accent,#285cc4);font:600 12px/1.5 var(--editorial-font,Manrope,sans-serif);cursor:pointer}
 /* Adobe becomes three concise rows, with optional descriptions. */
 body.light-theme #showreel #tech .programs-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;border-top:1px solid var(--theme-line,#dce1e5)!important;border-bottom:0!important}
 body.light-theme #showreel #tech .programs-grid .tool-item{position:relative;display:grid!important;grid-template-columns:40px minmax(0,1fr) 44px!important;align-items:center!important;gap:6px 14px!important;min-height:78px!important;padding:14px 0!important;border:0!important;border-bottom:1px solid var(--theme-line,#dce1e5)!important;background:transparent!important;box-shadow:none!important}
 body.light-theme #showreel #tech .programs-grid .tool-head{display:contents!important}
 body.light-theme #showreel #tech .programs-grid .tool-tag{display:none!important}
 body.light-theme #showreel #tech .programs-grid .tool-icons{grid-column:1;grid-row:1;width:40px!important;height:40px!important;order:initial!important}
 body.light-theme #showreel #tech .programs-grid .tool-icon{width:36px!important;height:36px!important;border-radius:7px!important;box-shadow:none!important}
 body.light-theme #showreel #tech .programs-grid h3{grid-column:2;grid-row:1;font-size:15px!important;line-height:1.5!important}
 .rp-adobe-toggle{display:grid;place-items:center;grid-column:3;grid-row:1;width:44px;height:44px;border:0;background:transparent;color:var(--theme-accent,#285cc4);cursor:pointer}
 .rp-adobe-toggle[aria-expanded="true"] .rp-chevron{transform:rotate(180deg)}
 body.light-theme #showreel #tech .programs-grid .tool-desc{grid-column:2/-1;grid-row:2;max-width:none;margin:0 0 6px!important;font-size:13px!important;line-height:1.75!important}
 body.light-theme #showreel #tech .programs-grid .tool-item:not(.is-expanded) .tool-desc{display:none!important}
}
@media(max-width:359px){.rp-footer-inner{width:calc(100% - 28px)}.rp-footer-bottom{grid-template-columns:1fr}.rp-footer-bottom>a{grid-column:1;grid-row:3;justify-self:start}.rp-footer-contact .rp-footer-mail{font-size:17px}.rp-process-steps>li{gap:14px}.rp-step-copy h3{font-size:20px}.rp-footer-grid{column-gap:16px}}
@media(prefers-reduced-motion:reduce){.rp-ai-preview,.rp-chevron{transition:none!important}}
/* Match the specificity of the homepage's older grid declarations. */
@media(max-width:700px){
 html[data-theme] body.light-theme #showreel #tech .programs-grid{gap:0!important;background:transparent!important;border:0!important;border-top:1px solid var(--theme-line)!important}
 html[data-theme] body.light-theme #showreel #tech .programs-grid .tool-item{grid-template-rows:auto auto!important;background:transparent!important;border:0!important;border-bottom:1px solid var(--theme-line)!important}
 html[data-theme] body.light-theme #showreel #tech .programs-grid .tool-item h3{grid-column:2!important;grid-row:1!important;font-size:15px!important}
 html[data-theme] body.light-theme #showreel #tech .programs-grid .tool-icons{grid-column:1!important;grid-row:1!important}
 html[data-theme] body.light-theme #showreel #tech .programs-grid .tool-desc{grid-column:2/-1!important;grid-row:2!important;max-width:none!important}
}
/* Keep the catalogue introduction in proportion to its compact phone controls. */
@media(max-width:700px){
 html[data-theme] body.light-theme .ai-full-catalog .ai-section-heading{gap:16px;margin-bottom:22px}
 html[data-theme] body.light-theme .ai-full-catalog .ai-section-heading h2{font-size:clamp(26px,7.2vw,32px);line-height:1.12;letter-spacing:-.045em}
 html[data-theme] body.light-theme .ai-full-catalog .ai-section-heading>p{font-size:13px;line-height:1.7}
 html[data-theme] body.light-theme .ai-full-catalog .ai-catalog-toolbar{gap:10px;margin-bottom:18px}
}
/* AI's generic heading rule must not shrink the shared footer headings. */
body.light-theme .rp-footer h2{font-weight:600!important;line-height:1.6!important}

/* One secondary action below the directory reveals every tool category. */
html[data-theme] body.light-theme [data-ai-catalog="full"] + .rp-tools-expand-all {
 display:flex!important;align-items:center;justify-content:center;gap:12px;width:max-content;min-height:46px;
 margin:clamp(24px,3vw,38px) auto 0;padding:6px 0;border:0;border-bottom:1px solid var(--theme-line-strong,#bac6d5);
 background:transparent;color:var(--theme-accent,#285cc4);font:650 12px/1.5 var(--editorial-font,Manrope,sans-serif);
 cursor:pointer
}
html[data-theme] body.light-theme [data-ai-catalog="full"] + .rp-tools-expand-all::after {
 content:"\2193";display:inline-block;font-size:16px;line-height:1;transition:transform .22s ease
}
html[data-theme] body.light-theme [data-ai-catalog="full"] + .rp-tools-expand-all[aria-expanded="true"]::after {transform:rotate(180deg)}
html[data-theme] body.light-theme [data-ai-catalog="full"] + .rp-tools-expand-all:focus-visible {outline:2px solid var(--theme-accent,#285cc4);outline-offset:5px}
@media(prefers-reduced-motion:reduce){html[data-theme] body.light-theme [data-ai-catalog="full"] + .rp-tools-expand-all::after{transition:none}}

/* The collapsed AI directory exposes one full row plus half of the next row.
   The height is measured by site-enhancements.js, so wrapped cards cannot make
   a later row leak through the fade. */
html[data-theme] body.light-theme [data-ai-catalog="full"].rp-catalog-compact.rp-catalog-preview-clipped {
 position:relative;
}
html[data-theme] body.light-theme [data-ai-catalog="full"].rp-catalog-compact.rp-catalog-preview-clipped:has(+ .rp-tools-expand-all[aria-expanded="false"]) {
 max-height:var(--rp-catalog-preview-height);
 overflow:hidden;
 -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 calc(100% - var(--rp-catalog-fade-height,88px)),transparent 100%);
 mask-image:linear-gradient(to bottom,#000 0%,#000 calc(100% - var(--rp-catalog-fade-height,88px)),transparent 100%);
}
html[data-theme] body.light-theme [data-ai-catalog="full"].rp-catalog-compact.rp-catalog-preview-clipped:has(+ .rp-tools-expand-all[aria-expanded="false"]) + .rp-tools-expand-all {
 position:relative;
 z-index:5;
 /* Keep the label in the lower part of the fade, after the card copy has
    disappeared, instead of placing it over the last visible descriptions. */
 margin-top:calc(-1 * var(--rp-catalog-fade-height,88px) + clamp(4.5rem,5.5vw,5.75rem));
 border-color:transparent;
 background:transparent;
 color:#293441;
 font-weight:550;
 box-shadow:none;
}
html[data-theme] body.light-theme [data-ai-catalog="full"].rp-catalog-compact.rp-catalog-preview-clipped:has(+ .rp-tools-expand-all[aria-expanded="false"]) + .rp-tools-expand-all:hover,
html[data-theme] body.light-theme [data-ai-catalog="full"].rp-catalog-compact.rp-catalog-preview-clipped:has(+ .rp-tools-expand-all[aria-expanded="false"]) + .rp-tools-expand-all:focus-visible {
 background:rgba(237,241,245,.76);
}

/* assets/homepage-opening.css */
/* Homepage opening: measured film tiles leave room for the client strip
   and portfolio cue in the first screen, on desktop and mobile. */
html.rp-homepage-stable-scroll { overflow-anchor: none; }
html body.light-theme .portfolio-intro [data-reel-showcase="portfolio"] {
    position: relative;
    inset: auto;
    display: block;
    width: 100%;
    max-width: none;
    min-width: 0;
    margin: 0;
    padding: 0;
    transform: none;
}
html body.light-theme .portfolio-intro .reel-viewport {
    display: block;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin: 0;
    padding-inline: 0;
    overflow: hidden;
    contain: inline-size;
    overscroll-behavior-x: contain;
}
html body.light-theme .portfolio-intro .rp-reel-toolbar { display:none!important; }

/* Keep the second heading line mounted at the same height while the words
   are erased, typed or reduced in size. Its animation must not move the page. */
html body.light-theme .portfolio-intro .hero-rotating-line {
    height: 1.06em;
    min-height: 1.06em;
    line-height: 1.06;
    vertical-align: top;
    white-space: nowrap !important;
}

@media (min-width: 981px) {
    html body.light-theme .portfolio-intro {
        --rp-opening-card-width: clamp(144px, 18vw, 480px);
        /* Progressive fallback; JS measures the real header offset and captions.
           This is a floor, never a fixed clipping height. */
        box-sizing: border-box;
        min-height: calc(100vh - var(--rp-opening-top, 81px));
        min-height: calc(100svh - var(--rp-opening-top, 81px));
        --rp-opening-gap: clamp(14px, 1.05vw, 24px);
        display: block;
        width: 100%;
        max-width: none;
        min-width: 0;
        padding: clamp(45px, 5.2vw, 82px) 0 clamp(28px, 3.6vh, 56px);
    }
    /* Heading size, kicker and intro spacing deliberately use editorial-light.css.
       In particular, do not bring back the short-window side-by-side rail. */
    html body.light-theme .portfolio-intro .intro-layout,
    html body.light-theme .portfolio-intro .intro-layout > div { min-width: 0; }
    html body.light-theme .portfolio-intro .hero-rotating-line { min-height:1.06em; }
    html body.light-theme .portfolio-intro .reel-group {
        gap: var(--rp-opening-gap);
        padding-right: var(--rp-opening-gap);
        align-items: flex-start;
    }
    html body.light-theme .portfolio-intro [data-reel-showcase="portfolio"] .reel-card {
        width: max(var(--rp-opening-card-width),var(--rp-reel-min-width,0px)) !important;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
    }
    html body.light-theme .portfolio-intro .reel-picture { width:100%; aspect-ratio:9/16; }
    html body.light-theme .portfolio-intro .reel-caption {
        padding: clamp(8px, 1.1vh, 14px) 2px 0;
        width: 100%;
        min-width: 0;
    }
    html body.light-theme .portfolio-intro .reel-caption small {
        font-size: clamp(9px,.65vw,12px);
        line-height: 1.4;
        margin-bottom: 4px;
        letter-spacing: .075em;
        overflow-wrap: anywhere;
    }
    html body.light-theme .portfolio-intro .reel-caption strong {
        font-size: clamp(12px,.84vw,16px);
        line-height: 1.4;
        overflow-wrap: anywhere;
    }
    html body.light-theme .portfolio-intro .clients--featured {
        padding: clamp(10px,1.3vh,26px) 0 clamp(12px,1.6vh,32px)!important;
    }
    html body.light-theme .portfolio-intro .clients--featured::before {
        width: min(calc(100% - 96px),var(--desktop-content,1320px));
        height: 1px;
        margin: 0 auto clamp(12px,1.4vh,24px);
        background: linear-gradient(90deg,transparent 0%,rgba(25,28,32,.08) 5%,rgba(25,28,32,.18) 18%,rgba(25,28,32,.18) 82%,rgba(25,28,32,.08) 95%,transparent 100%);
    }
    html[data-theme="dark"] body.light-theme .portfolio-intro .clients--featured::before {
        background: linear-gradient(90deg,transparent 0%,rgba(244,247,251,.06) 5%,rgba(244,247,251,.18) 18%,rgba(244,247,251,.18) 82%,rgba(244,247,251,.06) 95%,transparent 100%);
    }
    html body.light-theme .portfolio-intro .clients--featured .client-logo {
        min-height: clamp(76px,10vh,140px)!important;
        padding: clamp(6px,.8vh,14px) 14px!important;
        gap:6px!important;
    }
    html body.light-theme .portfolio-intro .clients--featured .client-logo img { height:clamp(32px,4.2vh,64px)!important; }
    html body.light-theme .portfolio-intro .clients--featured .client-logo-name {
        font-size:clamp(10px,.7vw,14px)!important;
        line-height:1.2!important;
        min-height:2.4em!important;
    }
    html body.light-theme .portfolio-intro .clients--featured .client-collaborations-header { margin-bottom:10px!important; }
}
@media (min-width:1700px) {
    /* Exact original desktop spacing rule, before the first-screen-fit revisions. */
    html body.light-theme .portfolio-intro { padding-top:clamp(72px,4.4vw,150px); }
}

/* Longer brand-focused phrases keep the same single-line rhythm without
   colliding with the intro copy in the right column. */
html body.light-theme .portfolio-intro .hero-rotating-text {
    transition: font-size 180ms ease, letter-spacing 180ms ease;
}
html body.light-theme .portfolio-intro .hero-rotating-text.is-long {
    font-size: .66em;
    letter-spacing: -.045em;
}
html body.light-theme .portfolio-intro .hero-rotating-text.is-xlong {
    font-size: .56em;
}

@media (max-width:680px) {
    html body.light-theme .portfolio-intro .hero-rotating-text.is-long { font-size:.62em; }
    html body.light-theme .portfolio-intro .hero-rotating-text.is-xlong { font-size:.52em; }
}

@media (prefers-reduced-motion:reduce) {
    html body.light-theme .portfolio-intro .hero-rotating-text { transition:none; }
}

/* The first-screen cue belongs to the content flow directly below the client
   logos. It stays unboxed and the opening-height calculation makes room for it. */
.rp-scroll-cue {
    position: relative;
    z-index: 2;
    display: flex;
    width: max-content;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    max-width: calc(100vw - 2rem);
    min-height: 2rem;
    margin: clamp(.85rem, 1.7vh, 1.25rem) auto clamp(.15rem, .7vh, .55rem);
    padding: .25rem 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    color: #191c20;
    font-size: .7rem;
    font-weight: 650;
    letter-spacing: .055em;
    line-height: 1;
    text-decoration: none;
    text-transform: uppercase;
    white-space: nowrap;
    opacity: 1;
    transition: color 220ms ease, opacity 300ms ease;
}

.rp-scroll-cue-marks {
    display: inline-flex;
    align-items: center;
    gap: .08rem;
    min-width: 2.8rem;
}

.rp-scroll-cue-marks-right {
    justify-content: flex-end;
}

.rp-scroll-cue-mark {
    display: grid;
    width: 1.2rem;
    height: 1.35rem;
    place-items: center;
    border: 0;
    background: transparent;
    color: #285cc4;
    font-family: ui-monospace, "SFMono-Regular", Consolas, monospace;
    font-size: 1.1rem;
    font-weight: 700;
    letter-spacing: 0;
    text-transform: none;
    animation: rp-scroll-cue-pulse 4.8s ease-in-out infinite;
}

@keyframes rp-scroll-cue-pulse {
    0%, 68%, 100% { opacity: .22; transform: translateY(-1px) scale(.92); }
    76%, 90% { opacity: 1; transform: translateY(3px) scale(1); }
}

.rp-scroll-cue:hover,
.rp-scroll-cue:focus-visible {
    color: #285cc4;
    background: transparent;
}

.rp-scroll-cue:hover .rp-scroll-cue-mark,
.rp-scroll-cue:focus-visible .rp-scroll-cue-mark {
    transform: translateY(2px);
}

.rp-scroll-cue.is-hidden {
    pointer-events: none;
    opacity: 0;
}

html[data-theme="dark"] .rp-scroll-cue {
    color: #b0b9c7;
    background: transparent;
    box-shadow: none;
}

html[data-theme="dark"] .rp-scroll-cue:hover,
html[data-theme="dark"] .rp-scroll-cue:focus-visible {
    color: #82b3ff;
    background: transparent;
}

html[data-theme="dark"] .rp-scroll-cue > .rp-scroll-cue-mark {
    background: transparent;
    color: #82b3ff;
}

@media (max-width: 680px) {
    .rp-scroll-cue {
        min-height: 2rem;
        margin-top: .75rem;
        font-size: .62rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .rp-scroll-cue,
    .rp-scroll-cue > .rp-scroll-cue-mark { transition: none; animation: none; }
}

/* Mobile keeps both rails in the first viewport; the portfolio begins at the
   next screen. Tile width is measured from the space left after real text. */
@media (max-width: 980px) {
    html body.light-theme .portfolio-intro {
        --rp-opening-card-width: 150px;
        box-sizing: border-box;
        min-height: calc(100svh - var(--rp-opening-top, 73px));
        padding: 20px 0 8px !important;
    }
    html body.light-theme .portfolio-intro .intro-layout {
        gap: 14px !important;
        padding-bottom: 18px !important;
        min-width: 0;
    }
    html body.light-theme .portfolio-intro h1 {
        font-size: clamp(32px, 8.2vw, 48px) !important;
    }
    html body.light-theme .portfolio-intro .intro-summary {
        padding-bottom: 0 !important;
    }
    html body.light-theme .portfolio-intro .intro-summary > p {
        margin-bottom: 12px !important;
        font-size: 12px !important;
        line-height: 1.5 !important;
    }
    html body.light-theme .portfolio-intro .editorial-button {
        min-height: 44px !important;
        padding: 12px 16px !important;
        font-size: 11px !important;
        line-height: 1.3 !important;
    }
    html body.light-theme .portfolio-intro .reel-group {
        gap: 12px !important;
        padding-right: 12px !important;
        align-items: flex-start;
    }
    html body.light-theme .portfolio-intro [data-reel-showcase="portfolio"] .reel-card {
        width: max(var(--rp-opening-card-width),var(--rp-reel-min-width,0px)) !important;
    }
    html body.light-theme .portfolio-intro .reel-caption {
        padding: 7px 2px 0 !important;
        min-width: 0;
    }
    html body.light-theme .portfolio-intro .reel-caption > span {
        width: 100%;
        min-width: 0;
    }
    html body.light-theme .portfolio-intro .reel-caption small {
        display: block;
        margin-bottom: 3px !important;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        font-size: 8px !important;
        line-height: 1.2 !important;
        letter-spacing: .05em !important;
    }
    html body.light-theme .portfolio-intro .reel-caption strong {
        display: -webkit-box;
        overflow: hidden;
        font-size: 11px !important;
        line-height: 1.25 !important;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }
    html[data-theme] body.light-theme .portfolio-intro #clients.clients--featured {
        padding: 10px 0 0 !important;
    }
    html body.light-theme .portfolio-intro .clients--featured::before {
        margin-bottom: 10px !important;
    }
    html[data-theme] body.light-theme .portfolio-intro #clients.clients--featured .client-logo-row {
        column-gap: 14px !important;
    }
    html[data-theme] body.light-theme .portfolio-intro #clients.clients--featured .client-logos .client-logo-row .client-logo {
        flex-basis: 116px !important;
        width: 116px !important;
        min-width: 116px !important;
        min-height: 66px !important;
        padding: 4px 3px !important;
        gap: 4px !important;
    }
    html[data-theme] body.light-theme .portfolio-intro #clients.clients--featured .client-logos .client-logo-row .client-logo img {
        height: 32px !important;
        transform: none !important;
    }
    html[data-theme] body.light-theme .portfolio-intro #clients.clients--featured .client-logos .client-logo-row .client-logo-name {
        font-size: 9px !important;
        line-height: 1.2 !important;
    }
    html body.light-theme .portfolio-intro .rp-scroll-cue {
        min-height: 28px;
        margin: 6px auto 0 !important;
        padding: 2px 0;
        font-size: 9px;
    }
}
@media (max-width: 680px) and (max-height: 650px) {
    html body.light-theme .portfolio-intro { padding-top: 12px !important; }
    html body.light-theme .portfolio-intro .intro-layout { gap: 10px !important; padding-bottom: 12px !important; }
    html body.light-theme .portfolio-intro h1 { font-size: 29px !important; }
    html body.light-theme .portfolio-intro .intro-summary > p {
        display: -webkit-box;
        overflow: hidden;
        font-size: 11px !important;
        line-height: 1.4 !important;
        margin-bottom: 8px !important;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
    }
}
