/* Stable disclosures and a lighter control scale. */
.button,.hero .hero-actions .button,.mega-cta .button,.contact-invite>.button{min-height:40px;padding:10px 18px;font-size:12px;line-height:1.4;border-radius:9px;box-shadow:inset 0 1px 0 #ffffff24,0 3px 8px #2024a314}
.hero .hero-actions .button{min-height:40px;padding:10px 18px}.hero .hero-actions .button .action-label{font-size:12px!important;font-weight:500}.hero .hero-actions .button>.action-icon{width:16px;height:16px}.hero .hero-actions .button .icon,.button .icon{width:16px;height:16px}.hero .hero-actions .outline{min-height:40px;box-shadow:inset 0 1px 0 #ffffff08}.button:hover,.hero .hero-actions .button:hover{box-shadow:inset 0 1px 0 #ffffff24,0 4px 10px #2024a31a}
.service-cards{align-items:start}.service-card,.service-card.featured,.service-card:last-child,.service-card:has(.service-expand[open]){grid-column:auto;display:block;padding:29px;background:linear-gradient(140deg,#fff,#f8faff);border:1px solid #dfe6f2;border-radius:22px;box-shadow:0 6px 24px #1d365b08;gap:0;transition:border-color .2s,box-shadow .2s;transform:none}.service-card.featured,.service-card.featured:has(.service-expand[open]){background:linear-gradient(130deg,#f4f7ff,#edf3ff);border-color:#d2def4}.service-card:hover{transform:none;border-color:#becde7;box-shadow:0 9px 26px #1d365b0d}.service-card:has(.service-expand[open]) .service-card-intro{padding:0;border:0}.service-card:has(.service-expand[open]) .service-expand{margin-top:8px;border-top:1px solid #e0e7f2;padding-top:0}.service-card:has(.service-expand[open]) summary,.service-expand summary{min-height:52px;padding:12px 0 0}.service-card h3,.service-card.featured h3,.service-card.featured:has(.service-expand[open]) h3{color:#16223a!important}.service-card.featured .service-headline,.service-card.featured:has(.service-expand[open]) .service-headline{color:#34415a!important}.service-card.featured .service-card-intro>p{color:#647087}.service-card.featured .service-index,.service-card:has(.service-expand[open]) .service-index{color:#64728b;font-size:9px}.service-card.featured .icon-tile,.service-card.featured:has(.service-expand[open]) .icon-tile{background:#f0f4ff;border-color:#dce5fa}.service-card.featured .icon-tile .icon{color:#4b51d1}.service-card.featured .service-topics,.service-card.featured:has(.service-expand[open]) .service-topics{color:#535e91!important}.service-card.featured summary{color:#374b96}.service-card.featured .expand-disc{background:#eaf0fc;border-color:#dce5f4}.service-expanded .service-items{grid-template-columns:1fr;gap:18px}.service-expanded .service-items article{display:flex;gap:13px;padding-top:16px}.service-items article>.cap-icon{flex:none;margin:0}.service-expand{margin-top:8px}.service-card .service-card-intro{height:auto}.service-expanded{padding-top:18px}.scope-process{margin-top:22px}.service-connection{margin-top:22px}
.industry-bottom p{max-width:none;white-space:normal;flex:1}.industry-bottom{gap:25px}.contact-invite{display:grid;grid-template-columns:1fr auto;gap:24px 30px}.contact-invite>div{display:contents}.contact-invite .eyebrow{grid-column:1/-1;margin:0}.contact-invite h2{grid-column:1/-1;max-width:none;font-size:clamp(27px,2.5vw,36px);line-height:1.2;text-wrap:nowrap;letter-spacing:-.035em;margin:0}.contact-invite p:not(.eyebrow){grid-column:1;max-width:760px!important;margin:0;font-size:15px;line-height:1.8}.contact-invite>.button{grid-column:2;grid-row:3;align-self:center}
.back-top{width:44px;height:44px;min-width:44px;display:grid;place-items:center;padding:0;border-radius:50%;border:1px solid #dbe4f2;background:linear-gradient(145deg,#fff,#f1f5fc);box-shadow:0 3px 9px #203d6b0a;color:#3b527b;transition:background .2s,border-color .2s,transform .2s}.back-top .icon{width:19px;height:19px}.back-top:hover{background:#e9effd;border-color:#b7c8e9;transform:translateY(-2px)}.back-top:focus-visible{outline:2px solid #5367c7;outline-offset:4px}
@supports(interpolate-size:allow-keywords){.service-expand{interpolate-size:allow-keywords}.service-expand::details-content{height:0;overflow:clip;transition:height .24s ease,content-visibility .24s allow-discrete}.service-expand[open]::details-content{height:auto}}
@media(min-width:1100px){.industry-bottom p{white-space:nowrap}}
@media(max-width:1000px){.service-card,.service-card.featured,.service-card:last-child,.service-card:has(.service-expand[open]){padding:25px}.contact-invite h2{font-size:29px;text-wrap:balance}.contact-invite p:not(.eyebrow){font-size:14px}}
@media(max-width:760px){.contact-invite{grid-template-columns:1fr;gap:20px}.contact-invite h2{grid-column:1;text-wrap:balance}.contact-invite>.button{grid-column:1;grid-row:auto;justify-self:start}.service-card:has(.service-expand[open]) .service-expand{padding-top:0}}
@media(max-width:540px){.button,.hero .hero-actions .button,.mega-cta .button,.contact-invite>.button{min-height:44px;padding:11px 17px}.hero .hero-actions .button,.hero .hero-actions .outline{min-height:44px;width:min(100%,235px)}.hero .hero-actions .button .action-label{font-size:12px!important}.service-card,.service-card.featured,.service-card:last-child,.service-card:has(.service-expand[open]){padding:23px;border-radius:19px}.service-card:has(.service-expand[open]) .service-index,.service-card .service-index{font-size:8px}.contact-invite h2{font-size:28px;text-wrap:balance}.contact-invite>.button{width:auto;font-size:12px}.industry-bottom p{font-size:13px;line-height:1.7}.back-top{align-self:flex-end}}
@media(prefers-reduced-motion:reduce){.service-expand::details-content{transition:none}.back-top:hover{transform:none}}
@media(max-width:1000px),(pointer:coarse){.button,.hero .hero-actions .button,.hero .hero-actions .outline,.mega-cta .button,.contact-invite>.button{min-height:44px}}
/* Keep the closing action in the text flow; give marketing its own right-side composition. */
.contact-invite{grid-template-columns:1fr;gap:22px}.contact-invite>.button{grid-column:1;grid-row:auto;justify-self:start;margin-top:2px}.contact-invite p:not(.eyebrow){max-width:820px!important}
@media(min-width:761px){.hero[data-composition=marketing] .hero-copy{max-width:650px;margin-left:auto;margin-right:0;text-align:right;align-items:flex-end}.hero[data-composition=marketing] .hero-description{margin-left:auto;margin-right:0;max-width:510px}.hero[data-composition=marketing] .eyebrow.light,.hero[data-composition=marketing] .hero-actions{justify-content:flex-end}.hero[data-composition=marketing] .hero-overlay{background:linear-gradient(270deg,#09182bf0 0%,#0d213bdc 43%,#10233b35 100%),linear-gradient(0deg,#081a3dcc,transparent 40%)}}
.service-expand{scroll-margin-top:120px}.service-expand summary:focus-visible{outline:2px solid #687be0;outline-offset:5px;border-radius:8px}
/* Keep each marketing headline phrase intact across viewport sizes. */
.hero[data-composition=marketing] .hero-copy h1{font-size:clamp(38px,6vw,70px)}
.hero[data-composition=marketing] .hero-copy h1 .growth{white-space:nowrap}
@media(min-width:761px){.hero[data-composition=marketing] .hero-copy{max-width:720px}}
@media(max-width:540px){.hero[data-composition=marketing] .hero-copy h1{font-size:clamp(25px,7.6vw,40px)}}
/* Mirror only the company slide photograph, keeping foreground content unchanged. */
.hero .slides img:first-child{transform:scaleX(-1)}
.header-social{display:flex;align-items:center;gap:3px;padding-right:15px;border-right:1px solid #ffffff24;flex-shrink:0}.header-social>a,.header-social>span{width:34px;height:38px;display:grid;place-items:center;border-radius:7px;color:#edf3ff}.header-social svg{width:17px;height:17px}.header-social>a:hover{background:#ffffff15;color:#9de8ff}.header-social>a:focus-visible{outline:2px solid #a1dfff;outline-offset:2px}.header-social>span{color:#95a1bb;cursor:default}.contact-inner{gap:20px}.utility-left{flex:1}
#service-dialog{width:min(900px,calc(100% - 40px));max-width:900px}#service-dialog .dialog-panel{padding:44px}#service-dialog h2{font-size:38px;max-width:90%;margin:15px 0}#service-dialog p{color:#62718a;line-height:1.75}#service-dialog .service-dialog-lead{font-size:18px;color:#253654;font-weight:600;margin-bottom:15px}.service-dialog-needs{background:#f0f5ff;border:1px solid #e0e8f7;padding:18px 22px;border-radius:15px;margin:26px 0}.service-dialog-capabilities{display:grid;grid-template-columns:1fr 1fr;gap:24px 28px}.service-dialog-capabilities article{display:flex;gap:14px;border-top:1px solid #e4eaf4;padding-top:20px}.service-dialog-capabilities .cap-icon{color:#5363cd;flex:none}.service-dialog-capabilities h4{font-size:16px;margin:0 0 7px;color:#253654}.service-dialog-capabilities p{font-size:14px;margin:0}#service-dialog .service-connection{margin-block:26px}#service-dialog .button{margin-top:8px}
@media(min-width:541px) and (max-width:1000px){.header-social>a,.header-social>span{width:38px;height:44px}.contact-inner{gap:14px}.header-social{padding-right:10px}.utility-left>a{font-size:10px}}
@media(max-width:540px){.header-social{display:none}#service-dialog{width:calc(100% - 24px)}#service-dialog .dialog-panel{padding:34px 23px}#service-dialog h2{font-size:29px;max-width:85%}.service-dialog-capabilities{grid-template-columns:1fr;gap:20px}#service-dialog .service-dialog-lead{font-size:16px}#service-dialog .button{white-space:normal;text-align:left}}
@media(max-width:767px){.header-social{display:none}}
#service-dialog .service-back{display:block;background:none;border:0;padding:12px 0;min-height:44px;color:#536280;font-size:13px;margin-top:8px;text-decoration:underline;text-underline-offset:4px;cursor:pointer}#service-dialog .service-back:hover{color:#324bc0}#service-dialog .service-back:focus-visible{outline:2px solid #687be0;outline-offset:3px}
.hero .hero-actions .hero-explore[hidden]{display:none}
