/* assets/video-player.css */
/* Media is a dark canvas in both page themes. White controls and the site's blue accent
   remain legible over arbitrary footage. Deliberately scoped away from page layout. */
html body.light-theme .rp-video-player {
    --rp-player-accent:#a6c4ff; --rp-player-ink:#f8faff;
    --rp-progress:0%; --rp-buffer:0%; --rp-volume:60%;
    isolation:isolate; color:var(--rp-player-ink); background:#090c11;
    font-family:var(--editorial-font,Manrope,sans-serif); -webkit-tap-highlight-color:transparent;
}
html[data-theme="light"] body.light-theme .rp-video-player { --rp-player-accent:#b8d0ff; }
html body.light-theme .rp-video-player:focus-visible { outline:2px solid var(--theme-accent,#285cc4)!important;outline-offset:5px; }
html body.light-theme .rp-video-player > .rp-full-video { display:block;width:100%;height:100%;pointer-events:auto; }
html body.light-theme .rp-video-player.rp-has-started > .rp-full-video { object-fit:contain!important;transform:none!important;opacity:1!important; }
html body.light-theme .rp-video-player > .rp-preview-video,
html body.light-theme .external-preview > .rp-preview-video {
    position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;
    opacity:0!important;pointer-events:none;transition:opacity 200ms ease!important;
}
html body.light-theme .rp-video-player.rp-previewing > .rp-preview-video,
html body.light-theme .external-preview.rp-previewing > .rp-preview-video { opacity:1!important; }
html body.light-theme .rp-player-shade { position:absolute;inset:35% 0 0;z-index:2;pointer-events:none;background:linear-gradient(transparent,rgba(7,11,18,.15) 40%,rgba(7,11,18,.82));opacity:0;transition:opacity 200ms ease; }
html body.light-theme .rp-has-started .rp-player-shade { opacity:1; }
html body.light-theme .rp-video-player .rp-player-center,
html body.light-theme .external-preview .external-play,
html body.light-theme .external-preview:hover .external-play,
html body.light-theme .external-preview:focus-visible .external-play {
    position:absolute;left:50%;top:50%;z-index:4;display:grid!important;place-items:center;
    width:58px!important;height:58px!important;min-width:44px;min-height:44px;padding:0;
    background:#fff!important;color:#191c20!important;opacity:1!important;
    border:1px solid #fff!important;border-radius:50%!important;
    box-shadow:0 4px 24px #00000029!important;filter:none!important;backdrop-filter:none!important;
    transform:translate(-50%,-50%)!important;translate:none!important;
    transition:scale 180ms ease,box-shadow 180ms ease!important;cursor:pointer;
}
html body.light-theme .rp-video-player .rp-player-center::before,
html body.light-theme .external-preview .external-play::before {
    content:"";position:absolute;inset:-6px!important;border:1px solid #ffffff73!important;border-radius:50%!important;pointer-events:none;
}
html body.light-theme .rp-video-player .rp-player-center:hover,
html body.light-theme .external-preview:hover .external-play { scale:1.045;box-shadow:0 5px 28px #00000040!important; }
html body.light-theme .rp-player-center svg,
html body.light-theme .external-preview .external-play svg { width:23px!important;height:23px!important;color:#191c20!important;fill:currentColor!important;transform:translateX(1px)!important; }
html body.light-theme .rp-video-player .rp-player-center[hidden] { display:none!important; }
html body.light-theme .rp-player-dock {
    position:absolute;left:10px;right:10px;bottom:10px;z-index:5;
    padding:0 7px 3px;min-width:0;max-width:calc(100% - 20px);
    color:var(--rp-player-ink);background:rgba(16,22,32,.88);
    border:1px solid #ffffff26;border-radius:8px!important;
    backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
    box-shadow:0 4px 18px #0000001f;
    opacity:0;visibility:hidden;transform:translateY(5px);
    transition:opacity 180ms ease,transform 180ms ease,visibility 180ms;
}
html body.light-theme .rp-has-started .rp-player-dock {opacity:1;visibility:visible;transform:none;}
html body.light-theme .rp-video-player.rp-controls-idle .rp-player-dock {opacity:0;visibility:hidden;transform:translateY(5px);pointer-events:none;}
html body.light-theme .rp-video-player.rp-controls-idle .rp-player-shade {opacity:0;}
html body.light-theme .rp-player-scrub {position:relative;display:block;height:26px;margin:0 6px;cursor:pointer;}
html body.light-theme .rp-player-track {position:absolute;top:12px;left:0;right:0;height:3px;overflow:hidden;border-radius:2px!important;background:#ffffff30;pointer-events:none;}
html body.light-theme .rp-player-buffer {position:absolute;inset:0 auto 0 0;width:var(--rp-buffer);background:#ffffff4d;}
html body.light-theme .rp-player-progress {position:absolute;inset:0 auto 0 0;width:var(--rp-progress);background:var(--rp-player-accent);}
html body.light-theme .rp-video-player .rp-player-seek {
    -webkit-appearance:none;appearance:none;position:relative;display:block;width:100%;height:26px;
    margin:0;padding:0;outline:none;background:transparent!important;border:0;box-shadow:none;cursor:pointer;touch-action:none;
}
html body.light-theme .rp-player-seek::-webkit-slider-runnable-track {height:3px;background:transparent;border:0;}
html body.light-theme .rp-player-seek::-moz-range-track {height:3px;background:transparent;border:0;}
html body.light-theme .rp-player-seek::-webkit-slider-thumb {-webkit-appearance:none;appearance:none;width:11px;height:11px;margin-top:-4px;border:0;border-radius:50%!important;background:#fff;box-shadow:0 1px 5px #0006;}
html body.light-theme .rp-player-seek::-moz-range-thumb {width:11px;height:11px;border:0;border-radius:50%!important;background:#fff;box-shadow:0 1px 5px #0006;}
html body.light-theme .rp-player-seek:disabled {opacity:.4;cursor:default;}
html body.light-theme .rp-player-row {display:flex;align-items:center;gap:2px;min-width:0;height:40px;}
html body.light-theme .rp-video-player .rp-player-button,
html body.light-theme .rp-video-player .rp-player-speed > summary {
    display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;min-width:40px;min-height:40px;
    border:0;border-radius:5px!important;padding:0;margin:0;background:transparent;color:var(--rp-player-ink)!important;
    line-height:1;font-size:12px;letter-spacing:0;cursor:pointer;box-shadow:none;
    transition:background 150ms ease,color 150ms ease;
}
html body.light-theme .rp-video-player .rp-player-button:hover,
html body.light-theme .rp-video-player .rp-player-speed > summary:hover {background:#ffffff15;color:var(--rp-player-accent)!important;}
html body.light-theme .rp-video-player .rp-player-button svg {display:block;width:19px;height:19px;pointer-events:none;}
html body.light-theme .rp-video-player :is(button,input,summary,a):focus-visible {outline:2px solid #a6c4ff!important;outline-offset:1px!important;}
html body.light-theme .rp-player-time {flex:0 0 auto;white-space:nowrap!important;font-size:11px!important;font-weight:500;line-height:1.3;letter-spacing:.01em;color:#fff!important;font-variant-numeric:tabular-nums;}
html body.light-theme .rp-time-duration {color:#c4cfdf!important;}
html body.light-theme .rp-player-spacer {flex:1 1 4px;min-width:0;}
html body.light-theme .rp-player-volume {display:flex;align-items:center;flex:0 0 auto;gap:2px;}
html body.light-theme .rp-video-player .rp-player-volume-range {
    -webkit-appearance:none;appearance:none;width:56px;height:32px;margin:0 9px 0 0;padding:0;background:transparent;border:0;cursor:pointer;accent-color:var(--rp-player-accent);touch-action:none;
}
html body.light-theme .rp-player-volume-range::-webkit-slider-runnable-track {height:3px;border-radius:2px;background:linear-gradient(to right,var(--rp-player-accent) var(--rp-volume),#ffffff40 var(--rp-volume));}
html body.light-theme .rp-player-volume-range::-moz-range-track {height:3px;background:#ffffff40;}
html body.light-theme .rp-player-volume-range::-moz-range-progress {height:3px;background:var(--rp-player-accent);}
html body.light-theme .rp-player-volume-range::-webkit-slider-thumb {-webkit-appearance:none;width:9px;height:9px;margin-top:-3px;border-radius:50%;background:#fff;border:0;}
html body.light-theme .rp-player-volume-range::-moz-range-thumb {width:9px;height:9px;border-radius:50%;background:#fff;border:0;}
html body.light-theme .rp-player-speed {position:relative;flex:0 0 auto;margin:0;padding:0;border:0;background:none;}
html body.light-theme .rp-player-speed > summary {list-style:none;font-variant-numeric:tabular-nums;}
html body.light-theme .rp-player-speed > summary::-webkit-details-marker {display:none;}
html body.light-theme .rp-player-speed-options {position:absolute;right:0;bottom:calc(100% + 8px);width:80px;display:grid;gap:2px;padding:5px;background:#171f2d;border:1px solid #ffffff30;border-radius:7px!important;box-shadow:0 8px 28px #0005;}
html body.light-theme .rp-player-speed:not([open]) .rp-player-speed-options {display:none;}
html body.light-theme .rp-player-speed-options button {height:36px;width:100%;padding:0;border:0;background:none;color:#f3f6fb;font:500 12px/1 var(--editorial-font);border-radius:4px!important;cursor:pointer;}
html body.light-theme .rp-player-speed-options button[aria-pressed="true"],html body.light-theme .rp-player-speed-options button:hover {background:#ffffff12;color:var(--rp-player-accent);}
html body.light-theme .rp-player-error-message {position:absolute;left:12px;right:12px;top:12px;z-index:7;padding:12px;background:#152133f2;border:1px solid #b4c9e76b;border-radius:6px!important;font:500 12px/1.6 var(--editorial-font);color:#fff;}
html body.light-theme .rp-player-error-message[hidden] {display:none!important;}
html body.light-theme .rp-player-error-message > div {display:flex;flex-wrap:wrap;gap:8px 12px;margin-top:8px;}
html body.light-theme .rp-player-error-message :is(button,a) {color:#c5daff;border:0;background:transparent;padding:4px 0;text-decoration:underline;cursor:pointer;font-size:12px;}
html body.light-theme .rp-player-loading {position:absolute;left:50%;top:50%;margin:-15px 0 0 -15px;z-index:4;width:30px;height:30px;border:2px solid #ffffff40;border-top-color:#fff;border-radius:50%!important;animation:rp-player-spin 900ms linear infinite;pointer-events:none;}
html body.light-theme .rp-player-loading[hidden] {display:none!important;}
@keyframes rp-player-spin {to{transform:rotate(1turn)}}
html body.light-theme .rp-player-small .rp-player-volume-range {display:none;}
html body.light-theme .rp-player-tiny .rp-player-volume,
html body.light-theme .rp-player-tiny .rp-player-speed,
html body.light-theme .rp-player-tiny .rp-time-duration {display:none;}
html body.light-theme .rp-player-tiny .rp-player-dock {left:5px;right:5px;bottom:6px;max-width:calc(100% - 10px);padding-inline:2px;}
html body.light-theme .rp-player-tiny .rp-player-time {font-size:10px!important;}
html body.light-theme .rp-player-tiny .rp-player-center {width:48px!important;height:48px!important;}
html body.light-theme .rp-native-fallback .rp-player-dock,
html body.light-theme .rp-native-fallback .rp-player-shade,
html body.light-theme .rp-native-fallback .rp-player-center {display:none!important;}
/* Fullscreen targets the media frame, never the card's caption. */
html body.light-theme .rp-video-player:fullscreen {position:fixed!important;inset:0!important;display:block!important;width:100vw!important;height:100dvh!important;max-width:none!important;max-height:none!important;aspect-ratio:auto!important;border-radius:0!important;background:#05070b!important;}
html body.light-theme .rp-video-player:-webkit-full-screen {position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;max-width:none!important;max-height:none!important;aspect-ratio:auto!important;background:#05070b!important;}
html body.light-theme .rp-video-player:fullscreen > .rp-full-video {position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-height:none!important;object-fit:contain!important;}
html body.light-theme .rp-video-player:fullscreen .rp-player-dock {left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));margin-inline:auto;max-width:900px;}
/* The dialog remains proportional to the clip on short mobile screens. */
html body.light-theme .rp-dialog-player {position:relative;display:block;width:min(440px,calc((100dvh - 165px)*9/16),calc(100vw - 56px));max-width:100%;aspect-ratio:9/16;margin-inline:auto;border-radius:4px;overflow:hidden;}
html body.light-theme .reel-dialog .rp-dialog-player > video {display:block;position:absolute;inset:0;width:100%;height:100%;min-width:0;max-width:100%;max-height:none;aspect-ratio:auto;object-fit:contain;}
html body.light-theme .reel-dialog-heading {max-width:440px;}
html body.light-theme .reel-dialog-heading h2 {overflow-wrap:anywhere;}
html body.light-theme .reel-dialog-close {min-width:40px;min-height:40px;border-radius:4px!important;}
html body.light-theme [data-reel-showcase="portfolio"] .reel-card {width:var(--rp-home-reel-width,clamp(225px,19vw,306px));}
@media(max-width:980px) {
    html body.light-theme .rp-player-button,html body.light-theme .rp-player-speed > summary {width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;flex-basis:44px!important;}
    html body.light-theme .rp-player-row {height:44px;gap:0;}
    html body.light-theme .rp-player-scrub,html body.light-theme .rp-video-player .rp-player-seek {height:30px;}
    html body.light-theme .rp-player-track {top:14px;}
    html body.light-theme .rp-player-small .rp-time-duration {display:none;}
    html body.light-theme .rp-player-dock {left:7px;right:7px;bottom:7px;max-width:calc(100% - 14px);padding:0 3px 2px;}
    html body.light-theme .rp-player-speed-options button {min-height:40px;}
    html body.light-theme .rp-player-center {width:54px!important;height:54px!important;}
    html body.light-theme [data-reel-showcase="portfolio"] .reel-card {width:var(--rp-home-reel-width,238px);}
}
@media(max-width:620px) {html body.light-theme [data-reel-showcase="portfolio"] .reel-card {width:var(--rp-home-reel-width,210px);}}
@media(prefers-reduced-motion:reduce) {
    html body.light-theme :is(.rp-player-dock,.rp-player-shade,.rp-player-center,.rp-preview-video,.external-play) {transition:none!important;}
    html body.light-theme .rp-player-loading {animation:none;}
}
@media(min-width:1700px) {html body.light-theme [data-reel-showcase="portfolio"] .reel-card {width:var(--rp-home-reel-width,clamp(19rem,14vw,24rem));}}
@media(min-width:981px) and (max-width:1000px) {html body.light-theme [data-reel-showcase="portfolio"] .reel-card {width:var(--rp-home-reel-width,238px);}}
@media(min-width:621px) and (max-width:700px) {html body.light-theme [data-reel-showcase="portfolio"] .reel-card {width:var(--rp-home-reel-width,210px);}}
html body.light-theme .rp-player-volume-range::-webkit-slider-thumb {border-radius:50%!important;}
html body.light-theme .rp-player-volume-range::-moz-range-thumb {border-radius:50%!important;}
/* A real pause/play control is essential when motion starts disabled by system settings. */
@media(max-height:560px) and (orientation:landscape) {html body.light-theme .rp-dialog-player {width:min(640px,calc(100vw - 56px));height:calc(100dvh - 142px);aspect-ratio:auto;}}
/* Very small two-column thumbnails still keep two 44px targets and a usable scrub bar. */
html body.light-theme .rp-player-tiny .rp-player-dock {padding-inline:0;}
html body.light-theme .rp-player-tiny .rp-player-row {gap:0;}

html body.light-theme .rp-video-player .rp-player-quality {
    display:grid;place-items:center;flex:0 0 44px;width:44px;max-width:44px;height:36px;min-height:36px;
    margin:0 2px;padding:0;background:#ffffff08;color:#f8faff;border:1px solid #ffffff26;
    border-radius:6px!important;font:600 11px/1 var(--editorial-font,Manrope,sans-serif);
    letter-spacing:.04em;cursor:pointer;transition:background 150ms ease,border-color 150ms ease,color 150ms ease;
}
html body.light-theme .rp-video-player .rp-player-quality[aria-pressed="true"] {
    background:#a6c4ff18;color:#c8dcff;border-color:#a6c4ff50;
}
html body.light-theme .rp-video-player .rp-player-quality:hover {background:#ffffff1a;border-color:#ffffff70;}
html body.light-theme .rp-video-player .rp-player-quality[hidden] {display:none!important;}
html body.light-theme .rp-video-player .rp-player-quality:focus-visible {outline:2px solid #a6c4ff;outline-offset:1px;}
@media(max-width:980px) {html body.light-theme .rp-video-player .rp-player-quality {height:44px;min-height:44px;}}
html body.light-theme .rp-video-player.rp-player-small .rp-player-speed {display:none;}

/* Mobile launches use a dedicated fullscreen canvas; the document is never the player. */
html.rp-mobile-video-open {overflow:hidden!important;overscroll-behavior:none;}
html body.light-theme dialog.rp-mobile-viewer {
    position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;
    min-width:0!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;
    border:0!important;border-radius:0!important;background:#05070b!important;color:#fff!important;
    overflow:hidden!important;box-sizing:border-box;overscroll-behavior:contain;
}
html body.light-theme dialog.rp-mobile-viewer::backdrop {background:#05070b;}
html body.light-theme .rp-mobile-player {
    position:relative!important;inset:auto!important;display:block!important;width:100%!important;height:100%!important;
    max-width:none!important;max-height:none!important;margin:0!important;border:0!important;border-radius:0!important;
    aspect-ratio:auto!important;overflow:hidden!important;background:#05070b!important;
}
html body.light-theme .rp-mobile-player > .rp-full-video {
    position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
    max-width:none!important;max-height:none!important;object-fit:contain!important;transform:none!important;
}
html body.light-theme .rp-mobile-player .rp-player-dock {
    left:max(10px,env(safe-area-inset-left));right:max(10px,env(safe-area-inset-right));
    bottom:max(14px,env(safe-area-inset-bottom));max-width:900px;margin-inline:auto;
}
html body.light-theme .rp-mobile-player > .rp-mobile-close {
    position:absolute;right:max(12px,env(safe-area-inset-right));top:max(12px,env(safe-area-inset-top));
    z-index:10;display:grid;place-items:center;width:44px;height:44px;min-width:44px;min-height:44px;
    padding:0;border:1px solid #ffffff35;border-radius:50%!important;background:#111722bb;color:#fff;
    font:300 30px/1 Arial,sans-serif;cursor:pointer;backdrop-filter:blur(10px);
}
html body.light-theme .rp-mobile-external-frame {position:absolute;inset:0;width:100%;height:100%;border:0;background:#05070b;}
html body.light-theme .rp-mobile-player > [hidden] {display:none!important;}
html body.light-theme .rp-mobile-external :is(.rp-player-dock,.rp-player-center,.rp-player-shade,.rp-player-loading) {display:none!important;}

/* assets/content-motion.css */
/* Disclosure motion primitives. Page composition is otherwise unchanged. */
html.rp-layout-changing,
html.rp-layout-changing body {
    overflow-anchor: none !important;
    scroll-behavior: auto !important;
}

/* Override the more specific preview crops only for the measured transition. */
html[data-theme] body.light-theme #main .rp-is-expanding,
html[data-theme] body.light-theme #main #client-reels .rp-motion-reels.rp-is-expanding {
    max-height: none !important;
    min-height: 0 !important;
    overflow: clip !important;
    transition: none !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
}

html[data-theme] body.light-theme #main .rp-motion-reels.rp-is-expanding .video-card {
    display: block !important;
}

html body.light-theme .rp-is-expanding {
    overflow: hidden !important;
    overflow: clip !important;
    transition: none !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow-anchor: none;
    will-change: height;
}

/* Reels have their own measured animation in content-motion.js.
   Disable the legacy max-height/opacity/translate transitions and the generic
   IntersectionObserver reveal transition inside this disclosure. */
html body.light-theme .rp-motion-reels {
    max-height: none !important;
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    overflow: hidden;
    overflow: clip;
    contain: paint;
}
html body.light-theme .rp-motion-reels[hidden] { display: none !important; }
html body.light-theme .rp-motion-reels.rp-reels-animating { display: grid !important; }
html body.light-theme .rp-motion-reels .video-card.reveal,
html body.light-theme .rp-motion-reels .video-card.reveal.is-visible {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
}

html body.light-theme .client-full-list { transition: none !important; max-height: none !important; }
html body.light-theme .client-full-list:not(.is-open) {
    height: 0 !important;
    min-height: 0 !important;
    padding-block: 0 !important;
    margin-block: 0 !important;
    overflow: hidden !important;
    visibility: hidden;
}
html body.light-theme .client-full-list.is-open { height: auto; opacity: 1; visibility: visible; }
html body.light-theme .client-full-list.rp-is-expanding { visibility: visible; opacity: 1; }
html body.light-theme .client-full-list .client-logo { animation: none !important; }
html body.light-theme .rp-catalog-compact .rp-is-expanding { box-sizing: border-box; }
html body.light-theme details.rp-is-expanding { box-sizing: border-box; }
html body.light-theme .client-full-list .client-logo {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
}

/* AI catalogue tab change: the whole result set swipes horizontally and fades
   as one surface. JavaScript also eases the measured height between tabs. */
html body.light-theme [data-ai-catalog="full"] { position: relative; }
html body.light-theme [data-ai-catalog="full"].rp-catalog-is-switching {
    isolation: isolate;
    min-height: 1px;
    backface-visibility: hidden;
    will-change: height, opacity, transform;
}

@media (prefers-reduced-motion: reduce) {
    html body.light-theme .rp-is-expanding { will-change: auto; }
    html body.light-theme [data-ai-catalog="full"].rp-catalog-is-switching { will-change: auto; }
}

/* Scroll-triggered AI chapter intro. The layout is centered before motion is
   prepared, so there is no jump when JavaScript starts the typewriter. */
html body.light-theme .ai-zone-intro {
    display: grid;
    justify-items: center;
    text-align: center;
}

html body.light-theme .ai-zone-intro .ai-zone-kicker {
    width: 100%;
    text-align: center;
}

html body.light-theme .ai-zone-intro .ai-zone-heading {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    justify-items: center !important;
    gap: clamp(18px, 2.2vw, 30px) !important;
    position: relative;
    width: 100%;
}

html body.light-theme .ai-zone-intro .ai-zone-mark {
    margin-inline: auto !important;
}

/* The mark is a transient chapter card, not a persistent badge. The final copy
   keeps its full footprint underneath it, so the section never shifts. */
html body.light-theme .ai-zone-intro.is-typewriter-prepared .ai-zone-mark {
    display: grid !important;
    position: absolute !important;
    z-index: 2;
    inset: 0 !important;
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    place-items: center !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--ai-accent) !important;
    font-size: clamp(5.75rem, 13vw, 10.5rem) !important;
    font-weight: 650 !important;
    line-height: .8 !important;
    letter-spacing: -.065em !important;
    opacity: 0;
    pointer-events: none;
    transform: scale(.975);
    overflow: visible !important;
    filter: brightness(.92);
    text-shadow: 0 0 0 rgba(40, 92, 196, 0);
    transition:
        opacity 380ms ease,
        transform 1050ms cubic-bezier(.18, .78, .16, 1),
        filter 700ms ease,
        text-shadow 700ms ease;
}

html body.light-theme .ai-zone-intro.is-typewriter-prepared .ai-zone-mark::before {
    content: "";
    position: absolute;
    width: 1.7em;
    aspect-ratio: 1;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(91, 142, 236, .34) 0%, rgba(91, 142, 236, .12) 38%, transparent 72%);
    opacity: 0;
    filter: blur(15px);
    transform: scale(.58);
    transition: opacity 520ms ease, transform 900ms cubic-bezier(.18, .78, .16, 1);
    pointer-events: none;
}

html body.light-theme .ai-zone-intro.is-typewriter-prepared.is-ai-splash-visible .ai-zone-mark {
    opacity: 1;
    transform: scale(1);
    animation: rp-ai-mark-illuminate 1050ms ease-out both;
}

html body.light-theme .ai-zone-intro.is-typewriter-prepared.is-ai-splash-visible .ai-zone-mark::before {
    opacity: 1;
    transform: scale(1);
}

html body.light-theme .ai-zone-intro.is-typewriter-prepared.is-ai-splash-exiting .ai-zone-mark {
    opacity: 0;
    transform: scale(1.012);
}

html body.light-theme .ai-zone-intro.is-typewriter-prepared.is-ai-copy-stage .ai-zone-mark {
    visibility: visible;
    opacity: 1;
    filter: brightness(1);
    text-shadow: 0 0 0 rgba(40, 92, 196, 0);
    transform: translateY(calc(-50% + .62rem)) scale(.116);
}

html body.light-theme .ai-zone-intro.is-typewriter-prepared.is-ai-copy-stage .ai-zone-mark::before {
    opacity: 0;
    transform: scale(.42);
}

html body.light-theme .ai-zone-intro.is-typewriter-prepared .ai-zone-kicker {
    opacity: 0;
    transform: translateY(5px);
    transition: opacity 360ms ease, transform 480ms cubic-bezier(.22, .72, .18, 1);
}

html body.light-theme .ai-zone-intro.is-typewriter-prepared.is-ai-copy-stage .ai-zone-kicker {
    opacity: 1;
    transform: translateY(0);
}

html body.light-theme .ai-zone-intro .ai-zone-heading > div {
    display: grid;
    justify-items: center;
    width: 100%;
}

html body.light-theme .ai-zone-intro .ai-zone-persistent-mark {
    display: block;
    margin: 0 0 clamp(12px, 1.4vw, 18px);
    color: var(--ai-accent);
    font: 700 clamp(1rem, 1.45vw, 1.2rem)/1 Manrope, Arial, sans-serif;
    letter-spacing: .16em;
    text-indent: .16em;
    opacity: 1;
}

html body.light-theme .ai-zone-intro.is-typewriter-prepared .ai-zone-persistent-mark {
    visibility: hidden;
    opacity: 0;
    transform: translateY(5px);
    transition: opacity 360ms ease, transform 480ms cubic-bezier(.22, .72, .18, 1);
}

html body.light-theme .ai-zone-intro.is-typewriter-prepared.is-ai-copy-stage .ai-zone-persistent-mark {
    visibility: hidden;
    opacity: 0;
    transform: translateY(0);
}

html body.light-theme .ai-zone-intro .ai-zone-heading h2 {
    max-width: 22ch !important;
    text-align: center !important;
}

html body.light-theme .ai-zone-intro .ai-zone-heading p {
    max-width: 58ch !important;
    margin-inline: auto !important;
    text-align: center !important;
}

html body.light-theme .ai-zone-intro .ai-type-line {
    display: block;
    min-height: 1em;
}

html body.light-theme .ai-zone-intro .ai-type-text {
    white-space: pre-wrap;
}

html body.light-theme .ai-zone-intro .ai-type-cursor {
    display: inline-block;
    width: .055em;
    height: .78em;
    margin-left: .055em;
    background: currentColor;
    opacity: 0;
    vertical-align: -.03em;
}

html body.light-theme .ai-zone-intro .ai-type-cursor.is-visible {
    opacity: 1;
}

html body.light-theme .ai-zone-intro .ai-type-cursor.is-idle {
    animation: rp-ai-cursor-blink .82s step-end infinite;
}

html body.light-theme .ai-zone-intro .ai-type-cursor.is-fading {
    opacity: 0;
    animation: none;
    transition: opacity 420ms ease;
}

html body.light-theme .ai-zone-intro.is-typewriter-prepared .ai-zone-heading p {
    opacity: 0;
    transform: translateY(14px);
    transition: opacity 620ms ease, transform 620ms cubic-bezier(.22, .72, .18, 1);
}

html body.light-theme .ai-zone-intro.is-typewriter-prepared.is-copy-visible .ai-zone-heading p {
    opacity: 1;
    transform: translateY(0);
}

@keyframes rp-ai-cursor-blink {
    0%, 46% { opacity: 1; }
    47%, 100% { opacity: 0; }
}

@keyframes rp-ai-mark-illuminate {
    0% {
        filter: brightness(.82) saturate(.88);
        text-shadow: 0 0 0 rgba(40, 92, 196, 0);
    }
    42% {
        filter: brightness(1.38) saturate(1.28);
        text-shadow: 0 0 16px rgba(72, 122, 222, .42), 0 0 48px rgba(72, 122, 222, .22);
    }
    100% {
        filter: brightness(1) saturate(1);
        text-shadow: 0 0 4px rgba(40, 92, 196, .12);
    }
}

/* The AI chapter occasionally breaks into a short RGB signal glitch after its
   typewriter has finished. The title card returns for a beat, then the normal
   copy settles back in without changing the section's layout. */
@keyframes rp-ai-rgb-glitch-heading {
    0%, 100% {
        clip-path: inset(0);
        filter: none;
        text-shadow: none;
        transform: none;
    }
    8% {
        clip-path: inset(8% 0 72% 0);
        text-shadow: -3px 0 rgba(255, 49, 96, .8), 3px 0 rgba(34, 215, 255, .8);
        transform: translate3d(-1px, 0, 0);
    }
    16% {
        clip-path: inset(62% 0 12% 0);
        text-shadow: 3px 0 rgba(255, 49, 96, .72), -3px 0 rgba(34, 215, 255, .72);
        transform: translate3d(1px, 0, 0);
    }
    24% {
        clip-path: inset(35% 0 38% 0);
        text-shadow: -2px 0 rgba(255, 49, 96, .62), 2px 0 rgba(34, 215, 255, .62);
        transform: none;
    }
    32%, 58% {
        clip-path: inset(0);
        text-shadow: none;
        transform: none;
    }
    66% {
        clip-path: inset(74% 0 6% 0);
        text-shadow: -2px 0 rgba(255, 49, 96, .68), 2px 0 rgba(34, 215, 255, .68);
        transform: skewX(-1deg);
    }
    74% {
        clip-path: inset(18% 0 58% 0);
        text-shadow: 2px 0 rgba(255, 49, 96, .68), -2px 0 rgba(34, 215, 255, .68);
        transform: skewX(1deg);
    }
    84% {
        clip-path: inset(0);
        text-shadow: none;
        transform: none;
    }
}

@keyframes rp-ai-rgb-glitch-copy {
    0%, 100% {
        clip-path: inset(0);
        text-shadow: none;
        transform: translateY(0);
    }
    12% {
        clip-path: inset(16% 0 64% 0);
        text-shadow: -2px 0 rgba(255, 49, 96, .64), 2px 0 rgba(34, 215, 255, .64);
        transform: translate3d(1px, 0, 0);
    }
    22% {
        clip-path: inset(66% 0 12% 0);
        text-shadow: 2px 0 rgba(255, 49, 96, .58), -2px 0 rgba(34, 215, 255, .58);
        transform: translate3d(-1px, 0, 0);
    }
    34%, 62% {
        clip-path: inset(0);
        text-shadow: none;
        transform: translateY(0);
    }
    72% {
        clip-path: inset(42% 0 34% 0);
        text-shadow: -2px 0 rgba(255, 49, 96, .54), 2px 0 rgba(34, 215, 255, .54);
        transform: translate3d(1px, 0, 0);
    }
    82% {
        clip-path: inset(0);
        text-shadow: none;
        transform: translateY(0);
    }
}

@keyframes rp-ai-glitch-mark {
    0%, 15%, 74%, 100% {
        opacity: 0;
        transform: scale(.985);
        text-shadow: none;
    }
    20%, 31% {
        opacity: 1;
        transform: scale(1);
        text-shadow: -4px 0 rgba(255, 49, 96, .82), 4px 0 rgba(34, 215, 255, .82);
    }
    38%, 57% {
        opacity: .88;
        transform: scale(1.008);
        text-shadow: 3px 0 rgba(255, 49, 96, .7), -3px 0 rgba(34, 215, 255, .7);
    }
    63% {
        opacity: 0;
        transform: scale(1.015);
        text-shadow: none;
    }
}

html body.light-theme .ai-zone-intro.is-ai-rgb-glitching .ai-zone-heading h2 {
    animation: rp-ai-rgb-glitch-heading 2.2s steps(1, end) both;
    isolation: isolate;
    will-change: clip-path, text-shadow, transform;
}

html body.light-theme .ai-zone-intro.is-ai-rgb-glitching .ai-zone-heading p {
    animation: rp-ai-rgb-glitch-copy 2.2s steps(1, end) both;
    will-change: clip-path, text-shadow, transform;
}

html body.light-theme .ai-zone-intro.is-typewriter-prepared.is-ai-copy-stage.is-ai-rgb-glitching .ai-zone-mark {
    visibility: visible !important;
    animation: rp-ai-glitch-mark 2.2s steps(1, end) both;
    will-change: opacity, text-shadow, transform;
}

@media (max-width: 620px) {
    html body.light-theme .ai-zone-intro .ai-zone-heading {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 16px !important;
    }

    html body.light-theme .ai-zone-intro.is-typewriter-prepared.is-ai-copy-stage .ai-zone-mark {
        transform: translateY(calc(-50% + .52rem)) scale(.17);
    }
}

@media (prefers-reduced-motion: reduce) {
    html body.light-theme .ai-zone-intro.is-typewriter-prepared .ai-zone-mark {
        display: none !important;
    }

    html body.light-theme .ai-zone-intro.is-typewriter-prepared .ai-zone-persistent-mark,
    html body.light-theme .ai-zone-intro.is-typewriter-prepared.is-ai-copy-stage .ai-zone-persistent-mark {
        visibility: visible;
        opacity: 1;
        transform: none;
        transition: none;
    }

    html body.light-theme .ai-zone-intro.is-typewriter-prepared .ai-zone-kicker {
        opacity: 1;
        transform: none;
        transition: none;
    }

    html body.light-theme .ai-zone-intro .ai-type-cursor {
        display: none;
        animation: none;
    }

    html body.light-theme .ai-zone-intro.is-typewriter-prepared .ai-zone-heading p {
        opacity: 1;
        transform: none;
        transition: none;
    }

    html body.light-theme .ai-zone-intro.is-ai-rgb-glitching .ai-zone-heading h2,
    html body.light-theme .ai-zone-intro.is-ai-rgb-glitching .ai-zone-heading p,
    html body.light-theme .ai-zone-intro.is-ai-rgb-glitching .ai-zone-mark {
        animation: none !important;
        clip-path: none !important;
        filter: none !important;
        text-shadow: none !important;
        transform: none !important;
    }

    html body.light-theme .ai-zone-intro.is-typewriter-prepared.is-ai-copy-stage.is-ai-rgb-glitching .ai-zone-mark {
        visibility: hidden !important;
        opacity: 0 !important;
    }
}

/* Portfolio chapter: type the heading and its descriptor once they enter view. */
html body.light-theme #showreel .section-header.is-portfolio-typewriter-prepared .portfolio-display-title {
    min-height: .94em;
}

html body.light-theme #showreel .section-header.is-portfolio-typewriter-prepared #showreel-title {
    min-height: 1.3em;
}

html body.light-theme #showreel .portfolio-type-line {
    display: inline;
}

html body.light-theme #showreel .portfolio-type-text {
    white-space: pre-wrap;
}

html body.light-theme #showreel .portfolio-type-cursor {
    display: inline-block;
    width: .055em;
    height: .8em;
    margin-left: .065em;
    background: currentColor;
    opacity: 0;
    vertical-align: -.035em;
}

html body.light-theme #showreel #showreel-title .portfolio-type-cursor {
    width: .075em;
    height: .78em;
    margin-left: .12em;
}

html body.light-theme #showreel .portfolio-type-cursor.is-visible {
    opacity: 1;
}

html body.light-theme #showreel .portfolio-type-cursor.is-idle {
    animation: rp-portfolio-cursor-blink .82s step-end infinite;
}

html body.light-theme #showreel .portfolio-type-cursor.is-fading {
    opacity: 0;
    animation: none;
    transition: opacity 360ms ease;
}

@keyframes rp-portfolio-cursor-blink {
    0%, 46% { opacity: 1; }
    47%, 100% { opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
    html body.light-theme #showreel .portfolio-type-cursor {
        display: none;
        animation: none;
    }
}

/* Classic montage chapter: continue the same quiet typewriter entrance as AI. */
html body.light-theme #showreel #long-form .category-top.is-classic-typewriter-prepared .classic-type-line {
    display: block;
    min-height: 1em;
}

html body.light-theme #showreel #long-form .classic-type-text {
    white-space: pre-wrap;
}

html body.light-theme #showreel #long-form .classic-format-phrase {
    display: inline-block;
    opacity: 0;
    transform: translateY(.18em);
    transition: opacity 700ms ease, transform 700ms ease;
}

html body.light-theme #showreel #long-form .classic-format-phrase.is-visible {
    opacity: 1;
    transform: translateY(0);
}

html body.light-theme #showreel #long-form .classic-type-cursor {
    display: inline-block;
    width: .055em;
    height: .8em;
    margin-left: .06em;
    background: currentColor;
    opacity: 0;
    vertical-align: -.035em;
}

html body.light-theme #showreel #long-form .classic-type-cursor.is-visible {
    opacity: 1;
}

html body.light-theme #showreel #long-form .classic-type-cursor.is-idle {
    animation: rp-classic-cursor-blink .82s step-end infinite;
}

html body.light-theme #showreel #long-form .classic-type-cursor.is-fading {
    opacity: 0;
    animation: none;
    transition: opacity 400ms ease;
}

html body.light-theme #showreel #long-form .category-top.is-classic-typewriter-prepared .long-form-formats {
    opacity: .92;
}

@keyframes rp-classic-cursor-blink {
    0%, 46% { opacity: 1; }
    47%, 100% { opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
    html body.light-theme #showreel #long-form .classic-type-cursor {
        display: none;
        animation: none;
    }

    html body.light-theme #showreel #long-form .classic-format-phrase {
        opacity: 1;
        transform: none;
        transition: none;
    }
}

/* Tools chapter: type the two-line heading, then let the supporting copy settle in. */
html body.light-theme #ai-model-directory .ai-section-heading.is-tools-typewriter-prepared #ai-tools-title {
    min-height: 2em;
}

html body.light-theme #ai-model-directory .tools-type-line {
    display: block;
    min-height: 1em;
}

html body.light-theme #ai-model-directory .tools-type-line.is-muted {
    color: var(--theme-muted, #7488a0);
}

html body.light-theme #ai-model-directory .tools-type-text {
    white-space: pre-wrap;
}

html body.light-theme #ai-model-directory .tools-type-cursor {
    display: inline-block;
    width: .055em;
    height: .8em;
    margin-left: .06em;
    background: currentColor;
    opacity: 0;
    vertical-align: -.035em;
}

html body.light-theme #ai-model-directory .tools-type-cursor.is-visible {
    opacity: 1;
}

