/* 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. */
@font-face{font-family:"SF Pro Text";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/sf-pro-web/SFProText-Regular.woff2") format("woff2")}
@font-face{font-family:"SF Pro Text";font-style:normal;font-weight:500;font-display:swap;src:url("fonts/sf-pro-web/SFProText-Medium.woff2") format("woff2")}
@font-face{font-family:"SF Pro Text";font-style:normal;font-weight:600;font-display:swap;src:url("fonts/sf-pro-web/SFProText-Semibold.woff2") format("woff2")}
@font-face{font-family:"SF Pro Display";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/sf-pro-web/SFProDisplay-Regular.woff2") format("woff2")}
@font-face{font-family:"SF Pro Display";font-style:normal;font-weight:500;font-display:swap;src:url("fonts/sf-pro-web/SFProDisplay-Medium.woff2") format("woff2")}
@font-face{font-family:"SF Pro Display";font-style:normal;font-weight:600;font-display:swap;src:url("fonts/sf-pro-web/SFProDisplay-Semibold.woff2") format("woff2")}
: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;
    }
}
