/* Netofficials service composition: original flat geometry and clear editorial rhythm. */
.v3-site .v3-service-page { --detail-ink:#182138; --detail-action:#4353b3; --detail-accent:#b5ce20; }
.v3-site .v3-service-page .v3-section { padding:88px 0; }
.v3-site .v3-service-page .v3-wrap { max-width:1200px!important; }
.v3-site .v3-service-page .v3-hero-section { padding:64px 0 80px; border:0; position:relative; overflow:hidden; }
.v3-site .v3-service-page .v3-hero-grid { grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:56px; align-items:center; min-height:440px; }
.v3-site .v3-service-page h1 { font-size:clamp(40px,4.8vw,68px); line-height:1.09; letter-spacing:-.045em; font-weight:550; }
.v3-site .v3-service-page h2 { font-size:clamp(32px,3.4vw,46px); line-height:1.16; letter-spacing:-.035em; }
.v3-site .v3-service-page .v3-hero-section .v3-intro { font-size:19px; line-height:1.7; max-width:590px; }
.v3-site .v3-service-page .v3-button { border-radius:999px; padding:15px 26px; background:var(--detail-action); min-height:52px; }
.v3-site .v3-service-page .v3-button:focus-visible,.v3-site .v3-service-page a:focus-visible,.v3-site .v3-service-page summary:focus-visible { outline:3px solid #4353b3; outline-offset:5px; }
.v3-site .v3-service-page .v3-hero-grid>figure:not(.service-art) { position:relative; isolation:isolate; background:#f1f4f7; border:0; border-radius:24px; padding:30px; margin:0; }
.v3-site .v3-service-page .v3-hero-grid>figure:not(.service-art)::before { content:""; position:absolute; width:78px; height:78px; right:-18px; top:-18px; background:var(--detail-accent); clip-path:polygon(0 0,100% 0,100% 100%,60% 100%,60% 40%,0 40%); z-index:-1; }
.v3-site .v3-service-page .v3-hero-grid>figure:not(.service-art)::after { content:""; position:absolute; left:-18px; bottom:22px; width:44px; height:80px; background:var(--detail-action); border-radius:24px 0 0 24px; z-index:-1; }
.v3-site .v3-service-page .v3-hero-grid img { width:100%; height:auto; max-height:400px; object-fit:contain; border-radius:12px; }
.v3-site .v3-service-page .v3-section--service-overview { background:#f1f4f7!important; }
.v3-site .v3-service-page .v3-section--service-overview .v3-outcomes { background:#fff; padding:28px; border-radius:20px; }
.v3-site .v3-service-page .v3-section--service-overview .v3-outcomes li { padding:18px 0; }
.v3-site .v3-service-page .v3-section--service-overview .v3-outcomes li:last-child { border-bottom:0; }
.v3-site .v3-service-page .v3-section--what-we-deliver .v3-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; border:0; }
.v3-site .v3-service-page .v3-section--what-we-deliver article { padding:34px; border:0; border-radius:20px; background:#f1f4f7; }
.v3-site .v3-service-page .v3-section--what-we-deliver article:first-child { background:#4353b3; color:#fff; }
.v3-site .v3-service-page .v3-section--what-we-deliver article:first-child h3,.v3-site .v3-service-page .v3-section--what-we-deliver article:first-child p { color:#fff; }
.v3-site .v3-service-page .v3-section--what-we-deliver article:nth-child(2) { background:#e7edc5; }
.v3-site .v3-service-page .v3-section--what-we-deliver .v3-icon-tile { background:#182138; width:44px; height:44px; border-radius:12px; margin-bottom:22px; }
.v3-site .v3-service-page .v3-section--what-we-deliver .v3-icon { filter:brightness(0) invert(1); width:24px; height:24px; }
.v3-site .v3-service-page .v3-section--what-we-deliver h3 { font-size:26px; margin:0 0 16px; }
.v3-site .v3-service-page .v3-section--what-we-deliver article p { margin:0; line-height:1.8; }
.v3-site .v3-service-page .v3-section--process { position:relative; overflow:hidden; }
.v3-site .v3-service-page .v3-section--process::before { content:""; position:absolute; width:150px; height:16px; right:5%; top:0; background:#b5ce20; }
.v3-site .v3-service-page .v3-section--process::after { content:""; position:absolute; width:60px; height:60px; right:0; bottom:0; background:#4353b3; clip-path:polygon(100% 0,100% 100%,0 100%); }
.v3-site .v3-service-page .v3-section--technology-stack { background:#f1f4f7!important; }
.v3-site .v3-service-page .service-stack-group { padding:28px 0; border-bottom:1px solid #dbe0e8; }
.v3-site .v3-service-page .service-stack-tool { background:#fff; border:0; border-radius:12px; padding:16px 20px; min-height:68px; }
.v3-site .v3-service-page .v3-section--who-its-for .v3-cards { gap:32px; border:0; }
.v3-site .v3-service-page .v3-section--who-its-for article { background:transparent; border:0; border-top:2px solid #4353b3; padding:28px 0; border-radius:0; }
.v3-site .v3-service-page .v3-section--industry-applications { background:#e7edc5!important; }
.v3-site .v3-service-page .v3-section--industry-applications article { background:transparent; border:0; border-top:1px solid #a8b37a; border-radius:0; padding:24px 0; }
.v3-site .v3-service-page .v3-faq details { border-radius:16px; }
.v3-site .v3-service-page .v3-section--cta-banner { position:relative; overflow:hidden; }
.v3-site .v3-service-page .v3-section--cta-banner::after { content:""; position:absolute; right:36px; bottom:0; width:90px; height:24px; background:#b5ce20; pointer-events:none; }
@media(max-width:900px) { .v3-site .v3-service-page .v3-hero-grid { grid-template-columns:1fr; gap:36px; min-height:0; } .v3-site .v3-service-page .v3-hero-grid>figure:not(.service-art) { max-width:560px; width:100%; box-sizing:border-box; justify-self:center; } }
@media(max-width:760px) { .v3-site .v3-service-page .v3-section { padding:56px 0; } .v3-site .v3-service-page .v3-section--what-we-deliver .v3-cards { grid-template-columns:1fr; } .v3-site .v3-service-page .v3-section--what-we-deliver article { padding:26px; } .v3-site .v3-service-page .v3-hero-grid>figure:not(.service-art) { padding:20px; } .v3-site .v3-service-page .v3-hero-grid>figure:not(.service-art)::before { right:0; top:0; width:50px; height:50px; } .v3-site .v3-service-page .v3-hero-grid>figure:not(.service-art)::after { left:0; } }
/* Lower sections use purpose-specific compositions, not the legacy card grid. */
.v3-site .v3-service-page .v3-section--process .v3-process { display:grid; grid-template-columns:1fr 1fr; gap:24px; border:0; }
.v3-site .v3-service-page .v3-section--process article { padding:32px; border:1px solid #40506a; border-radius:20px; background:#202e45; }
.v3-site .v3-service-page .v3-section--process .v3-step { background:#4353b3; width:46px; height:46px; border-radius:14px; margin-bottom:24px; }
.v3-site .v3-service-page .v3-section--process article h3 { font-size:26px; margin:0 0 16px; }
.v3-site .v3-service-page .v3-section--process article p { margin:0; color:#d9e1ef; line-height:1.8; }
.v3-site .v3-service-page .service-stack { border:0; display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.v3-site .v3-service-page .service-stack-group { display:block; background:#fff; border:0; border-radius:20px; padding:30px; }
.v3-site .v3-service-page .service-stack-label { margin-bottom:24px; }
.v3-site .v3-service-page .service-stack-tools { display:flex; flex-wrap:wrap; gap:12px; }
.v3-site .v3-service-page .service-stack-tool { background:#f1f4f7; min-height:56px; padding:12px 16px; }
.v3-site .v3-service-page .v3-section--who-its-for .v3-cards { display:flex; flex-direction:column; gap:0; }
.v3-site .v3-service-page .v3-section--who-its-for article { display:grid; grid-template-columns:48px minmax(0,.8fr) minmax(0,1.2fr); gap:24px; border:0; border-bottom:1px solid #dbe0e8; padding:30px 0; align-items:start; }
.v3-site .v3-service-page .v3-section--who-its-for .v3-icon-tile { width:44px; height:44px; background:#4353b3; margin:0; border-radius:12px; }
.v3-site .v3-service-page .v3-section--who-its-for .v3-icon { filter:brightness(0) invert(1); }
.v3-site .v3-service-page .v3-section--who-its-for h3 { margin:0; }
.v3-site .v3-service-page .v3-section--who-its-for article p { grid-column:3; margin:0; line-height:1.8; }
.v3-site .v3-service-page .v3-section--industry-applications .v3-cards { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; border:0; }
.v3-site .v3-service-page .v3-section--industry-applications article { background:#fff; border:0; border-radius:20px; padding:28px; }
.v3-site .v3-service-page .v3-section--industry-applications .v3-icon-tile { background:#182138; width:44px; height:44px; border-radius:12px; }
.v3-site .v3-service-page .v3-section--industry-applications .v3-icon { filter:brightness(0) invert(1); }
.v3-site .v3-service-page .v3-section--related-services .service-paired { gap:20px; }
.v3-site .v3-service-page .v3-section--related-services .service-paired article { background:#f1f4f7; border:0; border-radius:20px; padding:30px; }
.v3-site .v3-service-page .v3-section--related-services .service-paired-link { border-top:1px solid #dbe0e8; padding-top:20px; }
.v3-site .v3-service-page .v3-section--faq .v3-faq { gap:16px; }
.v3-site .v3-service-page .v3-section--faq .v3-faq details { border:0; border-radius:20px; }
.v3-site .v3-service-page .v3-section--faq .v3-faq summary { padding:26px; }
.v3-site .v3-service-page .v3-section--cta-banner .v3-wrap { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr); gap:16px 48px; align-items:center; }
.v3-site .v3-service-page .v3-section--cta-banner h2,.v3-site .v3-service-page .v3-section--cta-banner .v3-intro { grid-column:1; }
.v3-site .v3-service-page .v3-section--cta-banner .v3-actions { grid-column:2; grid-row:1/4; display:flex; flex-direction:column; align-items:flex-start; gap:22px; }
@media(max-width:760px) { .v3-site .v3-service-page .v3-section--process .v3-process,.v3-site .v3-service-page .service-stack,.v3-site .v3-service-page .v3-section--industry-applications .v3-cards { grid-template-columns:1fr; } .v3-site .v3-service-page .v3-section--who-its-for article { grid-template-columns:44px 1fr; gap:18px; } .v3-site .v3-service-page .v3-section--who-its-for article p { grid-column:2; } .v3-site .v3-service-page .v3-section--cta-banner .v3-wrap { display:block; } }

.v3-site .v3-service-page .v3-section--related-services .service-paired { display:grid; grid-template-columns:1fr; border:0; }
.v3-site .v3-service-page .v3-section--related-services .service-paired-link { border:0; padding:0; }

/* Compact deliverable directory and consistent long-form reading rhythm. */
.v3-site .v3-service-page .v3-section--what-we-deliver .v3-cards { gap:0 40px; align-items:start; }
.v3-site .v3-service-page .v3-section--what-we-deliver article { display:grid; grid-template-columns:40px minmax(0,1fr); gap:8px 18px; padding:26px 0; background:transparent!important; border:0; border-top:1px solid #dbe0e8; border-radius:0; color:#182138!important; }
.v3-site .v3-service-page .v3-section--what-we-deliver article:first-child h3,.v3-site .v3-service-page .v3-section--what-we-deliver article:first-child p { color:#182138; }
.v3-site .v3-service-page .v3-section--what-we-deliver .v3-icon-tile { grid-column:1; grid-row:1/3; width:40px; height:40px; margin:0; background:#4353b3; border-radius:10px; }
.v3-site .v3-service-page .v3-section--what-we-deliver article h3 { grid-column:2; margin:3px 0 8px; font-size:22px; line-height:1.35; letter-spacing:-.02em; }
.v3-site .v3-service-page .v3-section--what-we-deliver article p { grid-column:2; color:#526075; font-size:16px; line-height:1.7; margin:0; }
.v3-site .v3-service-page .v3-section--service-overview .v3-wrap { gap:20px 64px; }
.v3-site .v3-service-page .v3-section--service-overview h2 { font-size:clamp(30px,3vw,42px); line-height:1.2; margin-bottom:24px; }
.v3-site .v3-service-page .v3-section--service-overview .v3-intro { font-size:17px; line-height:1.75; max-width:640px; }
.v3-site .v3-service-page .v3-section--service-overview .v3-outcomes { background:transparent; border-radius:0; padding:0; }
.v3-site .v3-service-page .v3-section--service-overview .v3-outcomes li { padding:22px 0; font-size:16px; line-height:1.7; }
.v3-site .v3-service-page .v3-section--service-overview .service-reason-icon { width:40px; height:40px!important; flex-basis:40px!important; }
.v3-site .v3-service-page .v3-cards article p,.v3-site .v3-service-page .service-paired p { line-height:1.7; }
.v3-site .v3-service-page .v3-section h2 { margin-bottom:32px; }
@media(max-width:760px) { .v3-site .v3-service-page .v3-section--what-we-deliver article { padding:22px 0; gap:8px 14px; } .v3-site .v3-service-page .v3-section--service-overview .v3-outcomes { margin-top:28px; } }
/* Full-width deliverables echo the paired-service directory without false links. */
.v3-site .v3-service-page .v3-section--what-we-deliver .v3-cards { display:flex; flex-direction:column; gap:0; }
.v3-site .v3-service-page .v3-section--what-we-deliver article { width:100%; box-sizing:border-box; grid-template-columns:64px minmax(0,1fr); gap:10px 28px; padding:30px 0; }
.v3-site .v3-service-page .v3-section--what-we-deliver .v3-icon-tile { width:60px; height:60px; background:#4353b3; border-radius:14px; align-self:start; }
.v3-site .v3-service-page .v3-section--what-we-deliver article h3 { font-size:24px; font-weight:600; line-height:1.35; margin:0 0 4px; }
.v3-site .v3-service-page .v3-section--what-we-deliver article p { font-size:16px; line-height:1.8; max-width:980px; }
/* Separate the introduction from outcomes to avoid an empty, unbalanced column. */
.v3-site .v3-service-page .v3-section--service-overview .v3-wrap { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:16px 60px; }
.v3-site .v3-service-page .v3-section--service-overview .v3-eyebrow,.v3-site .v3-service-page .v3-section--service-overview h2 { grid-column:1; }
.v3-site .v3-service-page .v3-section--service-overview h2 { font-size:clamp(28px,2.8vw,38px); font-weight:600; letter-spacing:-.025em; line-height:1.3; margin:0; }
.v3-site .v3-service-page .v3-section--service-overview .v3-intro { grid-column:2; grid-row:1/4; font-size:16px; line-height:1.85; margin:0; max-width:none; }
.v3-site .v3-service-page .v3-section--service-overview .v3-outcomes { grid-column:1/-1; grid-row:auto; display:grid; grid-template-columns:1fr 1fr; gap:0 36px; margin-top:24px; padding-top:16px; border-top:1px solid #dbe0e8; }
.v3-site .v3-service-page .v3-section--service-overview .v3-outcomes li { align-items:flex-start; padding:20px 0; }
.v3-site .v3-service-page h1 { font-weight:600; letter-spacing:-.035em; }
@media(max-width:760px) { .v3-site .v3-service-page .v3-section--service-overview .v3-wrap { display:block; } .v3-site .v3-service-page .v3-section--service-overview .v3-intro { margin-top:24px; } .v3-site .v3-service-page .v3-section--service-overview .v3-outcomes { grid-template-columns:1fr; } .v3-site .v3-service-page .v3-section--what-we-deliver article { grid-template-columns:44px minmax(0,1fr); gap:8px 18px; } .v3-site .v3-service-page .v3-section--what-we-deliver .v3-icon-tile { width:44px; height:44px; } .v3-site .v3-service-page .v3-section--what-we-deliver article h3 { font-size:20px; } }
/* Overview layout: headline and prose above a separate, non-stretching outcome list. */
.v3-site .v3-service-page .v3-hero-grid.v3-hero-text { grid-template-columns:1fr; min-height:0; max-width:960px; }
.v3-site main.v3-service-page .v3-section--service-overview .v3-wrap { display:grid!important; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)!important; align-items:start!important; gap:20px 56px!important; }
.v3-site main.v3-service-page .v3-section--service-overview .v3-eyebrow { grid-column:1!important; grid-row:1!important; }
.v3-site main.v3-service-page .v3-section--service-overview h2 { grid-column:1!important; grid-row:2!important; margin:0!important; }
.v3-site main.v3-service-page .v3-section--service-overview .v3-intro { grid-column:2!important; grid-row:1/3!important; margin:0!important; font-size:16px; line-height:1.8; }
.v3-site main.v3-service-page .v3-section--service-overview .v3-outcomes { grid-column:1/-1!important; grid-row:3!important; display:grid!important; grid-template-columns:1fr 1fr!important; gap:0 36px!important; align-self:start!important; height:auto!important; min-height:0!important; background:transparent!important; border-radius:0!important; margin:16px 0 0!important; padding:20px 0 0!important; border-top:1px solid #dbe0e8; }
@media(max-width:760px) { .v3-site main.v3-service-page .v3-section--service-overview .v3-wrap { display:flex!important; flex-direction:column; gap:24px!important; } .v3-site main.v3-service-page .v3-section--service-overview .v3-outcomes { width:100%; grid-template-columns:1fr!important; box-sizing:border-box; } }