html body.light-theme #ai-model-directory .tools-type-cursor.is-idle {
    animation: rp-tools-cursor-blink .82s step-end infinite;
}

html body.light-theme #ai-model-directory .tools-type-cursor.is-fading {
    opacity: 0;
    animation: none;
    transition: opacity 400ms ease;
}

html body.light-theme #ai-model-directory .ai-section-heading.is-tools-typewriter-prepared > p {
    opacity: 0;
    transform: translateY(12px);
    transition:
        opacity 1100ms cubic-bezier(.22, .72, .18, 1),
        transform 1100ms cubic-bezier(.22, .72, .18, 1);
}

html body.light-theme #ai-model-directory .ai-section-heading.is-tools-typewriter-prepared.is-tools-copy-visible > p {
    opacity: 1;
    transform: translateY(0);
}

@keyframes rp-tools-cursor-blink {
    0%, 46% { opacity: 1; }
    47%, 100% { opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
    html body.light-theme #ai-model-directory .tools-type-cursor {
        display: none;
        animation: none;
    }

    html body.light-theme #ai-model-directory .ai-section-heading.is-tools-typewriter-prepared > p {
        opacity: 1;
        transform: none;
        transition: none;
    }
}

/* Subpage opening: reveal the category title first, then let its supporting
   content and the first reading surface settle into view. */
