/* Expert review completion: continuous surfaces and a consistent reading scale. */
.sj-home{--ej-surface:#110a1e;--ej-line:#3a2b49;--ej-muted:#c3b7ce}
.sj-home :is(.ej-solutions,.ej-work,.ej-process,.ej-sectors,.sj-faq){background:var(--ej-surface);color:#faf7ff;border:0}
.sj-home .ej-solutions{background:linear-gradient(#08031a,var(--ej-surface) 90px)}
.sj-home :is(.ej-work,.ej-process,.ej-sectors,.sj-faq)>.sj-container{border-top:1px solid var(--ej-line);padding-top:36px}
.sj-home :is(.ej-work,.ej-process,.ej-sectors,.sj-faq){padding-top:0}
.sj-home .ej-heading .sj-eyebrow,.sj-home .ej-text-link{color:#ceb0f5!important}
.sj-home .ej-heading>p,.sj-home .ej-process-grid p{color:var(--ej-muted)}
.sj-home .ej-work-card{background:#1d122c;border-color:#49335e;overflow:hidden;border-radius:12px}
.sj-home .ej-work-image{border-color:#49335e;background:#f3edf8;aspect-ratio:3/2}
.sj-home .ej-work-image img{object-position:top}
.sj-home .ej-work-copy h3{color:#fff;font-size:18px}
.sj-home .ej-work-copy p{color:#cbbcd8;font-size:14px;line-height:1.9}
.sj-home .ej-work-copy>span{color:#d9baff}
.sj-home .ej-partner-band{border-color:var(--ej-line)}
.sj-home .ej-partner-band h3{color:#d8cbe4}
.sj-home .ej-partner-logos{background:#f4f0f8;border-radius:10px;padding:16px 20px}
.sj-home .ej-solution{border-radius:10px;padding:22px}
.sj-home .ej-solution-icon{border-radius:10px;margin-bottom:16px}
.sj-home .ej-solution h3{font-size:18px;line-height:1.75}
.sj-home .ej-solution-kind{font-size:13px}
.sj-home .ej-solution p{font-size:14px}
.sj-home .ej-solution-links{font-size:14px;margin-top:16px}
.sj-home .ej-process-grid{gap:22px}
.sj-home .ej-process-grid li{border:0;padding-top:8px}
.sj-home .ej-process-grid li>span{font-size:14px}
.sj-home .ej-next{margin-bottom:0;padding-bottom:36px}
.sj-home .ej-next>a{border-radius:10px;background:#241532}
.sj-hero--artwork .sj-hero-artwork{opacity:.72;transform:none}
.sj-hero-artwork picture{display:block;width:100%;height:100%}
.sj-hero--artwork .sj-hero-artwork img{object-fit:cover;object-position:right center}
@media(min-width:901px){.sj-hero--artwork .sj-hero-content{width:min(650px,42%);margin-left:3vw}}
@media(max-width:900px){.sj-hero--artwork .sj-hero-artwork img{object-fit:cover;object-position:76% top}}
@media(max-width:600px) and (max-height:740px){.sj-hero--artwork .sj-hero-artwork{height:45%}.sj-hero--artwork .sj-hero-content{padding-bottom:110px}}
.sj-hero--artwork .sj-hero-motion{opacity:.6}
.sj-hero--artwork #hero-tunnel{opacity:calc(1 - var(--hero-progress,0)*.15)}
.sj-hero--artwork .sj-hero-shade{background:linear-gradient(90deg,#08031af2,#08031aaa 45%,#08031a33 78%),linear-gradient(0deg,#08031a,transparent 45%)}
.sj-hero--artwork .sj-hero-content{opacity:1;transform:translateY(calc(var(--hero-progress,0)*-12px))}
.sj-hero--artwork h1{font-size:clamp(2rem,3.6vw,3.4rem);line-height:1.65}
.sj-hero--artwork p{font-size:16px;line-height:2;max-width:600px}
.sj-mega{max-width:1080px;margin-inline:auto;border-radius:0 0 12px 12px}
.sj-mega-intro h2{font-size:21px}.sj-mega-links small{font-size:12px}.sj-mega-links>a{border-radius:8px}
/* Interior pages use one paper surface, with purple accents rather than full-screen flips. */
.tr-sui .tr-main{background:#f3eef8;color:#21152f}
.tr-sui .tr-main .tr-phero{background:linear-gradient(135deg,#ebe2f6,#f3eef8);color:#21152f;padding-block:128px 36px;border-color:#dacde7}
.tr-sui .tr-main .tr-phero::after{opacity:.12}
.tr-sui .tr-main .tr-phero h1{color:#21152f;font-size:clamp(1.7rem,3vw,2.55rem)}
.tr-sui .tr-main .tr-phero__eyebrow{color:#7344ac;font-size:13px;margin-bottom:12px}
.tr-sui .tr-main .tr-crumbs{color:#6b5c7a;margin-bottom:22px;font-size:12px}
.tr-sui .tr-main .tr-phero__lead{color:#685875;font-size:16px;margin-top:14px}
.tr-sui .tr-main :is(.tr-block,.tr-block--dark,.tr-block--tint,.tr-block--panel){background:#f3eef8;color:#21152f;padding-block:40px}
.tr-sui .tr-main .tr-block+.tr-block{border-top:1px solid #ded2e9}
.tr-sui .tr-main .tr-block--dark :is(.t-on-light,.t-on-dark,.tr-index__title,.tr-tile__title,h2,h3){color:#21152f}
.tr-sui .tr-main .tr-block--dark :is(.t-small,.tr-tile__desc,.tr-index__desc,.tr-metric__l,.tr-faq__a p){color:#685875}
.tr-sui .tr-main .tr-block--dark :is(.tr-tile,.tr-metric,.tr-step){background:#fff;color:#21152f;border-color:#ded2e9}
.tr-sui .tr-main .tr-steps{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;background:transparent;border:0}
.tr-sui .tr-main .tr-step{border:1px solid #ded2e9;border-radius:10px;padding:20px}
.tr-sui .tr-main .tr-step__n{color:#7544af}
.tr-sui .tr-main .tr-step__t{color:#21152f;font-size:16px}
.tr-sui .tr-main .tr-block--dark :is(.tr-index,.tr-index__row,.tr-faq__item){border-color:#ded2e9}
.tr-sui .tr-main .tr-block--dark .tr-index__row:hover,.tr-sui .tr-main .tr-block--dark .tr-tile:hover{background:#ece3f6}
.tr-sui .tr-main .tr-block--dark :is(.tr-index__num,.tr-index__go,.tr-block__head .t-label){color:#7544af}
.tr-sui .tr-main .tr-block--dark .tr-tag{background:#e9ddf6;color:#643394;border-color:#ceb6e7}
.tr-sui .tr-main .tr-block__head{margin-bottom:24px}
.tr-sui .tr-main :is(.tr-block__head,.tr-showcase__head) h2{font-size:clamp(1.45rem,2.2vw,1.9rem)}
.tr-sui .tr-main :is(.tr-tile__title,.tr-index__title){font-size:18px!important;line-height:1.9}
.tr-sui .tr-main :is(.t-small,.tr-tile__desc,.tr-index__desc){font-size:14px;line-height:2}
.tr-sui .tr-main .tr-index__row{padding-block:22px;scroll-margin-top:110px}
.tr-sui .tr-main .tr-tile{min-block-size:0;padding:24px;border-radius:10px}
.tr-sui .tr-main :is(.tr-metric__v,.tr-tile .t-num){font-size:24px;line-height:1.5}
.tr-sui :is(.tr-index__num,.tr-step__n,.tr-faq__num){font-size:13px!important;opacity:1}
.tr-sui .tr-main .tr-faq__label{font-size:16px}
.tr-sui .tr-main .tr-prose{font-size:15px;line-height:2}
.tr-sui .tr-main .ej-inner-cta p{color:#685875}
.tr-sui .tr-main .ej-inner-cta h2{font-size:22px}
/* Keep the footer compact while retaining trust records and accessible legal links. */
.sj-footer{background:#110a1e;padding-top:28px;border-top:1px solid #3a2b49}
.ej-footer-head{padding-bottom:16px}.ej-footer-head h2{font-size:20px}
.sj-footer-links{padding-block:20px;gap:16px}.sj-footer-links h3{font-size:14px}
.sj-footer-links a{font-size:13px;margin-bottom:4px}
.ej-footer-registry .tr-registry-cluster{gap:10px}
.tr-sui .tr-final__accreditations{padding-block:16px}
.tr-sui .tr-final__accreditations-head{margin-bottom:12px}
.tr-sui .tr-final__accreditations-head h3{font-size:14px}
.tr-sui .tr-final__badges{gap:10px}.tr-sui .tr-final__badge{flex:0 0 64px;inline-size:64px;block-size:64px;padding:6px}
.sj-footer-legal{padding-block:14px 72px;gap:12px;font-size:11px}
@media(max-width:900px){.sj-hero--artwork .sj-hero-shade{background:linear-gradient(180deg,#08031a88,#08031a44 26%,#08031ad9 49%,#08031a 75%)}.tr-sui .tr-main .tr-phero{padding-top:108px}.sj-mega{border-radius:0}.sj-mega-links>a{padding:12px 8px}}
@media(max-width:600px){.sj-home .ej-solution{padding:20px 72px 20px 20px}.sj-home .ej-solution-icon{margin:0}.sj-home .ej-solution h3{font-size:17px}.sj-home .ej-solution p{font-size:14px}.sj-home .ej-work-image{aspect-ratio:3/2}.sj-home .ej-work-copy h3{font-size:17px}.sj-home .ej-process-grid li{padding-inline-start:34px}.sj-home .ej-process-grid li>span{top:11px}.sj-home :is(.ej-work,.ej-process,.ej-sectors,.sj-faq)>.sj-container{padding-top:28px}.sj-home .ej-partner-logos{padding:14px;gap:18px}.sj-hero--artwork h1{font-size:28px}.sj-hero--artwork p{font-size:14px}.sj-hero--artwork .sj-button{font-size:12px}.tr-sui .tr-main .tr-phero{padding-bottom:28px}.tr-sui .tr-main .tr-phero h1{font-size:27px}.tr-sui .tr-main .tr-phero__lead{font-size:14px}.tr-sui .tr-main :is(.tr-block,.tr-block--dark,.tr-block--tint,.tr-block--panel){padding-block:30px}.tr-sui .tr-main :is(.tr-tile__title,.tr-index__title){font-size:16px!important}.tr-sui .tr-main .tr-tile{padding:20px}.tr-sui .tr-main .tr-index__row{gap:12px}.tr-sui .tr-main .tr-faq__label{font-size:14px}.sj-footer-links{gap:14px}.sj-footer-legal nav{gap:10px}.ej-footer-head{gap:2px}.ej-footer-head p{font-size:12px}.tr-sui .tr-final__badge{flex-basis:58px;inline-size:58px;block-size:58px}}
@media(prefers-reduced-motion:reduce){.sj-hero--artwork :is(.sj-hero-artwork,.sj-hero-content){transform:none}}

/* Three aligned footer columns keep applications and credentials in one place. */
.tr-sui .ej-footer-columns{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,4vw,56px);padding-block:28px;align-items:start}
.tr-sui .ej-footer-column{min-width:0;grid-column:auto}
.tr-sui .ej-footer-column+.ej-footer-column{border-inline-start:1px solid #382a46;padding-inline-start:clamp(20px,3vw,40px)}
.tr-sui .ej-footer-column>h3{font-size:14px;line-height:1.8;margin:0 0 16px;color:#cfb3ee}
.tr-sui .ej-footer-nav a,.tr-sui .ej-footer-contact a{display:flex;align-items:center;gap:12px;min-height:40px;margin:0;font-size:13px;line-height:1.8}
.tr-sui .ej-footer-contact a{flex-wrap:wrap;gap:4px 12px}
.tr-sui .ej-footer-contact a>span{font-size:11px;color:#bba9cc}
.tr-sui .ej-footer-columns .sj-socials{gap:7px;margin-top:18px}
.tr-sui .ej-footer-columns .sj-socials a{inline-size:38px;block-size:38px;min-inline-size:38px;border-radius:8px;background:#241630;border-color:#493257;margin:0}
.tr-sui .ej-footer-columns .sj-socials svg{inline-size:18px;block-size:18px}
.tr-sui .ej-footer-columns .sj-socials [data-platform="snapchat"] svg{inline-size:23px;block-size:23px;transform:translateY(2px)}
.tr-sui .ej-footer-columns .sj-socials [data-platform="tiktok"] svg{inline-size:21px;block-size:21px}
.tr-sui .ej-footer-apps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.tr-sui .ej-footer-columns .ej-footer-apps a{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 12px;min-height:40px;margin:0;border:1px solid #493257;border-radius:8px;color:#e6d7f2;font-size:12px;line-height:1.6;background:#21152c}
.tr-sui .ej-footer-apps .sj-icon{width:15px;height:15px;flex-shrink:0}
.tr-sui .ej-footer-trust .ej-footer-registry{margin-top:18px}
.tr-sui .ej-footer-trust .tr-registry-cluster{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin:0}
.tr-sui .ej-footer-trust .tr-registry-owner{font-size:12px;line-height:1.9;padding:0;margin:0 0 2px;color:#cab9d9}
.tr-sui .ej-footer-trust :is(.tr-commerce-reg,.tr-business-license){display:grid;grid-template-columns:42px minmax(0,1fr) auto;min-block-size:66px;max-width:none;width:100%;gap:10px;padding:10px;margin:0;border-radius:8px;border-color:#493257;background:#1b1026}
.tr-sui .ej-footer-trust .tr-business-license{grid-template-columns:42px minmax(0,1fr)}
.tr-sui .ej-footer-trust :is(.tr-commerce-reg__mark,.tr-business-license__mark){inline-size:42px;block-size:42px;width:42px;height:42px;padding:5px;border-radius:6px}
.tr-sui .ej-footer-trust :is(.tr-commerce-reg__body,.tr-business-license__body){gap:2px}
.tr-sui .ej-footer-trust :is(.tr-commerce-reg__body,.tr-business-license__body) strong{font-size:11px;line-height:1.8}
.tr-sui .ej-footer-trust :is(.tr-commerce-reg__body,.tr-business-license__body)>span{font-size:11px;line-height:1.8}
.tr-sui .ej-footer-trust .tr-commerce-reg__go .sj-icon{width:17px;height:17px}
.tr-sui .ej-footer-columns a:focus-visible{outline:2px solid #c697f4;outline-offset:4px}
@media(max-width:1050px) and (min-width:761px){.tr-sui .ej-footer-columns{gap:22px}.tr-sui .ej-footer-column+.ej-footer-column{padding-inline-start:18px}.tr-sui .ej-footer-apps{grid-template-columns:1fr}.tr-sui .ej-footer-columns .sj-socials{display:grid;grid-template-columns:repeat(3,38px)}}
@media(max-width:760px){.tr-sui .ej-footer-columns{grid-template-columns:1fr;gap:24px;padding-block:24px}.tr-sui .ej-footer-column+.ej-footer-column{border-inline-start:0;border-top:1px solid #382a46;padding-inline-start:0;padding-top:24px}.tr-sui .ej-footer-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.tr-sui .ej-footer-columns .sj-socials a{inline-size:42px;block-size:42px;min-inline-size:42px}.tr-sui .ej-footer-apps a{min-height:44px}.tr-sui .ej-footer-trust :is(.tr-commerce-reg__body,.tr-business-license__body) strong{font-size:12px}}

/* Service artwork stays uncropped; copy and links align below a shared media frame. */
.sj-home .ej-solution--illustrated{padding:0;overflow:hidden}
.ej-solution-media{aspect-ratio:3/2;width:100%;background:#130b22;border-bottom:1px solid #40304f;overflow:hidden}
.ej-solution-media img{display:block;width:100%;height:100%;object-fit:contain}
.ej-solution-body{display:flex;flex-direction:column;flex:1;min-width:0;padding:20px}
.ej-solution-label{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.sj-home .ej-solution--illustrated .ej-solution-icon{position:static;flex:0 0 34px;width:34px;height:34px;margin:0;border-radius:9px}
.ej-solution-label .sj-icon{width:20px;height:20px}
.sj-home .ej-solution--illustrated .ej-solution-kind{margin:0}
.sj-home .ej-solution--illustrated h3{margin:0 0 10px}
.sj-home .ej-solution--illustrated p{margin:0}
.sj-home .ej-solution--illustrated .ej-solution-links{margin-top:14px;gap:8px 16px}
.ej-solution--illustrated a:focus-visible{outline:2px solid #d3b5ff;outline-offset:4px}
@media(max-width:600px){.ej-solution-body{padding:18px}.sj-home .ej-solution--illustrated .ej-solution-links a{min-height:44px}}

/* Inner-page copy must remain readable before and after scroll emphasis. */
.tr-sui .tr-main [data-tr-reveal-text] .word{color:#685875}
.tr-sui .tr-main [data-tr-reveal-text] .word.is-lit{color:#21152f}
@media(prefers-reduced-motion:reduce){.tr-sui .tr-main [data-tr-reveal-text] .word{color:#21152f}}
.tr-sui .tr-main .tr-service-experience .tr-block{--sx-text:#21152f;--sx-muted:#685875;--sx-faint:#6b5c7a}

/* Service tools have an explicit light theme, independent of optional section order. */
.tr-sui .tr-main .tr-service-experience>.sx-tool-section{
  --sx-space:#f3eef8;--sx-night:#fff;--sx-panel:#fff;--sx-panel-strong:#fff;
  --sx-text:#21152f;--sx-muted:#685875;--sx-faint:#6b5c7a;
  --sx-line:#8c789e;--sx-line-soft:#ded2e9;
  --sx-accent:#7544af;--sx-accent-ink:#643394;--sx-violet:#7848d8;
  color:var(--sx-text);color-scheme:light;background:#f3eef8;box-shadow:none
}
.tr-sui .tr-main .sx-tool-section .sx-tool-shell{background:#eee7f6;border-color:#d2c2e2}
.tr-sui .tr-main .sx-tool-section .sx-tool-panel{background:#fff;border-color:#c3aed5;backdrop-filter:none}
.tr-sui .tr-main .sx-tool-section :is(h2,h3,.sx-field>label,.sx-field>legend){color:#21152f}
.tr-sui .tr-main .sx-tool-section :is(p,ul){color:#685875}
.tr-sui .tr-main .sx-tool-section :is(.sx-kicker,.sx-text-button,.sx-tool-result__label){color:#643394}
.tr-sui .tr-main .sx-tool-section .sx-tool-copy li::before{color:#643394;background:#e3d5f2}
.tr-sui .tr-main .sx-tool-section .sx-field :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),select,textarea){color:#21152f;background:#fff;border-color:#8c789e}
.tr-sui .tr-main .sx-tool-section .sx-field :is(input,textarea)::placeholder{color:#6b5c7a;opacity:1}
.tr-sui .tr-main .sx-tool-section .sx-choice span{color:#463153;background:#f8f5fc;border-color:#8c789e}
.tr-sui .tr-main .sx-tool-section .sx-choice input:not(:checked)+span:hover{color:#21152f;background:#ece3f6;border-color:#7544af}
.tr-sui .tr-main .sx-tool-section .sx-choice input:checked+span{color:#fff;background:#7544af;border-color:#7544af;box-shadow:inset 0 0 0 1px #7544af}
.tr-sui .tr-main .sx-tool-section .sx-button--primary{color:#fff;background:#7544af;box-shadow:none}
.tr-sui .tr-main .sx-tool-section .sx-button--primary:hover{background:#643394}
.tr-sui .tr-main .sx-tool-section .sx-range-row output{color:#643394;background:#eee7f6}
.tr-sui .tr-main .sx-tool-section .sx-field input[type="range"]{accent-color:#7544af;background:transparent;box-shadow:none}
.tr-sui .tr-main .sx-tool-section :is(.sx-tool-progress,.sx-tool-result__meter){background:#e6daef}
.tr-sui .tr-main .sx-tool-section :is(.sx-tool-progress,.sx-tool-result__meter) i{background:#7544af;box-shadow:none}
.tr-sui .tr-main .sx-tool-section :is(input,select,textarea):focus{border-color:#7544af;box-shadow:0 0 0 3px #e3d5f2}
.tr-sui .tr-main .sx-tool-section :focus-visible,.tr-sui .tr-main .sx-tool-section .sx-choice input:focus-visible+span{outline:3px solid #643394;outline-offset:3px}
