/* /fonts.css */
/* latin-ext */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/assets/fonts/a5d38fe99f930275.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/assets/fonts/9fea608a947e6702.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(/assets/fonts/de37de877dc17e45.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(/assets/fonts/c268b459a9329e59.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(/assets/fonts/2fb2e8cbfd52ae46.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(/assets/fonts/6bbb044ab420e07e.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(/assets/fonts/3911b66d9f2e005a.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(/assets/fonts/a30ddcd349703aff.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* arabic */
@font-face {
  font-family: 'Noto Sans Arabic';
  font-style: normal;
  font-weight: 400 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(/assets/fonts/ce85091f020920b6.woff2) format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
}
/* math */
@font-face {
  font-family: 'Noto Sans Arabic';
  font-style: normal;
  font-weight: 400 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(/assets/fonts/2c7bffd56133bb33.woff2) format('woff2');
  unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0310, U+0312, U+0315, U+031A, U+0326-0327, U+032C, U+032F-0330, U+0332-0333, U+0338, U+033A, U+0346, U+034D, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2016-2017, U+2034-2038, U+203C, U+2040, U+2043, U+2047, U+2050, U+2057, U+205F, U+2070-2071, U+2074-208E, U+2090-209C, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2100-2112, U+2114-2115, U+2117-2121, U+2123-214F, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B7, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+3030, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF;
}
/* symbols */
@font-face {
  font-family: 'Noto Sans Arabic';
  font-style: normal;
  font-weight: 400 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(/assets/fonts/090786c8626fb67f.woff2) format('woff2');
  unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8BB, U+1F8C0-1F8C1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA89, U+1FA8F-1FAC6, U+1FACE-1FADC, U+1FADF-1FAE9, U+1FAF0-1FAF8, U+1FB00-1FBFF;
}
/* latin-ext */
@font-face {
  font-family: 'Noto Sans Arabic';
  font-style: normal;
  font-weight: 400 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(/assets/fonts/27fe6458d54bcf13.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Noto Sans Arabic';
  font-style: normal;
  font-weight: 400 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(/assets/fonts/fed070abc960c5f2.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


/* /styles.css */
:root{--ink:#111c30;--navy:#0b1527;--blue:#244de8;--muted:#5b6575;--line:#dce1e9;--pale:#f2f5fa;--display:'Manrope','Segoe UI',sans-serif;--body:'DM Sans','Segoe UI',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:#fff;font:400 16px/1.7 var(--body);-webkit-font-smoothing:antialiased}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3{font-family:var(--display);font-weight:500;line-height:1.14}h1,h2{letter-spacing:-.045em}h2{font-size:clamp(2.2rem,4vw,3.65rem);margin-bottom:24px}h3{font-size:1.7rem;letter-spacing:-.025em}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,summary{cursor:pointer}img{max-width:100%;display:block}a,button,summary,input,textarea,select{outline-offset:5px}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #527aff}button{color:inherit}::selection{background:#b8c9ff;color:#102653}.wrap{width:min(1344px,calc(100% - 96px));margin-inline:auto}.skip{position:fixed;top:-100px;left:24px;background:#fff;color:var(--ink);padding:15px;z-index:100}.skip:focus{top:16px}.header{background:#fff;border-bottom:1px solid var(--line);position:relative;z-index:30}.header-inner{display:flex;align-items:center;gap:35px;min-height:94px}.brand{flex:none;display:inline-block}.brand img{width:146px;height:auto}.main-nav{display:flex;align-items:center;gap:25px;margin-inline-start:auto;font-size:14px;font-weight:500}.main-nav>a{padding:30px 0}.main-nav a:hover,.main-nav [aria-current]{color:var(--blue)}.header-tools{display:flex;gap:25px;align-items:center}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;background:var(--blue);color:white;border:1px solid transparent;border-radius:3px;padding:16px 23px;font-weight:500;line-height:1.4;transition:background .15s,transform .15s}.btn:hover{background:#153abf;transform:translateY(-2px)}.btn.small{padding:12px 18px;font-size:14px;gap:18px}.btn.light{background:#fff;color:var(--ink)}.btn.light:hover{background:#e6edff}.arrow{font:400 24px/1 var(--body);display:inline-block;flex:none}.text-link{display:inline-flex;align-items:center;gap:18px;font-weight:500}.text-link:hover{color:var(--blue)}details>summary{list-style:none}details>summary::-webkit-details-marker{display:none}.locale,.nav-more{position:relative;font-size:14px}.locale summary,.nav-more summary{padding:15px 0}.dropdown{position:absolute;top:100%;inset-inline-end:-15px;background:#fff;border:1px solid var(--line);min-width:220px;padding:10px;box-shadow:0 18px 45px #0c204022;z-index:40}.dropdown a{display:block;padding:10px 12px;white-space:nowrap}.dropdown a:hover,.dropdown a[aria-current]{background:var(--pale);color:var(--blue)}.menu-btn{display:none;border:0;background:none;width:42px;height:44px;padding:12px 7px}.menu-btn span{display:block;height:2px;background:var(--ink);margin:6px 0}.mobile-nav{padding:15px 24px 30px;border-top:1px solid var(--line)}.mobile-nav a{display:block;padding:12px}.mobile-nav[hidden]{display:none}.hero{overflow:hidden;background:var(--navy);color:#fff}.hero-inner{display:grid;grid-template-columns:1.08fr .92fr;min-height:690px;align-items:center;gap:15px}.hero-copy{position:relative;z-index:2;padding-block:76px}.eyebrow{font-size:13px;letter-spacing:.13em;line-height:1.6;font-weight:600;color:var(--blue);margin-bottom:24px}.hero .eyebrow{color:#a9c2ff}.hero h1{font-size:clamp(3rem,4.7vw,4.75rem);line-height:1.08;margin:0 0 28px;max-width:730px}.hero h1 span{color:#a4bcff}.lede{font-size:19px;line-height:1.7;max-width:535px;color:#c4ccd9;margin-bottom:32px}.hero-actions{display:flex;gap:28px;flex-wrap:wrap;align-items:center}.hero .text-link{font-size:15px}.hero .text-link:hover{color:#a9c2ff}.location{font-size:14px;color:#99a8bc;margin:32px 0 0}.hero-art{position:relative;align-self:stretch;min-width:0;margin-inline-end:-80px;display:flex;align-items:center}.hero-art>img{width:100%;height:100%;object-fit:cover;object-position:52% center;position:absolute;inset:0}.art-caption{position:absolute;bottom:32px;left:25px;right:80px;display:flex;justify-content:space-between;gap:16px;color:#9cacbe;font-size:12px;letter-spacing:.09em;direction:ltr}.proof-bar{border-bottom:1px solid var(--line)}.proof-inner{display:flex;align-items:center;justify-content:space-between;padding-block:26px;gap:20px}.proof-inner>a{display:flex;align-items:center;flex-wrap:wrap;gap:20px;font-size:14px}.proof-inner strong{font-weight:600}.stars{color:var(--blue);letter-spacing:.12em;white-space:nowrap}.meta{font-size:13px;color:var(--muted)}.section{padding-block:100px}.section-head{display:grid;grid-template-columns:1.2fr 1fr;gap:80px;align-items:end;margin-bottom:50px}.section-head h2{margin:0}.section-head>p{margin:0 0 4px;max-width:440px;color:var(--muted);font-size:18px}.expertise-list{border-top:1px solid var(--line)}.expertise-row{display:grid;grid-template-columns:65px 1fr 1fr 35px;gap:20px;align-items:center;padding:34px 8px;border-bottom:1px solid var(--line);transition:background .2s,padding .2s}.expertise-row:hover{background:var(--pale);padding-inline:18px}.expertise-row h3{margin:0;font-size:29px}.number{color:var(--blue);font-size:14px;font-weight:500}.row-sub{color:var(--muted);font-size:15px;max-width:380px}.closing{background:var(--blue);color:white}.closing-inner{display:flex;justify-content:space-between;align-items:center;gap:60px;padding-block:80px}.closing .eyebrow{color:#ccd9ff}.closing h2{margin-bottom:22px}.closing p:last-child{margin:0;color:#d8e2ff}.closing .btn{flex:none}.footer{padding-top:65px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr .8fr;gap:60px;padding-bottom:65px}.footer-grid h3{font-size:15px;font-weight:700;margin-bottom:20px}.footer-grid p{max-width:265px;font-size:14px;color:var(--muted);margin:24px 0 16px}.footer-grid>div>a:not(.brand){display:block;font-size:14px;padding:5px 0;color:#465268}.footer-grid a:hover{color:var(--blue)}.footer-bottom{border-top:1px solid var(--line);padding-block:23px;display:flex;justify-content:space-between;gap:20px;font-size:13px;color:var(--muted)}[dir=rtl]{--body:'Noto Sans Arabic','Segoe UI',sans-serif;--display:'Noto Sans Arabic','Segoe UI',sans-serif}[dir=rtl] h1,[dir=rtl] h2,[dir=rtl] h3{letter-spacing:0;line-height:1.4}[dir=rtl] .eyebrow{letter-spacing:0}[dir=rtl] .hero h1{font-size:clamp(2.6rem,4.4vw,4.1rem)}[dir=rtl] .main-nav{gap:19px}[dir=rtl] .hero-art{margin-inline-end:-80px}
@media(min-width:1650px){.hero-inner{min-height:740px}.hero-art{margin-inline-end:-140px}}
@media(max-width:1200px){.wrap{width:calc(100% - 64px)}.header-inner{gap:22px}.main-nav{gap:18px}.main-nav>a{font-size:13px}.header-tools{gap:17px}.header-cta{display:none}.hero-inner{min-height:650px}.hero h1{font-size:clamp(3rem,5.1vw,4.4rem)}.hero-art{margin-inline-end:-50px}.footer-grid{gap:30px}.expertise-row{grid-template-columns:45px 1fr 1fr 30px}.expertise-row h3{font-size:26px}}
@media(max-width:950px){.main-nav{display:none}.header-tools{margin-inline-start:auto}.menu-btn{display:block}.hero-inner{grid-template-columns:1fr 1fr;gap:0;min-height:600px}.hero h1{font-size:3.1rem}.hero-copy{padding-block:60px}.hero-actions{gap:20px}.lede{font-size:17px}.section-head{gap:45px}.expertise-row{grid-template-columns:40px 1fr 30px}.row-sub{grid-column:2;grid-row:2}.expertise-row>.arrow{grid-column:3;grid-row:1 / 3}.expertise-row{row-gap:12px}.footer-grid{grid-template-columns:1.4fr 1fr 1fr}.footer-grid>div:last-child{grid-column:1 / -1;display:flex;gap:20px;align-items:center;flex-wrap:wrap}.footer-grid>div:last-child h3{margin:0}.section{padding-block:75px}}
@media(max-width:700px){.wrap{width:calc(100% - 40px)}.header-inner{min-height:78px}.brand img{width:131px}.hero-inner{display:flex;flex-direction:column;align-items:stretch}.hero-copy{padding-block:48px 38px}.hero h1{font-size:clamp(2.5rem,8.6vw,3.7rem);max-width:570px}.hero .eyebrow{font-size:12px}.hero-art{height:350px;margin:0 -20px;align-self:auto}.hero-art>img{object-fit:cover;object-position:50% 48%}.art-caption{right:24px;left:24px;bottom:22px}.location{margin-top:25px}.proof-inner{align-items:start;padding-block:22px;flex-direction:column;gap:10px}.proof-inner>a{gap:12px 18px}.proof-inner>a>span:last-child{flex-basis:100%}.section{padding-block:60px}.section-head{grid-template-columns:1fr;gap:22px;margin-bottom:35px}.section-head>p{font-size:17px}.eyebrow{margin-bottom:17px;font-size:12px}.expertise-row{padding-block:28px;gap:8px 12px}.expertise-row h3{font-size:25px}.row-sub{font-size:14px}.closing-inner{flex-direction:column;align-items:start;gap:30px;padding-block:60px}.footer-grid{grid-template-columns:1fr 1fr;gap:36px 20px;padding-bottom:40px}.footer-grid>div:first-child{grid-column:1 / -1}.footer-grid>div:last-child{display:block;grid-column:auto}.footer-grid>div:last-child h3{margin-bottom:20px}.footer{padding-top:45px}.footer-bottom{font-size:12px}.header-tools{gap:16px}[dir=rtl] .hero-art{margin:0 -20px}[dir=rtl] .hero h1{font-size:clamp(2.2rem,8.4vw,3rem)}}
.main-nav .nav-more>summary{display:flex;align-items:center;gap:9px;font-weight:500}
.nav-chevron{display:inline-block;font-size:16px;line-height:1;transition:transform .15s}
details[open]>summary .nav-chevron{transform:rotate(180deg)}
.nav-active{color:var(--blue)}
.nav-more .dropdown{min-width:260px;max-width:calc(100vw - 40px)}
.nav-more .dropdown a{white-space:normal}
.mobile-group{border-bottom:1px solid var(--line)}
.mobile-group>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 12px;font-weight:600}
.mobile-group-links{padding-block:0 12px;padding-inline-start:12px}
.mobile-nav [aria-current]{color:var(--blue)}
.mobile-nav .mobile-contact{display:flex;align-items:center;gap:18px;color:var(--blue);font-weight:600}
@media(min-width:951px){.header-cta{display:inline-flex}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

.clean-hero{background:#fff;color:var(--ink);padding-top:65px}.clean-hero>.wrap>.eyebrow{color:var(--muted);font-size:12px;margin-bottom:34px}.clean-hero-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:90px;align-items:end;padding-bottom:66px}.clean-hero h1{font-size:clamp(3.1rem,5.9vw,5.7rem);line-height:1.08;font-weight:500;letter-spacing:-.055em;margin:0;max-width:810px}.clean-hero h1 .hero-platform{color:var(--blue);direction:ltr;unicode-bidi:isolate;display:inline-block}.clean-hero .lede{color:#45546a;font-size:20px;line-height:1.6;margin-bottom:27px;max-width:400px}.clean-hero .location{color:#667286;font-size:13px;max-width:350px;line-height:1.6;margin-top:22px}.hero-service-nav{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);padding:26px 0;gap:25px}.hero-service-nav>a{display:flex;align-items:center;gap:16px;font-size:15px;font-weight:500}.hero-service-nav>a .arrow{margin-inline-start:auto;font-size:22px}.hero-service-nav>a:hover{color:var(--blue)}.hero-service-nav .number{font-size:12px;color:#747e8c}.proof-bar{background:var(--navy);border:0;color:white}.proof-inner{padding-block:20px}.proof-inner .stars{color:#acc6ff}.proof-inner .meta{color:#bac5d5}.proof-inner>a{font-size:14px}.expertiseTitle{font-weight:500}[dir=rtl] .clean-hero h1{font-size:clamp(3rem,5.5vw,5rem);letter-spacing:0;line-height:1.35}
@media(max-width:1100px){.clean-hero-grid{gap:45px;grid-template-columns:1.3fr 1fr}.clean-hero h1{font-size:4.2rem}.clean-hero .lede{font-size:18px}.hero-service-nav{gap:22px}.hero-service-nav>a{font-size:13px;gap:10px}}
@media(max-width:750px){.clean-hero{padding-top:40px}.clean-hero-grid{grid-template-columns:1fr;gap:30px;padding-bottom:38px}.clean-hero h1{font-size:clamp(2.8rem,9.2vw,4.5rem);max-width:600px}.clean-hero .lede{max-width:550px;font-size:18px}.clean-hero .location{max-width:none}.hero-service-nav{grid-template-columns:1fr 1fr;gap:0;padding:0}.hero-service-nav>a{padding:18px 0;font-size:14px;gap:12px;border-bottom:1px solid var(--line)}.hero-service-nav>a:nth-child(odd){margin-inline-end:25px}.clean-hero>.wrap>.eyebrow{margin-bottom:26px}.proof-inner>a>span:last-child{flex-basis:auto}.proof-inner{gap:10px}.proof-inner>a{font-size:13px}[dir=rtl] .clean-hero h1{font-size:clamp(2.7rem,9vw,4rem)}}


/* /pages.css */
.crumb{display:flex;gap:12px;flex-wrap:wrap;font-size:13px;color:var(--muted);padding-top:28px}.crumb a:hover{color:var(--blue)}.page-hero{padding-block:56px 80px}.page-hero-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:90px;align-items:start}.page-hero h1{font-size:clamp(2.8rem,4.8vw,4.6rem);margin:0}.page-intro{font-size:19px;color:#516075;line-height:1.8;max-width:540px}.page-hero .text-link{color:var(--blue);margin-top:15px}.scope-section{background:var(--pale);padding-block:75px}.scope-grid{display:grid;grid-template-columns:1fr 1.45fr;gap:110px}.scope-heading h2{font-size:2.4rem;max-width:360px}.deliverables article{display:grid;grid-template-columns:40px 1fr;gap:25px;padding:30px 0;border-top:1px solid #cbd4e2}.deliverables article:first-child{padding-top:0;border:0}.deliverables article:last-child{padding-bottom:0}.deliverables h3{font-size:26px;margin-bottom:14px}.deliverables p{color:var(--muted);margin:0;max-width:580px}.approach-grid{display:grid;grid-template-columns:1fr 1.45fr;gap:110px}.large-copy{font-size:22px;color:#45546a;line-height:1.7}.faq-section{padding-bottom:60px}.faq-section h2{font-size:2.2rem}.faq-section details{border-block:1px solid var(--line);padding:23px 0}.faq-section summary{display:flex;align-items:center;justify-content:space-between;gap:25px;font-weight:500;font-size:19px}.faq-section summary>span{font-size:25px;color:var(--blue)}.faq-section p{max-width:850px;margin:20px 0 0;color:var(--muted)}.related{padding-top:35px}.related-links{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.related-links a{display:flex;justify-content:space-between;gap:25px;border:1px solid var(--line);padding:22px;font-size:17px}.related-links a:hover{border-color:var(--blue);color:var(--blue)}.connection-section{background:var(--navy);color:white;padding-block:80px}.connection-section .eyebrow{color:#abc3ff}.connection-section .section-head p{color:#bac8dc;font-size:18px;margin-bottom:24px}.connection-section .text-link{color:#b5cbff}.workflow{border-top:1px solid #34425a;padding-top:32px}.workflow .eyebrow{font-size:12px;color:#c0cce0}.workflow ol{display:grid;grid-template-columns:repeat(4,1fr);list-style:none;margin:0;padding:0;gap:35px}.workflow li{display:flex;flex-direction:column;gap:15px;padding-bottom:20px;border-bottom:2px solid #45608b;font-size:21px}.workflow .number{color:#a1bdff}.workflow-caption{color:#a8b9d1;margin:22px 0 0;font-size:14px}.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:23px}.review-card{padding:29px;border:1px solid var(--line);display:flex;flex-direction:column;min-width:0;background:#fff}.review-top{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:22px;flex-wrap:wrap}.review-top time{font-size:12px;color:var(--muted)}.review-industry{font-size:14px;color:var(--blue);font-weight:500;min-height:48px;margin-bottom:24px}.summary-label{font-size:12px;color:#647086;margin-bottom:9px}.review-text{font-size:21px;line-height:1.55;font-family:var(--display);letter-spacing:-.02em;flex:1;margin-bottom:32px}.review-bottom{border-top:1px solid var(--line);padding-top:20px;font-size:12px;display:flex;flex-direction:column;gap:10px;color:var(--muted)}.review-bottom a{display:flex;justify-content:space-between;align-items:center;color:var(--ink);font-size:13px}.review-bottom a:hover{color:var(--blue)}.review-bottom .arrow{font-size:19px}.section-end{display:flex;gap:60px;align-items:center;justify-content:space-between;margin-top:30px}.section-end .text-link{flex:none}.section-end p{max-width:560px;margin:0}.rating-summary{display:grid;grid-template-columns:1fr 1fr;gap:100px;padding:45px;background:var(--pale);align-items:center;margin-bottom:45px}.rating-big{font:500 100px/1 var(--display);letter-spacing:-.05em;display:block;margin-bottom:15px}.rating-big>bdi>span{font-size:38px;color:#718099}.rating-summary p{color:var(--muted);margin-top:15px}.rating-summary p:last-child{margin-bottom:0}.rating-summary .text-link{color:var(--blue)}.review-filters{display:flex;align-items:center;gap:22px;margin-bottom:30px;flex-wrap:wrap;font-size:14px}.review-filters select{width:auto;max-width:100%;min-width:300px}.review-filters>span{color:var(--muted);margin-inline-start:auto}.review-catalog{padding-bottom:90px}.all-reviews .review-industry{min-height:48px}.review-card[hidden]{display:none}.service-proof{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;padding-bottom:65px}.service-proof .review-card{background:var(--pale)}.insight-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.insight-card{border-top:2px solid var(--ink);padding-top:25px;display:flex;flex-direction:column}.insight-card h3{font-size:28px;margin:25px 0 20px}.insight-card p{color:var(--muted);flex:1}.insight-card .text-link{font-size:15px;color:var(--blue);margin-top:22px}.insight-card:hover{border-color:var(--blue)}.company-body{padding-bottom:45px}.company-body article{display:grid;grid-template-columns:40px 1fr 1.2fr;gap:40px;border-top:1px solid var(--line);padding-block:50px}.company-body h2{font-size:32px;margin:0}.company-body p{font-size:18px;color:var(--muted);margin:0;max-width:580px}.article{max-width:950px;padding-block:60px 85px}.article h1{font-size:clamp(2.7rem,4.4vw,4.3rem);margin-bottom:30px}.article-intro{font-size:22px;line-height:1.7;color:var(--muted)}.article header{padding-bottom:35px;border-bottom:1px solid var(--line)}.article-body{max-width:800px}.article-body section{margin-block:45px}.article-body h2{font-size:29px;line-height:1.3;margin-bottom:20px}.article-body p{font-size:19px;color:#45546a;line-height:1.85}.contact-page{padding-block:60px 100px;display:grid;grid-template-columns:1fr 1fr;gap:100px}.contact-page h1{font-size:clamp(3rem,4.7vw,4.6rem)}.contact-details{margin-block:35px}.contact-details a{display:block;font-size:20px;color:var(--blue);width:fit-content;margin-bottom:8px}.contact-details p{font-size:14px;color:var(--muted);margin-top:20px}.partner-callout{border-top:1px solid var(--line);padding-top:25px;max-width:440px}.partner-callout h2{font-size:23px;line-height:1.4}.partner-callout a{font-size:14px}.form-shell{background:var(--pale);padding:40px}.field{margin-bottom:22px}.field label{display:block;font-size:14px;font-weight:500;margin-bottom:8px}input,select,textarea{display:block;width:100%;border:1px solid #bbc6d6;border-radius:2px;background:white;padding:12px 14px;color:var(--ink);min-height:48px;font-size:16px}textarea{resize:vertical;min-height:150px}.form-note{font-size:13px;line-height:1.7;color:#5b677b}.form-shell .btn{margin-top:8px;margin-bottom:20px}.form-policy{font-size:13px;text-decoration:underline}.form-shell h2{font-size:30px}.form-shell pre{font:400 16px/1.8 var(--body);white-space:pre-wrap;overflow-wrap:anywhere;background:#fff;padding:20px;border:1px solid var(--line)}.form-actions{display:flex;flex-wrap:wrap;gap:20px;align-items:center}.text-button{border:0;border-bottom:1px solid var(--ink);padding:0;background:transparent;cursor:pointer;font-size:14px}.form-actions .btn{margin:0}#email-review[hidden],#project-form[hidden]{display:none}.agent-doc code{font-size:14px;background:var(--pale);padding:3px 6px;overflow-wrap:anywhere}.agent-doc li{margin-bottom:15px}.agent-doc pre{padding:20px;background:var(--pale);overflow:auto}.agent-status{padding:20px;border-left:3px solid var(--blue);background:var(--pale)}
@media(max-width:1100px){.page-hero-grid,.scope-grid,.approach-grid{gap:55px}.page-hero h1{font-size:3.4rem}.contact-page{gap:50px}.review-card{padding:23px}.reviews-grid{gap:16px}.review-text{font-size:19px}.review-top{gap:8px}.rating-summary{gap:50px}.insight-grid{gap:25px}.insight-card h3{font-size:25px}}
@media(max-width:850px){.page-hero-grid{grid-template-columns:1fr;gap:30px}.page-intro{max-width:730px}.scope-grid,.approach-grid{grid-template-columns:1fr;gap:35px}.scope-heading h2{max-width:none}.reviews-grid{grid-template-columns:1fr 1fr}.reviews-grid:not(.all-reviews)>.review-card:last-child{grid-column:1 / -1}.review-industry{min-height:0}.review-catalog .review-industry{min-height:48px}.section-end{flex-direction:column;align-items:start;gap:20px}.related-links{grid-template-columns:1fr 1fr}.company-body article{grid-template-columns:30px 1fr;gap:20px}.company-body p{grid-column:2;max-width:none}.contact-page{grid-template-columns:1fr;gap:40px}.contact-page>.form-shell{max-width:700px;width:100%}.insight-grid{grid-template-columns:1fr}.insight-card{display:grid;grid-template-columns:35px 1fr;gap:16px 20px}.insight-card h3{margin:0}.insight-card p,.insight-card .text-link{grid-column:2;margin:0}.workflow ol{gap:22px}.workflow li{font-size:18px}.page-hero{padding-bottom:55px}}
@media(max-width:600px){.page-hero{padding-top:35px}.page-hero h1{font-size:2.7rem}.page-intro{font-size:18px}.scope-section{padding-block:50px}.deliverables article{gap:15px;grid-template-columns:30px 1fr}.deliverables h3{font-size:23px}.large-copy{font-size:19px}.faq-section summary{font-size:17px}.related-links{grid-template-columns:1fr}.reviews-grid{grid-template-columns:1fr}.reviews-grid:not(.all-reviews)>.review-card:last-child{grid-column:auto}.review-text{font-size:22px}.review-card{padding:25px}.review-industry,.review-catalog .review-industry{min-height:0;margin-bottom:22px}.review-bottom{flex-direction:row;flex-wrap:wrap;justify-content:space-between;gap:20px}.review-bottom a{gap:10px}.review-bottom .arrow{font-size:18px}.connection-section{padding-block:55px}.workflow ol{grid-template-columns:1fr 1fr;gap:25px}.workflow li{font-size:18px}.rating-summary{grid-template-columns:1fr;gap:10px;padding:28px}.rating-big{font-size:85px}.review-filters{gap:12px}.review-filters label{flex-basis:100%}.review-filters select{min-width:0;width:100%}.review-filters>span{margin:0}.review-catalog{padding-bottom:60px}.service-proof{grid-template-columns:1fr;gap:25px;padding-bottom:45px}.company-body article{padding-block:35px}.company-body h2{font-size:27px}.company-body p{font-size:17px}.article{padding-block:40px 60px}.article h1{font-size:2.6rem}.article-intro{font-size:20px}.article-body p{font-size:18px}.article-body h2{font-size:26px}.contact-page{padding-top:35px;padding-bottom:60px}.form-shell{padding:25px 20px}.contact-details a{font-size:18px}.contact-page h1{font-size:3rem}.form-actions{gap:18px}.form-actions .btn{width:100%;font-size:15px}}

.section-head h1{font-size:clamp(2.2rem,4vw,3.65rem);margin:0}


/* /refinement.css */
/* Shared presentation for the website and Salesforce editorial previews. */
/* The service overview link and its submenu toggle remain separate controls. */
.main-nav .nav-service{position:relative;display:flex;align-items:center;gap:2px;white-space:nowrap}
.main-nav .nav-service>a{padding-block:30px;transition:padding .22s ease}
.main-nav .nav-service .service-dropdown{position:static}
.main-nav .nav-service summary{justify-content:center;width:28px;padding-inline:0}
.main-nav .nav-service .dropdown{inset-inline-start:-16px;min-width:290px}
.header.is-compact .main-nav .nav-service>a{padding-block:18px}
.mobile-service{position:relative}
.mobile-service>a{padding-inline-end:56px}
.mobile-nav .mobile-group{border-bottom:0}
.mobile-nav a,.mobile-nav summary,.mobile-nav .mobile-contact{font-weight:400}
.mobile-nav .mobile-contact{display:inline-flex;min-height:48px;margin:12px 12px 0;padding:12px 18px;color:#fff;font-weight:500}
.menu-btn{position:relative}
.menu-btn span{position:absolute;top:50%;inset-inline:7px;margin:0;transition:transform .18s ease}
.menu-btn span:first-child{transform:translateY(-5px)}
.menu-btn span:last-child{transform:translateY(3px)}
.menu-btn[aria-expanded="true"] span:first-child{transform:translateY(-1px) rotate(45deg)}
.menu-btn[aria-expanded="true"] span:last-child{transform:translateY(-1px) rotate(-45deg)}
@media(prefers-reduced-motion:reduce){.menu-btn span{transition:none}}
.mobile-service .mobile-group{border:0}
.mobile-service .mobile-group>summary{position:absolute;inset-inline-end:0;top:0;width:44px;height:51px;padding:0;justify-content:center}
/* Match standalone chevrons to the centre of the 44px linked-menu toggles. */
.mobile-nav>.mobile-group>summary{padding-inline-end:16px}
/* Submenu branches match the service browser; logical edges mirror in Arabic. */
.mobile-nav .mobile-group-links{margin-inline-start:12px;padding-inline-start:10px}
.mobile-nav .mobile-group-links>a{position:relative;min-height:44px}
.mobile-nav .mobile-group-links>a::before{content:"";position:absolute;inset-inline-start:-10px;top:50%;width:10px;border-top:1px solid var(--line);pointer-events:none}
.mobile-nav .mobile-group-links>a::after{content:"";position:absolute;inset-inline-start:-10px;inset-block:0;border-inline-start:1px solid var(--line);pointer-events:none}
.mobile-nav .company-mobile-links{margin-inline-start:0;padding-inline-start:0}
.mobile-nav .company-mobile-links>.company-menu-link::before,.mobile-nav .company-mobile-links>.company-menu-link::after{content:none}
@media(prefers-reduced-motion:reduce){.main-nav .nav-service>a{transition:none}}
/* Reserve the full header height so shrinking its surface never moves page content. */
:root{--header-space:89px;--header-compact:69px}
html{scroll-padding-top:calc(var(--header-space) + 16px)}
/* Header controls are already visible; root scroll padding otherwise moves the
   document on every caret update in a sticky search field (Chrome). */
html:has(.header :focus){scroll-padding-top:0}
.header{position:sticky;top:0;height:var(--header-space);background:none;border:0;pointer-events:none}
.header:has(.menu-btn[aria-expanded="true"]){z-index:65}
.header-surface{--header-bar:calc(var(--header-space) - 1px);position:absolute;inset:0 0 auto;background:#fff;border-bottom:1px solid var(--line);pointer-events:auto;transition:box-shadow .22s ease}
.header.is-compact .header-surface{--header-bar:calc(var(--header-compact) - 1px);box-shadow:0 5px 20px #10265310}
.header .header-inner{min-height:var(--header-bar);transition:min-height .22s ease}
.header .brand img{transition:width .22s ease}
.header .main-nav>a{transition:padding .22s ease}
.header .main-nav summary{white-space:nowrap}
@media(max-width:1540px){.header .header-cta{display:none!important}}
@media(max-width:1380px){.header .main-nav,.header .main-nav .nav-more{font-size:13px}.header .main-nav{gap:14px}}
@media(max-width:1260px){.header .main-nav{display:none}.header .menu-btn{display:block}.header .header-tools{margin-inline-start:auto}}
.header.is-compact .main-nav>a{padding-block:18px}
.header.is-compact .brand img{width:140px}
.header .mobile-nav{max-height:calc(100vh - var(--header-bar) - 1px);max-height:calc(100dvh - var(--header-bar) - 1px);overflow-y:auto;overscroll-behavior:contain;box-shadow:0 10px 20px #10265310;scroll-padding-block:16px}
.header .dropdown{max-height:calc(100vh - var(--header-bar) - 24px);max-height:calc(100dvh - var(--header-bar) - 24px);overflow-y:auto;overscroll-behavior:contain}
@media(min-width:851px){.cms-reading-grid .cms-toc{top:calc(var(--header-space) + 20px);max-height:calc(100vh - var(--header-space) - 40px);max-height:calc(100dvh - var(--header-space) - 40px);overflow-y:auto}}
@media(max-width:1380px){.header.is-compact .brand img{width:135px}}
@media(max-width:1380px){[lang=fr] .header-cta{display:none!important}[lang=fr] .header .main-nav{gap:14px}}
@media(max-width:600px){:root{--header-space:77px;--header-compact:65px}.header.is-compact .brand img{width:128px}}
@media(max-width:360px){.header.is-compact .brand img{width:119px}}
@media(prefers-reduced-motion:reduce){.header .header-inner,.header .brand img,.header .main-nav>a,.header-surface{transition:none}}
@media print{.header{position:relative;height:auto}.header-surface{position:static;box-shadow:none}.cms-reading-grid .cms-toc{position:static;max-height:none}}
.header summary .nav-chevron{width:12px;height:12px;flex:none;transition:transform .18s ease}.locale>summary{display:flex;align-items:center;gap:9px}.header details[open]>summary .nav-chevron{transform:rotate(180deg)}.header summary{min-height:44px}.main-nav .nav-more>summary{gap:7px}.header .dropdown a:focus-visible{background:#eef2fc;outline-offset:-3px}.deliverable-link{display:inline-flex;align-items:baseline;gap:12px}.deliverable-link .arrow{font-size:19px}.deliverable-link:hover{text-decoration:underline;text-underline-offset:5px;color:var(--blue)}.deliverable-link:focus-visible{outline-offset:6px}.service-insights{padding-top:0}.service-insights .insight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-insights .section-head{align-items:center}.service-insights .section-head>.text-link{justify-self:end}.crumb+.cms-article{padding-top:25px}@media(max-width:700px){.service-insights .insight-grid{grid-template-columns:1fr}.service-insights .section-head>.text-link{justify-self:start}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.header summary .nav-chevron{transition:none}}
.header-inner{gap:26px;min-height:88px}.main-nav{gap:21px;font-size:14px}.main-nav>a{white-space:nowrap}.nav-more,.locale{font-size:14px}.header-tools{gap:20px}.header .brand img{width:180px}.main-nav summary:hover,.main-nav details[open]>summary{color:var(--blue)}.nav-more[open]>summary{box-shadow:none}.nav-more .dropdown{inset-inline-start:-20px;inset-inline-end:auto;border-top:2px solid var(--blue);padding:16px;box-shadow:0 16px 32px #0c204012}.dropdown a{line-height:1.5;padding:12px}.locale summary{border:1px solid var(--line);padding:7px 9px}.header-cta{white-space:nowrap}.header-cta .arrow{font-size:20px}
.clean-hero{background:#f7f8fb;padding-top:64px;border-bottom:1px solid var(--line)}.clean-hero>.wrap>.eyebrow{color:#465776}.clean-hero-grid{gap:80px;padding-bottom:65px}.clean-hero h1{font-size:clamp(3.3rem,5.3vw,5.2rem);max-width:790px;font-weight:500;line-height:1.1}.clean-hero .lede{font-size:20px;color:#354761}.hero-context{border-inline-start:2px solid #d5dfee;padding-inline-start:34px}.clean-hero .btn{padding:17px 21px}.hero-service-nav{padding:0;gap:0}.hero-service-nav>a{padding:23px 20px;border-inline-end:1px solid var(--line);font-size:14px}.hero-service-nav>a:last-child{border:0}.hero-service-nav .number{font-family:var(--display);color:#52647d}.proof-inner{padding-block:22px}.proof-inner>a{align-items:baseline;gap:24px}.proof-inner strong{font-size:16px}.proof-inner .stars{font-size:18px}
.section{padding-block:86px}.section-head{gap:70px;margin-bottom:43px}.section-head h2{font-size:clamp(2.3rem,3.5vw,3.45rem)}.expertise-list{display:grid;grid-template-columns:1.15fr 1fr;border:0;gap:20px}.expertise-row{grid-template-columns:1fr 30px;grid-template-rows:auto auto 1fr;padding:30px!important;border:1px solid var(--line);background:#f8f9fc;gap:18px;align-items:start;min-height:235px}.expertise-row .number{grid-column:1}.expertise-row h3{grid-row:2;grid-column:1 / -1;font-size:32px;max-width:440px}.expertise-row .row-sub{grid-row:3;grid-column:1;max-width:420px;line-height:1.7}.expertise-row>.arrow{grid-row:1;grid-column:2;font-size:28px}.expertise-row:first-child{background:#244de8;color:#fff;border-color:#244de8}.expertise-row:first-child .number,.expertise-row:first-child .row-sub{color:#e1e8ff}.expertise-row:hover{border-color:var(--blue);background:#eef2fc}.expertise-row:first-child:hover{background:#1a40d2}.expertise-row:hover>.arrow{transform:translate(2px,-2px)}.connection-section{padding-block:75px}.workflow li{font-size:21px;border-bottom:0;border-inline-start:1px solid #526381;padding-inline-start:22px}.workflow li:first-child{border:0;padding-inline-start:0}.workflow .number{font-size:13px}.workflow-caption{margin-top:24px;padding-top:22px;border-top:1px solid #34425a}.reviews-grid{gap:20px}.review-card{border:0;background:#f5f7fb;padding:30px}.review-text{font-size:22px;line-height:1.55}.review-industry{min-height:0;margin-bottom:20px}.review-bottom{margin-top:auto}.closing{background:#183eaf}.closing h2{font-size:clamp(2.4rem,4vw,3.8rem)}.closing-inner{padding-block:72px}.footer-grid{gap:45px}.footer-grid>div:first-child{padding-inline-end:20px}
.page-hero{padding-block:42px 64px}.page-hero-grid{grid-template-columns:1.25fr 1fr;gap:90px;align-items:start}.page-hero h1{font-size:clamp(2.7rem,4.4vw,4.25rem);line-height:1.15}.page-intro{font-size:18px;line-height:1.75}.scope-section{background:#f7f8fb;padding-block:62px}.scope-grid{grid-template-columns:.85fr 1.6fr;gap:80px}.scope-heading h2{font-size:2.15rem}.deliverables{display:grid;grid-template-columns:1fr 1fr;gap:0 36px}.deliverables article{display:block;padding:27px 0!important;border-top:1px solid #cbd4e2!important}.deliverables .number{display:block;font-size:12px;margin-bottom:14px}.deliverables h3{font-size:23px;line-height:1.35;margin-bottom:13px}.deliverables p{font-size:15px;line-height:1.8}.service-subnav{display:flex;flex-wrap:wrap;gap:10px;margin-top:38px}.service-subnav a{font-size:13px;padding:8px 13px;border:1px solid #cad3e1;border-radius:3px;color:#334960}.service-subnav a:hover{color:var(--blue);border-color:var(--blue);background:#f5f7fc}.approach-grid{grid-template-columns:.85fr 1.6fr;gap:80px}.approach-grid h2{font-size:2.4rem}.large-copy{font-size:21px}.faq-section{max-width:1040px;padding-bottom:50px}.faq-section summary{font-size:18px}.faq-section details{border-bottom:0}.faq-section details:last-child{border-bottom:1px solid var(--line)}.faq-section summary span{font-weight:400}.related{padding-block:40px 75px}.related-links a{background:#f8f9fc;border:0;border-top:1px solid var(--line);font-size:16px;line-height:1.5}.service-proof{gap:45px;padding-top:24px}.company-body article{padding-block:40px}.insight-card{background:#f5f7fb;border:0;padding:30px;transition:background .15s}.insight-card:hover{background:#eef2fb}.insight-card h3{font-size:27px;line-height:1.35;margin-block:4px 20px}.insight-grid{gap:20px}.insight-card p{font-size:15px;line-height:1.8}.insight-cover{margin:-30px -30px 25px}.insight-cover img{width:100%;aspect-ratio:16/10;object-fit:cover}.insight-card .text-link{padding-top:22px;border-top:1px solid var(--line)}
.preview-brand{padding-block:25px;border-bottom:1px solid var(--line)}.cms-article{padding-block:45px 70px}.cms-article-header{max-width:990px;margin-inline:auto;border-bottom:1px solid var(--line);padding-bottom:35px}.cms-article-header>.text-link{font-size:14px;color:#526078;margin-bottom:36px}.cms-article-header h1{font-size:clamp(2.5rem,4.2vw,4.1rem);line-height:1.2;margin-bottom:25px}.cms-subtitle{font-size:23px;color:#50627d;line-height:1.6}.cms-byline{display:flex;flex-wrap:wrap;gap:12px 30px;color:#617088;font-size:13px}.cms-reading-grid{display:grid;grid-template-columns:220px minmax(0,760px);justify-content:center;gap:60px;padding-top:42px}.cms-prose{min-width:0}.cms-toc{font-size:13px;align-self:start;position:sticky;top:28px;border-inline-start:2px solid var(--line);padding-inline-start:20px}.cms-toc p{font-weight:600;margin-bottom:14px}.cms-toc a{display:block;line-height:1.6;padding-block:9px;color:#5b6b83}.cms-toc a:hover{color:var(--blue)}.rich-text{font:400 18px/1.8 var(--body);color:#34445c;overflow-wrap:anywhere}.rich-text p,.rich-text ul,.rich-text ol,.rich-text blockquote,.rich-text table{margin-block:0 22px}.rich-text h2{font-size:28px;line-height:1.35;margin-block:38px 18px;color:var(--ink)}.rich-text h3{font-size:23px;line-height:1.4;margin-block:28px 16px}.rich-text h4{font-size:20px}.rich-text a{color:#2449c4;text-decoration:underline;text-underline-offset:3px}.rich-text img{max-width:100%;height:auto;display:inline-block;vertical-align:middle}.rich-text li{margin-block:8px}.rich-text li>p{margin-bottom:8px}.rich-text blockquote{border-inline-start:3px solid #244de8;padding:15px 25px;background:#f3f6fc}.rich-text table{border-collapse:collapse;width:100%;font-size:16px;display:block;overflow:auto}.rich-text td,.rich-text th{border:1px solid #c5cede;padding:10px 14px;min-width:100px}.rich-text th{background:#f2f5fa}.rich-text pre{white-space:pre-wrap;background:#f2f5fa;padding:20px;font-size:14px}.rich-text code{font-size:.9em}.rich-text hr{border:0;border-top:1px solid var(--line);margin-block:30px}.cms-introduction{font-size:21px;color:#4e617a}.cms-introduction:empty{display:none}.cms-conclusion{margin-top:36px;padding-top:30px;border-top:1px solid var(--line)}.cms-cover{margin-top:35px}.cms-cover img{width:100%}.cms-preview-note{max-width:990px;margin:0 auto 30px;background:#fff3d8;padding:12px 20px;color:#614715;font-size:14px}
@media(max-width:1380px){.header-inner{gap:22px}.main-nav{gap:18px}.header-tools{gap:14px}.header .brand img{width:162px}.header-cta{display:inline-flex!important}}
@media(max-width:1150px){.main-nav{display:none}.menu-btn{display:block}.header-tools{margin-inline-start:auto}.clean-hero-grid{gap:45px}.clean-hero h1{font-size:4.2rem}.hero-context{padding-inline-start:24px}.scope-grid,.approach-grid{gap:50px;grid-template-columns:.8fr 1.5fr}.deliverables{gap:0 28px}.page-hero-grid{gap:50px}.cms-reading-grid{gap:35px;grid-template-columns:180px minmax(0,760px)}}
@media(max-width:850px){.clean-hero-grid{grid-template-columns:1fr;gap:30px}.hero-context{padding:0;border:0}.clean-hero .lede{max-width:640px}.hero-service-nav{grid-template-columns:1fr 1fr}.hero-service-nav>a{border-bottom:1px solid var(--line)!important;padding:18px!important;margin:0!important}.hero-service-nav>a:nth-child(2){border-inline-end:0}.scope-grid,.approach-grid,.page-hero-grid{grid-template-columns:1fr;gap:25px}.scope-heading h2{max-width:none}.cms-reading-grid{display:block}.cms-toc{position:static;margin-bottom:35px}.cms-toc nav{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.cms-article-header h1{font-size:2.9rem}.expertise-row h3{font-size:27px}.expertise-row{padding:25px!important}.proof-inner{align-items:start}.proof-inner>a{gap:10px 20px}.proof-inner .meta{font-size:12px}}
@media(max-width:600px){.header-inner{min-height:76px}.clean-hero{padding-top:35px}.clean-hero h1{font-size:clamp(2.5rem,10.5vw,3.7rem)}.clean-hero-grid{padding-bottom:32px}.clean-hero .lede{font-size:18px}.hero-service-nav>a{font-size:13px;gap:8px;padding:16px 12px!important}.hero-service-nav .number{display:none}.hero-service-nav .arrow{font-size:18px}.section{padding-block:56px}.expertise-list{grid-template-columns:1fr;gap:14px}.expertise-row{min-height:205px}.expertise-row h3{font-size:28px}.deliverables{grid-template-columns:1fr}.deliverables article{display:grid;grid-template-columns:30px 1fr;gap:12px;padding-block:23px!important}.deliverables h3{font-size:23px}.deliverables .number{padding-top:6px}.scope-section{padding-block:42px}.page-hero{padding-block:32px 42px}.page-hero h1{font-size:2.65rem}.page-intro{font-size:17px}.section-head h2{font-size:2.4rem}.workflow li{padding-inline-start:14px;font-size:18px}.review-text{font-size:21px}.cms-article{padding-block:28px 45px}.cms-article-header h1{font-size:2.4rem;line-height:1.25}.cms-subtitle{font-size:20px}.cms-toc nav{display:block}.rich-text{font-size:17px}.cms-introduction{font-size:19px}.rich-text h2{font-size:25px}.cms-reading-grid{padding-top:30px}.cms-byline{font-size:12px;gap:9px 20px}.cms-article-header>.text-link{margin-bottom:25px}.cms-article-header{padding-bottom:25px}.form-shell{padding:25px}.contact-page{padding-block:35px 60px}.related{padding-block:25px 50px}.related-links{grid-template-columns:1fr}.related-links a{padding:19px 20px}.insight-card{padding:25px}.insight-cover{margin:-25px -25px 20px}.footer-grid{gap:30px 22px}.closing-inner{padding-block:50px}.footer-bottom{flex-wrap:wrap}}
[dir=rtl] .main-nav{gap:17px}[dir=rtl] .clean-hero h1{font-size:clamp(2.8rem,4.8vw,4.6rem);line-height:1.45}[dir=rtl] .rich-text{line-height:2}[dir=rtl] .cms-article-header h1{line-height:1.5}[dir=rtl] .expertise-row h3{font-size:29px}[dir=rtl] .cms-byline{line-height:1.8}
@media(max-width:600px){[dir=rtl] .clean-hero h1{font-size:2.65rem}[dir=rtl] .expertise-row h3{font-size:25px}[dir=rtl] .cms-article-header h1{font-size:2rem}}

.service-subnav{margin-top:0;padding-bottom:35px}.cms-cover img{width:auto}.insight-cover img{width:100%}.related+.service-insights.section{padding-top:0}@media(max-width:1240px){.header-cta{display:none!important}}@media(max-width:600px){.service-subnav{padding-bottom:28px;gap:8px}.service-subnav a{font-size:13px;padding:8px 10px}}

/* Use the complete brand lockup in the public website footer. */
.footer .brand{display:inline-block;position:relative;width:42px;height:80.22px;overflow:hidden;vertical-align:top}.footer .brand img{position:absolute;width:101.64px;height:auto;max-width:none;left:-29.505px;top:-10.206px}
@media(max-width:600px){.header .brand img{width:153px}}
@media(max-width:360px){.header .brand img{width:134px}.header-inner{gap:10px}.header-tools{gap:6px}}

/* Separate business solutions from the invitation to delivery partners. */
.additional-heading{max-width:780px;margin-bottom:30px}.additional-heading h2{font-size:clamp(2.2rem,3.3vw,3rem);margin:0}.additional-solutions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.additional-solution{display:flex;flex-direction:column;padding:34px 36px;background:#f5f7fb;border:1px solid #e0e6ef;border-radius:4px;transition:background .15s,border-color .15s}.additional-solution:hover{background:#edf2fc;border-color:#9aadd5}.additional-solution h3{font-size:30px;margin:0 0 18px;line-height:1.25}.additional-description{font-size:17px;line-height:1.75;color:#516075;margin:0 0 30px;max-width:490px}.additional-link{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:20px;color:var(--blue);font-weight:500}.additional-link .arrow{font-size:23px}.delivery-partner-invite{display:grid;grid-template-columns:1fr 1fr;gap:70px;margin-top:32px;padding:34px 0 30px;border-bottom:1px solid var(--line)}.delivery-partner-invite h2{font-size:30px;margin:0;max-width:490px;line-height:1.25}.delivery-partner-invite p:not(.eyebrow){font-size:17px;line-height:1.75;color:#516075;margin-bottom:18px;max-width:490px}.delivery-partner-invite .text-link{color:var(--blue);font-size:16px}
@media(max-width:700px){.additional-solutions-grid{grid-template-columns:1fr;gap:18px}.additional-heading{margin-bottom:24px}.additional-heading h2{font-size:2.15rem}.additional-solution{padding:27px 25px}.additional-solution h3{font-size:27px}.additional-description{font-size:16px;margin-bottom:24px}.delivery-partner-invite{grid-template-columns:1fr;gap:20px;margin-top:28px;padding-block:28px}.delivery-partner-invite h2{font-size:27px}.delivery-partner-invite p:not(.eyebrow){font-size:16px}}

/* One shared style for section labels, including compact and mobile layouts. */
:root{--section-label-tracking:.06em}[dir=rtl]{--section-label-tracking:0}
.eyebrow,.hero .eyebrow,.clean-hero>.wrap>.eyebrow,.page-hero .eyebrow,.workflow .eyebrow,.related h2.eyebrow,.insight-card>.eyebrow,.cms-article-header>.eyebrow,.additional-heading .eyebrow,.additional-solution .eyebrow,.delivery-partner-invite .eyebrow{font-family:var(--body);font-size:.875rem;font-weight:600;line-height:1.6;letter-spacing:var(--section-label-tracking);text-transform:none;margin:0 0 20px}

/* Ratings use gold; service labels retain the shared section-label style above. */
.stars{color:#c58a10}.proof-inner .stars{color:#f5c451}

/* Four featured industries, with balanced rows at narrower widths. */
.reviews-grid.home-reviews{grid-template-columns:repeat(4,minmax(0,1fr))}
.reviews-grid.home-reviews>.review-card:last-child{grid-column:auto}
@media(max-width:1100px){.reviews-grid.home-reviews{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.reviews-grid.home-reviews{grid-template-columns:1fr}}

/* Anchor all desktop submenus to the same header height and opening position. */
.main-nav>.nav-more,.main-nav .nav-service{height:var(--header-bar)}
.main-nav>.nav-more>summary,.main-nav .nav-service .service-dropdown,.main-nav .nav-service .service-dropdown>summary{height:100%}
.main-nav>.nav-more>summary,.main-nav .nav-service .service-dropdown>summary{display:flex;align-items:center;padding-block:0}
.main-nav .nav-more .dropdown{top:calc(100% - 8px);inset-inline-start:-16px;min-width:290px}
/* Top-level labels share a neutral resting state, including the current section. */
.header .main-nav>a,.header .main-nav>.nav-service>a,.header .main-nav>.nav-more>summary,.header .main-nav .service-dropdown>summary{color:var(--ink)}
.header .main-nav>a:is([aria-current="page"],.nav-active),.header .main-nav>.nav-service>a:is([aria-current="page"],.nav-active),.header .main-nav>.nav-more>summary.nav-active,.header .main-nav .service-dropdown>summary.nav-active{color:var(--blue);background:transparent}
.header .main-nav>a:is(:hover,:focus-visible),.header .main-nav>.nav-service>a:is(:hover,:focus-visible),.header .main-nav>.nav-more:is(:hover,[open])>summary,.header .main-nav .service-dropdown:is(:hover,[open])>summary,.header .main-nav>.nav-service:has(.service-dropdown[open])>a{color:var(--blue)}

/* Company opens across the header content, with a compact accordion on mobile. */
.header .header-inner{position:relative}
.main-nav>.company-menu{position:static}
.main-nav .company-menu .company-panel{inset-inline:0;min-width:0;max-width:none;display:grid;grid-template-columns:1.05fr 3fr;gap:12px;padding:12px}
.company-menu-intro{background:var(--pale);padding:20px;min-width:0;display:flex;flex-direction:column}
.company-menu-contact{display:grid;grid-auto-rows:1fr;font-style:normal;margin-top:12px}
.company-menu-intro .company-menu-contact{margin-top:auto}
.main-nav .company-panel .company-contact-link,.company-mobile-links .company-contact-link{display:flex;align-items:center;gap:12px;min-height:44px;padding:6px 0;font-size:14px;line-height:1.5;color:var(--ink);white-space:normal}
.company-contact-link+.company-contact-link{border-top:1px solid var(--line)}
.company-contact-link svg{flex:0 0 22px;color:var(--muted)}
.company-contact-link bdi{min-width:0;overflow-wrap:anywhere}
.main-nav .company-panel .company-contact-link:hover,.company-mobile-links .company-contact-link:hover{background:transparent;color:var(--blue)}
.company-contact-link:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.company-mobile-links .company-menu-contact{margin:16px 0 4px;padding:4px 16px;background:var(--pale);border:0;border-radius:3px}
.company-mobile-links .company-contact-link{display:grid;grid-template-columns:20px minmax(0,1fr);gap:14px;min-height:68px;padding:14px 0;line-height:1.6}
.company-mobile-links .company-contact-link svg{width:20px;height:20px}
.company-mobile-links .company-contact-link>span{min-width:0;overflow-wrap:anywhere}
.company-mobile-links .company-contact-link bdi{justify-self:start;max-width:100%}
@media(max-width:360px){.company-mobile-links .company-menu-contact{padding-inline:12px}.company-mobile-links .company-contact-link{gap:10px;font-size:13px}}
.company-menu-intro .company-menu-title{font-family:var(--display);font-size:1.75rem;font-weight:500;line-height:1.3;letter-spacing:-.025em;color:var(--ink);margin:0 0 10px}
.company-menu-intro p{font-size:.9375rem;line-height:1.7;font-weight:400;color:var(--muted);margin:0}
.company-menu-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}
.main-nav .company-panel .company-menu-link{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:20px;align-content:start;min-width:0;min-block-size:168px;padding:28px 24px;white-space:normal;outline-offset:-3px}
.company-menu-links>.company-menu-link{border-inline-start:1px solid var(--line)}
.company-link-title{font-family:var(--display);font-size:1.25rem;line-height:1.4;font-weight:500}
.company-link-description{display:block;font-size:.9375rem;line-height:1.7;font-weight:400;color:var(--muted);margin-top:12px}
/* Approved slim diagonal; inline text links keep their text-relative size. */
.arrow{vertical-align:middle}
.arrow>svg{display:block;width:22px;height:22px}
.arrow.arrow-inline{font-size:1em}
.arrow.arrow-inline>svg{width:1em;height:1em}
[dir=rtl] .arrow>svg{transform:scaleX(-1)}
[dir=rtl] .expertise-row:hover>.arrow{transform:translate(-2px,-2px)}
.company-menu-link .arrow{color:var(--blue);margin-top:auto;padding-top:22px}
.company-panel .company-link-title{grid-column:1;grid-row:1}
.company-panel .company-link-description{grid-column:1 / -1;grid-row:2}
.company-panel .company-menu-link .arrow{grid-column:2;grid-row:1;align-self:start;margin-top:2px;padding-top:0}
.company-mobile-links .company-menu-link{position:relative;padding-block:18px;padding-inline:12px 42px;min-width:0}
.company-mobile-links .company-menu-link+.company-menu-link{border-inline-start:0;border-top:1px solid var(--line)}
.company-mobile-links .company-link-title{font-family:var(--body);font-size:1rem;font-weight:400}
.company-mobile-links .company-link-description{font-size:.875rem;margin-top:5px}
.company-mobile-links .arrow{position:absolute;inset-inline-end:12px;top:19px;margin:0;padding:0;font-size:20px}
.company-mobile-links .company-menu-link:hover,.company-mobile-links .company-menu-link:focus-visible{background:var(--pale);color:var(--blue)}
[dir=rtl] .company-menu-title{letter-spacing:0}

/* Keep the four directories balanced; language and utility links have their own row. */
.footer-expanded{grid-template-columns:minmax(210px,1.05fr) minmax(0,1fr) minmax(0,1.1fr) minmax(0,1.12fr) minmax(120px,.65fr);gap:32px;align-items:start;padding-bottom:44px}
.footer-expanded>div{min-width:0}
.footer-expanded>div:first-child{grid-column:auto;padding-inline-end:0}
.footer-partner-badge{display:block;width:200px;max-width:100%;height:auto;margin-top:24px}
.footer-brand-copy{min-width:0}
.footer-brand-copy p{max-width:265px}
.footer-email{display:inline-block;font-size:14px;color:#465268}
.footer-expanded>div:last-child{display:block;grid-column:auto}
.footer-expanded h3,.footer-expanded>div:last-child h3{line-height:1.5;margin-bottom:16px}
.footer-expanded a{overflow-wrap:break-word}
.footer-expanded h3 a{color:inherit}
.footer a[aria-current],.footer a[href]:hover,.footer a[href]:focus-visible{color:var(--blue)}
.footer-utilities{display:flex;align-items:center;justify-content:space-between;gap:20px 32px;flex-wrap:wrap;border-top:1px solid var(--line);padding-block:22px;font-size:13px;color:#465268}
.footer-languages,.footer-resources{display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px}
.footer-languages>span{font-weight:600;color:var(--ink);margin-inline-end:8px}
.footer-languages a,.footer-resources a{display:inline-flex;align-items:center;gap:7px;padding-block:5px}
.footer-languages a[aria-current]{text-decoration:none}
@media(max-width:1200px){.footer-expanded{grid-template-columns:repeat(4,minmax(0,1fr));gap:40px 28px}.footer-expanded>div:first-child{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:32px}.footer-brand-copy p{max-width:440px;margin-block:18px 10px}.footer-partner-badge{margin-top:0}}
@media(max-width:900px){.footer-expanded{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 32px}}
@media(max-width:600px){.footer-expanded{gap:32px 24px;padding-bottom:32px}.footer-expanded>div:first-child{display:grid;grid-template-columns:minmax(42px,1fr) minmax(0,180px);align-items:center;gap:0 24px;padding-inline-end:0}.footer-brand-copy{display:contents}.footer-brand-copy>.brand{grid-column:1;grid-row:1;justify-self:start}.footer-brand-copy>p{grid-column:1/-1;grid-row:2}.footer-brand-copy>.footer-email{grid-column:1/-1;grid-row:3;justify-self:start}.footer-partner-badge{grid-column:2;grid-row:1;justify-self:end;width:180px}.footer-utilities{align-items:flex-start;flex-direction:column;gap:16px;padding-block:20px}.footer-languages{column-gap:24px}.footer-languages>span{flex-basis:100%;margin:0}.footer-resources{column-gap:24px}}

/* Directory tiles share the service hierarchy without adding a second homepage catalogue. */
.service-pagination{background:var(--pale);border-top:1px solid var(--line)}
.service-pagination-inner{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:40px;padding-block:28px;min-height:112px}
.service-pagination-link{display:flex;align-items:center;gap:20px;min-height:48px;min-width:0;width:fit-content;max-width:100%}
.service-pagination-next{justify-self:end;text-align:end}
.service-pagination-copy{display:flex;flex-direction:column;gap:4px;min-width:0}
.service-pagination-caption{font-size:12px;line-height:1.5;color:var(--muted);letter-spacing:.04em}
.service-pagination-title{font-family:var(--display);font-size:18px;line-height:1.45;color:var(--ink)}
.service-pagination-arrow{flex:none;color:var(--blue)}
.service-pagination-previous .service-pagination-arrow{transform:scaleX(-1)}
.service-pagination-position{font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}
.service-pagination-position bdi{display:inline-flex;gap:10px}
.service-pagination-count-label{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.service-pagination-position span{color:var(--blue)}
.service-pagination-link:hover .service-pagination-title{color:var(--blue);text-decoration:underline;text-underline-offset:4px}
.service-pagination-link:focus-visible{outline:2px solid var(--blue);outline-offset:6px}
[dir=rtl] .service-pagination-caption{letter-spacing:0}
[dir=rtl] .service-pagination-previous .service-pagination-arrow{transform:none}
[dir=rtl] .service-pagination-next .service-pagination-arrow{transform:scaleX(-1)}
@media(max-width:600px){.service-pagination-inner{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px;row-gap:14px;padding-block:20px}.service-pagination-position{grid-column:1/-1;grid-row:1;justify-self:center}.service-pagination-link{gap:10px;align-self:start}.service-pagination-title{font-size:15px}.service-pagination-caption{font-size:11px}.service-pagination-arrow{width:18px;height:18px}}
.expertise-list{grid-auto-rows:1fr}
:root{--section-gap:56px;--directory-section-gap:var(--section-gap)}
.services-directory-hero{padding-bottom:var(--directory-section-gap)}
.services-directory-hero .page-hero-grid{align-items:end}
@media(max-width:600px){:root{--section-gap:40px}}
.services-directory{padding-bottom:86px}
.directory-salesforce,.directory-more{background:#f5f7fb;padding:36px;margin-bottom:32px}
.directory-salesforce{margin-bottom:var(--directory-section-gap)}
.directory-salesforce-intro{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:40px;align-items:center;margin-bottom:32px}
.directory-salesforce-intro p,.directory-section-intro p{max-width:760px}
.directory-salesforce-logo{display:block;width:115px;height:80px;object-fit:contain}
.directory-salesforce-intro h2,.directory-more-title{font-size:34px;line-height:1.2;margin:0 0 22px}
.directory-section-intro{margin-bottom:32px}
.directory-salesforce-intro h2 a{display:block}
.directory-title-end{display:inline-block;white-space:nowrap}
.directory-salesforce-intro .arrow{font-size:22px;flex:none;margin-inline-start:20px}
.directory-salesforce-intro p,.directory-section-intro p,.directory-card p{color:var(--muted);font-size:16px;line-height:1.75;margin:0}
.directory-specialties,.directory-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.directory-card{display:flex;flex-direction:column;border:1px solid var(--line);background:#fff;min-width:0}
.directory-card-photo{aspect-ratio:3/2;flex:none;border-radius:0}
.directory-card-body{position:relative;padding:24px;flex:1}
.directory-card h2,.directory-card h3{font-size:25px;line-height:1.3;font-weight:400;margin:0 0 16px;padding-inline-end:30px}
.directory-card-body>.arrow{position:absolute;inset-inline-end:24px;top:26px;font-size:21px;color:var(--blue)}
.directory-card:hover{border-color:var(--blue);background:#f8f9fc}
.directory-card:hover h2,.directory-card:hover h3,.directory-salesforce-intro a:hover{color:var(--blue)}
.directory-card:focus-visible,.directory-salesforce-intro a:focus-visible{outline:2px solid var(--blue);outline-offset:4px}
.service-sidebar-heading a{color:inherit}
.service-sidebar-heading a:hover{color:var(--blue)}
@media(max-width:1100px){.directory-specialties,.directory-services{grid-template-columns:repeat(2,minmax(0,1fr))}.directory-salesforce-intro{gap:26px}.directory-salesforce-intro p,.directory-section-intro p{max-width:720px}}
@media(max-width:600px){.directory-salesforce,.directory-more{padding:22px;margin-bottom:20px}.directory-salesforce{margin-bottom:var(--directory-section-gap)}.directory-specialties,.directory-services{grid-template-columns:1fr;gap:14px}.directory-card-body{padding:22px}.directory-card h2,.directory-card h3{font-size:23px}.directory-salesforce-intro{grid-template-columns:minmax(0,1fr) 78px;gap:18px 16px;margin-bottom:24px}.directory-salesforce-intro>div{display:contents}.directory-salesforce-intro h2,.directory-more-title{font-size:28px}.directory-salesforce-intro h2{grid-column:1;grid-row:1;margin:0}.directory-salesforce-intro h2 a{display:block}.directory-salesforce-intro .arrow{margin-inline-start:6px}.directory-salesforce-intro p{grid-column:1/-1;grid-row:2}.directory-section-intro{margin-bottom:24px}.directory-salesforce-logo{grid-column:2;grid-row:1;width:78px;height:auto}.services-directory{padding-bottom:56px}}
/* Keep the linked title on two lines even on narrow phones. */
@media(max-width:360px){.directory-salesforce-intro{grid-template-columns:minmax(0,1fr) 60px;column-gap:8px}.directory-salesforce-intro h2{font-size:26px}.directory-salesforce-intro .arrow>svg{width:18px;height:18px}.directory-salesforce-logo{width:60px}}
/* Keep the first page label the same distance from its breadcrumb, regardless of copy length. */
.photo-service-hero .btn{padding:17px 21px}
.scope-heading-branded{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:24px;align-items:center}
.scope-heading-branded>.eyebrow,.scope-heading-branded>h2{grid-column:1}
.scope-heading-branded>h2{margin-bottom:0}
.scope-heading-branded>.salesforce-brand-logo{grid-column:2;grid-row:1/3}
.salesforce-brand-logo{display:block;flex:none;width:92px;height:64px;object-fit:contain}
@media(max-width:600px){.scope-heading-branded{column-gap:18px}.salesforce-brand-logo{width:78px;height:auto}}
:root{--page-intro-gap:42px}
.crumb+:is(.page-hero,.contact-page,.article,.cms-article,.section){padding-block-start:var(--page-intro-gap)}
.page-hero .photo-service-grid,.crumb+.section>.section-head{align-items:start}
@media(max-width:600px){:root{--page-intro-gap:32px}}

/* Service navigation sits beside capabilities; subsequent sections use the normal page container. */
.service-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:36px;align-items:start}
.company-body article{align-items:start}
.company-body .number{font-variant-numeric:tabular-nums}
.company-values-body{padding-bottom:12px}
.values-pledge{display:grid;place-items:center;margin-block:8px 40px;padding-block:24px;overflow:hidden}
.values-pledge-logo{display:block;width:220px;max-width:100%;height:auto}
.values-pledge-link{display:block;max-width:100%}
.values-pledge-link:focus-visible{outline:2px solid var(--blue);outline-offset:8px}
.values-pledge.pledge-pending .values-pledge-logo{opacity:0}
@media(prefers-reduced-motion:reduce){.values-pledge.pledge-pending .values-pledge-logo{opacity:1}}
@media(max-width:600px){.values-pledge{margin-block:0 20px}.values-pledge-logo{width:180px}}
@media(min-width:851px){.service-insights .insight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:851px){.company-body article{min-block-size:208px}}
.service-content{min-width:0}
.service-content .wrap{width:100%;max-width:none}
.faq-section.wrap{max-width:none}
.approach-grid .approach-cta{background:#fff;color:var(--ink);border:1px solid #bbcafa;padding:12px 20px;min-height:48px;gap:30px;font-weight:400}
.approach-grid .approach-cta svg{color:var(--blue)}
.approach-grid .approach-cta:hover{background:var(--pale);border-color:var(--blue);color:var(--ink)}
.approach-grid .approach-cta:focus-visible{outline:2px solid var(--blue);outline-offset:4px}
.industry-applications .related-links a{display:grid;grid-template-columns:minmax(0,1fr) 20px;align-items:start;gap:10px 16px}
.industry-applications .industry-application-copy{grid-column:1/-1;font-size:14px;line-height:1.7;font-weight:400;color:var(--muted)}
.service-sidebar{margin-block:0 24px;padding:12px 8px 8px;border:1px solid var(--line);border-top:2px solid var(--blue);border-radius:3px;background:#fff}
.service-sidebar-heading{font-size:.875rem;font-weight:400;color:var(--ink);padding:0 8px 10px;margin-bottom:4px;border-bottom:1px solid var(--line)}
.service-tree{font-size:.875rem;font-weight:400;line-height:1.5}
.service-tree ul{list-style:none;margin:0;padding:0}
.service-tree li{min-width:0}
.service-tree a,.service-tree summary{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:42px;padding:10px 9px;text-align:start;border-inline-start:3px solid transparent;border-radius:2px;overflow-wrap:anywhere;outline-offset:-3px}
.service-tree a,.service-tree summary{color:#465268;font-weight:400}
.service-tree a:hover,.service-tree summary:hover{background:var(--pale);color:var(--blue)}
.service-tree a[aria-current="page"]{color:#193dae;background:#edf2ff;border-inline-start-color:var(--blue);font-weight:600}
.service-tree-current{flex:none;width:6px;height:6px;background:var(--blue);border-radius:50%}
.service-tree-branch{position:relative}
.service-tree .service-tree-parent{min-height:44px;padding-inline-end:48px}
.service-tree-disclosure>summary{position:absolute;inset-block-start:0;inset-inline-end:0;width:44px;height:44px;justify-content:center;border:0;padding:0}
.service-tree .is-current-branch>.service-tree-parent,.service-tree .is-current-branch>.service-tree-disclosure>summary{color:#193dae}
.service-tree a:focus-visible,.service-tree summary:focus-visible{outline:2px solid var(--blue)}
.service-tree summary svg,.service-browser-mobile>summary svg{flex:none;transition:transform .15s ease}
.service-tree details[open]>summary svg,.service-browser-mobile[open]>summary svg{transform:rotate(180deg)}
.service-tree .service-tree-children{margin-block:4px 10px;margin-inline:14px 0;padding-inline-start:8px;border-inline-start:1px solid var(--line)}
.service-tree-children>li>a{position:relative}
.service-tree-children>li>a::before{content:"";position:absolute;inset-inline-start:-12px;top:20px;width:9px;border-top:1px solid var(--line)}
/* Compact the desktop sidebar while retaining the mobile menu's larger tap targets. */
.service-sidebar .service-tree{font-size:.8125rem;line-height:1.4}
.service-sidebar .service-tree a,.service-sidebar .service-tree summary{min-height:30px;padding:5px 6px;gap:6px}
.service-sidebar .service-tree .service-tree-children{margin-block:2px 4px;margin-inline-start:8px;padding-inline-start:6px}
.service-sidebar .service-tree-children>li>a::before{inset-inline-start:-10px;top:14px;width:7px}
.service-sidebar .service-tree .service-tree-parent{padding-inline-end:36px}
.service-sidebar .service-tree-disclosure>summary{width:30px;height:30px;padding:0;justify-content:center}
.service-browser-mobile{display:none}
@media(min-width:1261px){
 /* The capabilities grid bounds the sticky menu; tall menus scroll within the viewport. */
 .service-sidebar{position:sticky;top:calc(var(--header-space) + 16px);max-height:calc(100vh - var(--header-space) - 32px);max-height:calc(100dvh - var(--header-space) - 32px);overflow-y:auto;scroll-padding-block:8px;scrollbar-width:thin}
 .service-content .scope-grid{grid-template-columns:1fr;gap:28px}
 .service-content .scope-heading h2{max-width:none;font-size:2.25rem}
 .service-content .scope-section{padding:36px}
}
@media(max-width:1260px){
 .service-layout{display:block}
 .service-sidebar{display:none}
 .service-browser-mobile{display:block;margin-block:0 24px;border:1px solid var(--line);border-radius:3px;background:#fff}
 .service-browser-mobile>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 18px;min-height:64px;outline-offset:3px}
 .service-browser-label{display:block;font-size:.875rem;font-weight:400;color:var(--ink)}
 .service-browser-location{display:block;font-size:.875rem;line-height:1.5;color:#526078;margin-top:3px}
 .service-browser-mobile>.service-tree{padding:12px 16px;border-top:1px solid var(--line)}
 body:has(.service-browser-mobile[open]) .contact-dock{display:none}
}
@media(prefers-reduced-motion:reduce){.service-tree summary svg,.service-browser-mobile>summary svg{transition:none}}
/* The main navigation already exposes every service on phones and tablets. */
@media(max-width:850px){
 .service-sidebar,.service-browser-mobile{display:none}
 .service-content .scope-section{padding-inline:20px}
 .service-content .scope-grid{grid-template-columns:minmax(0,1fr)}
 .service-content .scope-grid>*{min-width:0}
}
/* Article categories are full labels, not the numbered service-card column. */
@media(max-width:850px){
 .insight-card{display:flex;flex-direction:column;min-width:0;gap:0}
 .insight-card h3{margin-block:0 20px}
 .insight-card p{margin:0 0 22px}
 .insight-card .text-link{margin-top:auto;align-self:flex-start}
 .contact-page{grid-template-columns:minmax(0,1fr)}
 .contact-page>div{min-width:0}
}
@media(max-width:600px){
 .contact-page h1{font-size:clamp(2.15rem,10vw,3rem)}
 .contact-page .text-link{max-width:100%}
 .deliverables p,.insight-card p{font-size:16px}
 .service-content .deliverables article>div{min-width:0;overflow-wrap:anywhere}
}
@media(max-width:360px){
 .service-content .scope-heading h2{font-size:1.85rem}
 .scope-heading-branded{grid-template-columns:minmax(0,1fr)}
 .scope-heading-branded>.salesforce-brand-logo{grid-column:1;grid-row:auto;margin-top:16px}
}
.enquiry-captcha{margin:24px 0;padding:20px;border:1px solid #d6deed;background:#f7f8fc;border-radius:3px;min-width:0}
.enquiry-captcha .captcha-status{font-size:14px;line-height:1.6;margin:0 0 12px}
.enquiry-captcha .captcha-privacy{font-size:12px;line-height:1.65;margin:12px 0 0}
.enquiry-captcha .captcha-widget{max-width:100%}
.form-actions .btn:disabled{opacity:.55;cursor:not-allowed;transform:none}
.chat-review .enquiry-captcha{padding:12px;margin:18px 0}
@media(max-width:400px){.enquiry-captcha{padding:12px}}

/* Keep copy feedback directly below its own action, including when actions wrap. */
.form-actions{display:grid;grid-template-columns:max-content max-content minmax(0,1fr);gap:6px 20px;align-items:center}
#copy-brief{grid-column:3;grid-row:1;justify-self:start}
#copy-status{grid-column:3;grid-row:2;margin:0;font-size:13px;line-height:1.5;overflow-wrap:anywhere}
#copy-status:empty{display:none}
@media(max-width:600px){
 .form-actions{grid-template-columns:max-content minmax(0,1fr);gap:8px 18px}
 .form-actions .btn{grid-column:1/-1;margin-bottom:10px}
 #edit-brief{grid-column:1;grid-row:2}
 #copy-brief{grid-column:2;grid-row:2}
 #copy-status{grid-column:2;grid-row:3}
}

/* Optional Salesforce videos, centered like the previous site's video band. */
.service-video{background:var(--pale);color:var(--ink)}
.service-video-inner{max-width:880px;margin-inline:auto}
.service-video h2{font-size:clamp(1.65rem,3vw,2.4rem);margin-bottom:28px}
.service-video-player{display:block;width:100%;height:auto;aspect-ratio:16 / 9;border:0;background:#000}
.service-video-link{color:var(--blue);margin-top:20px}
.service-video-link:hover{color:var(--ink)}
.service-video-link:focus-visible{outline:2px solid var(--blue);outline-offset:6px}

.review-verified{display:inline-flex;align-items:center;gap:6px}
.review-verified svg{width:16px;height:16px;flex:0 0 16px;color:#16804a}

.meet-team-photo{max-width:820px;margin-block:0 64px}
.meet-team-photo img{display:block;width:100%;height:auto;border-radius:2px}
@media(max-width:600px){.meet-team-photo{margin-bottom:40px}}

/* Keep the legal links together, in reading order, across all languages. */
.footer-bottom{border-top:0;justify-content:flex-start;align-items:baseline;gap:24px;flex-wrap:wrap}
.footer-bottom>a,.footer-bottom>.analytics-preferences{flex:none}
@media(max-width:700px){.footer-bottom{flex-direction:column;align-items:flex-start;gap:12px}}

.agent-actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px;margin-top:28px}
.agent-service-links{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.agent-service-links a{display:flex;justify-content:space-between;gap:16px;padding:18px 20px;background:var(--pale);border:1px solid var(--line)}
.agent-service-links a:hover{color:var(--blue)}
.agent-doc .agent-connection{border-block:1px solid var(--line);padding-block:22px}
.agent-connection summary{font-size:19px;color:var(--ink);display:flex;justify-content:space-between;gap:20px}
.agent-connection summary::after{content:'+';color:var(--blue)}
.agent-connection[open] summary::after{content:'−'}
.agent-connection>div{padding-top:22px}
.agent-connection p,.agent-connection li{font-size:16px}
@media(max-width:600px){.agent-service-links{grid-template-columns:1fr}.agent-actions{align-items:flex-start;flex-direction:column}}

/* Insights shares the standard page columns; its cards also appear on the homepage. */
.section.insights-section>.section-head{align-items:start;margin-bottom:36px}
.insights-section .section-head :is(h1,h2){font-size:clamp(2.3rem,3.5vw,3.45rem);line-height:1.15;margin:0}
.insights-intro{min-width:0}
.insights-intro>.page-intro{margin:0}
.insights-intro>.project-cta{margin-top:18px}
[dir=rtl] .insights-section .section-head :is(h1,h2){line-height:1.4}
@media(max-width:850px){
 .section.insights-section>.section-head{gap:20px;margin-bottom:28px}
 .insights-intro>.page-intro{max-width:none}
}
@media(max-width:600px){.insights-section .section-head :is(h1,h2){font-size:2.4rem}}

/* A quiet maker credit; legal links retain their existing order. */
.footer-credit{margin-inline-start:auto}
.footer-credit a:hover{color:var(--blue)}
@media(max-width:700px){.footer-credit{margin-inline-start:0}}

/* Industry pages */

.industry-draft-notice{font-size:12px;color:#40536f;padding-block:14px;border-bottom:1px solid #d5dce7}
.industry-photo img{object-position:var(--photo-position)}
.industry-context{padding-top:20px}
[lang=ar] .industry-photo img{object-position:var(--photo-position)}
@media(min-width:1261px){.header .main-nav{gap:22px;font-size:13px}.header .nav-more{font-size:13px}.header-inner{gap:18px}.header-tools{gap:12px}}
@media(max-width:1450px){.header .main-nav{display:none}.header .menu-btn{display:block}.header .header-tools{margin-inline-start:auto}}
@media(max-width:700px){.industry-context{padding-top:10px}}

.review-section.service-proof{display:block}
.review-section>.eyebrow{margin-bottom:24px}
.review-section-body{display:block}
.review-section .reviews-grid>.review-card:last-child{grid-column:auto}
.review-all-link{min-height:44px;max-width:100%}
.reviews-grid>.review-all-link,.home-review-list>.review-all-link{align-self:center;justify-self:start;margin:0}
.reviews-grid>.review-all-link{padding-inline:30px}
.home-review-list>.review-all-link{padding-inline:26px}
/* Keep the final review and its catalogue link together on wider layouts. */
@media(min-width:851px){.review-section .reviews-grid>.review-card:nth-last-child(2):nth-child(3n){grid-column:1}}
@media(min-width:601px) and (max-width:850px){.review-section .reviews-grid>.review-card:nth-last-child(2):nth-child(2n){grid-column:1}}
@supports(grid-template-rows:subgrid){.home-review-list>.review-all-link{grid-row:span 4}}
@media(min-width:1101px){.home-review-list>.home-review:nth-last-child(2):nth-child(5n){grid-column:1}}
@media(min-width:601px) and (max-width:1100px){.home-review-list>.home-review:nth-last-child(2):nth-child(2n){grid-column:1}}
.scope-heading>p:not(.eyebrow){margin-top:22px;font-size:15px;line-height:1.75}

/* Compact header disclosure; the footer keeps simple text language links. */
.header .locale>summary{gap:7px;min-height:44px;padding:8px;border:1px solid transparent;border-radius:4px;color:var(--ink);line-height:1}
.header .locale>summary:hover,.header .locale[open]>summary{background:var(--pale)}
.language-globe,.language-check{display:block;flex:none}
.language-globe{color:var(--muted)}
.language-code{font-size:13px;font-weight:500;letter-spacing:.02em}
.header .locale .nav-chevron{width:10px;height:10px}
.header .locale .language-menu{inset-inline-end:0;min-width:188px;padding:6px;border-radius:4px;box-shadow:0 10px 28px #0c204014}
.header .language-menu a{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:44px;padding:10px 12px;border-radius:2px;font-size:14px;color:var(--ink)}
.language-check{color:var(--blue);visibility:hidden}
a[aria-current]>.language-check{visibility:visible}
.header .language-menu a[aria-current]{background:var(--pale);font-weight:500}
.header .language-menu a:is(:hover,:focus-visible){background:var(--pale);color:var(--blue)}
.footer-languages{gap:12px 24px}
.footer-languages>span{margin-inline-end:0}
.language-options{display:flex;align-items:center;flex-wrap:wrap;gap:24px}
.footer .language-options a{min-height:44px;padding:8px 0;color:var(--muted);line-height:1.5;white-space:nowrap;text-underline-offset:5px;text-decoration-thickness:1px}
.footer .language-options a>.language-check{display:none}
.footer .language-options a[aria-current]{color:var(--ink);font-weight:500;text-decoration-line:underline;text-decoration-color:#a7b4c8}
.footer .language-options a:is(:hover,:focus-visible){color:var(--blue);text-decoration-line:underline;text-decoration-color:currentColor}
.footer .language-options a:focus-visible{outline:2px solid var(--blue);outline-offset:4px}
@media(max-width:600px){.header .locale>summary{padding-inline:6px;gap:6px}.footer-languages{width:100%;gap:6px}.language-options{width:100%}}

/* Public content sections: the following section owns one gap, so adjacent
   bottom/top padding cannot double it. Card, form and navigation spacing is local. */
#main{display:flow-root;padding-block-end:var(--section-gap)}
#main>:is(.page-hero,.section,.faq-section,.service-proof,.services-directory,.company-body,.meet-team-photo,.values-pledge,.review-catalog,.contact-page,.article,.cms-article,.search-content){padding-block:0;margin-block:0}
#main>:is(.service-layout,.scope-section,.service-video,.service-pagination,.search-hero){margin-block:0}
#main>:not(.crumb)+:not(.crumb){margin-block-start:var(--section-gap)}
#main>.crumb+:is(.page-hero,.section,.contact-page,.article,.cms-article){padding-block-start:var(--page-intro-gap)}
#main>:is(.scope-section,.service-video,.search-hero),#main .service-content>.scope-section{padding-block:var(--section-gap)}
#main>:is(.page-hero,.section,.faq-section,.service-proof,.article,.cms-article)>:last-child,
#main>.approach-grid>div>:last-child{margin-block-end:0}
#main>.services-directory>section{margin-block:0}
#main>.services-directory>section+section{margin-block-start:var(--section-gap)}
/* Editorial sections use the same rhythm without changing paragraph spacing. */
#main .article-body>section{margin-block:var(--section-gap) 0}
#main .article-body>section>:last-child{margin-block-end:0}
#main .cms-prose .rich-text h2{margin-block-start:var(--section-gap)}
#main .cms-prose .rich-text>:first-child{margin-block-start:0}
#main .cms-prose .rich-text>:last-child{margin-block-end:0}
#main .cms-prose>.rich-text+.rich-text{margin-block-start:var(--section-gap);padding-block-start:0}
/* Full-width colour bands keep their background continuous, with the same
   inset on either side of a transition instead of the former 80–86px insets. */
.home-page #main{padding-block-end:0}
.home-page #main>:not(.crumb)+:not(.crumb){margin-block-start:0}
.home-page #main>:is(.section,.home-section),
.home-page #main>.home-insights-section>.section{padding-block:var(--section-gap)}
body>#main+.closing>.closing-inner{padding-block:var(--section-gap)}
body>#main~.footer{padding-block-start:var(--section-gap)}

/* A final pagination band meets the closing colour band without a white strip. */
#main:has(>.service-pagination:last-child){padding-block-end:0}
.service-video .eyebrow{margin-bottom:20px}
.service-video h2{margin-bottom:18px}
.video-intro{color:var(--muted);margin-bottom:24px}
.video-open,.video-submit{font:inherit;cursor:pointer}
.video-form{margin-top:28px;max-width:880px}
.video-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-block:18px}
.video-fields label{display:grid;gap:8px;font-size:13px}
.video-fields input{width:100%;min-width:0;box-sizing:border-box;border:1px solid #bdc9df;background:#fff;padding:12px;font:inherit;font-size:16px;border-radius:0;min-height:46px;color:var(--ink)}
.video-consent{display:flex;gap:12px;align-items:flex-start;font-size:13px;line-height:1.65;max-width:760px;margin-block:22px 12px}
.video-consent input{flex:none;width:18px;height:18px;margin-top:3px;accent-color:var(--blue)}
.video-consent a{text-decoration:underline;text-underline-offset:3px}
.video-required,.video-status{font-size:13px;color:var(--muted);line-height:1.65}
.video-status{overflow-wrap:anywhere;margin:20px 0}
.video-status:empty{display:none}
.video-submit{margin-top:12px}
.video-contact{margin-top:20px}
.video-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.service-video [hidden]{display:none!important}
.service-video button:disabled{opacity:.55;cursor:not-allowed}
.service-video button[aria-busy=true]{cursor:wait}
.video-design-preview{aspect-ratio:16/9;display:grid;place-items:center;background:#fff;border:1px solid var(--line);color:var(--muted);font-size:16px}
.service-video :focus-visible{outline:2px solid var(--blue);outline-offset:4px}
@media(max-width:600px){.video-fields{grid-template-columns:minmax(0,1fr);gap:16px}.video-consent{font-size:12px}}

.insights-feed{margin:28px 0 0;font-size:14px}.insights-feed .text-link{color:var(--blue)}


/* /photography.css */
.photograph{position:relative;margin:0;overflow:hidden;background:#e9ecee;border-radius:3px}
.photograph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--photo-position,50% 50%)}
.photo-service-hero{padding-block:38px 64px}
.photo-service-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.photo-service-grid>*{min-width:0}
.photo-service-hero .page-intro{max-width:540px;margin-bottom:25px}
.photo-service-hero h1{margin-bottom:25px}
.service-photograph{aspect-ratio:4/3}
@media(max-width:1100px){
 .photo-service-grid{gap:40px}
 .photo-service-hero h1{font-size:3rem}
}
@media(max-width:850px){
 .photo-service-grid{grid-template-columns:1fr;gap:32px}
 .photo-service-hero h1{max-width:700px}
 .photo-service-hero .page-intro{max-width:650px}
}
@media(max-width:600px){
 .photo-service-hero{padding-block:24px 38px}
 .photo-service-hero h1{font-size:clamp(2.15rem,11vw,2.55rem);line-height:1.2;overflow-wrap:anywhere;hyphens:auto}
}


/* /assets/search/search-f817fc4d8dac.css */
.search-field-label{display:block;font-size:14px;font-weight:500;margin-bottom:10px}
.search-field{display:flex;align-items:center;gap:16px;padding:8px 8px 8px 20px;border:1px solid #bac6d9;background:#fff;border-radius:2px}
[dir=rtl] .search-field{padding:8px 20px 8px 8px}
.search-field>svg{flex:none;color:var(--muted)}
.search-field input{border:0;min-width:0;width:100%;padding:10px 0;color:var(--ink);background:transparent;line-height:1.5}
.search-field input::placeholder{color:#64738b;opacity:1}
.search-field:focus-within{outline:2px solid var(--blue);outline-offset:2px}
.search-field input:focus-visible{outline:0}
.search-field button{flex:none;border:1px solid var(--blue);border-radius:2px;background:var(--blue);color:white;min-height:44px;padding:10px 22px;line-height:1.5;font-weight:500}
.search-field button:hover{background:#173bce}
.nav-search{position:static;flex:none}
.nav-search>summary{display:flex;align-items:center;justify-content:center;width:40px;height:44px;color:var(--ink)}
.nav-search[open]>summary,.nav-search>summary:hover,.nav-search>summary.nav-active{color:var(--blue)}
.nav-search-panel{position:absolute;top:calc(100% - 8px);inset-inline-end:0;width:370px;padding:10px 12px;background:#fff;border:1px solid var(--line);box-shadow:0 12px 28px #0c204012;z-index:45}
.nav-search-panel .search-field-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.nav-search-panel .search-field{gap:10px;padding:0;border:0;border-radius:0}
.nav-search-panel .search-field:focus-within{outline:0}
.nav-search-panel input{border-bottom:2px solid transparent}
.nav-search-panel input:focus-visible{border-bottom-color:var(--blue)}
.nav-search-panel .search-field>svg{width:18px;height:18px}
.nav-search-panel .search-field button{padding:9px 14px;font-size:14px}
.nav-search-panel input{font-size:14px;padding-block:8px}
.mobile-nav>.site-search-form{padding:0 12px 16px;border-bottom:1px solid var(--line);margin-bottom:8px}
.mobile-nav .search-field-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.mobile-nav .site-search-form .search-field{gap:8px;padding:3px;padding-inline-start:12px}
.mobile-nav .search-field>svg{display:none}
.mobile-nav .search-field input{min-height:44px;padding:8px 0;font-size:16px}
.mobile-nav .search-field button{min-height:44px;padding:8px 12px;font-size:14px}
.search-hero{background:var(--pale);padding:50px 0 52px}
.search-heading{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;margin-bottom:32px}
.search-heading h1{font-size:clamp(42px,5vw,66px);margin:0}
.search-heading p{font-size:18px;color:var(--muted);max-width:535px;margin:0;line-height:1.8}
.search-hero .site-search-form{max-width:880px}
.search-hero .search-field-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.search-hero input{font-size:18px}
.search-content{padding-block:48px 88px;min-height:390px}
.search-status{font-size:17px;margin:0 0 22px;overflow-wrap:anywhere}
.search-status:empty{display:none}
.search-filters{display:flex;flex-wrap:wrap;gap:8px 24px;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:8px}
.search-filters button{background:transparent;border:0;border-bottom:2px solid transparent;padding:8px 0;min-height:44px;color:var(--muted);font-size:14px;line-height:1.5}
.search-filters button:hover,.search-filters button[aria-pressed=true]{color:var(--blue);border-bottom-color:var(--blue)}
.search-result{padding:28px 0 30px;border-bottom:1px solid var(--line);max-width:1040px}
.search-result .search-category{font-size:12px;letter-spacing:.06em;color:var(--blue);margin:0 0 12px}
.search-result h2{font-size:clamp(22px,2.1vw,28px);line-height:1.4;letter-spacing:-.025em;margin:0 0 12px}
.search-result h2 a{display:inline;overflow-wrap:anywhere}
.search-result h2 a:hover{color:var(--blue);text-decoration:underline;text-underline-offset:5px}
.search-result .arrow{display:inline-block;vertical-align:middle;margin-inline-start:12px;flex:none}
.search-excerpt{max-width:920px;color:var(--muted);font-size:16px;line-height:1.85;margin:0;overflow-wrap:anywhere}
.search-result mark{background:#e4ebff;color:#163790;padding:0 1px;box-decoration-break:clone}
.search-empty{max-width:600px;padding:12px 0 26px}
.search-empty h2{font-size:28px;margin-bottom:16px}
.search-empty p{color:var(--muted);margin:0}
.search-pagination{max-width:1040px;display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:28px}
.search-pagination p{font-size:14px;color:var(--muted);margin:0}
.search-more,.search-retry{background:#fff;border:1px solid #bac6d9;padding:12px 20px;min-height:44px;line-height:1.5}
.search-more:hover,.search-retry:hover{border-color:var(--blue);color:var(--blue)}
.search-retry{margin-bottom:20px}
.search-browse{display:flex;flex-wrap:wrap;gap:18px 32px;margin-top:28px}
.search-browse a{display:inline-flex;gap:14px;align-items:center;color:var(--ink);min-height:44px}
.search-browse a:hover{color:var(--blue)}
.search-content [hidden]{display:none}
@media(max-width:1450px){.nav-search{display:none}}
@media(max-width:700px){
 .search-hero{padding-block:32px}.search-heading{grid-template-columns:1fr;gap:18px;margin-bottom:24px}.search-heading p{font-size:16px}
 .search-field{gap:10px;padding:6px 6px 6px 12px}[dir=rtl] .search-field{padding:6px 12px 6px 6px}
 .search-field>svg{display:none}.search-field button{padding-inline:14px}.search-hero input{font-size:16px}
 .search-content{padding-block:30px 55px}.search-filters{gap:4px 20px}.search-result{padding-block:24px}.search-excerpt{font-size:15px}
 .search-pagination{align-items:start;flex-direction:column;gap:12px}.search-empty h2{font-size:25px}
}


/* /home-page.css */
/* Homepage only: a quiet hero, expertise, selected industries, reviews and insights. */
.home-page{--home-surface:#f7f8fb;--home-space:80px}
.home-page .clean-hero{background:var(--home-surface);border:0}
.home-page .clean-hero-grid{align-items:start;padding-bottom:48px}
.home-page .clean-hero h1{margin-bottom:0}
.home-page .hero-context{border:0;padding-inline-start:0}
.home-page .hero-context .lede{margin-bottom:24px}
.home-page .clean-hero .location{max-width:none;margin-top:20px}
.home-page .hero-service-nav{border-color:var(--line);grid-template-columns:repeat(5,minmax(0,1fr))}
.home-page .hero-service-nav>a{min-width:0}
.home-page .hero-service-nav>a>.number,.home-page .hero-service-nav>a>.arrow{flex:none}
.home-page .insight-card{display:flex;min-width:0}
.home-page .expertise-row{position:relative}
.home-page .service-tile-icon{position:absolute;inset-inline-end:72px;top:32px;display:block;width:24px;height:24px;color:inherit;pointer-events:none}
@media(max-width:850px){.home-page .service-tile-icon{inset-inline-end:67px;top:27px}}
.home-section{padding-block:var(--home-space)}
.home-section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:36px}
.home-section-heading>div{min-width:0}
.home-section-heading h2{font-size:clamp(2.1rem,3.3vw,3.1rem);line-height:1.16;margin:0;max-width:780px}
.home-section-heading .eyebrow{margin-bottom:18px}
.home-section-heading>p{max-width:340px;flex:0 1 340px;font-size:16px;color:#526078;margin:0;line-height:1.7}
.home-section-heading>.text-link{flex:none;white-space:nowrap;font-size:15px}
.home-service-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.home-service-card{display:flex;flex-direction:column;align-items:start;min-width:0;padding:30px 26px;background:var(--home-surface);border-radius:3px;color:var(--ink)}
.home-service-card h3{font-size:26px;line-height:1.25;margin:0 0 18px;letter-spacing:-.035em}
.home-service-card p{font-size:16px;color:#526078;line-height:1.7;margin:0 0 26px}
.home-card-link{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;margin-top:auto;font-size:14px;color:var(--blue);font-weight:500}
.home-card-link .arrow{font-size:21px}
.home-service-featured{background:var(--blue);color:#fff}
.home-service-featured p{color:#eef2ff}
.home-service-featured .home-card-link{color:#fff}
.home-service-card:hover{background:#edf1fa}
.home-service-featured:hover{background:#1a40d2}
.home-service-directory{display:grid;grid-template-columns:1fr 3fr;gap:38px;align-items:start;margin-top:42px;padding-top:32px;border-top:1px solid var(--line)}
.home-service-directory h3{font-size:23px;line-height:1.4;margin:8px 0 0}
.home-service-directory ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 28px;list-style:none;margin:0;padding:0}
.home-service-directory li{min-width:0}
.home-service-directory a{display:flex;align-items:start;justify-content:space-between;gap:16px;padding:10px 0;font-size:15px;line-height:1.6}
.home-service-directory .arrow{font-size:19px;margin-top:2px}
.home-service-directory a:hover{color:var(--blue);text-decoration:underline;text-underline-offset:4px}
/* Full-width alternating surfaces distinguish each section while scrolling. */
.home-industries-section,.home-insights-section{background:var(--home-surface)}
.home-reviews-section{background:#fff}
.home-insights-section .insight-card{background:#fff}
.home-industries-section{scroll-margin-top:90px}
.home-industries-section .home-section-heading>p{max-width:680px;flex-basis:680px}
.home-industry-tiles{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.home-industry-tile{display:flex;flex-direction:column;min-width:0;border:1px solid var(--line);background:#fff}
.home-industry-photo{aspect-ratio:3/2;flex:none;border-radius:0}
.home-industry-label{display:flex;align-items:start;justify-content:space-between;gap:10px;padding:22px 16px;min-width:0}
.home-industry-label h3{font-size:clamp(18px,1.4vw,22px);line-height:1.3;letter-spacing:-.025em;font-weight:400;margin:0;min-width:0;overflow-wrap:break-word}
.home-industry-label>.arrow{flex:none;width:18px;height:18px;margin-top:4px;color:var(--blue)}
.home-industry-all{background:var(--blue);border-color:var(--blue);color:#fff}
.home-industry-all::before{content:'';aspect-ratio:3/2;flex:none}
.home-industry-all .arrow{color:inherit}
.home-industry-tile:hover{border-color:var(--blue);background:var(--home-surface);color:var(--blue)}
.home-industry-all:hover{background:#1a40d2;color:#fff}
.home-industry-tile:focus-visible{outline:2px solid var(--blue);outline-offset:4px}
[dir=rtl] .home-industry-label h3{line-height:1.5;letter-spacing:0}
@media(min-width:1101px) and (max-width:1250px){.home-industry-label{padding:20px 12px;gap:8px}}
@media(max-width:1100px){
 .home-industry-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
 .home-industry-label h3{font-size:22px}
 .home-industry-all{grid-column:1/-1;min-height:96px;justify-content:center}
 .home-industry-all::before{display:none}
}
@media(max-width:700px){
 .home-industry-tiles{grid-template-columns:1fr;gap:12px}
 .home-industry-tile{flex-direction:row;align-items:center}
 .home-industry-photo{width:100px;align-self:stretch;aspect-ratio:auto;min-height:96px}
 .home-industry-label{flex:1;align-items:center;padding:18px 16px;gap:10px}
 .home-industry-label h3{font-size:20px}
 .home-industry-label>.arrow{margin-top:0}
 .home-industry-all{min-height:80px}
}
@media(max-width:360px){
 .home-industry-photo{width:80px}
 .home-industry-label{padding:16px 12px;gap:8px}
 .home-industry-label h3{font-size:18px}
}
.home-review-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px}
.home-review{display:flex;flex-direction:column;min-width:0;padding:26px;background:var(--home-surface);border-radius:3px}
.home-review-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px;margin-bottom:22px}
.home-review-top .stars{color:#c58a10;letter-spacing:.08em;font-size:15px}
.home-review-top time{font-size:12px;color:#5c6b80}
.home-review-industry{font-size:14px;line-height:1.6;color:#526078;margin-bottom:15px}
.home-review-text{font-family:var(--display);font-size:20px;line-height:1.55;letter-spacing:-.02em;margin-bottom:26px}
.home-review-source{display:flex;justify-content:space-between;align-items:center;gap:14px;font-size:14px;color:var(--blue);margin-top:auto;min-height:44px}
.home-review-source .arrow{font-size:20px}
.home-review-source:hover{text-decoration:underline;text-underline-offset:4px}
.home-reviews-end{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:18px;margin-top:28px}
.home-reviews-end .text-link{font-size:15px}
.home-insight-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:44px}
.home-insight{display:flex;flex-direction:column;align-items:start;border-top:1px solid var(--line);padding-top:24px}
.home-insight-category{font-size:14px;color:#526078;margin-bottom:16px}
.home-insight h3{font-size:25px;line-height:1.35;margin:0 0 28px}
.home-insight .home-card-link{justify-content:start}
.home-insight:hover h3{color:var(--blue)}
.home-page .closing-inner{padding-block:64px}
.home-page .closing h2{font-size:clamp(2.2rem,3.7vw,3.35rem)}
[dir=rtl] .home-service-card h3,[dir=rtl] .home-insight h3{line-height:1.5;letter-spacing:0}
[dir=rtl] .home-review-text{letter-spacing:0}
[dir=rtl] .home-section-heading h2{line-height:1.45}
/* Shared row tracks align descriptions even when a translated title needs two lines. */
@supports(grid-template-rows:subgrid){
 .home-service-card{display:grid;grid-template-rows:subgrid;grid-row:span 3;row-gap:0}
 .home-review{display:grid;grid-template-rows:subgrid;grid-row:span 4;row-gap:0}
}
@media(max-width:1100px){
 .home-page .hero-service-nav{grid-template-columns:repeat(2,minmax(0,1fr))}
 .home-page .hero-service-nav>a{margin:0;border-bottom:1px solid var(--line)}
 .home-page .hero-service-nav>a:nth-child(even){border-inline-end:0}
 .home-page .hero-service-nav>a:last-child{grid-column:1/-1}
 .home-service-cards,.home-review-list{grid-template-columns:repeat(2,minmax(0,1fr))}
 .home-service-card{padding:28px}
 .home-service-directory{grid-template-columns:1fr 2.5fr;gap:28px}
 .home-service-directory ul{grid-template-columns:repeat(2,minmax(0,1fr))}
 .home-insight-list{gap:28px}
}
@media(max-width:850px){
 .home-page{--home-space:64px}
 .home-page .clean-hero-grid{padding-bottom:38px}
 .home-section-heading{display:block}
 .home-section-heading>p{max-width:580px;margin-top:20px}
 .home-section-heading>.text-link{margin-top:24px}
 .home-service-directory{grid-template-columns:1fr;gap:18px}
 .home-service-directory h3{margin:0}
 .home-service-directory ul{gap:4px 32px}
 .home-insight-list{grid-template-columns:1fr}
 .home-insight{display:grid;grid-template-columns:1fr auto;gap:0 24px;align-items:center}
 .home-insight-category{grid-column:1 / -1}
 .home-insight h3{margin-bottom:0}
 .home-insight .home-card-link{width:auto;margin:0}
}
/* Keep the stacked expertise heading-to-copy gap equal to the hero on mobile. */
@media(max-width:700px){
 .home-page .clean-hero-grid,.home-page #expertise>.section-head{row-gap:30px}
}
@media(max-width:600px){
 .home-page{--home-space:52px}
 .home-section-heading{margin-bottom:28px}
 .home-section-heading h2{font-size:2.1rem}
 .home-service-cards,.home-review-list{grid-template-columns:1fr;gap:16px}
 .home-service-card{padding:26px}
 .home-service-card h3{font-size:27px;margin-bottom:14px}
 .home-service-card p{margin-bottom:22px}
 .home-service-directory{margin-top:30px;padding-top:28px}
 .home-service-directory ul{grid-template-columns:1fr;gap:0}
 .home-service-directory a{padding-block:11px;font-size:16px}
 .home-review{padding:26px}
 .home-review-top{margin-bottom:16px}
 .home-review-text{font-size:21px}
 .home-insight{display:flex;align-items:start}
 .home-insight h3{font-size:24px;margin-bottom:22px}
 .home-insight .home-card-link{margin:0}
 .home-page .closing-inner{padding-block:50px}
}


/* /home-motion.css */
/* Homepage motion follows the existing layout, with no moving or replaced copy. */
.clean-hero .hero-service-nav { position: relative; }
.clean-hero .hero-service-nav::before {
  content: '';
  position: absolute;
  inset-block-start: -1px;
  inset-inline: 0;
  height: 2px;
  background: linear-gradient(90deg, #244de8, #00aee6);
  transform: scaleX(0);
  transform-origin: left;
  pointer-events: none;
}
[dir=rtl] .clean-hero .hero-service-nav::before { transform-origin: right; }
.clean-hero.motion-intro .hero-service-nav::before {
  animation: oob-connect-line 1.65s cubic-bezier(.22, 1, .36, 1) .25s both;
}
@keyframes oob-connect-line {
  0% { transform: scaleX(0); opacity: 0; }
  12% { opacity: 1; }
  72% { transform: scaleX(1); opacity: 1; }
  100% { transform: scaleX(1); opacity: 0; }
}
.clean-hero .hero-service-nav > a,
.home-page .home-service-card,
.home-page .home-insight {
  transition: background-color .24s ease, border-color .24s ease;
}
.clean-hero .arrow,
.home-page .home-service-card .arrow,
.home-page .home-card-link .arrow,
.home-page .text-link .arrow {
  transition: transform .24s cubic-bezier(.22, 1, .36, 1);
}
@media (hover: hover) and (pointer: fine) {
  .clean-hero .hero-service-nav > a:hover { background-color: #eaf0fc; }
  .clean-hero a:hover .arrow,
  .home-page .home-insight:hover .arrow,
  .home-page .text-link:hover .arrow { transform: translate(3px, -3px); }
  [dir=rtl] .clean-hero a:hover .arrow,
  [dir=rtl] .home-page .home-insight:hover .arrow,
  [dir=rtl] .home-page .text-link:hover .arrow { transform: translate(-3px, -3px); }
}
@media (prefers-reduced-motion: reduce) {
  .clean-hero.motion-intro .hero-service-nav::before { animation: none; }
  .clean-hero .hero-service-nav > a,
  .clean-hero .arrow,
  .home-page .home-service-card,
  .home-page .home-service-card .arrow,
  .home-page .home-insight,
  .home-page .home-card-link .arrow,
  .home-page .text-link .arrow { transition: none; }
}


/* /contact-widget.css */
.contact-dock{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));z-index:60;display:flex;flex-direction:column;align-items:flex-end;gap:12px;direction:ltr}
html[dir=rtl] .contact-dock{right:auto;left:max(20px,env(safe-area-inset-left))}
.contact-dock button,.contact-dock a{box-shadow:0 5px 22px #0b152726;border:1px solid #ffffff45;display:flex;align-items:center;justify-content:center;cursor:pointer}
.contact-dock [hidden],.chat-panel [hidden],.chat-panel[hidden]{display:none!important}
.whatsapp-launch{width:56px;height:56px;border-radius:50%;background:#128c4a;color:#fff}
.whatsapp-launch img{filter:brightness(0) invert(1);width:30px;height:34px}
.whatsapp-launch:hover{background:#0c793e}
.chat-launch{min-height:48px;border-radius:25px;padding:0 18px 0 14px;gap:9px;background:#244de8;color:#fff;font:600 14px/1.4 var(--body)}
.chat-launch svg{width:23px;height:23px}
.chat-launch:hover{background:#1c3fbe}
.contact-dock :focus-visible,.chat-panel :focus-visible{outline:3px solid #009edf;outline-offset:3px}
.chat-panel{position:fixed;z-index:70;right:max(20px,env(safe-area-inset-right));bottom:88px;width:min(390px,calc(100vw - 32px));height:min(660px,calc(100dvh - 112px));display:flex;flex-direction:column;background:#fff;border:1px solid #d3ddeb;border-radius:16px;box-shadow:0 14px 70px #07172c33;color:#122139;font:400 16px/1.55 var(--body);overflow:hidden}
.chat-header{display:flex;align-items:center;gap:12px;padding:18px;background:#0b1930;color:#fff;flex:none}
.chat-avatar{width:40px;height:40px;border:1px solid #7796df;border-radius:12px;display:grid;place-items:center;font-size:12px;font-weight:700;letter-spacing:.02em;flex:none}
.chat-header h2{font:600 17px/1.3 var(--body);margin:0;color:inherit}
.chat-header p{font-size:12px;color:#c0cde6;margin:4px 0 0}
.chat-close{margin-inline-start:auto;width:38px;height:38px;flex:none;border:0;background:transparent;color:#fff;font-size:28px;cursor:pointer;border-radius:8px}
.chat-close:hover{background:#ffffff17}
.chat-body{padding:20px;overflow-y:auto;overscroll-behavior:contain;flex:1;min-height:0;scrollbar-gutter:stable}
.chat-messages{display:flex;flex-direction:column;gap:14px}
.chat-message{margin:0;border-radius:12px;padding:12px 14px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px;line-height:1.65}
.chat-message.assistant{background:#f0f4fa;margin-inline-end:15px}
.chat-message.user{background:#244de8;color:#fff;margin-inline-start:22px}
.chat-message a{display:block;color:#2449c4;font-weight:600;margin-top:9px;text-decoration:underline;text-underline-offset:3px}
.chat-topics{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.chat-topics button{background:#fff;color:#1e3970;border:1px solid #cbd7ec;border-radius:20px;font:500 13px/1.5 var(--body);padding:8px 12px;cursor:pointer}
.chat-topics button:hover{background:#edf3fc;border-color:#244de8}
.chat-mode-note{font-size:13px;line-height:1.6;color:#5b6c85;margin:16px 0 12px}
.chat-mode-note:empty{display:none}
.chat-composer{display:flex;align-items:flex-end;gap:8px;padding:8px;border:1px solid #b9c8dd;border-radius:12px;margin-top:18px;background:#fff}
.chat-composer textarea{resize:none;border:0;padding:6px;width:100%;min-height:50px;font:400 16px/1.5 var(--body);background:transparent;color:#122139}
.chat-composer textarea:focus{outline:0}
.chat-composer:focus-within{outline:2px solid #244de8;outline-offset:2px}
.chat-composer button{width:38px;height:38px;border:0;border-radius:50%;background:#244de8;color:#fff;font-size:25px;flex:none;cursor:pointer}
.chat-composer button:disabled{opacity:.45;cursor:default}
.chat-data-note{font-size:12px;line-height:1.6;color:#627189;margin:10px 0 16px}
.chat-project-button,.chat-primary{width:100%;background:#244de8;border:0;border-radius:8px;min-height:46px;padding:10px 14px;color:#fff;font:600 15px/1.4 var(--body);cursor:pointer}
.chat-primary:disabled{opacity:.6;cursor:default}
.chat-lead-form label{display:block;font-size:14px;margin:14px 0 6px;font-weight:500}
.chat-lead-form input:not([type=hidden]),.chat-lead-form select,.chat-lead-form textarea{width:100%;max-width:100%;border:1px solid #becbdd;border-radius:7px;background:#fff;color:#122139;font:400 16px/1.5 var(--body);padding:9px 10px;min-height:44px;box-sizing:border-box}
.chat-lead-form textarea{resize:vertical}
.chat-lead-form h3,.chat-review h3{font:500 23px/1.4 var(--display);margin:12px 0 16px}
.chat-back,.chat-edit{background:transparent;border:0;color:#2449c4;padding:9px 0;font:500 14px/1.5 var(--body);cursor:pointer;min-height:40px}
.chat-review>p{font-size:14px;line-height:1.7}
.chat-review dl{padding:16px;background:#f1f5fa;border-radius:8px;margin:18px 0;overflow-wrap:anywhere}
.chat-review dt{font-size:12px;color:#536680;margin-top:13px}
.chat-review dt:first-child{margin-top:0}
.chat-review dd{margin:3px 0 0;font-size:15px;white-space:pre-wrap}
.chat-review-actions{display:flex;flex-direction:column;gap:6px}
.chat-send-status{font-size:12px;color:#536680}
.chat-footer{display:flex;justify-content:space-between;padding:12px 20px;background:#f7f9fc;border-top:1px solid #e2e8f1;flex:none;font-size:12px;color:#425b83}
.chat-footer a:hover{text-decoration:underline}
.chat-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.footer-bottom{padding-bottom:100px}
@media(max-width:600px){.contact-dock{right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));gap:10px}.whatsapp-launch{width:52px;height:52px}.chat-launch{width:52px;height:48px;padding:0}.chat-launch span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.chat-panel{right:16px;bottom:80px;height:min(650px,calc(100dvh - 96px));width:calc(100vw - 32px)}.chat-body{padding:16px}.chat-header{padding:14px}.chat-header p{font-size:11px}.chat-footer{padding:10px 16px}}
@media(max-width:600px){html[dir=rtl] .contact-dock{left:max(16px,env(safe-area-inset-left))}}
@media(max-height:430px){.chat-panel{bottom:12px;height:calc(100dvh - 24px);right:80px;width:min(390px,calc(100vw - 96px))}}


/* /project-cta.css */
/* Shared project CTA sizing, with a light variant on dark closing sections. */
.btn.project-cta{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;max-width:100%;padding:17px 21px;background:var(--blue);color:#fff;border:1px solid #fff;border-radius:3px;font-size:16px;font-weight:500;line-height:1.4;text-decoration:none}
.btn.project-cta>.arrow{font:400 24px/1 var(--body);flex:none}
.btn.project-cta:hover{background:#153abf;color:#fff;transform:translateY(-2px)}
.closing .btn.project-cta{background:#fff;color:var(--ink)}
.closing .btn.project-cta:hover{background:#eef2fc;color:var(--ink)}


/* /page-share.css */
.page-share{--share-edge:20px;--share-size:56px;--share-header:var(--header-space,89px);--share-top:calc(var(--share-header) + var(--share-edge));position:fixed;right:max(var(--share-edge),env(safe-area-inset-right));top:var(--share-top);z-index:25;color:var(--ink,#142035);font:400 14px/1.5 var(--body,sans-serif);transition:top .22s ease}
html[dir=rtl] .page-share{right:auto;left:max(var(--share-edge),env(safe-area-inset-left))}
body:has(.header.is-compact) .page-share{--share-header:var(--header-compact,69px)}
.page-share[hidden],.page-share [hidden]{display:none!important}
.page-share button{font:inherit;cursor:pointer}
.page-share-toggle{display:grid;place-items:center;width:var(--share-size);height:var(--share-size);min-height:var(--share-size);padding:0;border:1px solid #c5d1ec;border-radius:50%;background:#fff;color:var(--ink,#142035);box-shadow:0 4px 18px #14203512}
.page-share-toggle>svg{width:24px;height:24px}
.page-share-toggle:hover,.page-share-toggle[aria-expanded=true]{color:var(--blue,#2845ed);border-color:var(--blue,#2845ed);background:var(--pale,#f2f5fa)}
.page-share-panel{position:absolute;right:0;top:calc(100% + 12px);width:330px;max-height:calc(100dvh - var(--share-top) - var(--share-size) - var(--share-size) - 24px - max(var(--share-edge),env(safe-area-inset-bottom)));overflow:auto;overscroll-behavior:contain;padding:18px;background:#fff;border:1px solid var(--line,#d8dfeb);border-top:2px solid var(--blue,#2845ed);border-radius:4px;box-shadow:0 12px 40px #14203526;text-align:start}
html[dir=rtl] .page-share-panel{right:auto;left:0}
.page-share-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}
.page-share-heading>p{margin:0;font-size:17px;font-weight:500;color:var(--ink,#142035)}
.page-share-close{display:grid;place-items:center;flex:none;width:36px;height:36px;padding:6px;border:0;background:transparent;color:var(--muted,#526582);border-radius:3px}
.page-share-close:hover{background:var(--pale,#f2f5fa);color:var(--ink,#142035)}
.page-share .page-share-title{margin:6px 0 18px;color:var(--muted,#526582);font-size:12px;line-height:1.6;overflow-wrap:anywhere}
.page-share-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.page-share-option{display:flex;align-items:center;gap:10px;min-width:0;min-height:48px;padding:11px 10px;border:1px solid transparent;border-radius:3px;background:var(--pale,#f2f5fa);color:var(--ink,#142035);text-decoration:none;text-align:start;line-height:1.35}
.page-share-option svg,.page-share-option img{flex:none;width:20px;height:20px;object-fit:contain}
.page-share-option span{overflow-wrap:anywhere;font-size:13px}
.page-share-option:hover{background:#edf1ff;border-color:#c5d1ec;color:var(--blue,#2845ed)}
.page-share-option[data-share-channel=linkedin] svg{color:#0a66c2}.page-share-option[data-share-channel=facebook] svg{color:#1877f2}
.page-share-more{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:44px;margin-top:14px;padding:10px;border:1px solid var(--line,#d8dfeb);border-radius:3px;background:#fff;color:var(--ink,#142035)}
.page-share-more:hover{border-color:var(--blue,#2845ed);color:var(--blue,#2845ed)}
.page-share-more:disabled{opacity:.65;cursor:wait}
.page-share .page-share-status{font-size:12px;line-height:1.6;color:var(--muted,#526582);margin:12px 0 0}.page-share-status:empty{display:none}
.page-share-fallback{width:100%;min-height:44px;margin-top:8px;padding:8px;border:1px solid #c5d1ec;border-radius:3px;background:#fff;color:var(--ink,#142035);font:inherit;font-size:13px}
.page-share :focus-visible{outline:2px solid var(--blue,#2845ed);outline-offset:3px}
.page-share-option[data-share-channel]:not([data-share-channel=email]) span{white-space:nowrap}
body:has(.menu-btn[aria-expanded=true]) .page-share,body:has(dialog[open]) .page-share,body:has(.analytics-consent:not([hidden])) .page-share,body:has(.chat-panel:not([hidden])) .page-share{visibility:hidden}
@media(max-width:700px){
 .page-share-panel{position:fixed;left:var(--share-edge);right:max(var(--share-edge),env(safe-area-inset-right));top:calc(var(--share-top) + var(--share-size) + 12px);width:auto;max-width:330px;margin-left:auto;transition:top .22s ease}
 html[dir=rtl] .page-share-panel{left:max(var(--share-edge),env(safe-area-inset-left));right:var(--share-edge);margin-left:0;margin-right:auto}
}
@media(max-width:600px){.page-share{--share-edge:16px;--share-size:52px}html[dir=rtl] body:has([data-page-share]) .crumb{padding-inline-end:60px}}
@media(max-width:360px){.page-share-panel{padding:16px}.page-share-option{padding:10px 8px;gap:8px}.page-share-option span{font-size:12px}}
@media(prefers-reduced-motion:reduce){.page-share,.page-share-panel{transition:none}}
@media print{.page-share{display:none!important}}


/* /analytics.css */
.analytics-consent[hidden],.analytics-preferences[hidden],.analytics-consent [hidden]{display:none!important}
.analytics-consent{position:fixed;inset:auto 20px 20px;z-index:1100;max-width:1160px;margin-inline:auto;padding:22px 24px;background:#fff;color:#121d32;border:1px solid #cbd4e4;border-top:3px solid #2845ed;box-shadow:0 6px 30px #0b15272b;display:flex;gap:24px;align-items:center;text-align:start}
.analytics-consent-copy{flex:1;min-width:0}.analytics-consent h2{font-size:18px;line-height:1.4;letter-spacing:normal;margin:0 0 8px}.analytics-consent p{font-size:14px;line-height:1.6;margin:0}.analytics-consent a{color:#2346d8;text-decoration:underline}.analytics-consent-actions{display:flex;flex-wrap:wrap;gap:10px;max-width:350px}
.analytics-consent-actions button{font:inherit;font-size:14px;line-height:1.4;padding:12px 16px;min-height:44px;color:#173473;background:#f3f5fb;border:1px solid #9caccc;border-radius:2px;cursor:pointer;flex:1 1 auto}
.analytics-consent-actions button:hover{background:#e5ebfb}.analytics-consent button:focus-visible,.analytics-preferences:focus-visible{outline:2px solid #2845ed;outline-offset:3px}
.analytics-preferences{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;text-align:start}.analytics-preferences:hover{color:#2845ed;text-decoration:underline}
@media(max-width:700px){.analytics-consent{inset:auto 12px 12px;padding:18px;gap:16px;flex-direction:column;align-items:stretch;max-height:80dvh;overflow:auto}.analytics-consent-actions{max-width:none}.analytics-consent-actions button{padding:10px}}