body.ai-page .ai-hero.rp-title-sequence-ready .rp-page-title-char,
body.guide-page .guide-hero.rp-title-sequence-ready .rp-page-title-char {
    display: inline-block;
    opacity: 0;
    transform: translate3d(0, .2em, 0) scale(.97);
    filter: blur(3px);
    transition: opacity 260ms cubic-bezier(.2, .75, .25, 1),
        transform 420ms cubic-bezier(.2, .75, .25, 1),
        filter 420ms ease;
    will-change: opacity, transform, filter;
}

body.ai-page .ai-hero.rp-title-sequence-ready .rp-page-title-char.is-visible,
body.guide-page .guide-hero.rp-title-sequence-ready .rp-page-title-char.is-visible {
    opacity: 1;
    transform: none;
    filter: blur(0);
}

body.ai-page .ai-hero.rp-title-sequence-ready .rp-page-title-cursor,
body.guide-page .guide-hero.rp-title-sequence-ready .rp-page-title-cursor {
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    pointer-events: none;
    width: .045em;
    height: .78em;
    margin: 0;
    border-radius: 999px;
    background: currentColor;
    opacity: 0;
    vertical-align: -.08em;
    transition: opacity 260ms ease;
}

body.ai-page .ai-hero.rp-title-sequence-ready .rp-page-title-cursor.is-visible,
body.guide-page .guide-hero.rp-title-sequence-ready .rp-page-title-cursor.is-visible {
    opacity: .82;
}

