/* Technology consulting: the light, editorial service-page design. */
.tg-consulting { --tc-ink:#07364b; --tc-muted:#4e6d83; --tc-teal:#00758a; --tc-pale:#e6f6f8; }
.tg-consulting #main-content { background:#f7fbfc; color:var(--tc-ink); overflow:hidden; }
.tc-container { width:min(1040px,calc(100% - 100px)); margin-inline:auto; }
.tg-consulting h1,.tg-consulting h2,.tc-approach-card h3 { font-family:Georgia,'Times New Roman',serif; font-weight:600; letter-spacing:-.025em; }
.tg-consulting h2 { margin:10px 0 14px; font-size:31px; line-height:1.12; font-weight:400; }
.tc-approach-card h3 { font-weight:400; }
.tc-container article { min-width:0; }
.tg-consulting p { margin:0; color:var(--tc-muted); font-size:16px; line-height:1.45; }
.tc-eyebrow { display:block; color:#648ba0; font-size:11px; font-weight:600; letter-spacing:.24em; text-transform:uppercase; }
.tc-section { padding:28px 0; }
.tc-button { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:47px; padding:13px 28px; color:#fff; background:linear-gradient(110deg,#008199,#006b80); border:1px solid #16879a; border-radius:6px; font-size:13px; font-weight:700; box-shadow:0 2px 2px #fff8 inset; transition:background .2s,transform .2s; }
.tc-button:hover { background:#045064; transform:translateY(-2px); }
.tc-button:focus-visible,.tg-consulting a:focus-visible { outline:3px solid #2197a9; outline-offset:4px; }
.tc-button svg { width:16px; height:16px; }
.tc-icon { display:inline-grid; place-items:center; flex:0 0 auto; width:70px; height:70px; color:#005168; background:#e5f5f7; border-radius:50%; }
.tc-icon svg { width:40px; height:40px; }
.tc-hero { position:relative; background:linear-gradient(110deg,#f9fafb,#f4fbfc 70%,#f2eee8); }
.tc-hero:before { content:''; position:absolute; width:210px; height:240px; left:-160px; bottom:-5px; border-radius:50%; background:#f1ede7; transform:rotate(-30deg); }
.tc-hero-grid { display:grid; grid-template-columns:47% 53%; min-height:390px; }
.tc-hero-copy { padding:38px 0 30px; position:relative; z-index:2; }
.tc-hero h1 { font-size:43px; line-height:1.06; margin:14px -25px 15px 0; }
.tc-hero-copy p { max-width:465px; margin-bottom:12px; }
.tc-hero-visual { position:relative; min-width:0; margin-right:-30px; }
.tc-hero-visual:before { content:''; position:absolute; inset:0 22px 0 -20px; border-radius:25% 42% 23% 32%; background:#e4f5f6; transform:rotate(-7deg); }
.tc-hero-visual>img { position:absolute; inset:0 65px 5px 12px; width:calc(100% - 77px); height:calc(100% - 5px); object-fit:cover; border-radius:31% 29% 24% 17%; }
.tc-float { position:absolute; z-index:2; display:flex; align-items:center; gap:12px; padding:10px 15px; background:#ffffffed; border-radius:14px; box-shadow:0 7px 20px #16445109; min-width:183px; }
.tc-float .tc-icon { width:52px; height:52px; }
.tc-float svg { width:32px; height:32px; }
.tc-float strong { font:600 16px/1.3 Georgia,serif; }
.tc-float-planning { left:-16px; top:30px; }
.tc-float-process { right:20px; top:30px; }
.tc-float-roadmap { right:65px; bottom:37px; }
.tc-handwriting { position:absolute; right:-16px; top:162px; font:italic 20px/1.45 'Segoe Print',cursive; color:#91a3a8; transform:rotate(-9deg); }
.tc-section-heading { display:grid; grid-template-columns:1.8fr 1fr; align-items:center; gap:45px; margin-bottom:24px; }
.tc-section-heading h2 { display:flex; align-items:center; gap:24px; margin-bottom:4px; white-space:nowrap; }
.tc-section-heading h2:after { content:''; display:block; flex:0 0 40px; height:1px; background:#07617b; }
.tc-section-heading>p { font-size:13px; line-height:1.65; }
.tc-approach-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-inline:-20px; }
.tc-approach-card { padding:18px 24px; background:#ffffffcf; border-radius:10px; box-shadow:0 8px 22px #173e5407; }
.tc-approach-card h3 { max-width:220px; margin:10px 0; font-size:22px; line-height:1.16; }
.tc-approach-card:nth-child(1) h3,.tc-approach-card:nth-child(2) h3,.tc-approach-card:nth-child(4) h3 { max-width:175px; }
.tc-approach-card p { font-size:16px; }
.tc-value { background:#e5f6f8; }
.tc-value-grid { display:grid; grid-template-columns:48% 1fr; gap:40px; align-items:center; }
.tc-analyst { display:block; width:100%; height:519px; object-fit:cover; border-radius:50px 20px 20px 20px; }
.tc-value-copy h2 { font-size:31px; margin-top:12px; }
.tc-benefits { display:grid; gap:7px; margin-top:15px; }
.tc-benefits article { display:flex; align-items:center; gap:27px; padding:6px 17px; background:#ffffffbd; border-radius:9px; }
.tc-benefits .tc-icon { width:65px; height:65px; }
.tc-benefits h3,.tc-services h3,.tc-process-grid h3 { margin:0 0 7px; font-size:16px; line-height:1.3; font-weight:700; }
.tc-benefits p { font-size:13px; }
.tc-services .tc-section-heading { grid-template-columns:2fr 1fr; gap:40px; }
.tc-services .tc-section-heading h2 { font-size:28px; gap:22px; }
.tc-services-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px 20px; margin-inline:-10px; }
.tc-services-grid article { display:flex; gap:25px; padding:12px 15px; min-height:110px; border-radius:9px; background:#ffffffd9; box-shadow:0 7px 22px #153c5207; }
.tc-services h3 { font-size:15px; margin-top:4px; }
.tc-services-grid p { font-size:13px; line-height:1.65; }
.tc-services .tc-icon { width:70px; height:70px; }
.tc-strategy { position:relative; background:#e5f6f8; padding-block:23px; }
.tc-strategy:before { content:''; position:absolute; left:-20px; bottom:0; border-style:solid; border-width:115px 0 0 140px; border-color:transparent transparent transparent #eeede5; }
.tc-strategy-grid { position:relative; display:grid; grid-template-columns:40% 33% 27%; gap:12px; align-items:center; }
.tc-strategy h2 { font-size:31px; margin-top:0; }
.tc-strategy p { max-width:390px; margin-bottom:21px; }
.tc-strategy-visual { display:block; width:100%; height:270px; border-radius:12px; object-fit:cover; }
.tc-strategy-list { align-self:stretch; display:grid; align-content:center; gap:9px; list-style:none; padding:12px 18px; margin:0 -50px 0 0; border-radius:20px 110px 110px 20px; background:linear-gradient(90deg,#f1f0e9,#eeeee9); }
.tc-strategy-list li { display:flex; align-items:center; gap:16px; font-size:14px; font-weight:700; }
.tc-strategy-list .tc-icon { width:53px; height:53px; background:#fafdfe; }
.tc-strategy-list svg { width:31px; height:31px; }
.tc-process-section { padding-bottom:12px; }
.tc-process-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin-inline:-32px; }
.tc-process-grid article { display:flex; align-items:flex-start; gap:14px; padding:20px 20px 20px 24px; background:#e6f6f8; border-radius:12px; clip-path:polygon(0 0,93% 0,100% 50%,93% 100%,0 100%,7% 50%); }
.tc-process-grid article:first-child { clip-path:polygon(0 0,93% 0,100% 50%,93% 100%,0 100%); border-radius:50px 12px 12px 50px; }
.tc-process-grid article:nth-child(even) { background:#f2f1ec; }
.tc-process-grid .tc-icon { width:64px; height:64px; background:#ffffffbf; }
.tc-process-grid h3 { font-size:15px; margin-top:2px; }
.tc-process-grid p { font-size:13px; line-height:1.6; }
.tc-industries { padding-top:7px; padding-bottom:34px; }
.tc-industries .tc-section-heading h2 { font-size:28px; }
.tc-industries-grid { display:grid; grid-template-columns:repeat(8,1fr); gap:20px; margin-inline:-20px; }
.tc-industries-grid article { display:grid; justify-items:center; padding:0 4px 9px; background:#ffffffbf; border-radius:10px; box-shadow:0 7px 20px #173e5408; }
.tc-industries-grid .tc-icon { width:68px; height:68px; }
.tc-industries-grid h3 { font-size:12px; font-weight:500; margin:7px 0 0; white-space:nowrap; }
.tc-final { position:relative; }
.tc-final:after { content:''; position:absolute; width:260px; height:260px; right:-135px; top:0; background:#f1eee8b0; border-radius:50%; }
.tc-final-grid { position:relative; z-index:1; display:grid; grid-template-columns:40% 36% 1fr; gap:44px; align-items:center; width:min(1200px,100%); margin:auto; padding-right:72px; }
.tc-final-grid>img { display:block; width:100%; height:230px; object-fit:cover; object-position:center 45%; border-radius:48% 28px 36px 0; }
.tc-final h2 { font-size:31px; }
.tc-final p { font-size:15px; }
.tc-final .tc-button { padding-inline:25px; white-space:nowrap; background:#005366; }
/* Scope the shared navigation and footer changes to this service. */
.tg-consulting .tg-header { height:64px; background:#fff; border-bottom:1px solid #f0f3f4; }
.tg-consulting .tg-chrome-container { width:min(1040px,calc(100% - 100px)); }
.tg-consulting .tg-logo { color:var(--tc-ink); font-size:24px; letter-spacing:-.6px; }
.tg-consulting .tg-desktop-nav { gap:25px; margin-left:45px; font-size:12px; }
.tg-consulting .tg-header-cta { background:linear-gradient(110deg,#008199,#006b80); border-radius:6px; padding:13px 17px; font-size:12px; }
.tg-consulting .company-footer { padding:28px 0 85px; background:radial-gradient(ellipse at 10% 10%,#074d59,#003d49 80%); color:#fff; }
.tg-consulting .company-footer-grid { display:grid; grid-template-columns:1.2fr .65fr 1.05fr .95fr; gap:50px; width:min(1040px,calc(100% - 100px)); margin:auto; }
.tg-consulting .company-footer .tg-logo { color:white; font-size:23px; }
.tg-consulting .company-footer-brand p { margin-top:20px; max-width:235px; color:#e3eef0; font-size:15px; }
.tg-consulting .company-socials { display:none; }
.tg-consulting .company-footer h2 { color:white; font:600 16px/1.3 'DM Sans',sans-serif; margin:0 0 16px; letter-spacing:0; }
.tg-consulting .company-footer nav a { display:block; font-size:14px; line-height:1.5; color:#dfedef; }
.tg-consulting .company-footer-contact address,.tg-consulting .company-footer-contact>a { display:flex; gap:18px; margin:0 0 8px; font-size:14px; line-height:1.5; font-style:normal; }
.tg-consulting .company-footer-contact span { overflow-wrap:anywhere; }
.tg-consulting .company-footer a:hover { color:#a8e9ed; }
@media(min-width:761px) and (max-width:1100px) {
    .tc-container,.tg-consulting .tg-chrome-container,.tg-consulting .company-footer-grid { width:calc(100% - 70px); }
    .tc-hero h1 { font-size:36px; }.tc-hero-grid { min-height:365px; }.tc-hero-copy p { font-size:14px; }.tc-hero-visual { margin-right:0; }
    .tc-float { min-width:145px; padding:9px; gap:8px; }.tc-float strong { font-size:14px; }.tc-float-process { right:-5px; }.tc-handwriting { display:none; }
    .tc-section-heading { gap:25px; grid-template-columns:1.65fr 1fr; }.tc-section-heading h2 { white-space:normal; }.tc-section-heading h2:after { flex-basis:30px; }
    .tg-consulting h2,.tc-services .tc-section-heading h2,.tc-industries .tc-section-heading h2 { font-size:26px; }
    .tc-approach-grid { gap:14px; }.tc-approach-card { padding:18px; }.tc-approach-card h3 { font-size:21px; }.tc-approach-card p { font-size:14px; }
    .tc-value-grid { gap:28px; }.tc-analyst { height:510px; }.tc-benefits article { gap:14px; padding:7px 12px; }.tc-benefits h3 { font-size:14px; }
    .tc-services-grid article { gap:15px; }.tc-services .tc-icon { width:55px; height:55px; }.tc-services h3 { font-size:14px; }
    .tc-strategy-grid { grid-template-columns:39% 32% 29%; }.tc-strategy p { font-size:14px; }.tc-strategy-list { margin-right:-30px; padding:10px; }.tc-strategy-list li { gap:9px; font-size:12px; }
    .tc-process-grid article { padding:18px 13px 18px 19px; gap:9px; }.tc-process-grid .tc-icon { width:45px; height:45px; }.tc-process-grid svg { width:29px; height:29px; }.tc-process-grid p { font-size:12px; }.tc-process-grid h3 { font-size:13px; }
    .tc-industries-grid { gap:14px; }.tc-industries-grid h3 { font-size:10px; }
    .tc-final-grid { gap:25px; padding-right:35px; }.tc-final p { font-size:14px; }.tc-final .tc-button { padding-inline:17px; }
    .tg-consulting .company-footer-grid { gap:25px; }.tg-consulting .company-footer nav a,.tg-consulting .company-footer-contact address,.tg-consulting .company-footer-contact>a { font-size:12px; }
}
@media(min-width:761px) and (max-width:940px) {
    .tg-consulting .tg-desktop-nav { display:flex; gap:20px; margin-left:15px; font-size:10px; }.tg-consulting .tg-header-cta { display:flex; font-size:10px; padding:11px; }.tg-consulting .tg-mobile-menu { display:none; }.tg-consulting .tg-header-inner { gap:12px; }.tg-consulting .tg-logo { font-size:21px; }.tg-consulting .tg-logo-mark { width:25px; }
}
@media(max-width:760px) {
    .tc-container,.tg-consulting .tg-chrome-container,.tg-consulting .company-footer-grid { width:calc(100% - 40px); }
    .tc-section { padding:32px 0; }.tc-hero-grid { grid-template-columns:1fr; }.tc-hero-copy { padding:32px 0 24px; }.tc-hero h1 { font-size:clamp(33px,7.5vw,48px); margin-right:0; }.tc-hero-copy p { max-width:540px; }.tc-hero-visual { height:340px; margin:0 0 12px; }.tc-hero-visual>img { inset:0 25px 0 10px; width:calc(100% - 35px); height:100%; }.tc-handwriting { display:none; }.tc-float-planning { left:0; top:20px; }.tc-float-process { right:0; top:20px; }.tc-float-roadmap { right:5px; bottom:20px; }.tc-float { min-width:145px; padding:9px; gap:8px; }.tc-float strong { font-size:14px; }.tc-float .tc-icon { width:44px; height:44px; }
    .tc-section-heading,.tc-services .tc-section-heading { grid-template-columns:1fr; gap:12px; margin-bottom:22px; }.tc-section-heading h2 { white-space:normal; }.tc-section-heading h2:after { display:none; }.tg-consulting h2,.tc-services .tc-section-heading h2,.tc-industries .tc-section-heading h2 { font-size:29px; }.tc-section-heading>p { font-size:14px; }
    .tc-approach-grid { grid-template-columns:repeat(2,1fr); gap:14px; margin:0; }.tc-approach-card { padding:18px; }.tc-approach-card h3 { font-size:22px; }.tc-approach-card p { font-size:14px; }.tc-icon { width:60px; height:60px; }.tc-icon svg { width:35px; height:35px; }
    .tc-value-grid { grid-template-columns:1fr; gap:25px; }.tc-analyst { height:440px; object-position:center 40%; border-radius:35px 15px 15px 15px; }.tc-value-copy h2 br { display:none; }.tc-benefits article { gap:17px; padding:10px 14px; }.tc-benefits h3 { font-size:15px; }.tc-benefits .tc-icon { width:57px; height:57px; }
    .tc-services-grid { grid-template-columns:repeat(2,1fr); gap:14px; margin:0; }.tc-services-grid article { flex-direction:column; gap:8px; padding:18px; }.tc-services .tc-icon { width:58px; height:58px; }.tc-services h3 { font-size:15px; }
    .tc-strategy-grid { grid-template-columns:1fr 1fr; gap:22px 14px; }.tc-strategy-grid>div:first-child { grid-column:1/-1; }.tc-strategy p { max-width:100%; }.tc-strategy-visual { height:230px; }.tc-strategy-list { margin:0; padding:10px; border-radius:15px; gap:14px; }.tc-strategy-list li { font-size:12px; gap:10px; }.tc-strategy-list .tc-icon { width:36px; height:36px; }.tc-strategy-list svg { width:25px; height:25px; }
    .tc-process-grid { grid-template-columns:repeat(2,1fr); margin:0; gap:14px; }.tc-process-grid article,.tc-process-grid article:first-child { clip-path:none; border-radius:12px; padding:18px; flex-direction:column; }.tc-process-grid .tc-icon { width:55px; height:55px; }.tc-process-grid h3 { font-size:15px; }
    .tc-industries-grid { grid-template-columns:repeat(4,1fr); gap:12px; margin:0; }.tc-industries-grid .tc-icon { width:55px; height:55px; }.tc-industries-grid h3 { font-size:10px; }
    .tc-final-grid { grid-template-columns:1fr; width:calc(100% - 40px); padding:0 0 32px; gap:22px; }.tc-final-grid>img { height:250px; border-radius:55px 15px 25px 0; }.tc-final .tc-button { justify-self:start; }.tc-final h2 br { display:none; }.tc-final:after { bottom:0; top:auto; }
    .tg-consulting .company-footer { padding:32px 0 40px; }.tg-consulting .company-footer-grid { grid-template-columns:.8fr 1.2fr; gap:28px; }.tg-consulting .company-footer-brand,.tg-consulting .company-footer-contact { grid-column:1/-1; }.tg-consulting .company-footer nav a { font-size:13px; padding-block:3px; }.tg-consulting .company-footer-brand p { max-width:310px; }
}
@media(max-width:760px) {
    .tc-approach-grid,.tc-services-grid,.tc-process-grid,.tc-strategy-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .tc-approach-card h3 { font-size:20px; overflow-wrap:anywhere; }
    .tc-services-grid h3 { overflow-wrap:anywhere; }
}
@media(prefers-reduced-motion:reduce) { .tc-button { transition:none; }.tc-button:hover { transform:none; } }
