/* ONSTAGE / Metal & Motion. One visual language, distinct movements. */
:root{--gold:#d3ac5e;--gold-dark:#79551e;--gold-light:#f1dba3;--motion-ease:cubic-bezier(.2,.75,.22,1)}
/* Metallic typography remains readable at every point in its lighting cycle. */
.home-hero h1 strong,.metal-text,.closing h2>span,.contact-intro h1 em,.page-experience .page-hero em,.page-about .page-hero em{color:#e2bd70;background-image:linear-gradient(112deg,#ae8238 0%,#dfb861 19%,#f5dfa6 32%,#fff6df 38%,#bf9142 45%,#e6c274 60%,#c9cdd5 72%,#f5eedc 82%,#c5994e 100%);background-size:245% 100%;background-clip:text;-webkit-background-clip:text;animation:metal-flow 12s ease-in-out infinite alternate}
@supports((-webkit-background-clip:text) or (background-clip:text)){.home-hero h1 strong,.metal-text,.closing h2>span,.contact-intro h1 em,.page-experience .page-hero em,.page-about .page-hero em{color:transparent}}
.home-hero h1>.headline-silver{background-image:linear-gradient(105deg,#fff 0%,#e0e3e9 32%,#a7b0bd 42%,#fff 54%,#e9e5da 72%,#fff 100%);background-clip:text;-webkit-background-clip:text;color:transparent;background-size:240% 100%;animation:hero-in 1.15s var(--ease) both,metal-flow 15s ease-in-out infinite alternate}
.gold-text,.founder-heading h2>span,.page-insights .page-hero em,.introduction h2>span{color:#79551e;background:linear-gradient(110deg,#684719 0%,#9c702a 23%,#a78037 39%,#76511c 51%,#af8436 66%,#6e4c19 100%) 0 0/230% 100%;background-clip:text;-webkit-background-clip:text;animation:metal-flow 12s ease-in-out infinite alternate}
@supports((-webkit-background-clip:text) or (background-clip:text)){.gold-text,.founder-heading h2>span,.page-insights .page-hero em,.introduction h2>span{color:transparent}}
.ai-hero em,.digital-teaser h2>span{color:#656e7c;background:linear-gradient(115deg,#343d4b,#748094 32%,#586373 48%,#836127 65%,#5b6675 83%,#343d4b) 0 0/250% 100%;background-clip:text;-webkit-background-clip:text;animation:metal-flow 14s ease-in-out infinite alternate}
@supports((-webkit-background-clip:text) or (background-clip:text)){.ai-hero em,.digital-teaser h2>span{color:transparent}}
@keyframes metal-flow{from{background-position:0% 50%}to{background-position:100% 50%}}
/* Real 3D pieces, derived from the same gateway silhouette. */
.gateway-stage.gateway-assembly{mix-blend-mode:normal}.gateway-camera.gateway-sculpture{width:85%;height:112%;right:-11%;top:-9%;animation:none;transform:translate3d(var(--pointer-x,0px),var(--pointer-y,0px),0);mask-image:none;-webkit-mask-image:none;transition:transform 1.3s var(--motion-ease);isolation:isolate}
.gateway-piece{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;animation:gateway-assemble 19s var(--motion-ease) infinite;transform-origin:60% 55%;will-change:transform;pointer-events:none}
.gp-0{--open-x:32px;--open-y:-46px;--open-r:5deg}.gp-1{--open-x:-38px;--open-y:14px;--open-r:-5deg}.gp-2{--open-x:-20px;--open-y:36px;--open-r:3deg}.gp-3{--open-x:30px;--open-y:-15px;--open-r:-4deg}.gp-4{--open-x:46px;--open-y:20px;--open-r:4deg}
@keyframes gateway-assemble{0%{transform:translate(var(--open-x),var(--open-y)) rotate(var(--open-r));opacity:.65}16%,62%,100%{transform:translate(0,0) rotate(0);opacity:1}73%,78%{transform:translate(var(--open-x),var(--open-y)) rotate(var(--open-r));opacity:1}91%{transform:translate(0,0) rotate(0);opacity:1}}
.gateway-floor{position:absolute;inset:55% -10% -16% 34%;background:radial-gradient(ellipse at 55% 45%,#c49a4a20 0%,#a6adbe10 32%,transparent 64%);transform:perspective(600px) rotateX(50deg);border-radius:50%;pointer-events:none}
.gateway-specular{position:absolute;inset:4% 6%;background:linear-gradient(118deg,transparent 36%,#fff3 47%,#f0cc7e33 49%,transparent 58%);opacity:.15;mix-blend-mode:screen;mask-image:linear-gradient(transparent,#000 30%,#000 60%,transparent);pointer-events:none;animation:sculpture-light 11s ease-in-out infinite}
@keyframes sculpture-light{0%,15%{transform:translateX(-18%);opacity:0}50%{opacity:.22}85%,100%{transform:translateX(18%);opacity:0}}
.home-hero .hero-shade{background:linear-gradient(90deg,#050506 0%,#050506ef 14%,#05050680 43%,transparent 70%),linear-gradient(0deg,#050506 0%,transparent 45%)}
.home-hero .hero-content{z-index:2}.gateway-replay{display:flex;align-items:center;gap:18px;border:0;background:none;color:#e6ce95;min-height:44px;padding:0;font-size:10px;letter-spacing:.04em}.gateway-replay span{font-size:19px}.gateway-replay:hover{color:white}.gateway-replay:hover span{transform:rotate(-35deg);transition:transform .4s}.gateway-replay:disabled{opacity:.5}
.home-hero .button:not(.button-outline),.closing-bottom>.button{background:linear-gradient(110deg,#a77c32,#e4c47c 35%,#f2dcaa 50%,#c79d4e 68%,#dfbd75);background-size:200% 100%;border-color:#d5b16a;color:#090909;transition:background-position .7s,color .3s;box-shadow:inset 0 1px #fff8,inset 0 -1px #77502055}
.home-hero .button:not(.button-outline):hover,.closing-bottom>.button:hover{background-position:100% 50%}.button:before{content:'';position:absolute;left:-45%;top:-60%;height:220%;width:35%;background:linear-gradient(90deg,transparent,#fff3,transparent);transform:rotate(25deg);pointer-events:none;transition:left .8s}.button:hover:before{left:120%}.button-outline:before{background:linear-gradient(90deg,transparent,#ffffff18,transparent)}
/* The small signature assembles too; the wordmark stays still and readable. */
.kinetic-mark{overflow:visible}.logo-piece{transform-box:fill-box;transform-origin:center;animation:mark-assembly 19s var(--motion-ease) infinite}.lp-0{--mark-x:4px;--mark-y:-6px;--mark-r:7deg}.lp-1{--mark-x:-5px;--mark-y:3px;--mark-r:-7deg}.lp-2{--mark-x:-3px;--mark-y:5px;--mark-r:4deg}.lp-3{--mark-x:4px;--mark-y:-3px;--mark-r:-5deg}.lp-4{--mark-x:5px;--mark-y:3px;--mark-r:5deg}
@keyframes mark-assembly{0%,73%,78%{transform:translate(var(--mark-x),var(--mark-y)) rotate(var(--mark-r))}16%,62%,91%,100%{transform:none}}.brand:hover .logo-piece{animation:mark-reveal 1.7s var(--motion-ease) both}@keyframes mark-reveal{0%{transform:translate(var(--mark-x),var(--mark-y)) rotate(var(--mark-r))}100%{transform:none}}.metal-glint{animation:gold-glint 7s ease-in-out infinite alternate}@keyframes gold-glint{to{stop-color:#d9b76b}}.contact-gateway{opacity:.8;width:115px}.closing-gateway{opacity:.075}
/* Distinct section entrances, without hiding content before enhancement. */
.motion-scene{position:relative}.scene-enter .media-heading h2,.scene-enter .archive-heading h2,.scene-enter .section-top h2{animation:title-cut .95s var(--motion-ease) both}.scene-enter .film-card{animation:picture-curtain 1.05s var(--motion-ease) both}.scene-enter .film-card:nth-child(2){animation-delay:.13s}.scene-enter .intro-index i{animation:rule-draw 1.5s var(--motion-ease) both}.scene-enter .service-scope li{animation:line-enter .7s var(--motion-ease) both}.scene-enter .service-scope li:nth-child(2){animation-delay:.08s}.scene-enter .service-scope li:nth-child(3){animation-delay:.16s}.scene-enter .service-scope li:nth-child(4){animation-delay:.24s}
@keyframes title-cut{from{clip-path:inset(0 0 100%);transform:translateY(22px)}to{clip-path:inset(0);transform:none}}@keyframes picture-curtain{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}@keyframes rule-draw{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes line-enter{from{opacity:.3;translate:15px 0}to{opacity:1;translate:0 0}}
.page-hero{position:relative;isolation:isolate;overflow:hidden}.page-hero:before{content:'';position:absolute;z-index:-1;inset:-30% -20%;pointer-events:none;background:linear-gradient(117deg,transparent 62%,#d7b26a0c 66%,#c4a46a16 67%,transparent 70%);animation:editorial-light 15s ease-in-out infinite alternate}.page-hero .wrap{position:relative}.page-hero h1{animation:hero-in 1s var(--motion-ease) both}.page-hero .page-lead{animation:hero-in 1.1s .12s var(--motion-ease) both}@keyframes editorial-light{from{transform:translateX(-5%)}to{transform:translateX(6%)}}
.introduction{overflow:hidden}.introduction:after{content:'';position:absolute;right:-10%;top:3%;width:35%;height:80%;border-left:1px solid #aa833b20;transform:skewY(-22deg);pointer-events:none}.introduction h2{position:relative}.scene-enter .intro-bottom{animation:section-in 1.1s .15s var(--motion-ease) both}
.service-panel{position:relative}.capability-art:after{content:'';position:absolute;inset:0;background:linear-gradient(125deg,transparent 30%,#e6c37c12 49%,transparent 63%);pointer-events:none;animation:sculpture-light 8s ease-in-out infinite}.capability-0 .identity-word{background:linear-gradient(110deg,#b48636,#f1d8a2,#fff8e3,#b18437) 0 0/220% 100%;background-clip:text;color:transparent;animation:metal-flow 9s ease-in-out infinite alternate}.communication-rings i{animation:voice-wave 6s ease-in-out infinite}.communication-rings i:nth-child(2){animation-delay:-2s}.communication-rings i:nth-child(3){animation-delay:-4s}@keyframes voice-wave{0%,100%{opacity:.35;scale:.97}50%{opacity:1;scale:1.035}}.stage-light-two{animation:beam 9s -4s ease-in-out infinite alternate}.digital-module i{transform-origin:left;animation:signal-build 6s ease-in-out infinite}.digital-module i:nth-of-type(2){animation-delay:.7s}@keyframes signal-build{0%,100%{scale:.55 1;opacity:.45}45%,65%{scale:1 1;opacity:1}}
.portrait{isolation:isolate}.portrait:before{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;border:1px solid #fff1;background:linear-gradient(115deg,transparent 38%,#fff2 50%,transparent 62%);transform:translateX(-120%)}.scene-enter .portrait:before{animation:portrait-light 1.8s .35s var(--motion-ease) both}@keyframes portrait-light{to{transform:translateX(120%)}}.archive-photo a:after{content:'';position:absolute;bottom:0;left:0;height:2px;width:100%;background:linear-gradient(90deg,#97702e,#f0d594,#b68d41);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--motion-ease)}.archive-photo a:hover:after,.archive-photo a:focus-visible:after{transform:scaleX(1)}
.system-sheet:after{content:'';position:absolute;inset:0;background:linear-gradient(115deg,transparent 30%,#ffffff40 50%,transparent 70%);transform:translateX(-100%);animation:system-reflection 9s ease-in-out infinite;pointer-events:none}.sheet-mid:after{animation-delay:1.1s}.sheet-front:after{animation-delay:2.2s;opacity:.5}@keyframes system-reflection{0%,10%{transform:translateX(-100%)}65%,100%{transform:translateX(100%)}}.ai-detail[open] .ai-detail-body{animation:section-in .6s var(--motion-ease) both}
.approach-step:before{content:'';position:absolute;top:-1px;left:0;width:100%;height:2px;transform-origin:left;background:linear-gradient(90deg,#876020,#e7c778,#a77b30);animation:process-line 12s linear infinite}.approach-step:nth-child(2):before{animation-delay:-8s}.approach-step:nth-child(3):before{animation-delay:-4s}@keyframes process-line{0%{transform:scaleX(0);opacity:1}26%,32%{transform:scaleX(1);opacity:1}37%,100%{transform:scaleX(1);opacity:.13}}.approach-step:hover h2{color:#8d6628;transition:color .4s}.insight-art:after{content:'';position:absolute;inset:0;background:linear-gradient(115deg,transparent 30%,#ffe8ab18 50%,transparent 70%);transform:translateX(-120%);pointer-events:none}.insight-card:hover .insight-art:after{animation:portrait-light 1.2s var(--motion-ease) both}.closing:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 90% 100%,#c99f4e14,transparent 65%);z-index:-1}.closing-bottom{position:relative}.closing-bottom:after{content:'';position:absolute;left:0;right:0;bottom:-32px;height:1px;background:linear-gradient(90deg,transparent,#bf954a,#eee2c2,transparent);background-size:200%;animation:metal-flow 10s ease-in-out infinite alternate;opacity:.55}
/* Original partner marks, kept in their original colours and contextualised. */
.logo-ribbon{padding:60px 0 38px;background:#f1f2f4;border-top:1px solid #dfe1e5;border-bottom:1px solid #dfe1e5;overflow:hidden}.ribbon-heading{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:30px}.ribbon-heading .eyebrow{font-size:9px;color:#79551e;margin-bottom:10px}.ribbon-heading h3{font-size:29px}.ribbon-toggle{border:0;background:transparent;font-size:10px;min-height:44px;color:#555d69;display:flex;align-items:center;gap:14px}.ribbon-toggle span{color:#79551e;font-size:15px}.logo-window{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}.logo-track{display:flex;width:max-content;animation:logo-procession 36s linear infinite}.logo-group{display:flex;gap:28px;padding-right:28px}.logo-tile{width:220px;height:163px;flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;background:#fff;border:1px solid #d8dce2;border-bottom:2px solid #c8ac77;position:relative;overflow:hidden}.logo-tile img{width:104px;height:104px;object-fit:contain}.logo-tile>span{font-size:9px;color:#555c66;text-align:center;line-height:1.5;padding:0 10px}.logo-tile:after{content:'';position:absolute;inset:0;background:linear-gradient(115deg,transparent 35%,#fff8 50%,transparent 65%);transform:translateX(-120%);pointer-events:none}.logo-tile:hover:after{animation:portrait-light .9s var(--motion-ease) both}.logo-window:hover .logo-track,.logo-ribbon.ribbon-paused .logo-track{animation-play-state:paused}.ribbon-note{font-size:10px;color:#646b76;line-height:1.7;margin-top:22px;max-width:720px}@keyframes logo-procession{to{transform:translateX(-50%)}}
/* All autonomous motion stops offscreen, when paused, or under reduced motion. */
.motion-outside *,.motion-outside *:before,.motion-outside *:after{animation-play-state:paused!important}.motion-outside{animation-play-state:paused!important}.motion-paused .gateway-piece,.motion-paused .logo-piece{animation:none!important;transform:none!important;opacity:1}.motion-paused .gateway-sculpture{transform:none!important}.motion-paused .scene-enter *{clip-path:none!important}.motion-paused .logo-track{animation-play-state:paused!important}
@media(max-width:980px){.gateway-camera.gateway-sculpture{width:105%;right:-24%;top:-5%;height:95%}.logo-group{gap:20px;padding-right:20px}.logo-tile{width:220px}.ribbon-heading h3{font-size:27px}}
@media(max-width:640px){.gateway-camera.gateway-sculpture{width:125%;height:480px;right:-12%;top:-55px;transform:none}.gateway-piece{animation-duration:19s;--open-x:0px;--open-y:0px;--open-r:0deg}.gp-0{--open-x:14px;--open-y:-20px;--open-r:4deg}.gp-1{--open-x:-16px;--open-y:10px;--open-r:-4deg}.gp-2{--open-x:-10px;--open-y:15px;--open-r:3deg}.gp-3{--open-x:12px;--open-y:-8px;--open-r:-3deg}.gp-4{--open-x:17px;--open-y:8px;--open-r:3deg}.home-hero .hero-shade{background:linear-gradient(0deg,#050506 2%,#050506 39%,#050506e8 51%,#05050630 70%,transparent 84%)}.gateway-floor{inset:22% -20% 52% 0}.gateway-specular{display:none}.gateway-replay{font-size:8px;gap:8px;letter-spacing:0}.gateway-replay span{font-size:17px}.hero-baseline{gap:10px}.hero-baseline .motion-toggle{font-size:8px;gap:6px}.hero-baseline .scroll-cue{font-size:6px;gap:10px}.home-hero h1 strong{background-size:210%}.logo-ribbon{padding:40px 0 28px}.ribbon-heading{display:block;margin-bottom:22px}.ribbon-heading h3{font-size:25px}.ribbon-toggle{margin-top:14px;font-size:10px;padding-left:0}.logo-group{gap:16px;padding-right:16px}.logo-tile{width:160px;height:148px}.logo-tile img{width:90px;height:90px}.logo-tile>span{font-size:8px}.ribbon-note{font-size:9px}.logo-track{animation-duration:30s}.introduction:after{display:none}.approach-step:before{width:100%}.contact-section{background:#050506}.contact-intro{position:static;top:auto}.contact-intro .social-links{margin-bottom:20px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.gateway-piece,.logo-piece{transform:none!important;opacity:1!important}.gateway-camera.gateway-sculpture{transform:none!important}.logo-track{transform:none;width:100%}.logo-group{flex-wrap:wrap;gap:16px;padding:0;width:100%;justify-content:center}.logo-group[aria-hidden]{display:none}.logo-tile{width:min(220px,calc(50% - 8px))}.logo-window{mask-image:none}.ribbon-toggle,.gateway-replay{display:none}.scene-enter *{clip-path:none!important}.portrait:before{display:none}.home-hero h1>.headline-silver{color:#f3f4f7;background:none}}
.page-is-hidden *,.page-is-hidden *:before,.page-is-hidden *:after{animation-play-state:paused!important}

.ai-hero-content h1,.contact-intro h1{animation:hero-in 1s var(--motion-ease) both}

/* Brand Building: remove pale gold on grey, keep a clear metal-on-obsidian contrast. */
.capability-art.capability-0{background:radial-gradient(ellipse at 70% 12%,#26231c 0%,#101113 42%,#050506 82%);color:#e8ebef;border-bottom-color:#c6a45f45}
.capability-0 .identity-word{background-image:linear-gradient(110deg,#c09143 0%,#dfb86a 25%,#f4dda5 42%,#c99c4c 62%,#e2bd75 83%,#c09143 100%);background-size:230% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;text-shadow:0 0 35px #d7af6512}
.capability-0 .identity-word span{color:#e5e9ef;background:none;-webkit-text-stroke:0;text-shadow:0 1px 0 #fff3}
.capability-0 .identity-rule{border-color:#b8954e50}
.capability-0 small{color:#e5e8ee;font-size:10px;letter-spacing:.22em;font-weight:500}
@media(max-width:640px){.capability-0 small{font-size:9px}}

/* Social signatures: recognizable platform colours with intentional interaction. */
.social-links{gap:12px 20px}.social-links>a.social-link{gap:10px;color:#f2f3f5;min-height:44px;transition:color .25s ease}
.social-icon{width:36px;height:36px;flex:none;display:grid;place-items:center;position:relative;overflow:hidden;border-radius:11px;background:var(--social-bg);color:white!important;box-shadow:inset 0 0 0 1px #ffffff25;transition:transform .35s var(--ease),box-shadow .35s ease}
.social-icon svg{width:21px;height:21px}.social-instagram{--social-bg:linear-gradient(135deg,#6b35c0,#d62976 48%,#f98d30)}.social-youtube{--social-bg:#e62117}.social-linkedin{--social-bg:#0a66c2}.social-facebook{--social-bg:#1877f2}.social-tiktok{--social-bg:#111218}.social-tiktok svg{filter:drop-shadow(-1px -1px 0 #25f4ee) drop-shadow(1px 1px 0 #fe2c55)}
.social-icon:after{content:'';position:absolute;inset:-40%;background:linear-gradient(110deg,transparent 40%,#ffffff70 50%,transparent 60%);transform:translateX(-120%);transition:transform .6s var(--ease);pointer-events:none}
.social-link:hover .social-icon,.social-link:focus-visible .social-icon{transform:translateY(-3px);box-shadow:0 5px 18px #ffffff20,inset 0 0 0 1px #ffffff65}.social-link:hover .social-icon:after,.social-link:focus-visible .social-icon:after{transform:translateX(120%)}.social-link:active .social-icon{transform:scale(.92)}
.header-social{display:flex;justify-content:flex-end;align-items:center;gap:22px;padding:3px max(40px,calc((100vw - 1360px)/2));border-top:1px solid #ffffff12;background:#090a0c}.social-caption{font-size:8px;letter-spacing:.18em;color:#bfc3ca}.social-compact .social-name{display:none}.header-social .social-links{gap:6px;flex-wrap:nowrap}.header-social .social-link{width:44px;height:44px;justify-content:center}.header-social .social-icon{width:29px;height:29px;border-radius:8px}.header-social .social-icon svg{width:18px;height:18px}html{scroll-padding-top:160px}
@media(max-width:640px){.header-social{padding:1px 20px;justify-content:space-between;gap:8px}.social-caption{font-size:7px;max-width:90px;line-height:1.7}.header-social .social-links{gap:0}.footer-social .social-links{gap:8px 20px}.header-social .social-icon{width:28px;height:28px}html{scroll-padding-top:135px}}
@media(prefers-reduced-motion:reduce){.social-icon,.social-icon:after,.social-link{transition:none!important}.social-link:hover .social-icon,.social-link:focus-visible .social-icon{transform:none}}
html.motion-paused .social-icon,html.motion-paused .social-icon:after{transition:none}

/* Original uploaded photograph, unchanged pixels and proportions. CSS monochrome and fixed gold frame only. */
.portrait{aspect-ratio:auto;max-width:480px;padding:7px;background:linear-gradient(125deg,#78521b 0%,#d3ac5b 13%,#fff1bd 24%,#b88b38 38%,#e5c77e 54%,#fff4cc 65%,#a67b2e 80%,#dfbf74 100%);box-shadow:0 16px 38px #11131819,inset 0 0 0 1px #bf9647;align-self:start}
.portrait-window{position:relative;overflow:hidden;aspect-ratio:981/1110;background:#101113;box-shadow:0 0 0 1px #58401e}
.portrait .portrait-window img,.portrait:hover .portrait-window img{display:block;position:static;width:100%;max-width:100%;height:auto;left:auto;top:auto;filter:grayscale(1);transform:none;transition:none}
.portrait:before,.portrait:after,.scene-enter .portrait:before{display:none;animation:none}
.gateway-camera.gateway-sculpture.gateway-static{animation:none!important;transform:none!important;transition:none!important;will-change:auto}
.gateway-metal-still{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:brightness(1.16) contrast(1.06);animation:none!important;transform:none!important;transition:none!important}
@media(max-width:640px){.portrait{padding:5px;max-width:440px;width:100%;margin-inline:auto}}