body.ai-page .ai-hero.rp-title-sequence-ready .rp-page-title-cursor.is-idle,
body.guide-page .guide-hero.rp-title-sequence-ready .rp-page-title-cursor.is-idle {
    animation: rp-page-title-cursor-blink .9s step-end infinite;
}

body.ai-page .ai-hero.rp-title-sequence-ready .rp-page-title-cursor.is-fading,
body.guide-page .guide-hero.rp-title-sequence-ready .rp-page-title-cursor.is-fading {
    opacity: 0;
}

body.ai-page .ai-hero.rp-title-sequence-ready .ai-hero-description,
body.ai-page .ai-hero.rp-title-sequence-ready .ai-hero-actions,
body.guide-page .guide-hero.rp-title-sequence-ready .guide-lead,
body.guide-page .guide-hero.rp-title-sequence-ready .guide-route {
    opacity: 0;
    transform: translate3d(0, 16px, 0);
    transition: opacity 760ms cubic-bezier(.22, .72, .18, 1),
        transform 760ms cubic-bezier(.22, .72, .18, 1);
}

body.ai-page .ai-hero.rp-title-sequence-ready.is-title-complete .ai-hero-description,
body.ai-page .ai-hero.rp-title-sequence-ready.is-title-complete .ai-hero-actions,
body.guide-page .guide-hero.rp-title-sequence-ready.is-title-complete .guide-lead,
body.guide-page .guide-hero.rp-title-sequence-ready.is-title-complete .guide-route {
    opacity: 1;
    transform: none;
}

