/*
Theme Name: GO Design Video
Theme URI: https://davidgo.nl/
Author: GO Design
Description: GO Design Video voor David Go, volledig opnieuw opgebouwd vanaf een schone technische basis.
Version: 2.28.0
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: go-design-video
*/

:root{--bg:#050505;--panel:#0e0e0e;--text:#f5f3ef;--muted:#a8a8a8;--line:#303030;--accent:#ff251d;--header:88px}
*{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;line-height:1.5}body.admin-bar .site-header{top:32px}a{color:inherit;text-decoration:none}img,video{display:block;max-width:100%}button,input,select,textarea{font:inherit}.screen-reader-text{position:absolute;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden}.skip-link:focus{clip:auto;width:auto;height:auto;z-index:9999;background:#fff;color:#000;padding:12px;left:12px;top:12px}
.site-header{position:fixed;z-index:100;top:0;left:0;right:0;height:var(--header);display:flex;align-items:center;justify-content:space-between;padding:18px 3vw;background:var(--header-bg);pointer-events:none}.site-header.is-static{position:absolute}.site-header.is-transparent{background:linear-gradient(var(--header-bg) 20%,color-mix(in srgb,var(--header-bg) 88%,transparent))}.site-brand,.menu-toggle,.site-nav,.portal-link{pointer-events:auto}.site-brand img{width:var(--logo-width);height:auto;max-height:calc(var(--header) - 24px);object-fit:contain;object-position:left center}.site-nav ul{display:flex;gap:42px;list-style:none;margin:0;padding:0}.site-nav a,.portal-link{font:700 12px/1 monospace;letter-spacing:1.5px;color:var(--nav-color)}.site-nav a:hover,.site-nav .current-menu-item>a{color:var(--nav-hover)}.portal-link{border:1px solid var(--accent);padding:15px 18px}.menu-toggle{display:none;background:none;border:0;color:#fff;font-size:28px}
.site-main{min-height:calc(100vh - 110px);padding-top:var(--header)}.wrap{width:min(1600px,94vw);margin-inline:auto}.hero{min-height:76vh;display:grid;align-content:center;gap:22px}.eyebrow,.breadcrumbs{font:700 11px/1.4 monospace;letter-spacing:2px;text-transform:uppercase}.breadcrumbs{display:flex;flex-wrap:wrap;gap:10px;color:#bcbcbc}.breadcrumbs a:hover{color:var(--accent)}h1,.display-title{font-size:clamp(var(--home-title-min),var(--home-title-fluid),var(--home-title-max));line-height:.82;letter-spacing:-.07em;text-transform:uppercase;margin:0;max-width:12ch}.lead{font-size:clamp(var(--home-intro-min),var(--home-intro-fluid),var(--home-intro-max));color:#c8c8c8;max-width:900px}.lead p{margin:0 0 .75em}.lead p:last-child{margin-bottom:0}.home-text-section{padding:clamp(70px,10vw,150px) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:minmax(280px,.9fr) minmax(320px,1.1fr);gap:clamp(30px,7vw,120px);align-items:start}.home-text-section h2{font-size:clamp(var(--home-text-heading-min),var(--home-text-heading-fluid),var(--home-text-heading-max));line-height:.88;letter-spacing:-.055em;text-transform:uppercase;margin:0}.home-text-section__body{font-size:clamp(var(--home-text-body-min),var(--home-text-body-fluid),var(--home-text-body-max));color:#c8c8c8;max-width:780px}.home-text-section__body p{margin:0 0 1.25em}.home-text-section__body p:last-child{margin-bottom:0}.service-list{border-top:1px solid var(--line);margin-bottom:12vh}.service-row{display:grid;grid-template-columns:90px 1fr 60px;align-items:center;min-height:126px;border-bottom:1px solid var(--line)}.service-row strong{font-size:clamp(42px,7vw,104px);line-height:.9;letter-spacing:-.055em;text-transform:uppercase}.service-row span{font-family:monospace}.service-row b{font-size:42px;text-align:right}.service-row:hover strong,.service-row:hover b{color:var(--accent)}
.portfolio-head{padding:70px 0 38px}.portfolio-head h1{font-size:clamp(54px,8vw,132px)}.portfolio-intro{max-width:780px;color:#bdbdbd;font-size:18px}.portfolio-stage{position:relative;width:100%;min-height:calc(100vh - var(--header));background:#080808;overflow:hidden}.slide{display:none;position:absolute;inset:0;align-items:center;justify-content:center}.slide.is-active{display:flex}.slide img,.slide video{width:100%;height:100%;object-fit:contain;background:#050505}.slide.fit-cover img,.slide.fit-cover video{object-fit:cover}.slide-info{position:absolute;left:4vw;top:5vh;z-index:2;text-shadow:0 2px 20px #000}.slide-info .eyebrow{font-size:var(--slider-meta)}.slide-info h2{font-size:clamp(var(--slider-title-min),var(--slider-title-fluid),var(--slider-title-max));line-height:.8;margin:12px 0 0;text-transform:uppercase;letter-spacing:-.06em}.slider-controls{position:absolute;z-index:4;left:0;right:0;bottom:20px;display:flex;align-items:center;justify-content:center;gap:15px}.slider-controls button{width:52px;height:52px;border:1px solid #777;border-radius:50%;background:rgba(0,0,0,.65);color:#fff;font-size:22px;cursor:pointer}.slider-dots{display:flex;gap:8px}.slider-dots button{width:10px;height:10px;padding:0;border-radius:50%;background:#777}.slider-dots button.is-active{background:var(--accent)}.thumbs{display:flex;gap:8px;max-width:55vw;overflow-x:auto;scrollbar-width:thin}.thumbs button{width:78px;height:52px;padding:0;border:1px solid transparent;background:#111;flex:0 0 auto}.thumbs button.is-active{border-color:var(--accent)}.thumbs img{width:100%;height:100%;object-fit:cover}.empty-state{min-height:50vh;display:grid;place-items:center;border:1px solid var(--line);color:var(--muted)}
.children-grid,.portal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding-bottom:10vh}.child-card{min-height:480px;position:relative;border:1px solid var(--line);background:#111;overflow:hidden}.child-card img,.child-card video{width:100%;height:100%;object-fit:cover;opacity:.75;transition:.4s}.child-card:hover img,.child-card:hover video{transform:scale(1.03);opacity:.92}.card-shade{position:absolute;inset:35% 0 0;background:linear-gradient(transparent,#050505)}.card-copy{position:absolute;left:26px;right:26px;bottom:24px}.card-copy small{color:var(--accent);font:700 11px monospace;letter-spacing:1.5px}.card-copy h2{font-size:38px;line-height:1;margin:12px 0}.article{max-width:900px;padding:80px 0 120px}.article>*{max-width:100%}.article h1{font-size:clamp(52px,8vw,120px)}
.video-wheel-player{width:min(1500px,94vw);margin:0 auto 11vh;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(330px,.75fr);gap:clamp(28px,5vw,80px);align-items:center}.video-wheel-screen{position:relative;min-width:0}.video-wheel-screen video{display:block;width:100%;aspect-ratio:16/9;background:#000;object-fit:contain}.video-wheel-screen__meta{font:700 11px/1.4 monospace;letter-spacing:1.6px;color:var(--accent);margin:0 0 8px}.video-wheel-screen h2{font-size:clamp(32px,5vw,74px);line-height:.9;letter-spacing:-.05em;text-transform:uppercase;margin:0 0 20px}.video-wheel-picker{position:relative;display:grid;justify-items:center;padding-top:26px}.video-wheel-pointer{position:absolute;z-index:20;top:0;color:var(--accent);font-size:25px}.video-wheel{position:relative;width:min(34vw,420px);aspect-ratio:1;border-radius:50%;background:repeating-conic-gradient(from -30deg,#101010 0deg 59deg,#2c2c2c 59deg 60deg);box-shadow:0 28px 80px rgba(0,0,0,.75),inset 0 0 0 2px #373737,inset 0 0 70px #000;transition:transform .7s cubic-bezier(.2,.82,.2,1)}.video-wheel::before{content:"";position:absolute;inset:8%;border:1px solid #3b3b3b;border-radius:50%;box-shadow:inset 0 0 35px #000}.video-wheel-clip{--angle:0deg;--counter:0deg;position:absolute;z-index:3;left:50%;top:50%;width:31%;height:24%;transform:translate(-50%,-50%) rotate(var(--angle)) translateY(-137%) rotate(calc(var(--angle) * -1));border:2px solid transparent;background-color:#181818;background-position:center;background-size:cover;color:#fff;overflow:hidden;padding:0;box-shadow:0 9px 24px rgba(0,0,0,.6)}.video-wheel-clip>*{transform:rotate(var(--counter))}.video-wheel-clip.is-active{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 22%,transparent),0 12px 28px #000}.video-wheel-clip span{position:absolute;left:7px;top:6px;font:700 9px monospace}.video-wheel-clip b{position:absolute;left:7px;right:7px;bottom:6px;font:700 9px/1.1 Arial;text-align:left;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.video-wheel-clip i{position:absolute;left:50%;top:43%;translate:-50% -50%;width:29px;height:29px;border:1px solid rgba(255,255,255,.75);border-radius:50%;display:grid;place-items:center;font:normal 10px Arial;background:rgba(0,0,0,.5)}.video-wheel-hub{position:absolute;z-index:10;left:50%;top:50%;translate:-50% -50%;width:33%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#171717,#060606);border:1px solid #444;display:grid;place-content:center;text-align:center;box-shadow:0 10px 30px #000}.video-wheel-hub strong{font:700 11px/1.25 monospace}.video-wheel-hub span{font:700 9px monospace;color:var(--accent);margin-top:5px}.video-wheel-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:20px}.video-wheel-actions button{min-height:42px;border:1px solid #555;background:#090909;color:#fff;padding:9px 12px;font:700 10px monospace;letter-spacing:.5px}.video-wheel-actions button:hover{border-color:var(--accent);color:var(--accent)}
.site-footer{min-height:100px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:26px 3vw;font:700 10px monospace;letter-spacing:1px}.site-footer img{width:48px;height:48px;object-fit:contain}
section[id],footer[id]{scroll-margin-top:calc(var(--header) + 16px)}
@media(max-width:782px){body.admin-bar .site-header{top:46px}.menu-toggle{display:block}.site-nav{display:none;position:absolute;top:var(--header);left:0;right:0;background:var(--header-bg);padding:24px}.site-nav.is-open{display:block}.site-nav ul{flex-direction:column;gap:24px}.portal-link{display:none}.site-main{padding-top:var(--header)}.hero{min-height:68vh}.home-text-section{grid-template-columns:1fr;padding:70px 0}.home-text-section h2{font-size:var(--home-text-heading-mobile)}.home-text-section__body{font-size:var(--home-text-body-mobile)}.service-row{grid-template-columns:45px 1fr 35px;min-height:95px}.service-row strong{font-size:clamp(34px,12vw,60px)}.children-grid,.portal-grid{grid-template-columns:1fr}.child-card{min-height:62vh}.portfolio-stage{min-height:calc(100svh - var(--header))}.slide-info{position:relative;inset:auto;width:100%;padding:18px 18px 10px;background:#050505;text-shadow:none}.portfolio-stage.is-portrait{display:flex;flex-direction:column;padding-top:0}.portfolio-stage.is-portrait .slide{position:relative;flex:1;min-height:0}.portfolio-stage.is-portrait .slide-info{order:-1}.portfolio-stage.is-portrait .slide-info h2{font-size:clamp(38px,15vw,72px)}.thumbs{max-width:58vw}.site-footer{gap:20px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media(max-width:900px){.video-wheel-player{grid-template-columns:1fr}.video-wheel{width:min(78vw,390px)}.video-wheel-screen h2{font-size:clamp(34px,9vw,62px)}}
@media(max-width:520px){.video-wheel-player{width:94vw}.video-wheel{width:min(88vw,350px)}.video-wheel-actions{max-width:330px}.video-wheel-actions button{flex:1 1 140px}.video-wheel-clip{width:34%;height:25%}.video-wheel-hub{width:30%}}
.children-grid.cards-1{grid-template-columns:minmax(320px,780px);justify-content:center}.children-grid.cards-2{grid-template-columns:repeat(2,minmax(320px,600px));justify-content:center}
.home-stack-section{min-height:82vh;display:grid;align-content:center;padding:6vh 0 10vh;overflow:hidden}.home-stack-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:34px}.home-stack{position:relative;width:min(1280px,94vw);height:clamp(390px,55vw,680px);margin:auto;perspective:1600px}.home-stack-card{--x:0%;--r:0deg;position:absolute;left:50%;top:50%;width:clamp(250px,27vw,430px);aspect-ratio:4/5;transform:translate(calc(-50% + var(--x)),-50%) rotate(var(--r)) scale(.91);border-radius:26px;overflow:hidden;background:#171717;box-shadow:0 30px 80px rgba(0,0,0,.72);transition:transform .75s cubic-bezier(.2,.85,.25,1),filter .5s,opacity .5s;filter:saturate(.72) brightness(.7);z-index:var(--z,1)}.home-stack-card:nth-child(1){--x:-86%;--r:-5deg;--z:1}.home-stack-card:nth-child(2){--x:-44%;--r:4deg;--z:2}.home-stack-card:nth-child(3){--x:0%;--r:-2deg;--z:3}.home-stack-card:nth-child(4){--x:44%;--r:3deg;--z:2}.home-stack-card:nth-child(5){--x:86%;--r:5deg;--z:1}.home-stack-card.is-active{transform:translate(calc(-50% + var(--x)),-54%) rotate(0deg) scale(1.05);filter:none;z-index:10;animation:stack-bounce var(--open-speed,.85s) cubic-bezier(.2,.9,.3,1)}.home-stack-card:hover{filter:none;transform:translate(calc(-50% + var(--x)),-56%) rotate(var(--r)) scale(1.02);animation:stack-hover var(--hover-speed,.7s) ease}.home-stack-card img,.home-stack-card video{width:100%;height:100%;object-fit:cover}.home-stack-card__shade{position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.92))}.home-stack-card__copy{position:absolute;left:24px;right:24px;bottom:22px}.home-stack-card__copy small{font:700 var(--stack-meta-size)/1.2 monospace;letter-spacing:1.6px}.home-stack-card__copy h2{font-size:clamp(18px,3vw,var(--stack-title-size));line-height:.95;margin:8px 0 0;text-transform:uppercase}.home-stack-dots{display:flex;justify-content:center;gap:9px;margin-top:26px}.home-stack-dots button{width:10px;height:10px;border:0;border-radius:50%;background:#666;padding:0}.home-stack-dots button.is-active{background:var(--accent)}@keyframes stack-bounce{0%{margin-top:0}42%{margin-top:-22px}70%{margin-top:7px}100%{margin-top:0}}@keyframes stack-hover{0%,100%{margin-top:0}50%{margin-top:-10px}}@media(max-width:782px){.home-stack-section{min-height:68vh}.home-stack{height:500px;width:100%}.home-stack-card{width:min(72vw,340px)}.home-stack-card:nth-child(1){--x:-38%}.home-stack-card:nth-child(2){--x:-20%}.home-stack-card:nth-child(3){--x:0%}.home-stack-card:nth-child(4){--x:20%}.home-stack-card:nth-child(5){--x:38%}.home-stack-head{padding-inline:3vw}.home-stack-card__copy small{font-size:var(--stack-meta-size-mobile)}.home-stack-card__copy h2{font-size:var(--stack-title-size-mobile)}}
.home-filmstrip-shell{position:relative;width:min(1180px,96vw);margin:34px auto 0;padding:0 58px}.home-filmstrip{display:flex;gap:var(--filmstrip-gap,12px);overflow-x:auto;scroll-snap-type:x mandatory;width:100%;padding:0 0 12px;scrollbar-width:thin}.home-filmstrip a,.home-filmstrip .home-filmstrip-card{position:relative;flex:0 0 clamp(210px,26vw,330px);height:var(--filmstrip-height,190px);scroll-snap-align:center;background:var(--filmstrip-bg,#050505);border:1px solid var(--line);display:grid;place-items:center;overflow:hidden}.home-filmstrip img,.home-filmstrip video{width:100%;height:100%;background:var(--filmstrip-bg,#050505);transition:transform .35s}.home-filmstrip-shell.is-contain img,.home-filmstrip-shell.is-contain video{object-fit:contain}.home-filmstrip-shell.is-cover img,.home-filmstrip-shell.is-cover video{object-fit:cover}.home-filmstrip a:hover img,.home-filmstrip a:hover video{transform:scale(1.02)}.home-filmstrip span{position:absolute;left:0;right:0;bottom:0;padding:28px 12px 10px;background:linear-gradient(transparent,rgba(0,0,0,.9));font:700 12px monospace;text-transform:uppercase}.home-filmstrip-arrow{position:absolute;z-index:3;top:50%;translate:0 -50%;width:44px;height:44px;border:1px solid #777;border-radius:50%;background:#080808;color:#fff;font-size:22px;cursor:pointer}.home-filmstrip-arrow.is-prev{left:3px}.home-filmstrip-arrow.is-next{right:3px}.home-filmstrip-arrow:hover{border-color:var(--accent);color:var(--accent)}.home-filmstrip-arrow:disabled{opacity:.25;cursor:default}
.home-stack.cards-1 .home-stack-card:nth-child(1){--x:0%}.home-stack.cards-2 .home-stack-card:nth-child(1){--x:-28%}.home-stack.cards-2 .home-stack-card:nth-child(2){--x:28%}.home-stack.cards-3 .home-stack-card:nth-child(1){--x:-52%}.home-stack.cards-3 .home-stack-card:nth-child(2){--x:0%}.home-stack.cards-3 .home-stack-card:nth-child(3){--x:52%}.home-stack.cards-4 .home-stack-card:nth-child(1){--x:-66%}.home-stack.cards-4 .home-stack-card:nth-child(2){--x:-22%}.home-stack.cards-4 .home-stack-card:nth-child(3){--x:22%}.home-stack.cards-4 .home-stack-card:nth-child(4){--x:66%}
@media(max-width:782px){.home-main .hero h1{font-size:var(--home-title-mobile)}.home-main .hero .lead{font-size:var(--home-intro-mobile)}.home-main .slide-info h2{font-size:var(--slider-title-mobile)}.home-main .slide-info .eyebrow{font-size:var(--slider-meta-mobile)}}
.home-stack-card__copy small{font-size:var(--stack-meta)}.home-stack-card__copy h2{font-size:clamp(var(--stack-title-min),var(--stack-title-fluid),var(--stack-title-max))}@media(max-width:782px){.home-stack-card__copy small{font-size:var(--stack-meta-mobile)}.home-stack-card__copy h2{font-size:var(--stack-title-mobile)}}
.home-stack-card,.home-stack-card.is-active,.home-stack-card:hover{animation:none}.home-stack-card:hover{filter:none;transform:translate(calc(-50% + var(--x)),-54%) rotate(0deg) scale(1.05)}
.video-wheel-screen__meta{font-size:10px;margin-bottom:6px}.video-wheel-screen h2{font-size:clamp(20px,2.2vw,34px);line-height:1;letter-spacing:-.025em;margin-bottom:16px}@media(max-width:900px){.video-wheel-screen h2{font-size:clamp(20px,5vw,30px)}}
.video-player-frame{position:relative;background:#000}.video-player-frame video{display:block}.video-loading{position:absolute;z-index:4;left:50%;top:50%;translate:-50% -50%;display:none;align-items:center;gap:10px;padding:10px 14px;background:rgba(0,0,0,.78);border:1px solid #555;font:700 10px monospace;letter-spacing:.7px}.video-player-frame.is-loading .video-loading{display:flex}.video-loading i{width:14px;height:14px;border:2px solid #666;border-top-color:var(--accent);border-radius:50%;animation:gdp-spin .8s linear infinite}@keyframes gdp-spin{to{rotate:360deg}}.video-wheel{--wheel-counter:0deg}.video-wheel-hub{transform:rotate(var(--wheel-counter));transition:transform .7s cubic-bezier(.2,.82,.2,1)}
.access-page{min-height:calc(100vh - var(--header));display:grid;align-items:center}.access-notice{max-width:900px;padding-top:70px;padding-bottom:90px}.access-notice h1{font-size:clamp(50px,8vw,118px);line-height:.86;text-transform:uppercase;margin:16px 0 30px}.access-notice>p:not(.eyebrow){max-width:650px;font-size:clamp(18px,2vw,28px);color:#ccc}.access-login{display:inline-block;margin-top:22px;padding:15px 22px;border:1px solid var(--accent);color:#fff;font:700 12px monospace;letter-spacing:1px;text-transform:uppercase}.access-login:hover{background:var(--accent)}
.has-access-dialog{overflow:hidden}.gdp-access-dialog{position:fixed;z-index:100000;inset:0;display:grid;place-items:center;padding:24px;background:rgba(0,0,0,.78);backdrop-filter:blur(8px)}.gdp-access-dialog__box{position:relative;width:min(620px,94vw);padding:clamp(30px,6vw,70px);background:#090909;border:1px solid #555;box-shadow:0 30px 100px #000}.gdp-access-dialog__box h2{font-size:clamp(36px,7vw,72px);line-height:.9;text-transform:uppercase;margin:14px 0 24px}.gdp-access-dialog__box>p:not(.eyebrow){color:#ccc;font-size:18px}.gdp-access-dialog__box>div{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.gdp-access-dialog__box>div button,.gdp-access-dialog__box>div a{min-width:130px;padding:14px 18px;border:1px solid #666;background:#090909;color:#fff;text-align:center;font:700 11px monospace;letter-spacing:1px;text-transform:uppercase}.gdp-access-dialog__box>div a{border-color:var(--accent)}.gdp-access-dialog__box>div a:hover{background:var(--accent)}.gdp-access-dialog__close{position:absolute;right:15px;top:12px;width:42px;height:42px;border:0;background:transparent;color:#fff;font-size:30px;cursor:pointer}
@media(max-width:620px){.home-filmstrip-shell{padding:0 44px}.home-filmstrip a,.home-filmstrip .home-filmstrip-card{flex-basis:78vw}.home-filmstrip-arrow{width:36px;height:36px}.home-filmstrip-arrow.is-prev{left:1px}.home-filmstrip-arrow.is-next{right:1px}}
.video-overview{padding-bottom:10vh}.video-mosaic-group{margin:25px 0 10vh}.video-overview-head{display:flex;align-items:end;justify-content:space-between;gap:28px;border-top:1px solid var(--line);padding-top:22px;margin-bottom:24px}.video-overview-head h2{font-size:clamp(42px,7vw,100px);line-height:.88;letter-spacing:-.055em;text-transform:uppercase;margin:8px 0 0}.video-overview-head>a,.video-overview-head>span{font:700 11px/1.3 monospace;letter-spacing:1px}.video-overview-head>a:hover{color:var(--accent)}.video-mosaic{display:grid;grid-template-columns:1.35fr .75fr .9fr;grid-auto-rows:220px;grid-auto-flow:dense;gap:12px}.video-mosaic-tile{position:relative;overflow:hidden;background:#111;color:#fff}.video-mosaic-tile.tile-1,.video-mosaic-tile.tile-6{grid-row:span 2}.video-mosaic-tile.tile-4{grid-column:span 2}.video-mosaic--reverse .video-mosaic-tile.tile-1{grid-column:3}.video-mosaic--reverse .video-mosaic-tile.tile-4{grid-column:1/span 2}.video-mosaic-tile img,.video-mosaic-placeholder{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .4s}.video-mosaic-placeholder{display:grid;place-items:center;background:radial-gradient(circle at 62% 36%,#3a3a3a,#111 55%,#080808);color:#777;font:700 12px monospace;letter-spacing:2px}.video-mosaic-tile::after{content:"";position:absolute;z-index:1;inset:38% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.94))}.video-mosaic-play{position:absolute;z-index:2;left:50%;top:43%;translate:-50% -50%;width:44px;height:44px;border:1px solid rgba(255,255,255,.75);border-radius:50%;display:grid;place-items:center;background:rgba(0,0,0,.52);font-size:11px}.video-mosaic-caption{position:absolute;z-index:2;left:20px;right:20px;bottom:17px;display:flex;justify-content:space-between;align-items:end;gap:14px}.video-mosaic-caption b{font-size:clamp(16px,2vw,27px);line-height:.95;text-transform:uppercase}.video-mosaic-caption small{font:700 10px monospace;color:#bbb}.video-mosaic-tile:hover img,.video-mosaic-tile:hover .video-mosaic-placeholder{transform:scale(1.035)}.video-mosaic-tile:hover .video-mosaic-caption b{color:var(--accent)}.video-filmroll{margin-top:12vh}.video-filmroll-track{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:16px;scrollbar-width:thin}.video-filmroll-track a{position:relative;flex:0 0 clamp(210px,25vw,345px);height:210px;scroll-snap-align:start;background:#111;overflow:hidden}.video-filmroll-track img,.video-filmroll-track .video-mosaic-placeholder{position:absolute;inset:0 0 55px;width:100%;height:calc(100% - 55px);object-fit:cover}.video-filmroll-track a::after{content:"";position:absolute;z-index:1;inset:40% 0 55px;background:linear-gradient(transparent,#090909)}.video-filmroll-track strong,.video-filmroll-track small{position:absolute;z-index:2;left:15px}.video-filmroll-track strong{bottom:29px;font-size:15px;text-transform:uppercase}.video-filmroll-track small{bottom:11px;font:700 9px monospace;color:#aaa}
@media(max-width:782px){.video-overview-head{align-items:start}.video-overview-head>a,.video-overview-head>span{display:none}.video-mosaic{grid-template-columns:1fr;grid-auto-rows:260px}.video-mosaic-tile.tile-1,.video-mosaic-tile.tile-4,.video-mosaic-tile.tile-6,.video-mosaic--reverse .video-mosaic-tile.tile-1,.video-mosaic--reverse .video-mosaic-tile.tile-4{grid-column:auto;grid-row:auto}.video-filmroll-track a{flex-basis:75vw}.video-mosaic-caption b{font-size:22px}}
.video-mosaic-tile video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .4s}.video-mosaic-tile:hover video{transform:scale(1.035)}.video-filmroll-track video{position:absolute;inset:0 0 55px;width:100%;height:calc(100% - 55px);object-fit:cover}
.uniform-portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding-bottom:12vh}.uniform-portfolio-grid.cards-1{grid-template-columns:minmax(320px,780px);justify-content:center}.uniform-portfolio-grid.cards-2{grid-template-columns:repeat(2,minmax(320px,600px));justify-content:center}.uniform-portfolio-card{appearance:none;width:100%;min-height:480px;position:relative;border:1px solid var(--line);background:#111;color:#fff;overflow:hidden;padding:0;text-align:left;cursor:pointer}.uniform-portfolio-card>img,.uniform-portfolio-card>video,.uniform-portfolio-placeholder{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.76;transition:transform .4s,opacity .4s}.uniform-portfolio-placeholder{background:linear-gradient(135deg,#25303a 0 42%,#101010 42% 64%,#4a3a3e 64%)}.uniform-portfolio-card:hover>img,.uniform-portfolio-card:hover>video{transform:scale(1.03);opacity:.94}.uniform-portfolio-card .card-copy{z-index:3}.uniform-portfolio-card .card-copy h2{font-size:clamp(27px,3vw,43px);text-transform:uppercase}.uniform-portfolio-card .card-copy b{font-size:12px}.uniform-portfolio-play{position:absolute;z-index:4;left:50%;top:42%;translate:-50% -50%;width:58px;height:58px;border:1px solid rgba(255,255,255,.85);border-radius:50%;display:grid;place-items:center;padding-left:3px;background:rgba(0,0,0,.45)}.uniform-portfolio-card:hover .uniform-portfolio-play{border-color:var(--accent);color:var(--accent)}
.uniform-portfolio-group{min-width:0}.uniform-video-count{position:absolute;z-index:4;right:16px;top:16px;padding:7px 9px;background:rgba(0,0,0,.76);border:1px solid rgba(255,255,255,.38);font:700 10px/1 var(--mono);letter-spacing:.12em}.uniform-video-clips{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(170px,210px);gap:8px;margin-top:8px;padding:2px 2px 10px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;scrollbar-color:var(--accent) #222}.uniform-video-clip{scroll-snap-align:start;display:grid;grid-template-columns:74px minmax(0,1fr);align-items:center;gap:9px;min-height:82px;padding:5px;border:1px solid var(--line);background:#111;color:#fff;text-align:left;cursor:pointer}.uniform-video-clip:hover,.uniform-video-clip:focus-visible{border-color:var(--accent)}.uniform-video-clip__visual{position:relative;display:grid;place-items:center;width:74px;height:70px;overflow:hidden;background:#050505}.uniform-video-clip__visual img{width:100%;height:100%;object-fit:contain}.uniform-video-clip__visual>b{font:700 9px var(--mono);color:#aaa}.uniform-video-clip__visual>i{position:absolute;display:grid;place-items:center;width:26px;height:26px;border:1px solid #fff;border-radius:50%;background:rgba(0,0,0,.65);font-style:normal;font-size:9px}.uniform-video-clip>span:last-child{display:grid;gap:5px;min-width:0}.uniform-video-clip small{color:var(--accent);font:700 9px var(--mono)}.uniform-video-clip strong{overflow:hidden;color:#fff;font-size:11px;line-height:1.25;text-overflow:ellipsis}
.portfolio-lightbox[hidden]{display:none}.portfolio-lightbox{position:relative;min-height:min(760px,calc(100vh - var(--header) - 32px));margin-bottom:38px;background:#080808;border:1px solid var(--line);display:grid;grid-template-columns:72px minmax(0,1fr) 72px;grid-template-rows:auto minmax(420px,1fr);gap:16px;padding:24px;scroll-margin-top:calc(var(--header) + 16px)}.portfolio-lightbox__heading{grid-column:2;display:flex;justify-content:space-between;align-items:end;gap:20px;padding-right:54px}.portfolio-lightbox__heading p{color:var(--accent);margin:0}.portfolio-lightbox__heading h2{font-size:clamp(24px,3.5vw,54px);line-height:.9;text-transform:uppercase;margin:0;text-align:right}.portfolio-lightbox__stage{grid-column:2;grid-row:2;position:relative;min-height:420px}.portfolio-lightbox__stage figure{display:none;position:absolute;inset:0;margin:0;align-items:center;justify-content:center}.portfolio-lightbox__stage figure.is-active{display:flex}.portfolio-lightbox__stage img,.portfolio-lightbox__stage video{width:100%;height:100%;object-fit:contain;background:#000}.portfolio-lightbox__empty{padding:40px;border:1px dashed #555;color:var(--muted);text-align:center}.portfolio-lightbox__empty p{max-width:620px;font-size:18px}.portfolio-lightbox__close{position:absolute;z-index:3;right:22px;top:18px;width:48px;height:48px;border:1px solid #666;border-radius:50%;background:#090909;color:#fff;font-size:30px;cursor:pointer}.portfolio-lightbox__arrow{grid-row:2;align-self:center;width:52px;height:52px;border:1px solid #777;border-radius:50%;background:#090909;color:#fff;font-size:22px;cursor:pointer}.portfolio-lightbox__arrow.is-prev{grid-column:1}.portfolio-lightbox__arrow.is-next{grid-column:3}.portfolio-lightbox__arrow:hover,.portfolio-lightbox__close:hover{border-color:var(--accent);color:var(--accent)}
@media(max-width:782px){.uniform-portfolio-grid,.uniform-portfolio-grid.cards-1,.uniform-portfolio-grid.cards-2{grid-template-columns:1fr}.uniform-portfolio-card{min-height:62vh}.uniform-video-clips{grid-auto-columns:minmax(155px,78vw)}.portfolio-lightbox{min-height:70vh;grid-template-columns:45px minmax(0,1fr) 45px;grid-template-rows:auto minmax(300px,1fr);padding:14px 8px}.portfolio-lightbox__heading{align-items:start;padding:10px 52px 0 0}.portfolio-lightbox__heading h2{font-size:24px}.portfolio-lightbox__stage{min-height:300px}.portfolio-lightbox__close{right:8px;top:8px}.portfolio-lightbox__arrow{width:40px;height:40px}}
/* Responsive layout: intrinsic media sizes and wrapping rather than clipped overflow. */
.portfolio-head h1,.access-notice h1,.card-copy h2,.portfolio-lightbox__heading h2{overflow-wrap:anywhere;min-width:0}
@media(max-width:1024px){
 .home-portfolio-slider,.home-portfolio-slider.is-portrait{display:block;min-height:0}
 .home-portfolio-slider .slide,.home-portfolio-slider.is-portrait .slide{position:relative;inset:auto;min-height:0;flex-direction:column;align-items:stretch}
 .home-portfolio-slider .slide-info{position:static;inset:auto;width:100%;padding:20px 12px;text-shadow:none}
 .home-portfolio-slider .slide-info h2{line-height:.95;overflow-wrap:anywhere;margin-top:10px}
 .home-portfolio-slider .slide>img,.home-portfolio-slider .slide>video{display:block;width:100%;height:auto;max-height:65svh;object-fit:contain}
 .home-portfolio-slider .slider-controls{position:relative;inset:auto;padding:14px 4px;gap:8px;flex-wrap:wrap}
 .home-portfolio-slider .thumbs{max-width:45%;min-width:0}
 .home-portfolio-slider .slider-dots{flex-wrap:wrap;justify-content:center;max-width:100%}
 .service-row{grid-template-columns:32px minmax(0,1fr) 32px;gap:8px}
 .service-row strong{font-size:clamp(26px,7vw,60px);overflow-wrap:anywhere}
 .service-row b{font-size:30px}
 .portfolio-lightbox{min-height:0;grid-template-columns:1fr 1fr;grid-template-rows:auto auto auto;padding:14px;gap:14px}
 .portfolio-lightbox__heading{grid-column:1/-1;grid-row:1;display:block;padding:8px 48px 0 0}
 .portfolio-lightbox__heading h2{text-align:left;line-height:1.1;margin-top:8px}
 .portfolio-lightbox__stage{grid-column:1/-1;grid-row:2;min-height:0}
 .portfolio-lightbox__stage figure{position:relative;inset:auto}
 .portfolio-lightbox__stage img,.portfolio-lightbox__stage video{display:block;width:100%;height:auto;max-height:70svh;object-fit:contain}
 .portfolio-lightbox__arrow.is-prev{grid-column:1;grid-row:3;justify-self:start}
 .portfolio-lightbox__arrow.is-next{grid-column:2;grid-row:3;justify-self:end}
}
@media(max-width:620px){
 .portfolio-head h1,.access-notice h1{font-size:clamp(30px,9vw,54px);line-height:1}
 .home-filmstrip a,.home-filmstrip .home-filmstrip-card{flex-basis:100%;min-width:0}
 .home-stack{height:clamp(360px,110vw,500px)}
 .home-main .hero{min-height:0;padding:50px 0}
 .home-stack-section{min-height:0}
 .site-footer{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;text-align:center;padding:30px 18px}
 .site-footer>span{max-width:100%;white-space:normal;overflow-wrap:anywhere;line-height:1.6}
}
@media(max-width:782px){
 .home-portfolio-slider .slider-controls{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;gap:12px;align-items:center;padding:16px 6px}
 .home-portfolio-slider .slider-controls>[data-prev]{grid-column:1;grid-row:1;width:44px;height:44px}
 .home-portfolio-slider .slider-controls>[data-next]{grid-column:3;grid-row:1;width:44px;height:44px;justify-self:end}
 .home-portfolio-slider .slider-dots{grid-column:2;grid-row:1;min-width:0;justify-content:center;flex-wrap:wrap;gap:8px}
 .home-portfolio-slider .thumbs{grid-column:1/-1;grid-row:2;max-width:100%;width:100%;min-width:0;justify-self:center;gap:10px;padding:4px;scroll-padding:4px}
 .home-portfolio-slider .thumbs button{flex:0 0 72px;width:72px;height:48px;border-radius:6px;border:2px solid transparent;overflow:hidden}
 .home-portfolio-slider .thumbs button.is-active{border-color:var(--accent)}
 .home-portfolio-slider .thumbs img{width:100%;height:100%;object-fit:contain}
}
/* Central title percentages; card titles, navigation and breadcrumbs are untouched. */
.article .gdp-portfolio-page-title{--plain-title-factor:var(--page-title-scale-desktop,1);font-size:clamp(calc(52px * var(--plain-title-factor)),calc(8vw * var(--plain-title-factor)),calc(120px * var(--plain-title-factor)))}
@media(min-width:621px) and (max-width:1024px){.article .gdp-portfolio-page-title{--plain-title-factor:var(--page-title-scale-tablet,1)}}
@media(max-width:620px){.article .gdp-portfolio-page-title{--plain-title-factor:var(--page-title-scale-mobile,1)}}
.portfolio-head h1,.gdp-portfolio-page-title{font-size:clamp(calc(54px * var(--page-title-scale-desktop,1)),calc(8vw * var(--page-title-scale-desktop,1)),calc(132px * var(--page-title-scale-desktop,1)));overflow-wrap:anywhere;min-width:0}
@media(min-width:621px) and (max-width:1024px){
 .portfolio-head h1,.gdp-portfolio-page-title{font-size:clamp(calc(54px * var(--page-title-scale-tablet,1)),calc(8vw * var(--page-title-scale-tablet,1)),calc(132px * var(--page-title-scale-tablet,1)))}
}
@media(max-width:620px){
 .portfolio-head h1,.gdp-portfolio-page-title{font-size:clamp(calc(30px * var(--page-title-scale-mobile,1)),calc(9vw * var(--page-title-scale-mobile,1)),calc(54px * var(--page-title-scale-mobile,1)));line-height:1}
}
.gdp-video-page .portfolio-intro{margin-inline:auto;text-align:left}
.gdp-inline-video[hidden],[data-inline-video-group] .uniform-portfolio-card[hidden]{display:none}
.gdp-inline-video{width:100%;background:#000;border:1px solid var(--line)}
.gdp-inline-video figure{margin:0}
.gdp-inline-video figcaption{padding:12px 16px;font-size:16px;overflow-wrap:anywhere}
.gdp-inline-video video{display:block;width:100%;height:auto;max-height:75svh;object-fit:contain}
.uniform-video-clip.is-active{border-color:var(--accent)}
/* Guest links need a block box, just like the accessible button cards. */
a.uniform-portfolio-card{display:block;box-sizing:border-box}
/* Portfolio headings use the available width, not the homepage's 12ch limit. */
.portfolio-head h1,.article .gdp-portfolio-page-title{max-width:100%;word-break:normal;overflow-wrap:break-word;hyphens:none}
@media(min-width:621px) and (max-width:1024px){
 .home-main .hero h1{font-size:clamp(calc(48px * var(--home-title-scale-tablet,1)),calc(10vw * var(--home-title-scale-tablet,1)),calc(180px * var(--home-title-scale-tablet,1)))}
 .home-main .hero .lead{font-size:clamp(calc(14px * var(--home-intro-scale-tablet,1)),calc(2vw * var(--home-intro-scale-tablet,1)),calc(30px * var(--home-intro-scale-tablet,1)))}
 .home-text-section h2{font-size:clamp(calc(32px * var(--home-text-heading-scale-tablet,1)),calc(6vw * var(--home-text-heading-scale-tablet,1)),calc(92px * var(--home-text-heading-scale-tablet,1)))}
 .home-text-section__body{font-size:clamp(calc(16px * var(--home-text-body-scale-tablet,1)),calc(1.6vw * var(--home-text-body-scale-tablet,1)),calc(24px * var(--home-text-body-scale-tablet,1)))}
 .home-stack-card__copy h2{font-size:clamp(calc(18px * var(--stack-title-scale-tablet,1)),calc(3vw * var(--stack-title-scale-tablet,1)),calc(48px * var(--stack-title-scale-tablet,1)))}
 .home-stack-card__copy small{font-size:calc(10px * var(--stack-meta-scale-tablet,1))}
 .home-main .slide-info h2,.slide-info h2{font-size:clamp(calc(32px * var(--slider-title-scale-tablet,1)),calc(9vw * var(--slider-title-scale-tablet,1)),calc(150px * var(--slider-title-scale-tablet,1)))}
 .home-main .slide-info .eyebrow,.slide-info .eyebrow{font-size:calc(11px * var(--slider-meta-scale-tablet,1))}
}
/* Bound the grid track, not just the outer card: intrinsic portrait dimensions
   must not enlarge the implicit row beyond the configured filmstrip height. */
.home-filmstrip a,.home-filmstrip .home-filmstrip-card{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}
.home-filmstrip img,.home-filmstrip video{min-width:0;min-height:0;max-height:100%;object-position:center}
.home-filmstrip-shell.is-contain a:hover img,.home-filmstrip-shell.is-contain a:hover video{transform:none}
