/* Inline links remain identifiable without relying on colour alone. */
.elementor-widget-text-editor p a:not(.elementor-button),
.gd-case p a:not(.case-button), .gd-case li a {text-decoration:underline;text-underline-offset:.18em;text-decoration-thickness:1px}
/* Current page remains legible against the site's dark header. */
#header .current-menu-item>.ct-menu-link,#header .current-menu-ancestor>.ct-menu-link{color:#A9B7FF}
/* Visible keyboard focus; FF's real checkbox stays in the native tab order. */
#main a:focus-visible,#main button:focus-visible,#header a:focus-visible,#header button:focus-visible{outline:3px solid #5272FF;outline-offset:4px}
.gd-form-card .ff_list_buttons input:focus-visible+span{outline:3px solid #3158FF;outline-offset:3px}
/* Reserve the wordmark's actual aspect ratio before the SVG finishes decoding. */
#header .site-logo-container img.default-logo{aspect-ratio:384/78}
.error404 #header [data-row],.search #header [data-row],.archive #header [data-row]{background:#111111}
.gd-system-page{max-width:1240px;margin-inline:auto;padding:80px 32px;color:#171717;overflow-wrap:anywhere}
.gd-system-page h1{font-size:clamp(34px,4vw,56px);line-height:1.16;margin:0 0 24px;letter-spacing:-.025em}
.gd-system-page>p{max-width:760px;font-size:18px;line-height:1.65;color:#555B65}
.gd-system-page .gd-system-eyebrow{font-size:14px;color:#555B65;margin:0 0 28px}
.gd-system-page a,.gd-system-footer a{text-decoration:underline;text-underline-offset:3px}
.gd-system-actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin:32px 0 48px}
.gd-system-button,.gd-site-search button{display:inline-flex;justify-content:center;align-items:center;padding:14px 24px;background:#3158FF;color:white;border:0;border-radius:12px;font-weight:600;text-decoration:none!important;cursor:pointer}
.gd-system-button:hover,.gd-site-search button:hover{background:#2145DB;color:white}
.gd-site-search{max-width:760px;margin:32px 0 48px}
.gd-site-search label{display:block;margin-bottom:10px;color:#171717;font-weight:600}
.gd-site-search>div{display:flex;gap:12px}
.gd-site-search input{min-width:0;flex:1;border:1px solid #B8BEC7;border-radius:10px;background:white;color:#171717;padding:12px 16px}
.gd-search-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
.gd-search-results article{min-width:0;padding:28px;border:1px solid #E0E3E7;border-radius:16px;background:#F4F5F6}
.gd-search-results h2{font-size:24px;line-height:1.3;margin:0 0 18px}
.gd-search-results h2 a{color:#171717;text-decoration:none}
.gd-search-results p{color:#555B65;line-height:1.65}
.gd-search-pagination{display:flex;gap:16px;flex-wrap:wrap;margin-top:36px}
.gd-system-footer{background:#111111;color:#D1D5DB;padding:48px 32px}
.gd-system-footer>div{max-width:1176px;margin:auto}
.gd-system-footer a{color:#D1D5DB}
.gd-system-footer .gd-system-brand{font-size:28px;color:white;font-weight:600;text-decoration:none}
.gd-system-footer nav{display:flex;flex-wrap:wrap;gap:20px;margin:24px 0}
@media(max-width:767px){.gd-system-page{padding:48px 20px}.gd-search-results{grid-template-columns:1fr;gap:24px}.gd-search-results article{padding:24px}.gd-site-search>div{flex-wrap:wrap}.gd-site-search input{flex-basis:100%}.gd-site-search button{width:100%}.gd-system-footer{padding:40px 20px}}
/* Long action labels must wrap inside the contact card on narrow phones. */
#main .gd-form-card .ff-btn-submit{max-width:100%;white-space:normal;line-height:1.4;height:auto;padding:14px 20px}
#main input:focus-visible,#main textarea:focus-visible,#main select:focus-visible{outline:3px solid #3158FF;outline-offset:3px}

/* Design refinement: the layout follows the purpose of each section. */
#main .gd-design-section h2{text-wrap:balance;max-width:1000px}
#main .gd-design-section h3{text-wrap:balance}
#main .gd-design-section>.e-con-inner>.elementor-widget-text-editor{max-width:960px}
#main .gd-design-section .elementor-widget-text-editor p+p{margin-top:14px}
#main .gd-layout-compare .gd-design-item,
#main .gd-layout-features .gd-design-item,
#main .gd-layout-steps .gd-design-item,
#main .gd-layout-lines .gd-design-item{background:transparent;border:0;border-radius:0;box-shadow:none;min-width:0}
#main .gd-layout-compare .gd-design-item{padding:26px 0 0;border-top:1px solid #CBD0D8;gap:18px}
#main .gd-layout-compare .gd-exp-grid2{gap:48px}
#main .gd-layout-compare .gd-design-number{display:none}
#main .gd-layout-compare .gd-design-item strong{color:#171717;font-weight:600}
#main .gd-layout-features .gd-design-item{padding:24px 0 0;border-top:2px solid #3158FF;gap:16px}
#main .gd-layout-features .gd-design-number{display:none}
#main .gd-layout-features .gd-exp-grid3{gap:36px}
#main .gd-layout-steps .gd-design-item{padding:24px 0 0;border-top:1px solid #BCC3CD;gap:16px}
#main .gd-layout-steps .gd-design-number{font-variant-numeric:tabular-nums}
#main .gd-layout-steps .gd-design-number p{color:#3158FF;font-size:18px;font-weight:600}
#main .gd-layout-steps .gd-exp-grid3,#main .gd-layout-steps .gd-steps{gap:36px}
#main .gd-layout-lines .gd-exp-grid3{display:flex;flex-direction:column;gap:0}
#main .gd-layout-lines .gd-design-item{display:grid;grid-template-columns:44px minmax(0,.8fr) minmax(0,1.2fr);gap:28px;align-items:start;padding:28px 0;border-top:1px solid #D6DAE0;width:100%}
#main .gd-layout-lines .gd-design-item:last-child{border-bottom:1px solid #D6DAE0}
#main .gd-layout-lines .gd-design-number p{padding-top:4px;font-variant-numeric:tabular-nums}
#main .gd-layout-formats .gd-design-number{display:none}
#main .gd-layout-formats .gd-design-item{padding:28px;gap:18px}
#main .gd-design-linked-section>.e-con-inner{padding-top:0}
#main .gd-design-faq .e-con-inner{max-width:1000px}
#main .gd-design-article .gd-mkt-article{max-width:800px}
#main .gd-design-article .gd-mkt-article p{line-height:1.75}
#main .gd-design-footer>.e-con-inner{padding-top:40px;padding-bottom:28px}
/* Case pages: generous screens, shorter reading lines and distinct narrative sections. */
#main .gd-case .case-explain{margin-top:64px}
#main .gd-case .case-explain>p,#main .gd-case .case-work>p,#main .gd-case .case-work>ul{max-width:820px}
#main .gd-case .case-grid{padding-top:32px;border-top:1px solid #D6DAE0}
#main .gd-case .case-flow{border:0;border-radius:0;border-block:1px solid #D6DAE0;background:transparent;padding:32px 0}
#main .gd-case .case-flow ol{gap:32px 48px}
#main .gd-case .case-nav{gap:16px 28px}
#main .gd-case .case-cta p{max-width:760px}
@media(max-width:1024px){
 #main .gd-layout-compare .gd-exp-grid2{gap:32px}
 #main .gd-layout-steps .gd-exp-grid3{grid-template-columns:1fr}
 #main .gd-layout-steps .gd-exp-grid3>.gd-design-item{display:grid;grid-template-columns:40px minmax(0,1fr);column-gap:24px;row-gap:12px}
 #main .gd-layout-steps .gd-exp-grid3>.gd-design-item>.gd-design-number{grid-row:1/3}
 #main .gd-layout-steps .gd-exp-grid3>.gd-design-item>.elementor-widget-text-editor:last-child{grid-column:2}
}
@media(max-width:767px){
 #main .gd-layout-lines .gd-design-item{grid-template-columns:28px minmax(0,1fr);column-gap:16px;row-gap:12px;padding:24px 0}
 #main .gd-layout-lines .gd-design-item>.elementor-widget-text-editor:last-child{grid-column:2}
 #main .gd-layout-compare .gd-exp-grid2,#main .gd-layout-features .gd-exp-grid3{gap:28px}
 #main .gd-layout-compare .gd-design-item,#main .gd-layout-features .gd-design-item{padding:22px 0 0}
 #main .gd-layout-formats .gd-design-item{padding:24px}
 #main .gd-design-linked-section>.e-con-inner{padding-top:0}
 #main .gd-design-footer>.e-con-inner{padding-top:32px;padding-bottom:24px}
 #main .gd-case .case-explain{margin-top:40px}
 #main .gd-case .case-flow ol{gap:24px}
}
/* Case navigation is secondary to the enquiry action. */
#main .gd-mkt-work .elementor-button{background:transparent;color:#3158FF;border:0;border-radius:0;box-shadow:none;padding:8px 0;min-height:44px;text-align:left;text-decoration:underline;text-underline-offset:4px}
#main .gd-mkt-work .elementor-button:hover{color:#2145DB;background:transparent}
#main .gd-mkt-work .elementor-button-content-wrapper{justify-content:flex-start}
#main #featured-projects>.e-con-inner>.elementor-widget-button .elementor-button{background:transparent;color:#171717;border:1px solid #B8BEC7}
@media(min-width:768px) and (max-width:1024px){#main .gd-layout-formats .gd-exp-grid3,#main .gd-layout-features .gd-exp-grid3{grid-template-columns:1fr}}
/* A single supporting case uses the available width instead of an empty grid cell. */
#main .gd-mkt-grid2:has(>.gd-mkt-work:only-child){grid-template-columns:minmax(0,1fr)}
@media(min-width:768px){
 #main .gd-mkt-grid2>.gd-mkt-work:only-child{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:40px;row-gap:16px;align-items:start;border-bottom:0;padding-bottom:0}
 #main .gd-mkt-grid2>.gd-mkt-work:only-child>.elementor-widget-image{grid-column:1;grid-row:1/5}
 #main .gd-mkt-grid2>.gd-mkt-work:only-child>.elementor-widget:not(.elementor-widget-image){grid-column:2}
 #main .gd-mkt-grid2>.gd-mkt-work:only-child>.elementor-widget-button{margin-top:0}
}
/* Avoid two consecutive dark cards at the end of every case. */
#main .gd-case-footer{background:transparent;color:#555B65;border-radius:0;border-top:1px solid #D6DAE0;padding:24px 0 0;margin-top:40px;text-align:left}
#main .gd-case-footer p{margin:8px 0}
#main .gd-case-footer strong{color:#171717}
#main .gd-case-footer a{color:#3158FF}

/* Compact language navigation shares the existing header and drawer. */
.gd-language-item{display:flex!important;align-items:center}
.gd-language-switch{display:inline-flex;align-items:center;gap:10px;padding:0 12px;white-space:nowrap}
.gd-language-switch a,.gd-language-switch span{display:inline-flex;align-items:center;justify-content:center;min-width:28px;min-height:44px;font-size:13px;line-height:1.2;text-decoration:none}
.gd-language-switch span{color:#a8aeb8}
.gd-language-switch a:focus-visible{outline:2px solid #3158ff;outline-offset:3px;border-radius:3px}
#offcanvas .gd-language-switch{padding:0;gap:20px}
#offcanvas .gd-language-switch a,#offcanvas .gd-language-switch span{font-size:18px;min-width:36px}