body.ai-page .ai-hero.rp-title-sequence-ready .ai-hero-actions {
    transition-delay: 130ms;
}

body.guide-page .guide-hero.rp-title-sequence-ready .guide-route {
    transition-delay: 150ms;
}

body.ai-page .ai-hero.rp-title-sequence-ready + .ai-page-showcase,
body.guide-page .guide-hero.rp-title-sequence-ready + .guide-shell {
    opacity: 0;
    transform: translate3d(0, 22px, 0);
    transition: opacity 900ms cubic-bezier(.22, .72, .18, 1),
        transform 900ms cubic-bezier(.22, .72, .18, 1);
}

body.ai-page .ai-hero.rp-title-sequence-ready.is-content-released + .ai-page-showcase,
body.guide-page .guide-hero.rp-title-sequence-ready.is-content-released + .guide-shell {
    opacity: 1;
    transform: none;
}

@keyframes rp-page-title-cursor-blink {
    0%, 46% { opacity: .82; }
    47%, 100% { opacity: .18; }
}

@media (prefers-reduced-motion: reduce) {
    body.ai-page .ai-hero.rp-title-sequence-ready .rp-page-title-char,
    body.guide-page .guide-hero.rp-title-sequence-ready .rp-page-title-char,
    body.ai-page .ai-hero.rp-title-sequence-ready .ai-hero-description,
    body.ai-page .ai-hero.rp-title-sequence-ready .ai-hero-actions,
    body.guide-page .guide-hero.rp-title-sequence-ready .guide-lead,
    body.guide-page .guide-hero.rp-title-sequence-ready .guide-route,
    body.ai-page .ai-hero.rp-title-sequence-ready + .ai-page-showcase,
    body.guide-page .guide-hero.rp-title-sequence-ready + .guide-shell {
        opacity: 1;
        transform: none;
        filter: none;
        transition: none;
    }

    body.ai-page .ai-hero.rp-title-sequence-ready .rp-page-title-cursor,
    body.guide-page .guide-hero.rp-title-sequence-ready .rp-page-title-cursor {
        display: none;
        animation: none;
    }
}

