/* Natural portrait: the user's retouched PNG already has a clean alpha channel. */
.cx-portrait img{mask-image:none;filter:brightness(.84) saturate(.86);}
.cx-copy h1{font-size:clamp(46px,4.3vw,84px)}
.cx-copy h1 em{font-size:1.42em;line-height:1.03}
.cx-services{grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}
.cx-services p{font-size:clamp(11px,.86vw,16px);line-height:1.45}
.cx-summary{max-width:540px}
.cx-orbit-mark{width:82px;height:82px;flex-shrink:0}
.cx-orbit-mark:before{width:174px;left:-47px}
.cx-orbit-mark:after{left:7px;top:15px}.cx-orbit-mark i{right:7px;bottom:15px}
.cx-prelude p{font-size:10px;line-height:1.8;letter-spacing:2px}
.cx-prelude{gap:30px}
/* A stable service rail replaces the clipped, jumping marquee. */
.cx-service-rail{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:relative;z-index:2;padding:0 4.8%;border-block:1px solid #a7a9b225;background:linear-gradient(110deg,#0d101a,#090a10);}
.cx-service-rail a{position:relative;padding:24px 24px 27px;border-left:1px solid #a7a9b21c;min-width:0;transition:background .25s}
.cx-service-rail a:last-child{border-right:1px solid #a7a9b21c}
.cx-rail-index{display:flex;align-items:center;justify-content:space-between;color:#7a849a;font-size:10px;letter-spacing:1.5px;margin-bottom:14px}
.cx-rail-index>span{font-size:18px;color:#ff744d;transition:transform .25s}
.cx-service-rail strong{display:block;font:500 clamp(12px,.95vw,18px)/1.45 Manrope,sans-serif;letter-spacing:.035em;color:#e5e4e1;max-width:240px}
.cx-service-rail small{display:block;margin-top:7px;font-size:11px;line-height:1.5;color:#8d91a0}
.cx-service-rail a:after{content:'';position:absolute;inset:auto 24px 0;height:1px;background:#ff744d;transform:scaleX(0);transform-origin:left;transition:transform .3s}
.cx-service-rail a:hover{background:#4359f507}.cx-service-rail a:hover:after,.cx-service-rail a:focus-visible:after{transform:scaleX(1)}.cx-service-rail a:hover .cx-rail-index>span{transform:translate(2px,-2px)}
/* Single cursor across all pages and top-layer dialogs. Native text cursors stay usable. */
body>.cursor{display:none!important}
/* Native editorial scrollbar: lightweight, high-contrast, and aligned with the hero palette. */
html{scrollbar-width:thin;scrollbar-color:#ff744d #07080c}
::-webkit-scrollbar{width:11px;height:11px}
::-webkit-scrollbar-track{background:linear-gradient(180deg,#07080c,#11131d 48%,#07080c);border-left:1px solid #f2f0eb0c}
::-webkit-scrollbar-thumb{min-height:72px;border:3px solid #08090d;border-radius:999px;background:linear-gradient(180deg,#ff8b68 0%,#ff744d 42%,#6f79d9 100%);box-shadow:0 0 12px #ff744d38,inset 0 0 0 1px #ffffff22}
::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#ffad94 0%,#ff744d 45%,#8790ef 100%);box-shadow:0 0 18px #ff744d66,inset 0 0 0 1px #ffffff38}
::-webkit-scrollbar-thumb:active{background:linear-gradient(180deg,#ff744d,#4359f5)}
::-webkit-scrollbar-button{display:none;width:0;height:0}
::-webkit-scrollbar-corner{background:#07080c}
@media(max-width:760px){::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{border-width:1px;min-height:48px}}
.cx-site-pointer{position:fixed;inset:0 auto auto 0;z-index:2147483647;box-sizing:border-box;width:30px;height:30px;margin:-15px 0 0 -15px;padding:0;overflow:visible;border:1px solid #a4b8dd9c;border-radius:50%;background:transparent;color:#f2f0eb;pointer-events:none;opacity:0;transition:opacity .14s,width .18s,height .18s,margin .18s,border-color .18s;transform:translate3d(-100px,-100px,0);will-change:transform;contain:layout style paint}
.cx-site-pointer::backdrop{display:none}.cx-site-pointer.is-visible{opacity:1}.cx-site-pointer i{position:absolute;left:50%;top:50%;width:3px;height:3px;transform:translate(-50%,-50%);border-radius:50%;background:currentColor}
.cx-site-pointer.is-link{width:48px;height:48px;margin:-24px 0 0 -24px;border-color:#ff744d}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){body.cx-cursor-active,body.cx-cursor-active *{cursor:none!important}body.cx-cursor-active input,body.cx-cursor-active textarea{cursor:text!important}body.cx-cursor-active select,body.cx-cursor-active video{cursor:auto!important}}
/* Contact: a quiet editorial panel beside a purposeful, accessible enquiry form. */
html.cx-contact-open{overflow:hidden}
#contact-dialog.cx-contact-dialog{position:fixed;inset:0;width:min(1000px,calc(100vw - 56px));max-width:1000px;max-height:calc(100dvh - 56px);height:fit-content;margin:auto;padding:0;border:1px solid #78829b55;border-radius:8px;background:#10121a;color:#f2f0eb;overflow:auto;box-shadow:0 35px 140px #000b;font-family:'DM Sans',sans-serif}
#contact-dialog::backdrop{background:#04050bc9;backdrop-filter:blur(9px)}
.cx-contact-shell{display:grid;grid-template-columns:36% 64%;min-height:690px}
.cx-contact-art{position:relative;isolation:isolate;overflow:hidden;padding:36px 32px 30px;border-right:1px solid #8190b32b;background:radial-gradient(ellipse at 0% 80%,#233b6660,transparent 67%),#090b12;display:flex;flex-direction:column}
.cx-contact-brand{font:500 26px Manrope,sans-serif;letter-spacing:-1.6px;align-self:flex-start}.cx-contact-brand sup{font-size:9px;vertical-align:top;color:#f2f0eb;margin-left:2px}
.cx-contact-kicker{display:block;font-size:8px;letter-spacing:1.5px;color:#9bacc7;margin-top:57px}
.cx-contact-art h2{font:400 49px/.98 Manrope,sans-serif;letter-spacing:-2.8px;margin:20px 0 23px}.cx-contact-art h2 em{display:block;font:italic 57px/1.1 Georgia,serif;letter-spacing:-2.3px;color:#ff744d;margin-top:6px;white-space:nowrap}
.cx-contact-art>p{max-width:240px;font-size:14px;line-height:1.65;color:#a7a9b2;margin:0}
.cx-contact-orbit{position:absolute;z-index:-1;left:-105px;top:310px;width:445px;height:445px;border:1px solid #82a6e83d;border-radius:50%;transform:rotate(-24deg)}
.cx-contact-orbit:after{content:'';position:absolute;inset:35px;border:1px solid #536da322;border-radius:50%}.cx-contact-orbit i{position:absolute;top:31px;left:103px;width:5px;height:5px;border-radius:50%;background:#93baff;box-shadow:0 0 17px #94bfff}.cx-contact-orbit b{position:absolute;right:15px;bottom:134px;width:4px;height:4px;border-radius:50%;background:#ff744d}
.cx-contact-signoff{margin-top:auto;padding-top:55px}.cx-contact-signoff>span{display:flex;gap:9px;align-items:center;font-size:9px;letter-spacing:.6px;color:#c6c9d2}.cx-contact-signoff i{width:6px;height:6px;border-radius:50%;background:#ff744d}.cx-contact-signoff p{font-size:10px;color:#8290a8;line-height:1.7;margin:18px 0 0}
.cx-contact-main{padding:26px 36px 23px;min-width:0;display:flex;flex-direction:column}
.cx-contact-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:21px}.cx-contact-top>span{font-size:8px;letter-spacing:1.8px;color:#969da9}.cx-contact-close{display:flex;align-items:center;gap:12px;padding:8px 0 8px 12px;border:0;background:none;font-size:11px;color:#b9bdc7}.cx-contact-close span{font-size:25px;font-weight:300;line-height:1}.cx-contact-close:hover{color:#ff744d}
.cx-form-intro{font:400 24px/1.2 Manrope,sans-serif;letter-spacing:-.7px;margin:0 0 25px}.cx-form-intro span{display:inline-block;font:400 13px/1.5 'DM Sans',sans-serif;letter-spacing:0;color:#9399a9;margin-top:6px}
.cx-fields{display:grid;grid-template-columns:1fr 1fr;column-gap:22px;row-gap:19px}.cx-fields>label{display:block;font-size:11px;color:#bec2cc;letter-spacing:.15px;min-width:0}.cx-fields>label>span:not(.cx-select-wrap){color:#ff744d}.cx-field-wide{grid-column:1/-1}
.cx-fields input,.cx-fields textarea,.cx-fields select{width:100%;box-sizing:border-box;display:block;font:400 13px/1.5 'DM Sans',sans-serif;background:#0a0d144f;border:0;border-bottom:1px solid #67718b73;border-radius:0;color:#f2f0eb;padding:10px 0;margin-top:5px;transition:border-color .2s,background .2s;outline:none}
.cx-fields input::placeholder,.cx-fields textarea::placeholder{color:#687082;opacity:1}.cx-fields input:focus,.cx-fields textarea:focus,.cx-fields select:focus{border-bottom-color:#ff744d;background:#4359f508;box-shadow:0 1px #ff744d;outline:none}.cx-fields textarea{resize:vertical;min-height:80px;max-height:220px}
.cx-select-wrap{display:block;position:relative}.cx-select-wrap select{appearance:none;padding-right:25px;min-height:41px;cursor:pointer;color-scheme:dark}.cx-select-wrap>span{position:absolute;right:4px;top:12px;pointer-events:none;color:#ff744d;font-size:16px}.cx-select-wrap option{background:#11131d;color:#f2f0eb}
.cx-form-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.cx-form-privacy{font-size:9px;line-height:1.6;color:#787f90;margin:15px 0 0;max-width:450px}.cx-form-privacy a{text-decoration:underline;text-underline-offset:2px}
.cx-form-status{font-size:12px;line-height:1.5;color:#ffac94;margin:12px 0 0}.cx-form-status:empty{display:none}
.cx-form-submit{width:100%;display:flex;align-items:center;justify-content:space-between;gap:25px;border:1px solid #ff744d;color:#0b0d13;background:#ff744d;border-radius:3px;padding:14px 18px;margin-top:21px;font-size:13px;font-weight:500;transition:background .25s,transform .25s}.cx-form-submit b{font-size:21px;font-weight:400}.cx-form-submit:hover:not(:disabled){background:#ff8c6b}.cx-form-submit:disabled{opacity:.65;cursor:wait}
.cx-contact-bottom{display:flex;justify-content:space-between;gap:10px;margin-top:auto;padding-top:25px;font-size:9px;color:#8c93a3}.cx-contact-bottom>span:last-child{font-size:7px;letter-spacing:1px;color:#677086}
.cx-form-success{margin:auto 0;padding:40px 0}.cx-form-success[hidden],#cx-contact-form[hidden]{display:none!important}.cx-success-mark{display:grid;place-items:center;width:57px;height:57px;border:1px solid #82a8e373;border-radius:50%;font-size:26px;color:#ff744d;margin-bottom:32px}.cx-form-success>p:first-of-type{font-size:9px;letter-spacing:1.8px;color:#8592a9}.cx-form-success h3{font:400 48px/1.05 Manrope,sans-serif;letter-spacing:-2px;margin:20px 0}.cx-form-success h3 em{font-family:Georgia,serif;color:#ff744d}.cx-form-success p{font-size:14px;line-height:1.7;color:#a7a9b2;max-width:380px}.cx-form-success button{border:1px solid #808a9c66;border-radius:30px;background:none;padding:14px 22px;color:#f2f0eb;margin-top:20px;font-size:12px}.cx-form-success button span{margin-left:28px}
@media(min-width:1700px){.cx-services{gap:22px}}
@media(max-width:1100px) and (min-width:761px){.cx-copy h1{font-size:clamp(34px,4.1vw,48px)}.cx-services{gap:10px}.cx-services p{font-size:10px}.cx-prelude p{font-size:8px}.cx-orbit-mark{width:72px;height:72px}.cx-service-rail{padding:0 3%}.cx-service-rail a{padding:20px 13px}.cx-service-rail strong{font-size:11px}.cx-service-rail small{font-size:9px}.cx-contact-art{padding-inline:24px}.cx-contact-art h2{font-size:42px}.cx-contact-art h2 em{font-size:46px}.cx-contact-main{padding-inline:26px}}
@media(max-width:760px){.cx-copy h1{font-size:clamp(38px,10vw,65px)}.cx-copy h1 em{font-size:1.42em}.cx-services{gap:10px}.cx-services p{font-size:10px}.cx-services li>span{font-size:11px}.cx-service-rail{grid-template-columns:1fr 1fr;padding:0 6%}.cx-service-rail a{padding:20px 16px;border-bottom:1px solid #a7a9b21c}.cx-service-rail a:nth-child(2n){border-right:1px solid #a7a9b21c}.cx-service-rail a:last-child{grid-column:1/-1;display:grid;grid-template-columns:30px 1fr;column-gap:15px}.cx-service-rail a:last-child .cx-rail-index{grid-row:1/3;display:block;margin:0}.cx-service-rail a:last-child .cx-rail-index>span{display:block;margin-top:6px}.cx-service-rail strong{font-size:12px}.cx-service-rail small{font-size:9px}.cx-rail-index{margin-bottom:10px}.cx-site-pointer{display:none!important}#contact-dialog.cx-contact-dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);border-radius:6px}.cx-contact-shell{grid-template-columns:1fr;min-height:0}.cx-contact-art{display:none}.cx-contact-main{padding:16px 22px 21px}.cx-contact-top{margin-bottom:15px}.cx-contact-main:before{content:'Your next project.';font:400 24px Manrope,sans-serif;letter-spacing:-1px;margin-bottom:8px}.cx-form-intro{font-size:20px;margin-bottom:20px}.cx-form-intro span{font-size:12px}.cx-fields{gap:18px 16px}.cx-fields>label{font-size:10px}.cx-fields input,.cx-fields select,.cx-fields textarea{font-size:16px}.cx-fields textarea{min-height:90px}.cx-contact-bottom{font-size:8px}.cx-contact-bottom>span:last-child{display:none}.cx-form-privacy{font-size:9px}.cx-form-submit{min-height:49px}.cx-contact-close{min-height:44px}.cx-form-success{padding:22px 0 40px}}
@media(max-width:420px){.cx-fields{grid-template-columns:1fr}.cx-field-wide{grid-column:auto}.cx-contact-main{padding-inline:20px}.cx-form-intro{margin-bottom:18px}.cx-fields{row-gap:16px}}
@media(max-width:760px){.cx-contact-top{position:sticky;top:0;z-index:2;background:#10121a;padding-block:4px}}
@media(prefers-reduced-motion:reduce){.cx-service-rail *,.cx-contact-dialog *{transition:none!important;animation:none!important}.cx-site-pointer{display:none!important}}

/* Portrait grading and independently moving atmosphere. */
.cx-portrait img{filter:brightness(.98) contrast(1.04) saturate(.90);}
.cx-portrait{mask-image:linear-gradient(#000 58%,#000b 75%,transparent 99%);}
.cx-portrait-fog{position:absolute;z-index:3;left:-9%;top:43%;width:76%;height:62%;pointer-events:none;background:url('assets/editorial-blue-smoke.png') 30% 65%/cover no-repeat;mix-blend-mode:screen;opacity:.24;mask-image:radial-gradient(ellipse at 47% 53%,#000 5%,transparent 68%);transform:translate3d(calc(var(--cx-x)*-19px),calc(var(--cx-y)*-11px),0);}
.cx-portrait-fog:after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 40% 60%,#4359f518,transparent 65%);}
.cx-copy h1 em{font-size:1.23em;white-space:nowrap;line-height:1.13}
.cx-summary{font-size:clamp(15px,1.12vw,20px);line-height:1.6}
/* A continuous studio service ribbon. Hover/focus pauses it for selection. */
.cx-service-band{position:relative;background:#0b0d14;border-block:1px solid #a7a9b225;overflow:hidden;}
.cx-band-heading{display:flex;align-items:center;justify-content:space-between;padding:16px 4.8%;border-bottom:1px solid #a7a9b218;color:#8992a7;font:10px/1.5 'DM Sans',sans-serif;letter-spacing:2px;}
.cx-motion-toggle{display:flex;gap:14px;align-items:center;background:none;border:0;color:#a7a9b2;font:11px 'DM Sans',sans-serif;letter-spacing:.3px;padding:5px 0;}
.cx-motion-toggle span{color:#ff744d}.cx-motion-toggle:hover{color:#f2f0eb}
.cx-service-rail{display:block;padding:0;border:0;background:none;overflow:hidden;}
.cx-service-track{display:flex;width:max-content;animation:cx-ribbon 48s linear infinite;}
.cx-service-track-group{display:flex;flex-shrink:0;}
.cx-service-rail a,.cx-service-rail a:last-child{display:block;flex:0 0 auto;width:330px;box-sizing:border-box;padding:26px 30px 30px;border:0;border-right:1px solid #a7a9b220;overflow:hidden;}
.cx-service-rail strong{font:400 24px/1.2 Manrope,sans-serif;letter-spacing:-.9px;max-width:250px;min-height:58px;transition:color .3s,transform .3s;}
.cx-service-rail small{font-size:12px;margin-top:14px;color:#9298a8;}
.cx-rail-index{font-size:8px;letter-spacing:1.25px;text-transform:uppercase;margin-bottom:22px;}
.cx-rail-index>span{font-size:23px;}
.cx-service-rail a:hover,.cx-service-rail a:focus-visible{background:linear-gradient(120deg,#4359f512,#ff744d08);outline-offset:-3px;}
.cx-service-rail a:hover strong{color:#ff9274;transform:translateX(4px);}
.cx-service-rail a:after{inset:auto 30px 0;}
.cx-service-band:hover .cx-service-track,.cx-service-band:focus-within .cx-service-track,.cx-service-band.is-paused .cx-service-track{animation-play-state:paused;}
@keyframes cx-ribbon{to{transform:translateX(calc(-1 * var(--cx-ribbon-cycle, 1650px)))}}
@media(max-width:760px){.cx-portrait{mask-image:linear-gradient(90deg,transparent,#000 12%),linear-gradient(#000 50%,transparent 88%);mask-composite:intersect;}.cx-portrait-fog{top:240px;left:-20%;width:125%;height:230px;opacity:.28;transform:none;}.cx-service-track{animation:none;transform:none;}.cx-service-track-group[aria-hidden]{display:none;}.cx-service-rail{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#ff744d55 transparent;}.cx-service-rail a,.cx-service-rail a:last-child{width:280px;scroll-snap-align:start;padding:25px;}.cx-service-rail strong{font-size:23px;}.cx-service-rail a:last-child .cx-rail-index{display:flex;margin-bottom:22px;}.cx-service-rail a:last-child .cx-rail-index>span{display:inline;margin:0;}.cx-band-heading{padding:16px 7%;font-size:8px;}.cx-motion-toggle{display:none;}.cx-copy h1 em{font-size:1.23em}}
@media(prefers-reduced-motion:reduce){.cx-service-track{animation:none;}.cx-service-rail{overflow-x:auto;}.cx-service-track-group[aria-hidden]{display:none;}.cx-motion-toggle{display:none;}.cx-portrait-fog{transform:none;}}

/* Approved agency positioning and unnumbered service labels. */
.cx-copy h1{font-size:clamp(32px,3.05vw,59px)}
.cx-copy h1 em{font-size:1.1em;line-height:1.2}
.cx-services li{border-top:1px solid #a7a9b236;padding-top:10px}
.cx-services p{margin-top:0}
.cx-action-row>p{font-size:10px;line-height:1.7;letter-spacing:1px;color:#a7b2c5}
@media(max-width:1100px) and (min-width:761px){.cx-copy h1{font-size:3.5vw}}
@media(max-width:760px){.cx-copy h1{font-size:clamp(28px,7.3vw,53px)}.cx-copy h1 em{font-size:1.1em}}
/* Personal introduction and portrait bleed with room for parallax. */
@media(min-width:1101px){.cx-portrait{left:-24px;width:min(59%,90svh)}}
.cx-identity{top:24%;left:4.8%;font-family:Manrope,sans-serif;font-size:clamp(16px,1.3vw,25px);font-weight:400;letter-spacing:-.5px;line-height:1.4;text-transform:none;color:#f2f0eb}
.cx-identity span{font-family:'DM Sans',sans-serif;font-size:9px;letter-spacing:2px;text-transform:uppercase;color:#a7a9b2;margin-top:10px}
.cx-identity:after{content:'';display:block;width:clamp(55px,6vw,115px);height:1px;margin-top:20px;background:linear-gradient(90deg,#9bb8e47a,transparent)}
@media(max-width:1100px) and (min-width:761px){.cx-identity{top:22%;left:5%;font-size:17px}.cx-identity span{font-size:8px;letter-spacing:1px}}
@media(max-width:760px){.cx-identity{top:142px;left:7%;font-size:17px;max-width:165px}.cx-identity span{font-size:7px;letter-spacing:1px}.cx-identity:after{width:55px;margin-top:13px}}

