/* Portfolio collections: format controls the layout, rather than fixed grid rows. */
.portfolio.section{max-width:1600px;padding-top:100px}
.portfolio .section-head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:20px 35px;margin-bottom:65px}
.portfolio .section-head>.eyebrow{width:100%}.portfolio .section-head h2{margin:0}.portfolio .filters{margin:0;gap:8px}.portfolio .filters button{border-radius:0}
.bento.work-layout,.bento.work-layout.filtered,.bento.work-layout.game-art,.bento.work-layout.video-grid{display:block}
.work-group+.work-group{margin-top:100px}.work-heading{display:flex;align-items:baseline;gap:18px;border-top:1px solid #363636;padding-top:22px;margin-bottom:28px}.work-index{color:var(--red);font-size:11px;font-variant-numeric:tabular-nums}.work-heading h3{font-size:clamp(32px,4vw,54px);line-height:1;margin:0;font-weight:800;letter-spacing:-.02em}.work-detail{margin-left:auto;font-size:9px;letter-spacing:1.5px;color:#9b9b97}
.portrait-films+.work-heading,.landscape-films+.work-heading{margin-top:64px}
.landscape-films,.portrait-films,.design-projects,.concept-projects{display:grid;gap:24px;align-items:start;grid-template-columns:repeat(2,minmax(0,1fr))}
.landscape-films:has(>.tile:only-child){grid-template-columns:minmax(0,1fr)}
.portrait-films{grid-template-columns:repeat(4,minmax(0,1fr));gap:32px 20px}
.bento.work-layout .tile{grid-column:auto;grid-row:auto;aspect-ratio:auto;max-height:none;min-width:0}
.bento.work-layout .tile[data-category="video"]{display:flex;flex-direction:column;background:transparent;overflow:hidden}
.bento.work-layout .tile[data-category="video"]>img{width:100%;height:auto;flex:none;object-fit:contain;background:#101010;aspect-ratio:16/9}
.bento.work-layout .portrait-films .tile>img{aspect-ratio:9/16}
.bento.work-layout .tile[data-category="video"]:after{display:none}
.bento.work-layout .tile[data-category="video"] .tile-caption{position:static;min-height:82px;padding:18px 0 0;gap:7px}
.bento.work-layout .tile[data-category="video"] .tile-caption small{font-size:8px;letter-spacing:1.2px;color:#969692}
.bento.work-layout .tile[data-category="video"] .tile-caption strong{font-family:Manrope,Arial,sans-serif;text-transform:none;font-size:clamp(16px,1.6vw,23px);font-weight:600;line-height:1.3;letter-spacing:-.5px}
.bento.work-layout .tile[data-category="video"] .tile-play{top:calc((100% - 82px)/2);background:#08080870;border-color:#ffffff90;backdrop-filter:blur(8px);width:54px;height:54px;color:#fff}
.bento.work-layout .landscape-films .tile-play{width:72px;height:72px;background:var(--red);border-color:var(--red);color:#080808}
.bento.work-layout .tile[data-category="video"]:hover .tile-play{background:var(--red);border-color:var(--red);color:#080808}
.bento.work-layout .design-projects .tile{display:flex;flex-direction:column;background:#111;border:1px solid #292929}
.bento.work-layout .design-projects .tile>img{aspect-ratio:16/10;object-fit:contain;height:auto;flex:none;padding:0;background:#080808}
.bento.work-layout .design-projects .tile.logo>img{padding:35px}.bento.work-layout .design-projects .tile.logo-light>img{background:#fff}
.bento.work-layout .design-projects .tile:after{display:none}.bento.work-layout .design-projects .tile-caption{position:static;min-height:86px;padding:18px 22px;gap:8px}.bento.work-layout .design-projects .tile-caption strong{font-size:19px;line-height:1.4}
.concept-projects{grid-template-columns:1fr}.bento.work-layout .concept-projects .tile{aspect-ratio:16/9}
/* Character showcase: originals are preserved, with atmospheric CSS framing. */
.character-intro{position:relative;isolation:isolate;overflow:hidden;min-height:470px;background:#11120f;border:1px solid #34342b;display:flex;align-items:center;padding:55px 5%;margin-bottom:56px}
.character-intro:before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 74% 80%,#9c804525,transparent 60%)}
.character-intro-copy{position:relative;z-index:2;max-width:54%}.character-intro-copy .eyebrow{font-size:9px;color:#c6ae7e;letter-spacing:2px}.character-intro h3{font-size:clamp(52px,6.5vw,100px);line-height:.9;letter-spacing:-.025em;margin:30px 0 22px;font-weight:900}.character-intro h3 span{color:var(--red)}.character-intro p{font-size:13px;color:#aaa99e;line-height:1.7}.character-intro a{display:inline-flex;align-items:center;gap:35px;font-size:11px;border-bottom:1px solid #b6a17b;padding:14px 0}.character-intro a span{font-size:24px}
.character-intro-art{position:absolute;inset:0 0 0 36%;z-index:0;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 30%);pointer-events:none}.character-intro-art img{position:absolute;bottom:0;width:70%;height:100%;object-fit:cover;object-position:center;mask-image:linear-gradient(0deg,transparent,#000 14%,#000 90%,transparent)}.character-intro-art .intro-poseidon{right:0;opacity:.55;transform:translateX(13%) scale(.95)}.character-intro-art .intro-anubis{right:20%;object-fit:contain}.character-intro-number{position:absolute;right:25px;bottom:20px;font-family:monospace;font-size:10px;color:#b5ac91;letter-spacing:3px;z-index:1}
.character-realm+.character-realm{margin-top:50px}.realm-heading{display:flex;align-items:center;gap:18px;padding:18px 0;border-top:1px solid #343434;margin-bottom:10px}.realm-heading>span:first-child{color:var(--realm-accent);font-size:9px;letter-spacing:1px;white-space:nowrap}.realm-heading h4{font-family:'Barlow Condensed',Impact,sans-serif;font-size:28px;line-height:1.1;margin:0;letter-spacing:.5px;font-weight:700}.realm-heading>span:last-child{margin-left:auto;font-size:8px;color:#797974;letter-spacing:1.5px}
.character-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.bento.work-layout .tile.character{position:relative;display:flex;flex-direction:column;border:1px solid #30312e;background:#101110;isolation:isolate;overflow:hidden;transition:border-color .25s,transform .25s}
.bento.work-layout .tile.character:before{content:'';position:absolute;inset:0;background-image:var(--character-image);background-size:cover;background-position:center;filter:blur(35px);opacity:.25;z-index:-1}
.bento.work-layout .tile.character>img{height:auto;width:100%;aspect-ratio:1;object-fit:contain;flex:none;background:transparent;padding:10px;mask-image:linear-gradient(0deg,transparent,#000 9%,#000 94%,transparent)}
.bento.work-layout .tile.character .tile-caption{position:relative;min-height:92px;flex:none;padding:18px 38px 18px 18px;gap:7px;background:linear-gradient(0deg,#111c,#1110);border-top:1px solid #ffffff12}
.bento.work-layout .tile.character .tile-caption small{color:var(--realm-accent);font-size:8px;letter-spacing:.9px}.bento.work-layout .tile.character .tile-caption strong{font-family:'Barlow Condensed',Impact,sans-serif;font-size:30px;line-height:1;font-weight:700;letter-spacing:.3px;text-transform:uppercase}
.character-open{position:absolute;right:16px;bottom:25px;font-family:Arial,sans-serif;font-size:22px;color:var(--realm-accent)}
.bento.work-layout .tile.character:hover{border-color:var(--realm-accent);transform:translateY(-4px)}
@media(min-width:1500px){.character-intro{min-height:530px}}
@media(max-width:1000px){.portrait-films{grid-template-columns:repeat(3,minmax(0,1fr))}.character-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.character-intro{min-height:420px}.character-intro-copy{max-width:60%}.work-detail{font-size:8px}.portfolio .section-head{gap:25px}}
@media(max-width:700px){.portfolio.section{padding-top:65px}.portfolio .section-head{margin-bottom:38px}.portfolio .section-head .filters{width:100%;gap:7px}.portfolio .filters button{padding:9px 13px}.work-group+.work-group{margin-top:65px}.work-heading{flex-wrap:wrap;gap:10px 12px;margin-bottom:22px;padding-top:18px}.work-heading h3{font-size:34px}.work-detail{font-size:7px;letter-spacing:1px}.landscape-films,.design-projects{grid-template-columns:1fr;gap:25px}.portrait-films{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 12px}.landscape-films+.work-heading{margin-top:38px}.bento.work-layout .tile[data-category="video"] .tile-caption{min-height:75px;padding-top:13px}.bento.work-layout .tile[data-category="video"] .tile-caption small{font-size:6px;letter-spacing:.5px}.bento.work-layout .tile[data-category="video"] .tile-caption strong{font-size:15px}.bento.work-layout .tile[data-category="video"] .tile-play{width:42px;height:42px;top:calc((100% - 75px)/2)}.bento.work-layout .landscape-films .tile-play{width:50px;height:50px}.bento.work-layout .design-projects .tile-caption strong{font-size:17px}.bento.work-layout .concept-projects .tile{aspect-ratio:4/3}
.character-intro{min-height:510px;padding:30px 24px;align-items:start;margin-bottom:35px}.character-intro-copy{max-width:100%}.character-intro h3{font-size:54px;margin-top:22px}.character-intro-copy .eyebrow{font-size:7px;letter-spacing:1px}.character-intro p{font-size:11px;max-width:180px}.character-intro a{font-size:10px;gap:15px}.character-intro-art{inset:180px -14% 0 24%;mask-image:linear-gradient(90deg,transparent,#000 24%);opacity:.85}.character-intro-art .intro-anubis{right:5%;width:90%;object-position:bottom}.character-intro-art .intro-poseidon{right:-15%;opacity:.4}.character-intro-number{font-size:8px;right:18px;bottom:15px}.realm-heading{gap:12px}.realm-heading h4{font-size:23px}.realm-heading>span:first-child{font-size:8px}.realm-heading>span:last-child{display:none}.character-grid{gap:12px}.bento.work-layout .tile.character>img{padding:3px}.bento.work-layout .tile.character .tile-caption{padding:13px 28px 13px 12px;min-height:80px}.bento.work-layout .tile.character .tile-caption strong{font-size:24px}.bento.work-layout .tile.character .tile-caption small{font-size:6px;letter-spacing:.4px}.character-open{right:10px;bottom:19px;font-size:18px}.character-realm+.character-realm{margin-top:32px}}
@media(prefers-reduced-motion:reduce){.bento.work-layout .tile.character,.bento.work-layout .tile img{transition:none}.bento.work-layout .tile.character:hover,.bento.work-layout .tile:hover img{transform:none}}

/* The first Game Art visual is a landscape cover, including on mobile. */
.character-intro{aspect-ratio:16/9;min-height:0;max-height:none}
@media(max-width:700px){.character-intro{aspect-ratio:16/9;min-height:0;padding:18px;align-items:center}.character-intro-copy{max-width:64%}.character-intro-copy .eyebrow{font-size:7px;letter-spacing:.4px}.character-intro h3{font-size:clamp(22px,6vw,42px);margin:12px 0 8px}.character-intro p{display:none}.character-intro a{padding:5px 0;font-size:9px;gap:12px}.character-intro a span{font-size:17px}.character-intro-art{inset:0 -14% 0 30%}.character-intro-art .intro-anubis{right:10%;height:100%;width:80%}.character-intro-number{font-size:7px;bottom:10px;right:10px}}
/* Landscape scene collection: original compositions remain completely visible. */
.game-scene-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 24px}
.bento.work-layout .tile.scene-card{display:flex;flex-direction:column;background:#101010;border:1px solid #303030;isolation:isolate;text-align:left;align-self:start}
.bento.work-layout .tile.scene-card.scene-cover,.bento.work-layout .tile.scene-card:last-child{grid-column:1/-1}
.bento.work-layout .tile.scene-card>img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;flex:none;background:#080808;transform:none}
.bento.work-layout .tile.scene-card:after{display:none}
.bento.work-layout .tile.scene-card .tile-caption{position:static;display:flex;flex-direction:column;gap:10px;min-height:132px;padding:22px 24px;background:#101010;flex:1}
.bento.work-layout .tile.scene-card .tile-caption small{font-size:8px;letter-spacing:1px;color:var(--red)}
.bento.work-layout .tile.scene-card .tile-caption strong{font-family:'Barlow Condensed',Impact,sans-serif;font-size:clamp(28px,3vw,42px);font-weight:700;line-height:1;letter-spacing:0;text-transform:uppercase}
.scene-description{display:block;font-size:12px;color:#aaa;line-height:1.7;max-width:650px}
.bento.work-layout .tile.scene-card:hover{border-color:#777}
.character-archive{margin-top:50px;border-top:1px solid #383838}
.character-archive>summary{display:flex;justify-content:space-between;align-items:center;padding:24px 0;cursor:pointer;list-style:none;font-size:16px;min-height:60px}
.character-archive>summary::-webkit-details-marker{display:none}
.character-archive>summary span{color:var(--red);font-size:12px}
.character-archive>summary span:after{content:' +';font-size:20px;margin-left:15px}
.character-archive[open]>summary span:after{content:' −'}
.character-archive .character-collections{padding-top:14px}
@media(max-width:700px){.game-scene-grid{grid-template-columns:minmax(0,1fr);gap:24px}.bento.work-layout .tile.scene-card .tile-caption{padding:18px;gap:9px;min-height:0}.bento.work-layout .tile.scene-card .tile-caption strong{font-size:29px}.bento.work-layout .tile.scene-card .tile-caption small{font-size:7px;letter-spacing:.5px}.scene-description{font-size:12px}.character-archive{margin-top:35px}}

/* One campaign, all deliverables, in their original proportions. */
.campaign-project{grid-column:1/-1;min-width:0;border:1px solid #333;background:#101010}
.campaign-project>summary{cursor:pointer;list-style:none}.campaign-project>summary::-webkit-details-marker{display:none}
.campaign-project>summary>img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain}
.campaign-summary{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 28px}.campaign-summary>span:first-child{display:grid;gap:10px}.campaign-summary small{font-size:9px;letter-spacing:1.4px;color:#aaa}.campaign-summary strong{font-family:'Barlow Condensed',Impact,sans-serif;font-size:clamp(32px,4vw,58px);line-height:1.1}.campaign-toggle{display:flex;align-items:center;gap:20px;font-size:12px;flex-shrink:0}.campaign-toggle b{color:var(--red);font-size:32px;font-weight:400}.campaign-project[open] .campaign-toggle b{transform:rotate(45deg)}
.campaign-project>summary:focus-visible{outline:2px solid var(--red);outline-offset:4px}.campaign-body{border-top:1px solid #333;padding:28px}.campaign-intro{color:#aaa;font-size:14px;line-height:1.6;margin:0 0 30px}.campaign-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 22px;align-items:start}
.bento.work-layout .campaign-gallery .campaign-asset{border:0;background:transparent;display:flex;flex-direction:column;text-align:left;width:100%}.campaign-image{display:block;position:relative;width:100%;background:#080808}.bento.work-layout .campaign-gallery .campaign-image img{display:block;width:100%;height:auto;object-fit:contain;transform:none}.bento.work-layout .campaign-gallery .tile-caption{padding:14px 0 0;min-height:0}.bento.work-layout .campaign-gallery .tile-caption strong{font-family:Manrope,Arial,sans-serif;font-size:15px;line-height:1.5;overflow-wrap:anywhere}.campaign-gallery .tile-caption small{font-size:8px;color:#aaa;letter-spacing:1px}.campaign-play{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#080808b0;border:1px solid #fff;color:white;font-family:Arial,sans-serif}.bento.work-layout .campaign-gallery .asset-youtube-cover{grid-column:1/-1}.campaign-gallery .asset-post .campaign-image,.campaign-gallery .asset-story .campaign-image{height:500px;display:flex;align-items:center;justify-content:center}.bento.work-layout .campaign-gallery .asset-post img,.bento.work-layout .campaign-gallery .asset-story img{height:100%;width:100%;object-fit:contain}
@media(max-width:700px){.campaign-summary{padding:20px;align-items:start;flex-direction:column;gap:18px}.campaign-toggle{width:100%;justify-content:space-between}.campaign-body{padding:18px}.campaign-gallery{grid-template-columns:minmax(0,1fr);gap:28px}.campaign-summary small{font-size:8px;letter-spacing:.6px}.campaign-gallery .asset-post .campaign-image,.campaign-gallery .asset-story .campaign-image{height:auto;max-height:none}.bento.work-layout .campaign-gallery .asset-post img,.bento.work-layout .campaign-gallery .asset-story img{height:auto;max-height:620px}.campaign-intro{font-size:13px}}

.campaign-link{display:block;color:inherit;text-decoration:none}.campaign-link>img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain}.campaign-link:focus-visible{outline:2px solid var(--red);outline-offset:5px}.campaign-link:hover{border-color:var(--red)}

.bento.work-layout .design-projects .tour-cover>img{aspect-ratio:1536/857;padding:0;object-fit:contain;background:#102735;transform:none}

.bento.work-layout .design-projects .project-page-link{transition:border-color .2s}.bento.work-layout .design-projects .project-page-link:hover,.bento.work-layout .design-projects .project-page-link:focus-visible{border-color:var(--red)}

.bento.work-layout .design-projects .clean-cover>img{aspect-ratio:5504/3072;padding:0;object-fit:contain;background:#080808;transform:none}

/* Keep every design project inside the same mobile column. */
/* The featured campaign uses the same card markup as the other projects. */
@media(min-width:701px){
  .portfolio .bento.work-layout .design-projects .design-feature{grid-column:1/-1;border-color:#333;background:#101010}
  .portfolio .bento.work-layout .design-projects .design-feature:hover,.portfolio .bento.work-layout .design-projects .design-feature:focus-visible{border-color:var(--red)}
  .portfolio .bento.work-layout .design-projects .design-feature>img{aspect-ratio:16/9;transform:none}
  .portfolio .bento.work-layout .design-projects .design-feature .tile-caption{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:24px;row-gap:10px;padding:26px 28px;min-height:0}
  .portfolio .bento.work-layout .design-projects .design-feature small{grid-column:1;grid-row:1;font-size:9px;letter-spacing:1.4px;color:#aaa}
  .portfolio .bento.work-layout .design-projects .design-feature strong{grid-column:1;grid-row:2;font-family:'Barlow Condensed',Impact,sans-serif;font-size:clamp(32px,4vw,58px);line-height:1.1;letter-spacing:normal;font-weight:700}
  .design-feature-cta{grid-column:2;grid-row:1/3;align-self:center;font-size:12px}
}
@media(max-width:700px){
  .portfolio .design-projects{display:flex;flex-direction:column;gap:25px;width:100%;min-width:0}
  .portfolio .design-projects>a{flex:none;width:100%;max-width:100%;min-width:0;align-self:stretch;margin-inline:0}
  .portfolio .bento.work-layout .design-projects>a>img{width:100%;max-width:100%;height:auto;aspect-ratio:16/9;object-fit:contain}
  .portfolio .bento.work-layout .design-projects .tile-caption{display:flex;flex-direction:column;justify-content:center;min-height:100px;padding:18px 22px;gap:8px}
  .portfolio .bento.work-layout .design-projects .tile-caption strong{font-family:Manrope,Arial,sans-serif;font-size:17px;line-height:1.4;font-weight:600;letter-spacing:-.5px}
  .portfolio .bento.work-layout .design-projects .tile-caption small{font-size:6px;letter-spacing:.6px}
  .design-feature-cta{display:none}
}