/* The head bootstrap prepares these states before the first paint. Without
   JavaScript, reduced motion or when following a deep link, content is visible. */
html.rp-subpage-opening body.ai-page .ai-hero:not(.rp-title-sequence-ready) :is(h1, .ai-hero-description, .ai-hero-actions),
html.rp-subpage-opening body.guide-page .guide-hero:not(.rp-title-sequence-ready) :is(h1, .guide-lead, .guide-route),
html.rp-subpage-opening body.ai-page .ai-hero:not(.rp-title-sequence-ready) + .ai-page-showcase,
html.rp-subpage-opening body.guide-page .guide-hero:not(.rp-title-sequence-ready) + .guide-shell {
    opacity: 0;
}
body:is(.ai-page, .guide-page) .rp-page-title-word {
    display: inline-block;
    white-space: nowrap;
}
body:is(.ai-page, .guide-page) .rp-title-sequence-ready .rp-page-title-char.is-space {
    display: inline;
    white-space: normal;
}

/* The AI film rail enters promptly while its title continues to animate. */
body.ai-page .ai-hero.rp-title-sequence-ready + .ai-page-showcase {
    transition-duration: 260ms;
}

/* The title caret follows glyph layout without taking up a text slot. */
body:is(.ai-page, .guide-page) .rp-page-title-tracked {position:relative;}

/* assets/ai-zone-compact.css */
/* A tighter transition between the AI chapter intro and its work gallery. */
html[data-theme] body.light-theme .ai-zone-intro {
    padding-bottom: clamp(1.1rem, 1.8vw, 1.6rem) !important;
}

html[data-theme] body.light-theme .ai-zone #ai-reels {
    padding-top: clamp(1rem, 1.8vw, 1.5rem) !important;
}

html[data-theme] body.light-theme #ai-reels .ai-gallery-header {
    margin-bottom: clamp(1.25rem, 2vw, 2rem) !important;
    padding-top: clamp(.9rem, 1.6vw, 1.35rem) !important;
    padding-bottom: clamp(1.1rem, 1.8vw, 1.5rem) !important;
}

/* Give the chapter mark a calm hold, then let it leave with a soft bloom. */
html[data-theme] body.light-theme .ai-zone-intro.is-typewriter-prepared .ai-zone-mark {
    filter: blur(0);
    transition: opacity 520ms ease, transform 820ms cubic-bezier(.2, .72, .18, 1), filter 760ms ease !important;
}

html[data-theme] body.light-theme .ai-zone-intro.is-typewriter-prepared.is-ai-splash-exiting .ai-zone-mark {
    filter: blur(5px);
    transform: scale(1.1) translateY(-.12rem);
}

@media (prefers-reduced-motion: reduce) {
    html[data-theme] body.light-theme .ai-zone-intro.is-typewriter-prepared .ai-zone-mark {
        filter: none;
        transition: none !important;
    }
}

/* assets/about-qa.css */
/* Homepage biography: an editorial question-and-answer section. */
body.light-theme #about.about-qa-section {
    position: relative;
    overflow: clip;
    padding: clamp(82px, 8vw, 148px) 0 !important;
    border-top: 0;
    border-bottom: 1px solid var(--theme-line);
    background:
        radial-gradient(circle at 8% 9%, rgba(40, 92, 196, .10), transparent 27rem),
        linear-gradient(135deg, #f4f6f9 0%, #eef3f9 54%, #f8f9fb 100%) !important;
}

body.light-theme #about.about-qa-section::before {
    content: "Q/A";
    position: absolute;
    right: clamp(-1.6rem, 2vw, 2rem);
    top: clamp(-2rem, -1vw, -.5rem);
    color: rgba(40, 92, 196, .045);
    font-size: clamp(9rem, 20vw, 23rem);
    font-weight: 700;
    letter-spacing: -.1em;
    line-height: .8;
    pointer-events: none;
    user-select: none;
}

body.light-theme #about .about-qa-shell {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(270px, .72fr) minmax(0, 1.28fr);
    gap: clamp(60px, 8vw, 150px);
    align-items: start;
}

body.light-theme #about .about-qa-intro {
    position: sticky;
    top: 132px;
}

body.light-theme #about .about-qa-intro .section-kicker {
    margin: 0 0 26px;
    color: var(--theme-accent) !important;
}

body.light-theme #about .about-qa-intro h2 {
    max-width: 10ch;
    margin: 0;
    color: var(--theme-ink);
    font-size: clamp(3.15rem, 5vw, 6.2rem) !important;
    font-weight: 500 !important;
    letter-spacing: -.052em !important;
    line-height: .98 !important;
}

body.light-theme #about .about-qa-intro h2 span {
    display: block;
    margin-top: .08em;
    color: #8190a3;
}

body.light-theme #about .about-qa-lead {
    max-width: 35rem;
    margin: clamp(26px, 3vw, 46px) 0 0;
    color: var(--theme-muted);
    font-size: clamp(1rem, 1.2vw, 1.18rem);
    line-height: 1.65;
}

body.light-theme #about .about-qa-list {
    border-top: 1px solid var(--theme-line-strong);
}

body.light-theme #about .about-qa-item {
    position: relative;
    display: grid;
    grid-template-columns: 42px minmax(155px, .62fr) minmax(280px, 1.38fr);
    gap: clamp(18px, 2vw, 38px);
    align-items: start;
    padding: clamp(28px, 3vw, 42px) 0;
    border-bottom: 1px solid var(--theme-line);
    isolation: isolate;
}

body.light-theme #about .about-qa-item::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 8px -18px;
    border-radius: 2px;
    background: linear-gradient(90deg, rgba(40, 92, 196, .075), rgba(40, 92, 196, 0));
    opacity: 0;
    transform: scaleX(.96);
    transform-origin: left center;
    transition: opacity 220ms ease, transform 340ms cubic-bezier(.2, .72, .2, 1);
}

body.light-theme #about .about-qa-number {
    padding-top: .15rem;
    color: var(--theme-accent);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .12em;
}

body.light-theme #about .about-qa-item h3 {
    margin: 0;
    color: var(--theme-ink);
    font-size: clamp(1.1rem, 1.35vw, 1.35rem);
    font-weight: 600;
    letter-spacing: -.025em;
    line-height: 1.28;
}

body.light-theme #about .about-qa-item p {
    margin: 0;
    color: var(--theme-muted);
    font-size: clamp(.98rem, 1.08vw, 1.12rem);
    line-height: 1.68;
    transition: color 220ms ease, transform 340ms cubic-bezier(.2, .72, .2, 1);
}

body.light-theme #about .about-qa-more {
    margin: 0;
    padding: 0;
}

body.light-theme #about .about-qa-more > summary {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    width: fit-content;
    max-width: 100%;
    gap: 8px;
    min-height: 44px;
    margin-top: 20px;
    padding: 10px 2px;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--theme-ink);
    font-size: .88rem;
    font-weight: 700;
    letter-spacing: .015em;
    list-style: none;
    cursor: pointer;
    transition: color 180ms ease, opacity 180ms ease;
}

body.light-theme #about .about-qa-more > summary::-webkit-details-marker {
    display: none;
}

body.light-theme #about .about-qa-more > summary::marker {
    content: "";
}

body.light-theme #about .about-qa-more > summary:hover,
body.light-theme #about .about-qa-more > summary:focus-visible {
    color: var(--theme-accent);
    background: transparent;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 4px;
}

body.light-theme #about .about-qa-more-open {
    display: none;
}

body.light-theme #about .about-qa-more[open] .about-qa-more-closed {
    display: none;
}

body.light-theme #about .about-qa-more[open] .about-qa-more-open {
    display: inline;
}

body.light-theme #about .about-qa-more-icon {
    flex: 0 0 auto;
    font-size: .95rem;
    font-weight: 500;
    line-height: 1;
    opacity: .8;
    transition: transform 220ms ease, opacity 180ms ease;
}

body.light-theme #about .about-qa-more > summary:hover .about-qa-more-icon,
body.light-theme #about .about-qa-more > summary:focus-visible .about-qa-more-icon {
    opacity: 1;
    transform: translateY(2px);
}

body.light-theme #about .about-qa-more[open] .about-qa-more-icon {
    transform: rotate(180deg);
}

body.light-theme #about .about-qa-extra {
    margin: 0;
    padding: 0;
}

