/* Motion follows the visitor's accessibility preference. */
.page-loader{position:fixed;inset:0;z-index:1000;background:#060606;display:grid;place-items:center;color:#fff;transition:opacity .55s ease,visibility .55s ease;pointer-events:all}.page-loader.is-complete{opacity:0;visibility:hidden;pointer-events:none}.loader-inner{width:min(380px,75vw);text-align:center}.loader-logo{height:100px;width:100%;object-fit:cover;animation:brandIn .7s cubic-bezier(.2,.8,.2,1) both}.loader-line{height:1px;background:#292929;position:relative;overflow:hidden;margin:28px 0 17px}.loader-line span{display:block;width:0;height:100%;background:#ec362b;transition:width .3s ease}.loader-caption{font:8px monospace;letter-spacing:2px;color:#888;display:flex;justify-content:space-between}.scroll-progress{position:fixed;top:0;left:0;height:2px;background:#ef362e;z-index:100;width:100%;transform:scaleX(0);transform-origin:left;pointer-events:none}.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.2,.65,.2,1),transform .8s cubic-bezier(.2,.65,.2,1);transition-delay:var(--reveal-delay,0ms)}.reveal.is-visible{opacity:1;transform:translateY(0)}.hero h1{animation:heroEnter 1s cubic-bezier(.2,.7,.2,1) both;animation-delay:.15s}.hero-copy{animation:heroEnter 1s ease both;animation-delay:.3s}.hero-actions{animation:heroEnter 1s ease both;animation-delay:.4s}.brand-stage{transition:transform .4s ease,box-shadow .4s ease;transform-style:preserve-3d;will-change:transform;box-shadow:0 20px 50px #0000000a}.brand-stage:before{content:'';position:absolute;inset:-100% -50%;pointer-events:none;background:linear-gradient(115deg,transparent 42%,#f7342708 48%,#ef362c12 50%,transparent 55%);animation:lightSweep 10s ease-in-out infinite;z-index:2}.stage-path i{box-shadow:0 0 10px #ed3b3377;animation:nodePulse 3s ease-in-out infinite}.stage-path span:nth-of-type(2) i{animation-delay:.5s}.stage-path span:nth-of-type(3) i{animation-delay:1s}.hero .eyebrow .dot{animation:nodePulse 3s ease-in-out infinite}.button{position:relative;overflow:hidden;isolation:isolate;transition:transform .25s ease,background .25s ease,border-color .25s ease,box-shadow .25s ease}.button span{display:inline-block;transition:transform .25s ease}.button:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0001}.button:hover span{transform:translate(3px,-3px)}.button:active{transform:translateY(0);box-shadow:none}.service{transition:background .3s ease}.service:hover{background:#eae9e34d}.service-icon svg{transition:transform .4s ease}.service:hover .service-icon svg{transform:rotate(-7deg) translateY(-4px)}.campaign-detail.is-changing{animation:panelChange .4s ease both}.campaign-tabs button{transition:background .25s ease,padding .25s ease,color .25s ease}.campaign-tabs button:hover span{color:#f96960}.principle>span{transition:transform .3s ease}.principle:hover>span{transform:translateX(5px)}.process-grid article{transition:border-color .3s ease}.process-grid article:hover{border-color:var(--red)}.nav a:not(.logo){transition:color .2s ease,background .2s ease}.faq-list details[open] p{animation:heroEnter .3s ease both}.back-top{position:fixed;bottom:22px;right:22px;width:42px;height:42px;border:1px solid #444;background:#151515;color:#fff;display:grid;place-items:center;z-index:30;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(10px);transition:.3s;font-size:18px}.back-top.visible{opacity:1;visibility:visible;transform:translateY(0)}.back-top:hover{background:#c8322b;border-color:#c8322b}.footer .logo img{transition:opacity .2s}.footer .logo:hover img{opacity:.8}input,textarea,select{transition:border-color .2s ease}.page-exit{animation:pageExit .2s ease both;pointer-events:none}.role-choice:hover{border-color:#999;transform:translateY(-2px)}.role-choice{transition:transform .2s ease,border-color .2s ease,background .2s ease}.role-choice:has(input:checked){transform:translateY(-2px)}
@keyframes brandIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes heroEnter{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes panelChange{from{opacity:.4;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes lightSweep{0%,35%{transform:translateX(-40%) rotate(-10deg)}75%,100%{transform:translateX(40%) rotate(-10deg)}}@keyframes nodePulse{0%,100%{opacity:.45;box-shadow:0 0 3px #ed3b3344}50%{opacity:1;box-shadow:0 0 12px #ed3b3399}}@keyframes pageExit{to{opacity:0;transform:translateY(-5px)}}
@media(max-width:720px){.back-top{right:15px;bottom:15px;width:36px;height:36px}.brand-stage{transform:none!important}.hero h1{animation-duration:.7s}.reveal{transform:translateY(16px)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}.page-loader{display:none}.brand-stage{transform:none!important}.button:hover,.role-choice:hover,.role-choice:has(input:checked){transform:none}.page-exit{opacity:1;transform:none}}
@media print{.page-loader,.scroll-progress,.back-top{display:none!important}.reveal{opacity:1!important;transform:none!important}}
@media(max-width:900px){.nav{height:79px}.menu{display:block;color:#fff}.links{display:none;position:absolute;left:0;top:79px;width:100%;padding:25px 6%;background:#101010;z-index:25;border-bottom:1px solid #333;flex-direction:column;align-items:stretch;gap:22px}.links.open{display:flex}.nav-cta{justify-content:space-between}}
@media(max-width:720px){.hero-actions{flex-wrap:wrap;gap:15px 24px}.hero-actions .button,.hero-actions .text-link{white-space:nowrap}.hero-actions .button{min-height:52px}.hero-actions .text-link{padding:9px 0}}
.career-roles{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line)}.career-roles>a{display:flex;align-items:start;gap:18px;padding:28px 20px 28px 0;transition:background .25s ease}.career-roles>a+a{padding-left:23px;border-left:1px solid var(--line)}.career-roles>a>span{font:10px monospace;color:var(--red);margin-top:6px}.career-roles h3{font-size:23px;margin:0 0 7px}.career-roles p{font-size:11px;color:var(--muted);margin:0;line-height:1.7}.career-roles b{font-size:10px;font-weight:500;margin-left:auto;white-space:nowrap;margin-top:6px}.career-roles a:hover{background:#e7e6df77}.career-roles a:hover b{color:var(--red)}
@media(max-width:720px){.career-roles{grid-template-columns:1fr}.career-roles>a,.career-roles>a+a{padding:23px 0;border-left:0}.career-roles>a+a{border-top:1px solid var(--line)}.career-roles b{margin-top:8px}}
