/* Resting geometry and portrait belong to collage.css; surfaces rise during the content ripple. */
.hero-copy .hero-line{font-size:clamp(22px,2vw,30px);line-height:1.3;max-width:370px;font-weight:500;letter-spacing:-.035em}
.hero-copy .hero-caption{font-size:16px;line-height:1.75;max-width:395px}
/* Three editorial word compositions share a fixed coordinate grid and the same ripple. */
body[data-hero] .piece-words .word-surface{padding:0;display:block;overflow:visible}
.word-poster{background:#fff;direction:ltr}
.word-art{display:block;width:100%;height:100%;overflow:visible;font-family:Arial,Helvetica,sans-serif;font-weight:700;direction:ltr}
.word-art .word-main{fill:#222;font-weight:700}
.word-art .word-olive{fill:#536309}
.word-art .word-wine{fill:#a7293f}
.word-art .word-gold{fill:#b08c20}
.word-art .word-green{fill:#286450}
.word-art .word-mobile{fill:#7e8784}
.word-art .word-red{fill:#d93620}
.word-art .word-medium{font-weight:600}
.tile-face{position:absolute;inset:0;transform-origin:center}
.tile-face>img,.tile-face>video{display:block;width:100%;height:100%;object-fit:cover}
.tile-face{opacity:0;visibility:hidden;pointer-events:none;background:transparent}
.tile-face:not([data-face=studio]),.tile-face.word-poster{background:#fff}
.visual-composition[data-stage=studio] .tile-face[data-face=studio],
.visual-composition[data-stage=projects] .tile-face[data-face=projects],
.visual-composition[data-stage=play] .tile-face[data-face=play]{opacity:1;visibility:visible;pointer-events:auto}
.visual-composition[data-wave=active] .tile-face{opacity:var(--face-opacity,0)!important;visibility:visible!important;pointer-events:none!important;z-index:1}
.visual-composition[data-wave=active] .tile-face[data-face=studio]{animation-play-state:paused}
/* Fixed face stacking preserves the rendered blend during interrupted waves. */
.visual-composition[data-wave=active] .piece-surface{will-change:transform;backface-visibility:hidden;transform-origin:50% 55%}
.sculpture .piece-surface{animation:none;overflow:visible}
.sculpture [data-face=studio]{animation:sculpture-drift 9s ease-in-out infinite}
.sculpture [data-face=studio]>img{object-fit:contain}
.piece-torus [data-face=studio]>img{height:100%}
.visual-composition:not([data-stage=studio]) .sculpture [data-face=studio]{animation-play-state:paused}
.piece-swatch [data-face=studio]{padding:11%;display:flex;flex-direction:column;justify-content:space-between}
.piece-code [data-face=studio]{padding-top:8%;display:flex;flex-direction:column;justify-content:space-between}
.slot-project{position:relative;display:block;width:100%;height:100%;padding:0;overflow:hidden;border:0;border-radius:0;text-align:left;background:#171818;isolation:isolate}
.slot-project>img,.slot-project>video{display:block;width:100%;height:100%;max-width:none;object-fit:cover;filter:none!important;mix-blend-mode:normal!important;transform:none!important}
.slot-project.slot-phone{background:#fff8fb;border:1px solid #eadde2}
.slot-project.slot-phone>img{width:120.5%;height:auto;position:absolute;top:-3%;left:-10.25%;object-fit:initial;object-position:initial}
.slot-project.slot-web>img{height:auto;min-height:100%;object-fit:cover;object-position:top center}
.slot-project.slot-web{background:#183f30}
.slot-shield-film{background:#1b141b}.slot-shield-film>video{object-fit:cover;object-position:75% center}
.slot-green-film{background:#13271f}.slot-green-film>video{object-fit:contain}
.slot-form-film>video{object-position:50% center}
.slot-open{position:absolute;right:4px;bottom:4px;display:grid!important;place-items:center;width:24px;height:24px;font:16px/1 Arial!important;color:#fff;background:#111b;border:1px solid #fff5;border-radius:50%;z-index:3}
.slot-project:focus-visible{outline:2px solid #e33b26;outline-offset:-3px}
.slot-project:hover .slot-open{background:#d93620}
.slot-badge{position:absolute;bottom:0;left:0;right:0;padding:4px 5px;font-size:1.45cqw;color:white;background:#111b;letter-spacing:.05em;white-space:nowrap}
.slot-brand{background:#234731;color:#d7e779;padding:13%;display:flex;flex-direction:column;justify-content:space-between}
.piece-swatch .slot-brand>span{font-size:4.3cqw;font-weight:700;line-height:.95;letter-spacing:-.055em}
.piece-swatch .slot-brand>small{font-size:1.35cqw;letter-spacing:.06em}
.slot-prompt{background:#f0f3eb;color:#26372b;padding:9%;display:flex;flex-direction:column;justify-content:space-between;border:1px solid #dbe2d4}
.prompt-kicker{font-size:1.45cqw;letter-spacing:.06em;font-weight:700}
.slot-prompt>strong{font-size:4.7cqw;line-height:1.02;font-weight:600;letter-spacing:-.055em}
.prompt-flow{font-size:1cqw;letter-spacing:-.03em;white-space:nowrap;color:#637257}
.slot-prompt>small{font-size:1.4cqw;color:#526248;line-height:1.3}
.hero-directions{flex-wrap:wrap}
.hero-directions .project-mode{position:relative;overflow:hidden;border-color:#d7d7d7}
.project-mode b{font-size:12px;font-weight:400}
.stage-progress{position:absolute;left:0;right:0;bottom:0;height:2px;background:#e03927;transform:scaleX(var(--stage-progress,0));transform-origin:left}
.project-mode[aria-pressed=true] .stage-progress{opacity:0}
.showcase-video-dialog{max-width:1060px;width:calc(100% - 32px);padding:20px;background:#fff}
.showcase-video-dialog .dialog-close{margin:0 0 12px}
.showcase-video-dialog h2{font-weight:500;font-size:25px;letter-spacing:-.025em;margin:0 0 15px}
.showcase-video-dialog video{display:block;width:100%;max-height:70vh;background:#171717}
.showcase-video-dialog p{font-size:14px;line-height:1.5;color:#777;margin:15px 0 0}
body.motion-paused .tile-face{transition:none!important;animation-play-state:paused!important}
body[data-view=work] .tile-face{animation-play-state:paused!important}
@media(max-width:800px){.hero-copy .hero-line{font-size:25px;max-width:330px}.hero-copy .hero-caption{font-size:16px;line-height:1.7}.hero-directions{gap:5px}.hero-directions .project-mode{padding-inline:9px}.sculpture [data-face=studio]{animation-name:sculpture-drift-small}.slot-open{width:18px;height:18px;font-size:12px!important;right:2px;bottom:2px}}
@media(prefers-reduced-motion:reduce){.tile-face{transition:none!important;animation:none!important}}

/* Preserve original option-specific studio insets. */
body[data-hero="4"] .piece-code [data-face=studio]{padding:9%}
body[data-hero="5"] .piece-code [data-face=studio]{padding:1% 0 1% 9%}
.slot-project.slot-phone>img{top:0;transform:translateY(-2.8138528%)!important}
.piece-studio [data-face=studio]{background:inherit}
.visual-composition[data-wave=active] .piece-words{z-index:5}

/* AI + Play: a creative practice expressed through material, motion and interaction. */
[data-face=play]{direction:ltr}
.play-kicker{font-size:1.35cqw;font-weight:600;letter-spacing:.06em;line-height:1.3}
.play-caption{position:absolute;left:8%;bottom:7%;font-size:1.2cqw;letter-spacing:.09em;color:#444}
.slot-project.play-form{background:#f5f4ef}
.slot-project.play-form>img{object-fit:contain;padding:9% 5% 14%}
.play-film>video{object-position:48% center}
.play-film .play-caption{color:white;text-shadow:0 1px 6px #000}
.play-brief{background:#222523;color:#efeee7;padding:10%;display:flex;flex-direction:column;justify-content:space-between}
.play-brief>.play-kicker{color:#b1b5a8;font-size:1.15cqw;margin-bottom:7%}
.brief-row{display:flex;align-items:baseline;gap:7%;border-top:1px solid #ffffff29;padding-top:7%;font-size:2.25cqw;letter-spacing:-.035em;line-height:1.1}
.brief-row i{color:#acba8e;font:normal 1.15cqw Arial}
.brief-row b{margin-left:auto;color:#dcef9e;font-size:2.1cqw;font-weight:400}
.slot-project.play-cutout{background:white;overflow:visible}
.slot-project.play-cutout>img{object-fit:contain}
.play-ribbon>img{rotate:-20deg}
.play-interaction{background:#eceee4;color:#304535;padding:9%;display:flex;flex-direction:column;justify-content:space-between}
.play-interaction>.play-kicker{font-size:1.2cqw}
.play-orbit{position:relative;display:block;width:8cqw;height:8cqw;align-self:center;border:1px solid #869276;border-radius:50%}
.play-orbit:before{content:"";position:absolute;inset:12%;border:1px solid #8d987f;border-radius:50%;transform:rotate(-35deg) scaleX(.55)}
.play-orbit i{position:absolute;inset:29%;background:#506a3e;border-radius:50%;transition:transform .55s cubic-bezier(.2,.8,.2,1),background .3s}
.play-interaction[data-play-step="1"] .play-orbit i{transform:translate(55%,-35%);background:#d94a2e}
.play-interaction[data-play-step="2"] .play-orbit i{transform:translate(-55%,35%) scale(.75);background:#b88725}
.play-interaction>strong{font-size:4.2cqw;letter-spacing:-.07em;line-height:1.1;font-weight:600}
.play-steps{display:flex;gap:4px;margin-top:3%}
.play-steps i{height:2px;flex:1;background:#c4cdb9}.play-steps i.active{background:#415837}
.play-step-foot{display:flex;justify-content:space-between;align-items:center;font-size:1.3cqw;margin-top:6%}
.play-step-foot>span:last-child{font-size:2.8cqw}
.play-world>img{object-position:72% center}
.play-world-label{position:absolute;inset:auto 9% 11%;color:#fff;text-shadow:0 2px 8px #0009}
.play-world:after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#251d13bd);z-index:0;pointer-events:none}
.play-world-label{z-index:1}.play-world-label small{font-size:1.15cqw;letter-spacing:.1em}
.play-world-label strong{display:block;font-size:3.8cqw;line-height:1.02;letter-spacing:-.035em;margin-top:10%}
.play-materials{background:#f3f1ec;padding:5%;display:flex;flex-direction:column;justify-content:space-between;color:#48443d}
.material-frames{display:grid;grid-template-columns:1fr 1fr 1fr;gap:4%;height:70%}
.material-frames img{width:100%;height:100%;min-height:0;object-fit:contain;filter:none!important;mix-blend-mode:multiply;transform:none!important;background:#faf9f5}
.material-frames img:nth-child(2){object-fit:cover;object-position:50% 38%}
.material-index{display:flex;justify-content:space-between;font-size:1.1cqw;letter-spacing:.025em}
.play-question{padding:13%;background:#e84228;color:#fff6e6;display:flex;flex-direction:column;justify-content:space-between}
.piece-swatch .play-question>span{font-size:5cqw;letter-spacing:-.045em;line-height:.91}
.piece-swatch .play-question>small{font-size:1.05cqw;letter-spacing:.05em;white-space:nowrap}
.play-prompt{padding:8% 0;background:white;color:#292b27;display:flex;flex-direction:column;justify-content:space-between}
.play-prompt>.play-kicker{color:#a34732;font-size:1.25cqw}
.play-prompt>strong{font-size:5.55cqw;line-height:1.03;letter-spacing:-.055em;font-weight:600}
.play-prompt>small{font-size:1.35cqw;line-height:1.3;color:#657156}
html[lang=ar] .play-interaction>strong{font-size:3.9cqw;letter-spacing:0}
html[lang=ar] .play-prompt>small{direction:rtl;text-align:right}
body.motion-paused .play-orbit i{transition:none}
@media(prefers-reduced-motion:reduce){.play-orbit i{transition:none}}