@media (hover: hover) {
    body.light-theme #about .about-qa-item:hover::before {
        opacity: 1;
        transform: scaleX(1);
    }

    body.light-theme #about .about-qa-item:hover p {
        color: var(--theme-ink);
        transform: translateX(6px);
    }
}

html[data-theme="dark"] body.light-theme #about.about-qa-section {
    border-color: var(--theme-line);
    background:
        radial-gradient(circle at 8% 9%, rgba(145, 181, 250, .12), transparent 27rem),
        linear-gradient(135deg, #151a22 0%, #172130 54%, #121720 100%) !important;
}

html[data-theme="dark"] body.light-theme #about.about-qa-section::before {
    color: rgba(145, 181, 250, .045);
}

html[data-theme="dark"] body.light-theme #about .about-qa-intro h2 span {
    color: var(--theme-quiet);
}

html[data-theme="dark"] body.light-theme #about .about-qa-item::before {
    background: linear-gradient(90deg, rgba(145, 181, 250, .09), rgba(145, 181, 250, 0));
}

@media (max-width: 1050px) {
    body.light-theme #about .about-qa-shell {
        grid-template-columns: 1fr;
        gap: 62px;
    }

    body.light-theme #about .about-qa-intro {
        position: static;
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(270px, .72fr);
        column-gap: 44px;
        align-items: end;
    }

    body.light-theme #about .about-qa-intro .section-kicker {
        grid-column: 1 / -1;
    }

    body.light-theme #about .about-qa-intro h2 {
        max-width: 10ch;
    }

    body.light-theme #about .about-qa-lead {
        margin: 0 0 .35rem;
    }
}

@media (max-width: 720px) {
    body.light-theme #about.about-qa-section {
        padding: 72px 0 82px !important;
    }

    body.light-theme #about.about-qa-section::before {
        top: 1rem;
        right: -1rem;
        font-size: 10rem;
    }

    body.light-theme #about .about-qa-shell {
        gap: 48px;
    }

    body.light-theme #about .about-qa-intro {
        display: block;
    }

    body.light-theme #about .about-qa-intro .section-kicker {
        margin-bottom: 20px;
    }

    body.light-theme #about .about-qa-intro h2 {
        max-width: 9ch;
        font-size: clamp(3rem, 14vw, 4.9rem) !important;
    }

    body.light-theme #about .about-qa-lead {
        margin-top: 26px;
    }

    body.light-theme #about .about-qa-item {
        grid-template-columns: 34px minmax(0, 1fr);
        gap: 10px 14px;
        padding: 26px 0 29px;
    }

    body.light-theme #about .about-qa-item p {
        grid-column: 2;
    }

    body.light-theme #about .about-qa-item::before {
        inset-inline: -10px;
    }

    body.light-theme #about .about-qa-more > summary {
        min-height: 44px;
        margin-top: 14px;
        padding: 10px 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.light-theme #about .about-qa-item::before,
    body.light-theme #about .about-qa-item p,
    body.light-theme #about .about-qa-more > summary,
    body.light-theme #about .about-qa-more-icon {
        transition: none;
    }
}

/* Compact text control for the complete client list. */
body.light-theme #contact .clients--secondary .client-list-toggle {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: auto !important;
    min-width: 0 !important;
    height: 38px !important;
    margin: 8px auto 0 !important;
    padding: 0 7px !important;
    gap: 8px;
    border: 0 !important;
    background: transparent !important;
    color: var(--theme-muted) !important;
    font: 700 .72rem/1.2 var(--editorial-font, "Manrope", sans-serif);
    letter-spacing: .01em;
    box-shadow: none !important;
}

body.light-theme #contact .clients--secondary .client-list-toggle::before {
    content: "Zobacz całą listę";
}

html[lang^="en"] body.light-theme #contact .clients--secondary .client-list-toggle::before { content: "See the full list"; }
html[lang^="de"] body.light-theme #contact .clients--secondary .client-list-toggle::before { content: "Vollständige Liste anzeigen"; }
html[lang^="cs"] body.light-theme #contact .clients--secondary .client-list-toggle::before { content: "Zobrazit celý seznam"; }
html[lang^="fr"] body.light-theme #contact .clients--secondary .client-list-toggle::before { content: "Voir toute la liste"; }
html[lang^="uk"] body.light-theme #contact .clients--secondary .client-list-toggle::before { content: "Переглянути весь список"; }

body.light-theme #contact .clients--secondary .client-list-toggle.is-open::before { content: "Zwiń listę"; }
html[lang^="en"] body.light-theme #contact .clients--secondary .client-list-toggle.is-open::before { content: "Hide list"; }
html[lang^="de"] body.light-theme #contact .clients--secondary .client-list-toggle.is-open::before { content: "Liste ausblenden"; }
html[lang^="cs"] body.light-theme #contact .clients--secondary .client-list-toggle.is-open::before { content: "Skrýt seznam"; }
html[lang^="fr"] body.light-theme #contact .clients--secondary .client-list-toggle.is-open::before { content: "Masquer la liste"; }
html[lang^="uk"] body.light-theme #contact .clients--secondary .client-list-toggle.is-open::before { content: "Згорнути список"; }

body.light-theme #contact .clients--secondary .client-list-toggle svg {
    width: .95rem;
    height: .95rem;
}

body.light-theme #contact .clients--secondary .client-list-toggle:hover,
body.light-theme #contact .clients--secondary .client-list-toggle:focus-visible {
    color: var(--theme-accent) !important;
}

body.light-theme #contact {
    padding-bottom: clamp(12px, 1.4vw, 22px) !important;
}

html[data-theme] body.light-theme #contact.contact {
    padding-bottom: clamp(14px, 1.5vw, 20px) !important;
}

body.light-theme #contact .clients--secondary {
    margin-top: clamp(36px, 4vw, 58px) !important;
    padding-top: clamp(24px, 2.8vw, 36px) !important;
}

body.light-theme #contact .clients--secondary .client-collaborations-header {
    margin-bottom: 10px !important;
}

/* Portfolio heading: the section name leads, while the descriptor stays quiet. */
html[data-theme] body.light-theme .portfolio-intro .clients--featured {
    padding-bottom: 0 !important;
}

body.light-theme #showreel {
    --portfolio-heading-gap: clamp(36px, 4vw, 56px);
    padding-top: var(--portfolio-heading-gap) !important;
}

body.light-theme #showreel > .section-inner > .section-header {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin-bottom: var(--portfolio-heading-gap) !important;
}

body.light-theme #showreel > .section-inner > .section-header > div {
    width: 100% !important;
    text-align: center;
}

body.light-theme #showreel .portfolio-display-title {
    margin: 0;
    color: var(--theme-ink);
    font-size: clamp(2.8rem, 4.1vw, 4.25rem);
    font-weight: 500;
    letter-spacing: -.055em;
    line-height: .94;
}

body.light-theme #showreel #showreel-title {
    width: 100% !important;
    max-width: none !important;
    margin: clamp(12px, 1.6vw, 20px) auto 0 !important;
    color: var(--theme-muted);
    font-size: clamp(1rem, 1.35vw, 1.35rem) !important;
    font-weight: 500 !important;
    letter-spacing: .01em !important;
    line-height: 1.3 !important;
    text-align: center !important;
}

body.light-theme #showreel #client-reels > .category-top {
    display: none !important;
}

@media (max-width: 720px) {
    body.light-theme #showreel .portfolio-display-title {
        font-size: clamp(2.4rem, 12vw, 3.4rem);
    }

    body.light-theme #showreel #showreel-title {
        margin-top: 10px;
    }
}

/* Contact finale: one decisive CTA panel with a compact three-point brief. */
body.light-theme #contact {
    padding: clamp(76px, 7vw, 120px) 0 clamp(18px, 2vw, 30px) !important;
    border-top: 1px solid var(--theme-line) !important;
    background: var(--theme-bg) !important;
}

body.light-theme #contact .contact-card {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(390px, .92fr);
    gap: clamp(52px, 7vw, 118px);
    overflow: hidden;
    padding: clamp(44px, 5vw, 78px);
    border-color: transparent !important;
    background: #19222d !important;
    color: #f7f9fc;
}

body.light-theme #contact .contact-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 3px;
    background: linear-gradient(90deg, #285cc4 0%, #6fa3ff 56%, #93d8e8 100%);
}

body.light-theme #contact .contact-card-copy {
    align-self: end;
}

body.light-theme #contact .contact-card .section-kicker {
    margin: 0 0 24px;
    color: #91b5fa !important;
}

body.light-theme #contact .contact-card h2 {
    max-width: 10ch;
    margin: 0;
    color: #f7f9fc !important;
    font-size: clamp(3.35rem, 5.6vw, 6.75rem) !important;
    font-weight: 500 !important;
    letter-spacing: -.065em !important;
    line-height: .92 !important;
}

body.light-theme #contact .contact-card h2 span {
    color: #9daaba;
}

body.light-theme #contact .contact-card-copy > p:last-child {
    max-width: 45rem;
    margin: clamp(28px, 3vw, 44px) 0 0;
    color: #bdc7d3;
    font-size: clamp(.98rem, 1.15vw, 1.12rem);
    line-height: 1.72;
}

body.light-theme #contact .contact-card-actions {
    align-self: center;
    width: 100%;
    border-top: 1px solid rgba(255, 255, 255, .24);
}

body.light-theme #contact .contact-card-actions-label {
    margin: 0;
    padding: 18px 0 16px;
    color: #91a0b2;
    font-size: .67rem;
    font-weight: 700;
    letter-spacing: .13em;
    text-transform: uppercase;
}

body.light-theme #contact .contact-action {
    display: grid;
    grid-template-columns: minmax(92px, .42fr) minmax(0, 1fr);
    gap: 18px;
    align-items: center;
    min-height: 92px;
    padding: 20px 0;
    border-top: 1px solid rgba(255, 255, 255, .14);
    color: #f7f9fc !important;
    text-decoration: none;
    transition: padding 260ms cubic-bezier(.2, .72, .2, 1), background 180ms ease;
}

body.light-theme #contact .contact-action:last-child {
    border-bottom: 1px solid rgba(255, 255, 255, .14);
}

body.light-theme #contact .contact-card-actions > .contact-action:nth-of-type(2) {
    border-bottom: 1px solid rgba(255, 255, 255, .14);
}

body.light-theme #contact .contact-action span {
    color: #91a0b2;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
}

body.light-theme #contact .contact-action strong {
    min-width: 0;
    color: #f7f9fc;
    font-size: clamp(1.15rem, 1.6vw, 1.55rem);
    font-weight: 550;
    letter-spacing: -.035em;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

body.light-theme #contact .contact-vcard {
    position: relative;
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr) 40px;
    gap: 16px;
    align-items: center;
    min-height: 82px;
    margin-top: 20px;
    padding: 14px 14px 14px 15px;
    overflow: hidden;
    border: 1px solid rgba(143, 180, 251, .34);
    background: linear-gradient(120deg, rgba(255, 255, 255, .085), rgba(40, 92, 196, .17));
    box-shadow: inset 0 1px rgba(255, 255, 255, .08);
    color: #f7f9fc !important;
    text-decoration: none;
    transition: background 220ms ease, border-color 220ms ease, box-shadow 220ms ease;
    animation: none;
}

body.light-theme #contact .contact-vcard::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 3px;
    background: linear-gradient(180deg, #8fb4fb, #285cc4);
}

body.light-theme #contact .contact-vcard-mark {
    display: grid;
    width: 46px;
    height: 46px;
    place-items: center;
    overflow: hidden;
    background: #111820;
    box-shadow: 0 8px 22px rgba(0, 0, 0, .18);
}

body.light-theme #contact .contact-vcard-mark img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

body.light-theme #contact .contact-vcard-copy {
    display: grid;
    gap: 3px;
    min-width: 0;
}

body.light-theme #contact .contact-vcard-copy strong {
    color: #f7f9fc;
    font-size: 1rem;
    font-weight: 650;
    letter-spacing: -.02em;
    line-height: 1.25;
}

body.light-theme #contact .contact-vcard-copy small {
    color: #a9b7ca;
    font-size: .73rem;
    line-height: 1.35;
}

body.light-theme #contact .contact-vcard-arrow {
    display: grid;
    width: 40px;
    height: 40px;
    place-items: center;
    border: 1px solid rgba(143, 180, 251, .4);
    border-radius: 50%;
    background: rgba(40, 92, 196, .12);
    color: #9dc1ff;
    font-size: 1.05rem;
    line-height: 1;
    transition: transform 220ms cubic-bezier(.2, .72, .2, 1), border-color 180ms ease, background-color 180ms ease;
}

body.light-theme #contact .contact-vcard:focus-visible {
    animation: none;
    transform: none;
    outline: 2px solid #79a8ff;
    outline-offset: 3px;
}

@media (hover: hover) {
    body.light-theme #contact .contact-action:hover {
        padding-inline: 14px;
        background: rgba(255, 255, 255, .055);
    }

    body.light-theme #contact .contact-vcard:hover {
        animation: none;
        transform: none;
        border-color: rgba(143, 180, 251, .72);
        background: linear-gradient(120deg, rgba(255, 255, 255, .12), rgba(40, 92, 196, .24));
        box-shadow: inset 0 1px rgba(255, 255, 255, .1), 0 0 0 3px rgba(40, 92, 196, .08);
    }

    body.light-theme #contact .contact-vcard:hover .contact-vcard-arrow {
        transform: none;
        border-color: #8fb4fb;
        background: rgba(40, 92, 196, .24);
    }
}

body.light-theme #contact .contact-brief {
    display: grid;
    grid-template-columns: minmax(230px, .8fr) minmax(0, 2.2fr);
    border: 1px solid var(--theme-line);
    border-top: 0;
    background: var(--theme-surface);
}

body.light-theme #contact .contact-brief-intro {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 20px;
    min-height: 178px;
    padding: clamp(26px, 3vw, 42px);
    background: var(--theme-accent-soft);
}

body.light-theme #contact .contact-brief-intro span {
    color: var(--theme-muted);
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .11em;
    text-transform: uppercase;
}

body.light-theme #contact .contact-brief-intro strong {
    max-width: 10ch;
    color: var(--theme-ink);
    font-size: clamp(1.55rem, 2.2vw, 2.35rem);
    font-weight: 550;
    letter-spacing: -.045em;
    line-height: 1.08;
}

body.light-theme #contact .contact-brief-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 0;
    padding: 0;
    list-style: none;
}

body.light-theme #contact .contact-brief-list li {
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: clamp(26px, 3vw, 42px);
    border-left: 1px solid var(--theme-line);
}

body.light-theme #contact .contact-brief-list li > span {
    margin-bottom: auto;
    padding-bottom: 30px;
    color: var(--theme-accent);
    font-size: .72rem;
    font-weight: 750;
    letter-spacing: .12em;
}

body.light-theme #contact .contact-brief-list strong {
    margin: 0 0 12px;
    color: var(--theme-ink);
    font-size: clamp(1.05rem, 1.25vw, 1.28rem);
    font-weight: 600;
    letter-spacing: -.025em;
}

body.light-theme #contact .contact-brief-list p {
    margin: 0;
    color: var(--theme-muted);
    font-size: .9rem;
    line-height: 1.62;
}

html[data-theme="dark"] body.light-theme #contact .contact-card {
    background: #172130 !important;
}

html[data-theme="dark"] body.light-theme #contact .contact-brief {
    background: var(--theme-surface);
}

html[data-theme="dark"] body.light-theme #contact .contact-brief-intro {
    background: var(--theme-accent-soft);
}

body.light-theme #contact .clients--secondary {
    margin-top: clamp(46px, 5vw, 72px) !important;
}

@media (max-width: 1050px) {
    body.light-theme #contact .contact-card {
        grid-template-columns: 1fr;
        gap: 52px;
    }

    body.light-theme #contact .contact-card h2 {
        max-width: 12ch;
    }

    body.light-theme #contact .contact-card-actions {
        max-width: 720px;
    }
}

@media (max-width: 780px) {
    body.light-theme #contact {
        padding-top: 58px !important;
    }

    body.light-theme #contact .contact-card {
        gap: 42px;
        padding: 34px 24px 38px;
    }

    body.light-theme #contact .contact-card h2 {
        font-size: clamp(2.8rem, 12.5vw, 4.8rem) !important;
    }

    body.light-theme #contact .contact-action {
        grid-template-columns: 1fr;
        gap: 7px;
        min-height: 0;
        padding: 19px 0 21px;
    }

    body.light-theme #contact .contact-vcard {
        grid-template-columns: 44px minmax(0, 1fr) 38px;
        gap: 12px;
        min-height: 74px;
        margin-top: 16px;
        padding: 12px;
    }

    body.light-theme #contact .contact-vcard-mark {
        width: 44px;
        height: 44px;
    }

    body.light-theme #contact .contact-vcard-arrow {
        width: 38px;
        height: 38px;
    }

    body.light-theme #contact .contact-brief {
        grid-template-columns: 1fr;
    }

    body.light-theme #contact .contact-brief-intro {
        min-height: 0;
    }

    body.light-theme #contact .contact-brief-intro strong {
        max-width: none;
    }

    body.light-theme #contact .contact-brief-list {
        grid-template-columns: 1fr;
    }

    body.light-theme #contact .contact-brief-list li {
        display: grid;
        grid-template-columns: 38px minmax(0, 1fr);
        gap: 7px 14px;
        padding: 24px;
        border-left: 0;
        border-top: 1px solid var(--theme-line);
    }

    body.light-theme #contact .contact-brief-list li > span {
        grid-row: 1 / 3;
        margin: 0;
        padding: 2px 0 0;
    }

    body.light-theme #contact .contact-brief-list strong,
    body.light-theme #contact .contact-brief-list p {
        grid-column: 2;
    }

    body.light-theme #contact .contact-brief-list strong {
        margin-bottom: 2px;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.light-theme #contact .contact-action,
    body.light-theme #contact .contact-vcard {
        animation: none;
        transition: none;
    }
}

/* 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;
    }
}
