/*
Theme Name: IncWorx
Author: Wonder
Author URI: https://www.workwithwonder.com/
Version: 2.0
*/

:root {
	--color-cyan: #29A7C5;
	--color-red: #EE3E1D;
	--color-magenta: #FA1E64;
	--color-yellow: #FAAC11;
	--color-black: #000;
	--color-white: #FFF;
}

*,*::before,*::after{box-sizing:border-box;}html{overflow-y:scroll;font-size:100%;}body{margin:0;padding:0;line-height:1.5;}abbr,address,article,aside,audio,b,blockquote,body,caption,cite,code,dd,del,dfn,div,dl,dt,em,fieldset,figure,footer,form,h1,h2,h3,h4,h5,h6,header,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,ol,p,pre,q,samp,section,small,span,strong,sub,sup,table,tbody,td,tfoot,th,thead,time,tr,ul,var,video{border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;margin:0;padding:0;}article,aside,figure,footer,header,main,nav,section{display:block;}ul{list-style:none;}ol{margin-left:1.5em;}blockquote,q{quotes:none;}blockquote::before,blockquote::after,q::before,q::after{content:none;}a{font-size:100%;background:transparent;margin:0;padding:0;vertical-align:baseline;}a:hover,a:active{outline:0;}del{text-decoration:line-through;}abbr[title],dfn[title]{border-bottom:1px dotted #000;cursor:help;}img,video,svg{max-width:100%;height:auto;display:block;}td,td img{vertical-align:top;}table{border-collapse:collapse;border-spacing:0;}th{vertical-align:bottom;font-weight:700;}td{font-weight:400;}hr{height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0;}pre{white-space:pre-wrap;word-wrap:break-word;}code,kbd,pre,samp{font-family:monospace,sans-serif;}small{font-size:85%;}strong{font-weight:700;}sub,sup{font-size:75%;line-height:0;position:relative;}sup{top:-0.5em;}sub{bottom:-0.25em;}input,button,select,textarea{margin:0;font:inherit;-webkit-appearance:none;appearance:none;}input,select{vertical-align:middle;}button,input[type="button"],input[type="submit"]{cursor:pointer;width:auto;overflow:visible;}label{cursor:pointer;}textarea{overflow:auto;vertical-align:top;}.alignleft,img.alignleft{float:left;margin:15px 15px 15px 0;}.alignright,img.alignright{float:right;margin:15px 0 15px 15px;}.aligncenter,img.aligncenter{display:block;margin:15px auto;}

body{ font-family: 'Figtree', sans-serif; font-size: 20px; line-height: 30px; font-weight: 500; color: var(--color-white); background: var(--color-black);}
body, select, input, textarea{ font-family: 'Figtree', sans-serif;}
.page-wrap{}

a{ color: var(--color-cyan);}
a:hover, a:focus{ color: var(--color-red);}
.logo{ max-width: 280px;}
button{ display: inline-block; cursor: pointer;}

.button{ display: inline-flex; align-items: center; gap: 10px; padding: 10px 20px; border-radius: 999px; font-size: 24px; line-height: 1; font-weight: 600; font-family: inherit; text-decoration: none; border: 2px solid var(--color-cyan); background: transparent; color: var(--color-cyan); cursor: pointer;}
.button .btn-icon{ display: inline-flex; align-items: center; color: inherit; font-size: 18px;}
.button:hover, .button:focus{ background: var(--color-cyan); color: var(--color-white);}
.sections-wrap .button:hover, .sections-wrap .button:focus{ background: var(--color-red); color: var(--color-white);}

.button-alt{ position: relative; border: none; background: var(--color-white); color: var(--color-black); padding: 0; overflow: hidden; gap: 20px;}
.button-alt::before{ content: ''; position: absolute; right: 0; top: 50%; width: 44px; height: 44px; border-radius: 50%; background: var(--color-cyan); transform: translate(0, -50%) scale(1); transform-origin: center center; transition: transform .35s cubic-bezier(.4, 0, .2, 1); z-index: 0;}
.button-alt:hover::before, .button-alt:focus-within::before{ transform: translate(0, -50%) scale(25); transition: transform 1.5s cubic-bezier(.4, 0, .2, 1);}
.button-alt .btn-text{ position: relative; z-index: 1; padding: 10px 20px; display: flex; align-items: center; transition: color .15s ease;}
.button-alt:hover, .button-alt:focus, .button-alt:focus-within{ background: var(--color-white); color: var(--color-black);}
.button-alt:hover .btn-text, .button-alt:focus-within .btn-text{ color: var(--color-white); transition: color .3s ease .3s;}
.button-alt .btn-icon{ position: relative; z-index: 1; width: 44px; height: 44px; background: transparent; color: var(--color-white); border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; font-size: 14px;}
.button-alt .btn-icon i{ display: block; line-height: 1;}

.screen-reader{ position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden;}
:focus{ outline: 2px solid var(--color-cyan); outline-offset: 2px;}
:focus:not(:focus-visible){ outline: none;}
:focus-visible{ outline: 2px solid var(--color-cyan); outline-offset: 2px;}
a, img, .button, button{ transition: all .3s ease 0s;}

h1, h2, h3, h4, h5, h6{ line-height: 1.2;}
h1{}
h2{}
h3{}
h4{}
h5{}
h6{}
p{ margin-top: 1em;}
p:first-child{ margin-top: 0;}

.wrapper, .container{ width: 100%; max-width: 1400px; margin: 0 auto; padding: 0 clamp(20px, 2.5%, 50px); box-sizing: border-box;}
.container{ display: flex;}
.wrapper:after{ content: ""; display: table; clear: both;}

/* ── HEADER ──────────────────────────────────────────────────────────────── */

.header{ position: relative; z-index: 10;}
.header .container{ align-items: center; justify-content: space-between; padding-top: 40px; padding-bottom: 40px;}
.header-logo{ display: block; flex-shrink: 0;}
.header-actions{ display: flex; align-items: center; gap: 24px;}
.header-search-wrap{}
.header-search-form{ display: flex; align-items: center; gap: 8px;}
.header-search-input{ width: 0; padding: 8px 0; border: none; background: var(--color-white); border-radius: 999px; font-family: inherit; font-size: 16px; color: var(--color-black); outline: none; overflow: hidden; transition: width .35s ease, padding .35s ease;}
.header-search-wrap:hover .header-search-input,
.header-search-wrap:focus-within .header-search-input{ width: 220px; padding: 8px 14px;}
.header-search-toggle{ background: none; border: none; padding: 0; font-size: 22px; color: var(--color-cyan); display: flex; align-items: center; cursor: pointer; flex-shrink: 0;}

/* ── HERO ────────────────────────────────────────────────────────────────── */

.hero{ display: flex; align-items: stretch; position: relative; min-height: 700px;}
.hero::before{ content: ''; position: absolute; top: -140px; right: 0; width: 900px; height: 900px; background-image: url(images/hero-lines.png); background-size: contain; background-position: top right; background-repeat: no-repeat; z-index: -1; pointer-events: none;}
.hero .container{ align-items: stretch; flex: 1;}
.hero-content{ flex: 0 0 475px; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 32px; margin-right: 15px;}
.hero-content .eyebrow{ color: var(--color-cyan);}
.hero-content h1:not(.eyebrow), .hero-content span.hero-headline{ font-size: 75px; line-height: 80px; font-weight: 300;}
.hero-visual{ flex: 1; position: relative; overflow: hidden;}
.hero-slider{ height: 100%;}
.hero-slider .slick-list, .hero-slider .slick-track{ height: 100%;}
.hero-slide{ position: relative; height: 100%;}
.hero-slide img{ position: absolute; left: 30px; top: 0; width: 50%; height: 100%; object-fit: cover; display: block;}
.hero-slide-content{ position: absolute; bottom: 0; right: 0; width: 45%; padding: 40px; background: linear-gradient(to top, rgba(0,0,0,.75) 0%, transparent 100%);}
.hero-slide-content h2{ font-size: 20px; line-height: 28px; font-weight: 300; color: var(--color-cyan);}
.hero-slide-content .hero-slide-sub{ font-size: 20px; line-height: 28px; font-weight: 300; color: var(--color-white); margin-bottom: 15px;}
.hero-slide-content p{ font-size: 16px; line-height: 24px; color: var(--color-white); margin-top: 0;}
.eyebrow{ font-size: 16px; font-weight: 600; line-height: 16px; text-transform: uppercase; margin-bottom: 20px;}
h1.eyebrow{ margin-top: 0; }
span.hero-headline{ display: block; }

/* ── NAV ─────────────────────────────────────────────────────────────────── */

.nav{}
nav ul{ list-style: none; position: relative; float: left; margin: 0; padding: 0;}
nav ul a{ display: block; text-decoration: none;}
nav ul li{ position: relative; float: left; margin: 0; padding: 0;}
nav ul li.current-menu-item > a, nav ul li:hover > a{}
nav ul ul{ display: none; position: absolute; top: 100%; left: 0; padding: 0;}
nav ul ul li{ float: none; width: 200px;}
nav ul ul ul{ top: 0; left: 100%;}
nav ul li:hover > ul{ display: block;}

.nav-toggle{ display: flex; flex-direction: column; justify-content: space-between; width: 28px; height: 20px; background: none; border: none; padding: 0; cursor: pointer; color: var(--color-cyan);}
.nav-toggle span{ display: block; width: 100%; height: 2px; background: currentColor; transition: transform .3s ease, opacity .3s ease;}
.nav-toggle.is-open span:nth-child(1){ transform: translateY(9px) rotate(45deg);}
.nav-toggle.is-open span:nth-child(2){ opacity: 0;}
.nav-toggle.is-open span:nth-child(3){ transform: translateY(-9px) rotate(-45deg);}

.mobile-overlay{ display: block; position: fixed; inset: 0; background: rgba(0,0,0,.5); z-index: 998; opacity: 0; pointer-events: none; transition: opacity .3s ease;}
.mobile-overlay.is-visible{ opacity: 1; pointer-events: auto;}
.mobile-nav{ position: fixed; top: 0; right: -420px; width: 400px; max-width: 100vw; height: 100%; background: linear-gradient(to bottom, #2a2a2a 0%, #111 100%); z-index: 999; padding: 0; overflow: hidden; transition: right .3s ease; display: flex; flex-direction: column; border-bottom-left-radius: 35px;}
.mobile-nav.is-open{ right: 0;}
.mobile-nav-header{ padding: 16px 40px 0; flex-shrink: 0;}
.mobile-nav-header{ display: flex; justify-content: flex-end; padding-bottom: 16px;}
.nav-close{ background: none; border: none; font-size: 2rem; line-height: 1; padding: 0; cursor: pointer; color: var(--color-white);}

.nav-contact-cta{ flex-shrink: 0; padding: 20px 40px 36px;}
.nav-contact-link{ font-size: 22px; font-weight: 400; line-height: 1; color: var(--color-white); text-decoration: none; display: flex; align-items: center; gap: 12px;}
.nav-contact-link i{ font-size: 18px; color: var(--color-cyan);}
.nav-contact-link:hover{ color: var(--color-magenta);}
.nav-contact-link:hover i{ color: var(--color-magenta);}

.mobile-nav nav ul{ float: none; position: static;}
.mobile-nav nav ul li{ float: none; position: relative;}
.mobile-nav nav ul ul{ display: none; position: static; top: auto; left: auto;}
.mobile-nav nav ul li:hover > ul{ display: none;}

.mobile-nav nav > ul{ list-style: none; margin: 0; padding: 0;}
.mobile-nav nav > ul > li{ display: block; width: 100%;}
.nav-link-row{ display: flex; align-items: center;}
.mobile-nav nav > ul > li > .nav-link-row > a,
.mobile-nav nav > ul > li > a{ font-size: 22px; font-weight: 400; line-height: 1; letter-spacing: 0; color: var(--color-white); text-decoration: none; padding: 16px 0; display: block;}
.mobile-nav nav > ul > li > .nav-link-row > a:hover,
.mobile-nav nav > ul > li > a:hover{ color: var(--color-magenta);}

.submenu-toggle{ background: none; border: none; padding: 16px 0 16px 10px; cursor: pointer; color: var(--color-magenta); font-size: 16px; line-height: 1; flex-shrink: 0;}

.mobile-nav nav > ul > li > ul.sub-menu{ display: none; list-style: none; padding: 0 0 12px; margin: 0; padding-left: 24px;}
.mobile-nav nav > ul > li > ul.sub-menu > li{ position: relative; padding-left: 16px; width: 300px;}
.mobile-nav nav > ul > li > ul.sub-menu > li::before{ content: ''; position: absolute; left: 0; top: 50%; width: 5px; height: 5px; border-radius: 50%; background: var(--color-magenta); transform: translateY(-50%);}
.mobile-nav nav > ul > li > ul.sub-menu > li > a{ font-size: 18px; font-weight: 400; line-height: 1; letter-spacing: 0; color: var(--color-white); text-decoration: none; padding: 6px 0; display: flex; align-items: center; gap: 10px;}
.mobile-nav nav > ul > li > ul.sub-menu > li > a::after{ font-family: "Font Awesome 7 Free"; font-weight: 900; content: "\f061"; font-size: 14px; color: var(--color-magenta); opacity: 0; transition: opacity .2s ease; font-style: normal;}
.mobile-nav nav > ul > li > ul.sub-menu > li > a:hover{ font-style: italic; color: var(--color-white);}
.mobile-nav nav > ul > li > ul.sub-menu > li > a:hover::after{ opacity: 1; font-style: normal;}
.mobile-nav nav > ul > li > ul.sub-menu > li.menu-item-has-children > a{ color: var(--color-white);}

.nav-panels-wrap{ flex: 1; overflow-y: auto; overflow-x: hidden; padding: 0 40px;}
.nav-panels-inner{ display: flex; transition: transform 0.35s ease;}
.nav-main-panel{ flex: 0 0 100%; transition: opacity 0.35s ease; opacity: 1;}
.nav-main-panel.panel-fading{ opacity: 0;}
.nav-drilldown-panel{ flex: 0 0 100%; opacity: 0; transition: opacity 0.35s ease; padding-top: 8px;}
.nav-drilldown-panel.panel-visible{ opacity: 1;}
.nav-panels-inner.at-drilldown{ transform: translateX(-100%);}

.nav-drilldown-back{ background: none; border: none; padding: 16px 0; cursor: pointer; color: var(--color-white); font-size: 22px; font-weight: 400; line-height: 1; font-family: inherit; display: flex; align-items: center; gap: 12px; letter-spacing: 0; margin-bottom: 8px;}
.nav-drilldown-back:hover{ color: var(--color-magenta);}
.nav-drilldown-back i{ color: var(--color-magenta); font-size: 18px;}
.nav-drilldown-parent{ font-size: 22px; font-weight: 400; line-height: 1; color: var(--color-white); padding: 16px 0; margin-bottom: 8px;}
.nav-drilldown-parent a{ color: var(--color-white); text-decoration: none; font-size: inherit; font-weight: inherit; line-height: inherit;}
.nav-drilldown-parent a:hover{ color: var(--color-magenta);}
.nav-drilldown-list{ list-style: none; margin: 0; padding-left: 24px;}
.nav-drilldown-list li{ position: relative; padding-left: 16px; width: 300px;}
.nav-drilldown-list li::before{ content: ''; position: absolute; left: 0; top: 50%; width: 5px; height: 5px; border-radius: 50%; background: var(--color-magenta); transform: translateY(-50%);}
.nav-drilldown-list li a{ font-size: 18px; font-weight: 400; line-height: 1; color: var(--color-white); text-decoration: none; padding: 6px 0; display: flex; align-items: center; gap: 10px;}
.nav-drilldown-list li a::after{ font-family: "Font Awesome 7 Free"; font-weight: 900; content: "\f061"; font-size: 14px; color: var(--color-magenta); opacity: 0; transition: opacity .2s ease; font-style: normal;}
.nav-drilldown-list li a:hover{ font-style: italic; color: var(--color-white);}
.nav-drilldown-list li a:hover::after{ opacity: 1; font-style: normal;}
body.nav-open{ overflow: hidden;}

/* ── CONTENT ─────────────────────────────────────────────────────────────── */

.content{}
.content p:first-child{ margin-top: 0;}
.content ul{ list-style: disc; margin: 15px 0 0 30px;}
.content ol{ margin: 15px 0 0 30px;}
.content img{ max-width: 100%; height: auto;}

.navigation{ padding: 0; text-align: center;}
.navigation ul{ list-style: none; margin: 0; padding: 0;}
.navigation li{ display: inline-block;}
.navigation li a, .navigation li span{ display: inline-block; padding: 6px 12px; text-decoration: none; color: #fff; background-color: #666; cursor: pointer;}
.navigation li a:hover, .navigation li span.current{ background-color: #333;}
.navigation li span.dots{ background: none; color: #666;}

.load-more-wrap{ text-align: center; margin-top: 30px;}
.load-more-btn{ padding: 12px 30px; cursor: pointer;}
.load-more-btn:disabled{ opacity: 0.6; cursor: default;}

.search-results .wrapper, .error404 .wrapper{ padding: 60px 0;}
.search-results .page-title, .error404 .page-title{ margin-bottom: 30px;}
.search-results article{ margin-top: 30px; padding-top: 30px; border-top: 1px solid #eee;}
.search-results article:first-child{ border-top: 0; padding-top: 0; margin-top: 0;}
.search-results .entry{ margin-top: 10px;}
.search-form{ display: flex; gap: 8px; margin-top: 20px;}
.search-input{ flex: 1; padding: 10px 14px; border: 1px solid #ccc; border-radius: 3px; font-size: 1rem;}
.search-submit{ padding: 10px 20px; cursor: pointer;}

.video-wrapper{ position: relative; padding-bottom: 56.25%; height: 0;}
.video-wrapper iframe{ position: absolute; top: 0; left: 0; width: 100%; height: 100%;}

.error404 .content{ padding: 60px 0 100px; text-align: center;}

/* ── HOME ────────────────────────────────────────────────────────────────── */

.section-intro{ padding: 200px 0 200px; background-image: url(images/home-intro.png); background-repeat: no-repeat; background-position: bottom right; background-size: 33% auto;}
.section-intro .eyebrow{ color: var(--color-magenta);}
.section-intro h2{ font-weight: 300; font-size: 85px; line-height: 105px; width: 75%; margin-bottom: 80px;}
.intro-content-wrap{ display: flex; align-items: flex-start; gap: 20px; margin-left: 150px; width: 50%;}
.intro-arrow{ color: var(--color-magenta); font-size: 16px; flex-shrink: 0;}
.intro-content-wrap p{ margin: 0;}

.sections-wrap{ background: var(--color-white); border-radius: 50px 50px 0 0; color: var(--color-black); padding-bottom: 150px;}

.sections-wrap-b{ border-radius: 50px 50px 0 0; margin-top: -50px; padding-top: 120px; background-color: var(--color-black); background-image: url(images/home-case-studies.png); background-repeat: no-repeat; background-position: top left; background-size: 50% auto;}
.sections-wrap .eyebrow{ color: var(--color-red);}
.sections-wrap a:hover, .sections-wrap a:focus{ color: var(--color-red);}
.sections-wrap .button{ border-color: var(--color-red); color: var(--color-red);}

/* ── CASE STUDIES ────────────────────────────────────────────────────────── */

.section-case-studies{ padding: 0 0 80px;}
.section-case-studies .eyebrow{ color: var(--color-yellow);}
.section-case-studies a:hover, .section-case-studies a:focus{ color: var(--color-yellow);}
.section-case-studies .button{ border-color: var(--color-yellow); color: var(--color-yellow);}
.section-case-studies .button:hover, .section-case-studies .button:focus{ background: var(--color-yellow); color: var(--color-black);}
.case-studies-inner{ display: flex; gap: 80px; align-items: flex-start; justify-content: space-between;}
.case-studies-grid{ flex: 0 0 45%;}
.case-studies-content{ flex: 0 0 45%; display: flex; flex-direction: column; align-items: flex-start; gap: 24px;}
.case-studies-content .eyebrow{ margin-bottom: 0;}
.case-studies-content h2{ font-weight: 300; font-size: 85px; line-height: 95px;}
.case-studies-content .button{ margin-top: 20px;}
.case-study-item{ position: relative;}
.case-study-image{ display: block; background-size: cover; background-position: center; background-repeat: no-repeat; border-radius: 25px; aspect-ratio: 536 / 475; width: 100%;}
.case-study-content{ width: 50%; margin-left: auto; margin-top: 25px; display: flex; flex-direction: column; gap: 25px;}
.case-study-content p{ font-size: 20px; line-height: 28px; font-weight: 500;}
.case-study-content .more{ font-weight: 700;}
.more{ text-decoration: none;}

/* ── SERVICES ────────────────────────────────────────────────────────────── */

.section-services{ padding: 150px 0 0;}
.section-services .eyebrow{ color: var(--color-cyan);}
.services-inner{ display: flex; gap: 80px; align-items: flex-start; justify-content: space-between;}
.services-intro{ flex: 0 0 calc(45% - 80px); display: flex; flex-direction: column; gap: 24px;}
.services-intro .eyebrow{ margin-bottom: 0;}
.services-intro h2{ font-weight: 300; font-size: 85px; line-height: 95px;}
.services-list{ flex: 1; display: flex; flex-direction: column; gap: 35px;}
.service-item{ border-radius: 50px; padding: 60px; display: flex; gap: 40px; align-items: flex-start;}
.service-item:nth-child(1){ --accent: var(--color-magenta);}
.service-item:nth-child(2){ --accent: var(--color-yellow);}
.service-left{ flex: 0 0 50%; display: flex; flex-direction: column; gap: 20px;}
.service-right{ flex: 1; display: flex; flex-direction: column; align-items: flex-start; gap: 20px;}
.service-item h3{ font-weight: 300; font-size: 50px; line-height: 55px; position: relative;}
.service-item h3::before{ content: ''; position: absolute; top: -20px; left: -20px; width: 20px; height: 20px; border-top: 1px solid var(--accent); border-left: 1px solid var(--accent);}
.service-content{ font-size: 22px; line-height: 30px; font-weight: 500;}
.service-bullets{ display: flex; flex-direction: column; padding: 0; margin: 0; margin-top: 10px;}
.service-bullets li{ display: flex; align-items: baseline; gap: 8px; font-size: 20px; line-height: 22px; margin-bottom: 12px;}
.service-bullets li:last-child{ margin-bottom: 0;}
.service-bullets li::before{ content: '\2022'; color: var(--accent); flex-shrink: 0; display: inline-block; width: 1em;}
.service-item .more{ color: var(--color-white); padding-left: calc(1em + 8px); margin: 0;}
.service-item .more i{ color: var(--accent);}
.service-item .more:hover, .service-item .more:focus{ color: var(--accent);}

/* ── GALLERY ─────────────────────────────────────────────────────────────── */

.section-gallery{ padding: 80px 0; position: relative; z-index: 2;}
.gallery-grid{ display: flex; gap: 30px; align-items: flex-end;}
.gallery-item{ background-size: cover; background-position: center; background-repeat: no-repeat;}
.gallery-item:first-child{ flex: 0.7 0.7 0; height: 400px; border-radius: 0 25px 25px 0; margin-bottom: -30px;}
.gallery-item:nth-child(2){ flex: 0.95 0.95 0; height: 322px; border-radius: 25px; margin-bottom: -80px;}
.gallery-item:last-child{ flex: 0.7 0.7 0; height: 370px; border-radius: 25px 0 0 25px; margin-bottom: -70px;}

.gradient-light-top{ background: linear-gradient(0deg, rgba(0,0,0,0) 3.67%, rgba(255,255,255,.25) 94.05%), #000;}
.gradient-light-bottom{ background: linear-gradient(180deg, rgba(0,0,0,0) 3.67%, rgba(255,255,255,.25) 94.05%), #000;}

/* ── TECHNOLOGIES (HOME) ─────────────────────────────────────────────────── */

.section-technologies{ padding: 80px 0;}
.section-technologies h2{ font-weight: 300; font-size: 70px; line-height: 80px;}
.section-technologies .section-header{ align-items: flex-start; margin-bottom: 100px;}
.section-technologies .section-header-left{ flex: 0 0 66.667%;}
.section-technologies .section-header-left .eyebrow{ margin-bottom: 30px;}
.section-header{ display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; margin-bottom: 60px;}
.section-header-left{}
.section-header-left .eyebrow{ margin-bottom: 12px;}
.section-header-right{ flex-shrink: 0;}
.platforms-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px;}
.platform-item{ display: grid; grid-template-columns: 48px 1fr; grid-template-rows: auto 1fr; column-gap: 20px; row-gap: 20px; align-items: start;}
.platform-icon{ grid-column: 1; grid-row: 1; display: flex; align-items: center; justify-content: center; align-self: center;}
.platform-icon img{ width: 40px; height: 40px; object-fit: contain;}
.platform-headline{ grid-column: 2; grid-row: 1; align-self: center; margin: 0; font-weight: 300; font-size: 30px;}
.platform-text{ grid-column: 2; grid-row: 2; margin: 0;}

/* ── INDUSTRIES ──────────────────────────────────────────────────────────── */

.section-industries{ padding: 80px 0;}
.industries-inner{ display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: start;}
.industries-list{ display: grid; grid-template-columns: 1fr 1fr; row-gap: 30px; margin-top: 60px;}
.industry-item{ display: flex; align-items: center; text-decoration: none; border-bottom: 1px solid rgba(255,255,255,.15); color: inherit; font-weight: 500; font-size: 25px;}
.industry-item:first-child{ border-top: 1px solid rgba(255,255,255,.15);}
.industry-item:nth-child(2){ border-top: 1px solid rgba(255,255,255,.15);}
.industry-item::after{ font-family: "Font Awesome 7 Free"; font-weight: 900; content: '\f061'; display: inline-block; margin-left: 10px; font-size: 14px; font-style: normal; color: var(--color-white); transform: translateX(0); transition: color .3s ease, transform .4s ease;}
.industry-item:hover, .industry-item:focus{ font-style: italic;}
.industry-item:hover::after, .industry-item:focus::after{ color: var(--color-red); transform: translateX(10px);}
.industries-content{ display: flex; flex-direction: column; gap: 24px; justify-content: center; align-items: flex-start;}
.industries-content .eyebrow{ margin-bottom: 0;}
.industries-content .button{ margin-top: 20px;}
.section-industries h2{ font-weight: 300; font-size: 70px; line-height: 80px;}

/* ── FOOTER ──────────────────────────────────────────────────────────────── */

.footer{ background: var(--color-red); color: var(--color-white); font-size: 24px;}
.footer a{ color: inherit;}
.footer a:hover, .footer a:focus{ color: var(--color-black);}
.footer-tagline{ padding: 150px 0 40px;}
.footer-tagline p{ font-size: 90px; line-height: 105px; font-weight: 300;}
.footer-main{ padding: 60px 0;}
.footer-main-inner{ display: flex; justify-content: space-between; align-items: flex-start; gap: 60px;}
.footer-left{ display: flex; flex-direction: column; gap: 30px; align-items: flex-start;}
.footer-logo .logo{ max-width: 280px;}
.footer-nav-cols{ display: flex; gap: 80px;}
.footer-nav ul{ float: none;}
.footer-nav ul li{ float: none;}
.footer-nav ul a{ display: block; text-decoration: none; padding: 4px 0; font-size: 24px; font-weight: 300;}
.footer-right{ display: flex; flex-direction: column; gap: 16px; align-items: flex-end; text-align: right; flex-shrink: 0; font-weight: 400;}
.footer-phone a{ text-decoration: none; color: inherit;}
.footer-address{ font-style: normal; line-height: 1.25;}
.footer-address a{ text-decoration: none;}
.footer-logos{ display: flex; gap: 16px; justify-content: flex-end; align-items: center;}
.footer-logos img{ max-height: 50px; width: auto;}
.footer-linkedin{ display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%; background: var(--color-white); font-size: 20px; text-decoration: none; flex-shrink: 0;}
.footer .footer-linkedin{ color: var(--color-red);}
.footer .footer-linkedin:hover, .footer .footer-linkedin:focus{ color: var(--color-red); background: var(--color-black);}
.footer-after{ height: 325px; background-image: url(images/footer-after.jpg); background-size: auto 100%; background-repeat: repeat-x; background-position: left top;}

/* ── CTA ─────────────────────────────────────────────────────────────────── */

.section-cta{ background: var(--color-red); padding: 280px 0 150px; text-align: center; position: relative; z-index: 1; overflow: visible; margin-top: -100px;}
.section-cta::before{ content: ''; position: absolute; top: -100px; left: 0; right: 0; height: 160px; background-image: url(images/cta.png); background-repeat: repeat-x; background-position: top center; background-size: contain; z-index: 1;}
.section-cta .wrapper{ max-width: 800px; position: relative; z-index: 2;}
.section-cta h2{ font-weight: 300; font-size: 70px; line-height: 75px; margin-bottom: 20px;}
.section-cta .cta-content{ margin-bottom: 40px; padding: 0 80px;}
.section-cta .button-alt{ margin: 0 auto;}

/* ── TECHNOLOGIES TEMPLATE ───────────────────────────────────────────────── */

.section-tech-intro{ padding: 120px 0 80px; text-align: center;}
.section-tech-intro .eyebrow{ color: var(--color-cyan);}
.section-tech-intro h1:not(.eyebrow), .section-tech-intro span.hero-headline{ font-size: 75px; line-height: 80px; font-weight: 300; margin-top: 20px;}
.section-tech-intro .eyebrow, .section-tech-intro h1:not(.eyebrow), .section-tech-intro span.hero-headline{ max-width: 600px; margin-left: auto; margin-right: auto;}

.tech-container{ background: var(--color-cyan); border-radius: 50px 50px 0 0; margin-top: 120px; padding-bottom: 0; display: flow-root;}

.section-tech-platforms{ padding: 0 0 60px; margin-top: -110px;}
.tech-platforms-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; max-width: 1160px; margin: 0 auto;}
.tech-platform-item{ display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 12px; text-align: center; min-height: 220px; background: var(--color-white); border-radius: 25px; box-shadow: 0px 4px 4px 0px #00000040; padding: 40px 20px; transition: transform 0.25s ease, box-shadow 0.25s ease; text-decoration: none; color: inherit;}
.tech-platform-item img{ max-width: 80px; height: auto; display: block;}
.tech-platform-item p{ font-size: 30px; line-height: 30px; font-weight: 300; color: var(--color-black); margin: 30px 0 0;}
.tech-platform-item .card-arrow{ display: none; color: var(--color-magenta); margin-left: 8px;}
.tech-platform-item:hover{ transform: translateY(-8px); box-shadow: 0px 16px 32px 0px #00000030;}
.tech-platform-item:hover p{ font-style: italic;}
.tech-platform-item:hover .card-arrow{ display: inline;}

.section-tech-tools{ padding: 60px 0 0;}
.tools-header{ margin-bottom: 180px;}
.tools-header h2{ font-size: 85px; line-height: 95px; font-weight: 300; margin-bottom: 20px; max-width: 1045px;}
.tools-intro-text{ font-size: 20px; line-height: 30px; font-weight: 500; max-width: 650px;}
.tools-list{ display: flex; flex-direction: column; gap: 25px;}
.tool-item{ display: flex; align-items: center; justify-content: space-between; padding: 30px; border-radius: 50px; background: linear-gradient(0deg, rgba(255,255,255,.25) 3.05%, rgba(0,0,0,0) 94.05%), #000;}
.tool-content{ flex: 0 0 55%;}
.tool-content h3{ font-size: 55px; line-height: 55px; font-weight: 300; margin-bottom: 10px;}
.tool-content .tool-sub{ font-size: 30px; font-weight: 500; margin-top: 0; margin-bottom: 15px;}
.tool-content .tool-text{ font-size: 20px; line-height: 30px; margin-bottom: 30px; width: 80%;}
.tool-content .more{ font-weight: 700; color: var(--color-magenta);}
.tool-content .more i{ color: var(--color-magenta);}
.tool-content .more:hover, .tool-content .more:focus{ color: var(--color-white);}
.tool-image{ flex: 0 0 40%; height: 360px; border-radius: 35px; background-size: cover; background-position: center; background-repeat: no-repeat;}
.tool-item:last-child{ margin-bottom: -200px;}

.section-tech-use-cases{ margin: 150px 0 400px; padding-top: 200px;}
.section-tech-use-cases .eyebrow{ color: var(--color-yellow);}
.use-cases-inner{ display: flex; gap: 80px; align-items: flex-start; justify-content: space-between;}
.use-cases-left{ flex: 0 0 calc(60% - 40px);}
.section-tech-use-cases h2{ font-size: 70px; line-height: 75px; font-weight: 300; margin: 0;}
.section-tech-use-cases h2 em{ font-style: italic;}
.use-cases-right{ flex: 0 0 calc(40% - 40px); display: flex; flex-direction: column; align-items: flex-start; gap: 30px;}
.section-tech-use-cases .use-cases-content{ font-size: 22px; line-height: 30px; font-weight: 500; margin: 0;}
.section-tech-use-cases .button{ border-color: var(--color-yellow); color: var(--color-yellow);}
.section-tech-use-cases .button:hover, .section-tech-use-cases .button:focus{ background: var(--color-yellow); color: var(--color-black);}

/* ── SINGLE TECHNOLOGY TEMPLATE ──────────────────────────────────────────── */

.stech-hero{ display: flex; align-items: stretch; position: relative; min-height: 750px;}
.stech-hero::before{ content: ''; position: absolute; top: -140px; right: 0; bottom: 0; width: 25%; background-image: url(images/stech-hero.png); background-repeat: repeat-y; background-size: 100% auto; background-position: top right; z-index: -1; pointer-events: none;}
.stech-hero .container{ align-items: stretch; flex: 1;}
.stech-hero-content{ flex: 0 0 50%; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 32px; padding: 0 60px 80px 0;}
.stech-hero-content .eyebrow{ color: var(--color-cyan);}
.stech-hero-content h1:not(.eyebrow), .stech-hero-content span.hero-headline{ font-size: 75px; line-height: 80px; font-weight: 300;}
.stech-hero-intro-wrap{ display: flex; gap: 20px; align-items: flex-start;}
.stech-hero-intro-arrow{ color: var(--color-magenta); font-size: 24px; flex-shrink: 0; margin-top: 4px;}
.stech-hero-intro{ font-size: 20px; line-height: 30px;}
.stech-hero-visual{ flex: 0 0 48%; position: relative;}
.stech-hero-visual-content{ position: absolute; bottom: 0; left: 0; padding-bottom: 100px; width: 33.333%;}
.stech-hero-visual-content h2{ font-size: 18px; line-height: 22px; font-weight: 400; color: var(--color-cyan); margin-bottom: 4px;}
.stech-hero-visual-copy{ font-size: 18px; line-height: 22px; font-weight: 300;}
.stech-hero-visual-img{ position: absolute; bottom: 0; left: 33.333%; width: 70%; height: calc(100% + 130px); object-fit: contain; object-position: bottom center; display: block;}

.stech-single-hero{ padding: 120px 0 80px;}
.stech-single-hero .container{ gap: 80px; align-items: flex-start;}
.stech-single-hero-left{ flex: 0 0 calc(60% - 40px);}
.stech-single-hero-left .eyebrow{ color: var(--color-cyan); margin-bottom: 20px;}
.stech-single-hero-left h1:not(.eyebrow), .stech-single-hero-left span.hero-headline{ font-size: 75px; line-height: 80px; font-weight: 300; margin: 0;}
.stech-single-hero-right{ flex: 1; display: flex; gap: 20px; align-items: flex-start; padding-top: 55px;}
.stech-single-hero-arrow{ color: var(--color-magenta); font-size: 24px; flex-shrink: 0; margin-top: 4px;}
.stech-single-hero-content{ font-size: 20px; line-height: 30px; flex: 1;}
.stech-single-hero-image{ width: 100%; height: 420px; overflow: hidden;}
.stech-single-hero-image img{ width: 100%; height: 100%; object-fit: cover; display: block;}
.stech-single-hero-image + .stech-white-wrap{ margin-top: -80px; position: relative; z-index: 1;}

.stech-white-wrap{ background: var(--color-white); border-radius: 50px 50px 0 0; color: var(--color-black); padding: 100px 0 120px; margin-top: 0;}
.stech-white-wrap .eyebrow{ color: var(--color-red);}
.stech-white-wrap a{ color: var(--color-red);}
.stech-white-wrap a:hover, .stech-white-wrap a:focus{ color: var(--color-black);}
.stech-white-wrap .button{ border-color: var(--color-red); color: var(--color-red);}
.stech-white-wrap .button:hover, .stech-white-wrap .button:focus{ background: var(--color-red); color: var(--color-white);}

.stech-section-intro{ margin-bottom: 200px;}
.stech-intro-inner{ display: flex; gap: 80px; align-items: flex-start;}
.stech-intro-left{ flex: 0 0 calc(50% - 40px);}
.stech-intro-left h2{ font-size: 55px; line-height: 65px; font-weight: 300; margin: 0;}
.stech-intro-right{ flex: 0 0 calc(50% - 40px); display: flex; flex-direction: column; gap: 30px;}
.stech-intro-content{ font-size: 20px; line-height: 45px; font-weight: 500;}
.stech-intro-content ul, .stech-intro-content ol{ list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0;}
.stech-intro-content li{ display: flex; align-items: baseline; gap: 12px; font-size: 20px; line-height: 30px; margin-bottom: 8px;}
.stech-intro-content li::before{ content: '\2022'; color: var(--color-magenta); flex-shrink: 0;}
.stech-scroll-nudge{ display: flex; align-items: center; gap: 12px; font-size: 20px; font-weight: 700; color: var(--color-black); margin: 0;}
.stech-scroll-nudge i{ color: var(--color-magenta);}

.stech-overview{}
.stech-overview .wrapper{ max-width: 1240px;}
.stech-overview-top{ display: flex; gap: 60px; align-items: flex-start; margin-bottom: 60px;}
.stech-overview-logo{ flex: 0 0 225px; display: flex; align-items: flex-start; justify-content: center; padding-top: 8px;}
.stech-overview-logo img{ width: 225px; max-width: 225px; height: auto;}
.stech-overview-copy{ flex: 1;}
.stech-overview-copy h2{ font-size: 55px; line-height: 62px; font-weight: 300; margin-bottom: 24px;}
.stech-overview-text{ font-size: 20px; line-height: 30px; width: 80%;}
.stech-overview-bottom{ display: flex; flex-direction: column; align-items: center; gap: 40px; max-width: 1140px; margin-left: auto; margin-right: auto;}
.stech-overview .stech-bullets{ flex-direction: row; flex-wrap: wrap; gap: 8px 30px; margin-left: 0; align-items: flex-start;}
.stech-overview .stech-bullets li{ align-items: flex-start; flex: 1;}
.stech-overview .stech-bullets li::before{ content: ''; display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--color-magenta); flex-shrink: 0; margin-top: 10px;}
.stech-overview .button{ border-color: var(--color-cyan); color: var(--color-cyan);}
.stech-overview .button:hover, .stech-overview .button:focus{ background: var(--color-cyan); color: var(--color-white);}

.stech-bullets{ list-style: none; margin: 0; margin-top: 0; padding: 0; display: flex; flex-direction: column; gap: 14px;}
.stech-bullets li{ display: flex; align-items: baseline; gap: 12px; font-size: 20px; line-height: 28px;}
.stech-bullets li::before{ content: '\2022'; color: var(--color-red); flex-shrink: 0;}

.stech-connections{ padding: 120px 0; background: var(--color-black);}
.stech-connections-header{ text-align: center; margin-bottom: 80px; max-width: 860px; margin-left: auto; margin-right: auto;}
.stech-connections-header h2{ font-size: 65px; line-height: 72px; font-weight: 300; margin-bottom: 24px;}
.stech-connections-intro{ font-size: 20px; line-height: 30px;}

.stech-connections-diagram{ display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 70px; align-items: stretch; margin-bottom: 100px; position: relative;}
.stech-conn-col{ display: flex; flex-direction: column; gap: 70px; position: relative;}
.stech-conn-left, .stech-conn-right{ justify-content: center;}
.stech-conn-card{ border: 1px solid transparent; background: linear-gradient(to bottom, rgba(255,255,255,.12) 0%, transparent 70%) padding-box, linear-gradient(#111, #111) padding-box, linear-gradient(225deg, rgba(255,255,255,.5) 0%, transparent 60%) border-box, linear-gradient(45deg, rgba(255,255,255,.3) 0%, transparent 60%) border-box; border-radius: 25px; padding: 36px; display: flex; flex-direction: column; gap: 16px; position: relative; min-height: 250px;}
.stech-conn-card-main{}
.stech-conn-card-header{ display: flex; align-items: center; gap: 16px;}
.stech-conn-card-icon{ flex: 0 0 42px;}
.stech-conn-card-icon img{ max-width: 42px; max-height: 42px; object-fit: contain;}
.stech-conn-card h3{ font-size: 30px; line-height: 36px; font-weight: 500; margin: 0;}
.stech-conn-card p{ font-size: 16px; line-height: 24px; margin: 0; color: var(--color-white); padding-left: 58px;}
.stech-conn-card .more{ padding-left: 58px;}
.stech-conn-card-main::before,
.stech-conn-card-main::after{ content: none;}
.stech-conn-left .stech-conn-card::after,
.stech-conn-right .stech-conn-card::before{ content: none;}
.stech-conn-center .stech-conn-card:not(.stech-conn-card-main)::before{ content: none;}

.stech-connections-outro{ width: 100%; background-image: url(images/tech-connections-outro.png); background-repeat: no-repeat; background-position: left center; background-size: 50% auto; padding: 100px 0;}
.stech-connections-outro-inner{ max-width: 1400px; margin: 0 auto; padding: 0 clamp(20px, 2.5%, 50px); display: flex; justify-content: flex-end;}
.stech-connections-outro-content-wrap{ width: 33.333%; flex-shrink: 0;}
.stech-connections-outro h2{ font-size: 30px; line-height: 40px; font-weight: 500; margin-bottom: 20px;}
.stech-connections-outro-content{ font-size: 20px; line-height: 30px; color: var(--color-white);}

.stech-white-wrap-b{ background-color: var(--color-white); background-image: url(images/stech-case-studies.png); background-repeat: no-repeat; background-position: right bottom; background-size: 300px auto; border-radius: 50px 50px 0 0; color: var(--color-black); padding: 100px 0 0;}
.stech-white-wrap-b .eyebrow{ color: var(--color-cyan);}
.stech-white-wrap-b a{ color: var(--color-cyan);}
.stech-white-wrap-b a:hover, .stech-white-wrap-b a:focus{ color: var(--color-black);}
.stech-white-wrap-b .button{ border-color: var(--color-cyan); color: var(--color-cyan);}
.stech-white-wrap-b .button:hover, .stech-white-wrap-b .button:focus{ background: var(--color-cyan); color: var(--color-white);}

.stech-use-cases{ padding-bottom: 100px;}
.stech-use-cases-header{ display: flex; gap: 80px; align-items: flex-start; margin-bottom: 60px;}
.stech-use-cases-header-left{ flex: 0 0 calc(60% - 40px);}
.stech-use-cases-header-left .eyebrow{ margin-bottom: 16px; color: var(--color-magenta);}
.stech-use-cases-header-left h2{ font-size: 60px; line-height: 68px; font-weight: 300; margin: 0;}
.stech-use-cases-header-right{ flex: 1; padding-top: 40px;}
.stech-use-cases-intro{ font-size: 20px; line-height: 30px;}
.stech-use-cases-list{ display: flex; flex-direction: column; gap: 25px; margin-bottom: 50px;}
.stech-use-case-item{ border: 1px solid transparent; background: linear-gradient(to bottom, rgba(255,255,255,.12) 0%, transparent 70%) padding-box, linear-gradient(#111, #111) padding-box, linear-gradient(225deg, rgba(255,255,255,.5) 0%, transparent 60%) border-box, linear-gradient(45deg, rgba(255,255,255,.3) 0%, transparent 60%) border-box; border-radius: 25px; padding: 40px 60px; display: grid; grid-template-columns: 1fr 24px 80px auto 2fr; column-gap: 40px; align-items: center; color: var(--color-white);}
.stech-use-case-item h3{ font-size: 30px; line-height: 30px; font-weight: 500; margin: 0; color: var(--color-white);}
.stech-use-case-plus{ color: var(--color-magenta); font-size: 30px; line-height: 1; width: 24px; height: 24px; display: inline-flex; align-items: center; justify-content: center;}
.stech-use-case-logo{ width: 80px; display: flex; align-items: center; justify-content: center;}
.stech-use-case-logo img{ width: 80px; height: auto; display: block;}
.stech-use-case-arrow{ color: var(--color-magenta); font-size: 18px; line-height: 1;}
.stech-use-case-text{ font-size: 18px; line-height: 26px; color: var(--color-white); margin: 0; padding-left: 24px;}
.stech-use-cases .button{ border-color: var(--color-magenta); color: var(--color-magenta); display: block; width: fit-content; margin-left: auto; align-self: flex-end;}
.stech-use-cases .button:hover, .stech-use-cases .button:focus{ background: var(--color-magenta); color: var(--color-white); border-color: var(--color-magenta);}

.stech-case-studies{ padding-top: 150px; padding-bottom: 120px;}
.stech-case-studies .eyebrow{ color: var(--color-red);}
.stech-case-studies-inner{ display: flex; gap: 80px; align-items: flex-start; justify-content: space-between;}
.stech-case-studies-grid{ flex: 0 0 45%;}
.stech-case-studies-content{ flex: 0 0 45%; display: flex; flex-direction: column; align-items: flex-start; gap: 24px;}
.stech-case-studies-content h2{ font-weight: 300; font-size: 65px; line-height: 73px;}
.stech-case-study-item{ position: relative; margin-bottom: 30px;}
.stech-case-study-item:last-child{ margin-bottom: 0;}
.stech-case-study-image{ display: block; background-size: cover; background-position: center; background-repeat: no-repeat; border-radius: 25px; aspect-ratio: 536 / 475; width: 100%;}
.stech-case-study-content{ width: 100%; margin-top: 25px; display: flex; flex-direction: column; gap: 20px;}
.stech-case-study-content p{ font-size: 20px; line-height: 28px; font-weight: 500;}
.stech-case-study-content .more{ font-weight: 700; color: var(--color-red);}
.stech-case-studies .button{ border-color: var(--color-red); color: var(--color-red);}
.stech-case-studies .button:hover, .stech-case-studies .button:focus{ background: var(--color-red); color: var(--color-white); border-color: var(--color-red);}

.stech-callout{ padding: 120px 0 180px; background: var(--color-black); background-image: url(images/stech-callout.png); background-repeat: no-repeat; background-position: left bottom; background-size: 48% auto;}
.stech-callout-inner{ display: flex; gap: 80px; align-items: flex-start; justify-content: space-between;}
.stech-callout-left{ flex: 0 0 calc(45% - 40px);}
.stech-callout-left h2{ font-size: 65px; line-height: 73px; font-weight: 300;}
.stech-callout-right{ flex: 0 0 calc(50% - 40px); display: flex; flex-direction: column; align-items: flex-start; gap: 40px;}
.stech-callout-intro{ font-size: 22px; line-height: 30px;}
.stech-callout .stech-bullets{ margin: 0; padding: 0;}
.stech-callout .stech-bullets li::before{ color: var(--color-magenta);}
.stech-callout .button{ border-color: var(--color-cyan); color: var(--color-cyan); margin-top: 60px;}
.stech-callout .button:hover, .stech-callout .button:focus{ background: var(--color-cyan); color: var(--color-white);}

.stech-resources{ padding: 200px 0 120px; background: var(--color-black);}
.stech-resources .eyebrow{ color: var(--color-yellow);}
.stech-resources .section-header{ margin-bottom: 60px; align-items: flex-end;}
.stech-resources .section-header h2{ font-size: 55px; line-height: 62px; font-weight: 300;}
.stech-resources .button{ border-color: var(--color-yellow); color: var(--color-yellow);}
.stech-resources .button:hover, .stech-resources .button:focus{ background: var(--color-yellow); color: var(--color-white);}
.stech-resources-grid{ display: grid; grid-template-columns: 7fr 7fr 6fr; gap: 30px; align-items: start;}
.stech-resource-card{ border: 1px solid transparent; background: linear-gradient(to bottom, rgba(255,255,255,.12) 0%, transparent 70%) padding-box, linear-gradient(#111, #111) padding-box, linear-gradient(225deg, rgba(255,255,255,.5) 0%, transparent 60%) border-box, linear-gradient(45deg, rgba(255,255,255,.3) 0%, transparent 60%) border-box; border-radius: 25px; padding: 0; display: flex; flex-direction: column; gap: 0; height: 490px; overflow: hidden;}
.stech-resource-card-image img{ max-height: 60px; width: auto;}
.stech-resource-card-photo{ width: 90%; height: 320px; flex-shrink: 0; border-radius: 0 0 25px 0; background-size: cover; background-position: center; background-repeat: no-repeat;}
.stech-resource-card--overlay{ border: none; background: none; background-size: cover; background-position: center; background-repeat: no-repeat; height: 490px; justify-content: flex-start;}
.stech-resource-card h3{ font-size: 28px; line-height: 34px; font-weight: 600; margin-top: auto; padding: 0 30px 8px 30px;}
.stech-resource-card-text{ font-size: 18px; line-height: 26px; color: var(--color-white);}
.stech-resource-card .more{ font-weight: 700; color: var(--color-yellow); text-decoration: none; padding: 0 30px 30px 30px;}
.stech-resource-card--overlay h3{ margin-top: 0; padding: 30px 30px 0 30px;}
.stech-resource-card--overlay .more{ padding: 8px 0 0 30px; color: var(--color-white);}
.stech-resource-tech-card{ border: 1px solid transparent; background: linear-gradient(to bottom, rgba(255,255,255,.12) 0%, transparent 70%) padding-box, linear-gradient(#111, #111) padding-box, linear-gradient(225deg, rgba(255,255,255,.5) 0%, transparent 60%) border-box, linear-gradient(45deg, rgba(255,255,255,.3) 0%, transparent 60%) border-box; text-align: left; padding: 40px 40px 75px; height: auto;}
.stech-resource-tech-card h3{ color: var(--color-white); font-size: 30px; line-height: 36px; font-weight: 500; margin: 0 0 20px 0; padding: 0;}
.stech-resource-tech-card .stech-tech-stack-list{ padding: 0; margin: 0;}
.stech-tech-stack-list{ list-style: none; margin: 0; padding: 0; margin-left: 0; padding-left: 0; display: flex; flex-direction: column; gap: 16px;}
.stech-tech-stack-item{ display: flex; align-items: center; gap: 16px;}
.stech-tech-stack-item a{ display: flex; align-items: center; gap: 16px; text-decoration: none; color: inherit;}
.stech-tech-stack-item a:hover .stech-tech-stack-name{ color: var(--color-magenta);}
.stech-tech-stack-logo img{ width: 32px; height: 32px; object-fit: contain; flex-shrink: 0;}
.stech-tech-stack-name{ font-size: 18px; font-weight: 500;}

.stech-footer-lines{ height: 160px; background-image: url(images/cta.png); background-repeat: repeat-x; background-position: top center; background-size: contain; position: relative; z-index: 1; margin-top: -275px;}
.stech-cta{ padding: 80px 0; position: relative; z-index: 2;}
.stech-cta .wrapper{ border-radius: 50px; background-size: cover; background-position: center; background-repeat: no-repeat; position: relative; overflow: hidden; padding-top: 160px; padding-bottom: 160px; text-align: center;}
.stech-cta .wrapper::before{ content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.8) 0%, rgba(0,0,0,.15) 100%); pointer-events: none; z-index: 0;}
.stech-cta-content{ position: relative; z-index: 1; max-width: 860px; margin: 0 auto;}
.stech-cta h2{ font-size: 70px; line-height: 78px; font-weight: 300; margin-bottom: 24px;}
.stech-cta-intro{ font-size: 20px; line-height: 30px; margin-bottom: 40px; max-width: 600px; margin-left: auto; margin-right: auto;}
.stech-cta .button-alt{ margin: 0 auto;}

/* ── INDUSTRIES TEMPLATE ─────────────────────────────────────────────────── */

.section-ind-intro{ padding: 120px 0 80px; text-align: center;}
.section-ind-intro .eyebrow{ color: var(--color-cyan);}
.section-ind-intro h1:not(.eyebrow), .section-ind-intro span.hero-headline{ font-size: 75px; line-height: 80px; font-weight: 300; margin-top: 20px;}
.section-ind-intro .eyebrow{ max-width: 600px; margin-left: auto; margin-right: auto;}
.section-ind-intro h1:not(.eyebrow), .section-ind-intro span.hero-headline{ max-width: 750px; margin-left: auto; margin-right: auto;}

.section-ind-cards{ padding: 0 0 60px; margin-top: -110px;}
.ind-cards-grid{ display: grid; grid-template-columns: repeat(5, 1fr); gap: 20px; max-width: 1160px; margin: 0 auto;}
.ind-card-item{ display: flex; justify-content: center; align-items: center; text-align: center; min-height: 220px; background: var(--color-white); border-radius: 25px; box-shadow: 0px 4px 4px 0px #00000040; padding: 30px 20px; transition: transform 0.25s ease, box-shadow 0.25s ease;}
.ind-card-item a{ font-size: 22px; line-height: 28px; font-weight: 500; color: var(--color-black); text-decoration: none;}
.ind-card-item p{ font-size: 22px; line-height: 28px; font-weight: 500; color: var(--color-black); margin: 0;}
.ind-card-item .card-arrow{ display: none; color: var(--color-magenta); margin-left: 8px;}
.ind-card-item:hover{ transform: translateY(-8px); box-shadow: 0px 16px 32px 0px #00000030;}
.ind-card-item:hover a, .ind-card-item:hover p{ font-style: italic;}
.ind-card-item:hover .card-arrow{ display: inline;}

.section-ind-tools .tools-header h2{ max-width: 1100px; line-height: 105px;}
.section-ind-tools .tool-content h3{ margin-bottom: 20px;}
.section-ind-tools .tool-content .tool-text{ margin-bottom: 70px;}

.section-ind-ticker{ margin: 220px 0 450px; padding-top: 260px;}
.ind-ticker-headline{ font-size: 55px; line-height: 65px; font-weight: 300; margin: 0 auto 140px; text-align: center; max-width: 1000px;}
.ind-ticker-track{ width: 100%; overflow: hidden;}
.ind-ticker-logo{ padding: 0 40px; display: flex !important; justify-content: center; align-items: center;}
.ind-ticker-logo img{ max-height: 60px; width: auto; display: block; object-fit: contain;}

/* ── SINGLE INDUSTRY ─────────────────────────────────────────────────────── */

.sind-intro-paragraph{ position: relative; margin: 80px auto 140px; padding-top: 30px; font-size: 22px; line-height: 34px; max-width: 1000px;}
.sind-intro-paragraph::after{ content: ''; position: absolute; top: 0; left: -30px; width: 20px; height: 20px; border-top: 2px solid var(--color-magenta); border-left: 2px solid var(--color-magenta);}

.sind-intro-head-content{ margin-top: 40px;}

.single-ind .stech-white-wrap{ padding-bottom: 60px;}
.sind-impacts{ background: var(--color-black) url(images/industry-impact.png) no-repeat top right; background-size: 40% auto; border-radius: 50px 50px 0 0; margin-top: -50px; position: relative; z-index: 2; padding: 100px 0 140px;}
.sind-impacts-header{ display: flex; margin-bottom: 100px;}
.sind-impacts-header-left{ width: 50%;}
.sind-impacts-header-left h2{ font-size: 55px; line-height: 65px; font-weight: 300;}
.sind-impacts-intro{ font-size: 20px; line-height: 32px; margin-top: 24px;}
.sind-impacts-list{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; margin-bottom: 100px;}
.sind-impact-item{ position: relative; padding-left: 20px;}
.sind-impact-item h3{ font-size: 25px; line-height: 45px; font-weight: 500; color: var(--color-white); margin-bottom: 0;}
.sind-impact-item h3::before{ content: '\2022'; color: var(--color-magenta); position: absolute; left: 0; line-height: 45px;}
.sind-impact-content{ font-size: 18px; line-height: 28px; font-weight: 300;}
.sind-impacts-footer{ display: flex; align-items: center;}
.sind-impacts-signoff{ width: 50%; font-size: 20px; line-height: 30px; font-weight: 300;}
.sind-impacts-footer .button{ margin-left: 90px;}

.sind-use-cases{ padding: 80px 0; background: var(--color-white);}
.sind-use-cases .eyebrow{ color: var(--color-cyan);}
.sind-use-cases .stech-use-cases-header-left h2{ color: var(--color-black);}

.sind-callout{ background: var(--color-black); padding: 140px 0 100px;}
.sind-callout-inner{ display: flex; align-items: flex-start; gap: 80px;}
.sind-callout-left{ flex: 0 0 50%;}
.sind-callout-left h2{ font-size: 48px; line-height: 56px; font-weight: 300; margin-bottom: 30px;}
.sind-callout-content{ font-size: 20px; line-height: 32px; font-weight: 300; margin-bottom: 40px;}
.sind-callout-right{ flex: 0 0 calc(50% - 80px);}
.sind-callout-image{ margin-bottom: 30px; border-radius: 20px; overflow: hidden;}
.sind-callout-image img{ display: block; width: 100%; height: auto;}
.sind-callout-content ul li{ color: var(--color-white);}
.sind-callout-content ul li::marker{ color: var(--color-magenta);}
.sind-callout-logos{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; width: 100%; padding: 0 30px; box-sizing: border-box;}
.sind-callout-logo{ display: flex; align-items: center; justify-content: center;}
.sind-callout-logo img{ max-height: 55px; width: auto; display: block; object-fit: contain;}

.sind-white-wrap-b{ background: var(--color-black); background-image: none; color: var(--color-white);}
.sind-white-wrap-b .eyebrow{ color: var(--color-magenta);}
.sind-white-wrap-b a{ color: var(--color-magenta);}
.sind-white-wrap-b a:hover, .sind-white-wrap-b a:focus{ color: var(--color-white);}
.sind-white-wrap-b .button{ border-color: var(--color-magenta); color: var(--color-magenta);}
.sind-white-wrap-b .button:hover, .sind-white-wrap-b .button:focus{ background: var(--color-magenta); color: var(--color-white); border-color: var(--color-magenta);}
.sind-white-wrap-b .stech-case-study-content .more{ color: var(--color-magenta);}
.sind-white-wrap-b .stech-case-studies-content h2{ color: var(--color-white);}
.single-ind .stech-case-studies{ padding-top: 60px; padding-bottom: 60px;}

/* ── CASE STUDY ARCHIVE ──────────────────────────────────────────────────── */

.cs-archive-filters{ padding: 50px 0 60px;}
.cs-filters-inner{ display: flex; align-items: flex-start; flex-wrap: wrap;}
.cs-filter-group .facetwp-facet{ margin-bottom: 0; margin-right: 24px;}.cs-filter-group:last-child .facetwp-facet{ margin-right: 0;}

.cs-archive-entries{ padding-bottom: 0;}
.cs-entries-container{ background: var(--color-cyan); border-radius: 50px 50px 0 0; padding: 90px 0 0;}
.cs-entries-container .wrapper{ display: flex; flex-direction: column; gap: 0;}

.cs-entry{ display: flex; align-items: center; justify-content: space-between; padding: 30px; border-radius: 50px; background: linear-gradient(0deg, rgba(255,255,255,.25) 3.05%, rgba(0,0,0,0) 94.05%), #000; margin-bottom: 25px; position: relative;}
.cs-entry:last-child{ margin-bottom: -200px;}
.cs-entry-content{ flex: 0 0 55%;}
.cs-entry-content h2{ font-size: 45px; line-height: 52px; font-weight: 300; color: var(--color-white); margin-bottom: 20px;}
.cs-entry-desc{ font-size: 20px; line-height: 30px; color: var(--color-white); font-weight: 300; margin-bottom: 30px; width: 80%;}
.cs-entry-content .more{ font-weight: 700; color: var(--color-magenta);}
.cs-entry-content .more::after{ content: ""; position: absolute; inset: 0; border-radius: 50px;}
.cs-entry-content .more i{ color: var(--color-magenta);}
.cs-entry-content .more:hover, .cs-entry-content .more:focus{ color: var(--color-white);}
.cs-entry-terms a{ position: relative; z-index: 1; color: #fff; text-decoration: none;}
.cs-entry-image{ flex: 0 0 40%; height: 360px; border-radius: 35px; background-size: cover; background-position: center; background-repeat: no-repeat;}
.cs-no-results{ font-size: 20px; color: var(--color-black); padding: 40px 0;}

.cs-archive-ticker{ margin-top: 280px; margin-bottom: 0; padding-top: 80px; padding-bottom: 400px;}
.cs-archive-ticker .ind-ticker-headline{ margin-bottom: 60px;}

/* ── BLOG SINGLE ─────────────────────────────────────────────────────────── */

.blog-single-hero{ padding: 120px 0 80px; text-align: center;}
.blog-single-hero .eyebrow{ color: var(--color-cyan); margin-bottom: 20px;}
.blog-single-hero h1:not(.eyebrow), .blog-single-hero span.hero-headline{ font-family: 'Figtree', sans-serif; font-weight: 300; font-size: 75px; line-height: 90px; letter-spacing: 0; margin: 0 auto; max-width: 1000px;}

.blog-single-body-wrap{ background: var(--color-white); border-radius: 50px; margin: 0 60px; padding: 80px 0 120px; color: var(--color-black);}
.blog-single-body{ max-width: 750px; margin: 0 auto;}

.blog-single-terms{ display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 10px; margin-bottom: 100px;}
.blog-single-terms-label{ font-size: 20px; font-weight: 400; color: var(--color-black); margin-right: 4px;}
.blog-single-term-link{ font-size: 16px; color: var(--color-cyan); text-decoration: none;}
.blog-single-term-link:hover{ text-decoration: underline;}
.blog-single-terms-sep{ font-size: 16px; color: var(--color-black);}

.blog-single-content{ font-size: 18px; line-height: 30px; color: var(--color-black);}
.blog-single-content h2{ font-size: 36px; line-height: 44px; font-weight: 300; margin: 48px 0 20px;}
.blog-single-content h3{ font-size: 28px; line-height: 36px; font-weight: 500; margin: 40px 0 16px;}
.blog-single-content p{ margin-bottom: 24px;}
.blog-single-content a{ color: var(--color-red);}
.blog-single-content a:hover{ color: var(--color-black);}
.blog-single-content img{ border-radius: 35px; max-width: 100%; height: auto; display: block; margin: 40px 0;}
.blog-single-content ul, .blog-single-content ol{ margin: 0 0 24px 24px; padding: 0;}
.blog-single-content li{ margin-bottom: 8px;}
.blog-single-content blockquote{ border-left: 3px solid var(--color-red); margin: 40px 0; padding: 0 0 0 24px; font-size: 22px; line-height: 34px; font-style: italic;}

.blog-related.stech-resources{ padding-top: 180px; padding-bottom: 400px;}
.blog-related .wrapper{ padding-left: 60px; padding-right: 60px;}
.blog-related .section-header{ align-items: flex-start;}
.blog-related .section-header-left{ flex: 0 0 50%;}
.blog-related .section-header h2{ max-width: 100%;}
.blog-related .section-header-right{ margin-top: 40px;}
.blog-related-terms-card{ height: auto !important; padding: 40px 40px 50px !important;}
.blog-related-terms-card h3{ color: var(--color-white); font-size: 22px; line-height: 28px; font-weight: 500; margin: 0 0 20px; padding: 0;}
.blog-related-terms-card .stech-tech-stack-name{ font-size: 18px; font-weight: 400; color: var(--color-white);}

/* ── BLOG ARCHIVE ────────────────────────────────────────────────────────── */

.blog-entry-cats{ display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-bottom: 30px;}
.blog-cat-term{ font-family: 'Figtree', sans-serif; font-weight: 500; font-size: 20px; line-height: 30px; letter-spacing: 0; color: var(--color-white);}
.blog-cat-sep{ margin-right: 10px;}

.blog-entry .cs-entry-content h2 a{ color: var(--color-white); text-decoration: none;}
.blog-entry .cs-entry-content h2 a:hover{ color: var(--color-cyan);}

.blog-entry .cs-entry-content .more{ color: var(--color-yellow) !important;}
.blog-entry .cs-entry-content .more i{ color: var(--color-yellow) !important;}
.blog-entry .cs-entry-content .more:hover{ color: var(--color-white) !important;}

.blog-archive-filters, .cs-archive-peek-filters{ position: relative; z-index: 10; padding-bottom: 0; margin-bottom: -30px;}
.blog-filter-label{ font-size: 16px; font-weight: 600; line-height: 16px; margin-bottom: 40px; color: var(--color-cyan);}
.blog-archive-filters .fs-wrap, .cs-archive-peek-filters .fs-wrap{ min-width: 260px; cursor: pointer;}
.blog-archive-filters .fs-label-wrap, .cs-archive-peek-filters .fs-label-wrap{ border-radius: 15px; box-shadow: 0px 4px 4px 0px #00000040; border: none; background: var(--color-white);}
.blog-archive-filters .fs-label, .cs-archive-peek-filters .fs-label{ font-size: 25px; font-weight: 400; padding: 15px 25px 15px 15px !important; color: var(--color-black);}
.blog-archive-filters .fs-dropdown, .cs-archive-peek-filters .fs-dropdown{ color: var(--color-black);}
.blog-archive-filters select.facetwp-dropdown, .cs-archive-peek-filters select.facetwp-dropdown{ min-width: 260px; cursor: pointer; border-radius: 15px; box-shadow: 0px 4px 4px 0px #00000040; border: none; background: var(--color-white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 14 8'%3E%3Cpath d='M1 1l6 6 6-6' stroke='%23000' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 18px center; font-size: 25px; font-weight: 400; padding: 15px 45px 15px 15px; color: var(--color-black); appearance: none; -webkit-appearance: none;}
.blog-archive-entries .cs-entry:last-child{ margin-bottom: -200px;}
.blog-archive-entries .cs-entries-container{ padding-bottom: 0; padding-top: 90px;}

.blog-pagination-bar{ background: var(--color-black); padding: 260px 0 380px;}
.cs-archive .blog-pagination-bar{ padding-bottom: 80px;}
.blog-pager{ display: flex; justify-content: center;}
.blog-pager .facetwp-pager{ display: flex; gap: 24px; align-items: center; flex-wrap: wrap; justify-content: center;}
.blog-pager .facetwp-page{ display: inline-flex; align-items: center; justify-content: center; font-size: 20px; font-weight: 400; color: var(--color-cyan); background: none; border: none; padding: 0; cursor: pointer; transition: opacity 0.2s; text-decoration: none;}
.blog-pager .facetwp-page:hover{ opacity: 0.7;}
.blog-pager .facetwp-page.active{ text-decoration: underline; text-underline-offset: 6px;}
.blog-pager .facetwp-page.next{ font-size: 0;}
.blog-pager .facetwp-page.next::after{ font-family: "Font Awesome 7 Free"; font-weight: 900; content: "\f061"; font-size: 20px; color: var(--color-cyan);}
.blog-pager .facetwp-page.prev{ display: none;}

/* ── SEARCH ──────────────────────────────────────────────────────────────── */

.search-archive-entries .cs-entry:last-child{ margin-bottom: -200px;}
.search-archive-entries .cs-entries-container{ padding-bottom: 0; padding-top: 90px;}
.search-result-type{ font-family: 'Figtree', sans-serif; font-weight: 500; font-size: 20px; line-height: 30px; color: var(--color-cyan);}
.search-entry-excerpt{ font-size: 20px; line-height: 30px; color: var(--color-white); font-weight: 300; margin-bottom: 30px; width: 80%;}
.search-results-page .blog-pagination-bar{ padding-bottom: 80px;}
.blog-pager .nav-links{ display: flex; gap: 24px; align-items: center; flex-wrap: wrap; justify-content: center;}
.blog-pager .page-numbers{ display: inline-flex; align-items: center; justify-content: center; font-size: 20px; font-weight: 400; color: var(--color-cyan); text-decoration: none; transition: opacity 0.2s;}
.blog-pager .page-numbers:hover{ opacity: 0.7;}
.blog-pager .page-numbers.current{ text-decoration: underline; text-underline-offset: 6px;}
.blog-pager .page-numbers.prev i, .blog-pager .page-numbers.next i{ font-size: 20px; color: var(--color-cyan);}

/* ── CONTACT ─────────────────────────────────────────────────────────────── */

.contact-hero{ padding: 120px 0 100px;}
.contact-hero h1:not(.eyebrow), .contact-hero span.hero-headline{ font-family: 'Figtree', sans-serif; font-weight: 300; font-size: 75px; line-height: 90px;}
.contact-hero-inner{ display: flex; gap: 80px; align-items: flex-start;}
.contact-hero-left{ flex: 0 0 calc(50% - 40px);}
.contact-hero-right{ flex: 1;}
.contact-hero .eyebrow{ color: var(--color-cyan);}
.contact-content{ margin-top: 30px; margin-bottom: 60px;}
.contact-links{ margin-top: 120px; display: flex; flex-direction: column; gap: 30px;}
.contact-link-item{ display: flex; flex-direction: column; gap: 8px;}
.contact-link-headline{ font-size: 16px; font-weight: 600; line-height: 16px; text-transform: uppercase; color: var(--color-white); margin: 0;}
.contact-link-text{ font-size: 16px; font-weight: 600; line-height: 16px; text-transform: uppercase; color: var(--color-cyan); text-decoration: none;}
.contact-link-text:hover{ text-decoration: underline;}
.contact-form-wrap{ background: var(--color-white); border-radius: 25px; padding: 40px 60px; color: var(--color-black);}
.contact-form-wrap .gform_title{ font-family: 'Figtree', sans-serif; font-weight: 500; font-size: 30px; line-height: 40px; letter-spacing: 0; margin-bottom: 10px;}
.contact-form-wrap .gform_description{ font-size: 16px; margin-bottom: 30px; display: block;}
.contact-form-wrap .gform_required_legend{ display: none;}
.contact-form-wrap .gfield{ display: flex; flex-direction: column-reverse; gap: 6px;}
.contact-form-wrap .gfield_label{ font-family: 'Figtree', sans-serif; font-weight: 400 !important; font-size: 16px; line-height: 30px; letter-spacing: 0; text-transform: none; color: var(--color-black);}
.contact-form-wrap .ginput_container input,
.contact-form-wrap .ginput_container textarea,
.contact-form-wrap .ginput_container select{ border: none !important; border-bottom: 2px solid var(--color-cyan) !important; border-radius: 0 !important; background: transparent !important; padding: 0 0 5px !important; width: 100%; font-size: 16px; color: var(--color-black); outline: none; box-shadow: none !important;}
.contact-form-wrap .ginput_container input:focus,
.contact-form-wrap .ginput_container textarea:focus{ border-bottom-color: var(--color-black);}
.contact-form-wrap .gform_footer{ margin-top: 10px;}
.contact-form-wrap .gform_button{ display: inline-flex; align-items: center; gap: 12px;}

.contact-cards{ padding: 100px 0 400px;}
.contact-cards-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px;}
.contact-card{ background: linear-gradient(to bottom, rgba(255,255,255,.12) 0%, transparent 70%); border-radius: 25px; padding: 40px; display: flex; flex-direction: column; gap: 20px;}
.contact-card .eyebrow{ color: var(--color-cyan); margin-bottom: 8px;}
.contact-card h3{ font-size: 26px; line-height: 32px; font-weight: 600; color: var(--color-white); margin: 0;}
.contact-card-content{ font-size: 18px; line-height: 28px; color: var(--color-white);}
.contact-card .more{ font-weight: 700; color: var(--color-cyan); text-decoration: none; margin-top: auto;}
.contact-card .more:hover{ color: var(--color-white);}

/* ── CASE STUDY SINGLE ───────────────────────────────────────────────────── */

.cs-single-hero{ padding: 100px 0 0; position: relative; z-index: 2;}
.cs-single-hero-card{ background: linear-gradient(to bottom, #3a3a3a 0%, #111 100%); border-radius: 25px; padding: 30px 35px 40px 55px; display: flex; gap: 60px; align-items: stretch; margin-bottom: -120px;}
.cs-single-hero-left{ flex: 1; display: flex; flex-direction: column;}
.cs-single-hero-card:not(:has(.cs-single-hero-right)) .cs-single-hero-left{ align-items: center; text-align: center;}
.cs-single-hero-right{ flex: 0 0 33%;}
.cs-single-hero-img{ width: 100%; height: 100%; object-fit: cover; border-radius: 16px; display: block;}
.cs-single-hero h1:not(.eyebrow), .cs-single-hero span.hero-headline{ font-family: 'Figtree', sans-serif; font-weight: 300; font-size: 60px; line-height: 70px; color: var(--color-white); margin: 20px 0; flex: 1; display: flex; align-items: center;}
.cs-single-eyebrow{ color: var(--color-cyan) !important;}
.cs-single-terms{ display: flex; flex-wrap: wrap; align-items: center; gap: 6px 0; margin-bottom: 30px;}
.cs-single-terms-label{ font-size: 20px; font-weight: 400; color: var(--color-white); margin-right: 8px;}
.cs-single-term-link{ font-size: 16px; color: var(--color-cyan); text-decoration: none;}
.cs-single-term-link:hover{ text-decoration: underline;}
.cs-single-terms-sep{ font-size: 16px; color: var(--color-white); margin: 0 6px;}

.cs-single-statement{ background: var(--color-white); padding: 270px 0 150px; position: relative; z-index: 1;}
.cs-single-statement-content{ max-width: 1150px; margin: 0 auto; text-align: center; font-family: 'Figtree', sans-serif; font-size: 55px; font-weight: 300; line-height: 65px; color: var(--color-black);}
.cs-single-statement-content strong{ font-weight: 300; color: var(--color-cyan);}
.cs-single-statement-content p{ margin: 0;}
.cs-single-statement-logo{ display: inline-block; height: 1em; width: auto; vertical-align: middle; margin-right: 0.2em; position: relative; top: -0.05em;}
.cs-single-statement-content:has(.cs-single-statement-logo) p{ display: inline;}

.cs-single-section{ background: var(--color-black); padding: 100px 0; color: var(--color-white);}
.cs-single-section .eyebrow{ color: var(--color-cyan); max-width: 50%;}
.cs-single-section h2{ font-family: 'Figtree', sans-serif; font-weight: 300; font-size: 48px; line-height: 58px; color: var(--color-white); margin: 12px 0 32px; max-width: 50%;}
.cs-single-section-content{ font-size: 18px; line-height: 30px; color: var(--color-white); max-width: 50%;}
.cs-single-section-content p{ margin: 0 0 16px;}
.cs-single-section-content p:last-child{ margin-bottom: 0;}
.cs-single-section-content ul{ list-style: none; padding: 0; margin: 0 0 16px;}
.cs-single-section-content ul li{ position: relative; padding-left: 20px; margin-bottom: 8px;}
.cs-single-section-content ul li::before{ content: ''; position: absolute; left: 0; top: 11px; width: 6px; height: 6px; border-radius: 50%; background: var(--color-magenta);}
.cs-single-challenge{ padding-bottom: 0; background-image: url('images/challenge.png'); background-repeat: no-repeat; background-position: top right; background-size: 25%;}
.cs-single-solution{ padding-top: 200px; background-image: url('images/solution.png'); background-repeat: no-repeat; background-position: bottom right; background-size: 30%;}
.cs-single-related .button{ border-color: var(--color-red); color: var(--color-red);}
.cs-single-related .button:hover, .cs-single-related .button:focus{ background: var(--color-red); color: var(--color-white); border-color: var(--color-red);}
.cs-single-related .stech-resource-card:not(.stech-resource-tech-card){ position: relative;}
.cs-single-related .stech-resource-card .more{ color: var(--color-red);}
.cs-single-related .stech-resource-card:not(.stech-resource-tech-card) .more::after{ content: ""; position: absolute; inset: 0; border-radius: 25px;}
.cs-single-related .stech-resource-card .more:hover{ color: var(--color-white);}

.cs-single-results{ background: var(--color-white); padding: 100px 0;}
.cs-single-results-inner{ display: flex; gap: 80px; align-items: center;}
.cs-single-results-image{ flex: 0 0 33%; border-radius: 16px; overflow: hidden;}
.cs-single-results-image img{ width: 100%; height: 100%; object-fit: cover; display: block;}
.cs-single-results-content{ flex: 1;}
.cs-single-results .eyebrow{ color: var(--color-cyan);}
.cs-single-results h2{ font-family: 'Figtree', sans-serif; font-weight: 300; font-size: 48px; line-height: 58px; color: var(--color-black); margin: 12px 0 32px;}
.cs-single-results .cs-single-section-content{ color: var(--color-black); max-width: 100%;}
.cs-single-results .cs-single-section-content ul li::before{ background: var(--color-magenta);}

.cs-single-bottom{ background: var(--color-black); padding: 200px 0 200px; color: var(--color-white);}
.cs-single-testimonial{ max-width: 700px; margin: 0 auto 80px;}
.cs-single-quote{ margin: 0; padding: 0;}
.cs-single-quote-text{ padding: 16px 0 16px 36px; border-left: 8px solid var(--color-yellow); border-radius: 4px; margin-bottom: 24px;}
.cs-single-quote-text p{ font-family: 'Figtree', sans-serif; font-weight: 300; font-size: 60px; line-height: 75px; color: var(--color-white); margin: 0;}
.cs-single-quote-source{ font-family: 'Figtree', sans-serif; font-size: 20px; font-weight: 500; line-height: 30px; color: var(--color-white); font-style: normal; display: block; padding-left: 44px;}
.cs-single-rel-eyebrow{ color: var(--color-red) !important;}

/* ── ABOUT PAGE ──────────────────────────────────────────────────────────── */

.about-hero{ display: flex; align-items: stretch; min-height: 650px; overflow: hidden;}
.about-hero-left{ flex: 0 0 25%; display: flex; flex-direction: column; justify-content: center; gap: 24px; padding: 40px clamp(20px, 2.5%, 50px) 80px;}
.about-hero-eyebrow{ color: var(--color-cyan) !important; margin-bottom: 0;}
.about-hero-left h1:not(.eyebrow), .about-hero-left span.hero-headline{ font-size: 75px; line-height: 80px; font-weight: 300; color: var(--color-white);}
.about-hero-right{ flex: 1; display: flex; align-items: flex-end; overflow: hidden;}
.about-hero-img{ width: 100%; height: auto; display: block; object-fit: contain; object-position: bottom right; border-radius: 0; align-self: flex-end;}

.about-white-wrap{ background: var(--color-white) url('images/about-intro.png') no-repeat bottom right; background-size: 80%; border-radius: 50px 50px 0 0; color: var(--color-black); padding: 100px 0 120px;}

.about-intro{ padding-bottom: 80px;}
.about-intro-inner{ display: flex; gap: 80px; align-items: flex-start;}
.about-intro-left{ flex: 0 0 40%;}
.about-intro-left h2{ font-family: 'Figtree', sans-serif; font-weight: 300; font-size: 48px; line-height: 58px; color: var(--color-black);}
.about-intro-right{ flex: 1;}
.about-intro-content{ font-size: 18px; line-height: 30px; color: var(--color-black);}
.about-intro-content p{ margin-bottom: 16px;}

.about-ticker{ padding: 0 0 80px;}

.about-grid{ padding: 80px 0;}
.about-grid-header{ text-align: left; margin-bottom: 60px; max-width: 55%;}
.about-grid-header h2{ font-family: 'Figtree', sans-serif; font-weight: 300; font-size: 48px; line-height: 58px; color: var(--color-black); margin-bottom: 20px;}
.about-grid-intro{ font-size: 18px; line-height: 30px; color: var(--color-black);}

.about-grid-items{ display: grid; grid-template-columns: 1.4fr 1.4fr 1fr; grid-template-rows: 280px 180px 180px; grid-template-areas: "one two three" "one two five" "four four five"; gap: 20px;}

.about-grid-item:nth-child(1){ grid-area: one;}
.about-grid-item:nth-child(2){ grid-area: two;}
.about-grid-item:nth-child(3){ grid-area: three;}
.about-grid-item:nth-child(4){ grid-area: four;}
.about-grid-item:nth-child(5){ grid-area: five;}

.about-grid-item{ border-radius: 25px; overflow: hidden; display: flex; flex-direction: column;}
.about-grid-item-body{ padding: 32px 36px; display: flex; flex-direction: column; flex: 1;}
.about-grid-item h3{ font-family: 'Figtree', sans-serif; font-weight: 500; font-size: 30px; line-height: 40px; margin: 0 0 5px; color: var(--color-white);}
.about-grid-item-content{ font-size: 20px; line-height: 25px; color: var(--color-white);}
.about-grid-item-content p{ margin-bottom: 12px;}

.about-grid-item:nth-child(1){ position: relative; background: var(--color-cyan) url('images/chicago.png') no-repeat left bottom; background-size: 95%;}
.about-grid-item:nth-child(1) .about-grid-item-img{ position: absolute; inset: 0; overflow: hidden;}
.about-grid-item:nth-child(1) .about-grid-item-img img{ width: 100%; height: 100%; object-fit: cover; display: block;}
.about-grid-item:nth-child(1) .about-grid-item-body{ position: relative; z-index: 1; width: 80%;}

.about-grid-item:nth-child(2){ background: #111;}
.about-grid-item:nth-child(2) .about-grid-item-img{ flex: 1; overflow: hidden; min-height: 0;}
.about-grid-item:nth-child(2) .about-grid-item-img img{ width: 90%; height: 100%; object-fit: cover; display: block; filter: grayscale(1); border-radius: 0 0 25px 0;}
.about-grid-item:nth-child(2) .about-grid-item-body{ flex: 0 0 auto; padding-top: 16px;}

.about-grid-item:nth-child(3){ background: #111 url('images/microsoft-icon.png') no-repeat right 30px bottom; background-size: 35%;}
.about-grid-item:nth-child(3) .about-grid-item-img{ display: none;}

.about-grid-item:nth-child(4){ background: #111 url('images/wave.png') no-repeat bottom center; background-size: 100%;}
.about-grid-item:nth-child(4) .about-grid-item-img{ display: none;}

.about-grid-item:nth-child(5){ background: var(--color-red);}
.about-grid-item:nth-child(5) .about-grid-item-img{ flex: 1; overflow: hidden; min-height: 0;}
.about-grid-item:nth-child(5) .about-grid-item-img img{ width: 90%; height: 100%; object-fit: cover; display: block; filter: grayscale(1); border-radius: 0 0 25px 0;}
.about-grid-item:nth-child(5) .about-grid-item-body{ flex: 0 0 auto; padding-top: 16px;}

.about-quote-section{ padding: 145px 0 310px;}
.about-quote-inner{ width: 50%;}
.about-quote-headline{ font-family: 'Figtree', sans-serif; font-weight: 300; font-size: 85px; line-height: 95px; color: var(--color-black); margin: 0 0 24px;}
.about-quote{ margin: 0; padding: 0;}
.about-quote-text{ margin-bottom: 16px;}
.about-quote-text p{ font-family: 'Figtree', sans-serif; font-weight: 500; font-size: 20px; line-height: 30px; color: var(--color-black); margin: 0;}
.about-quote-source{ font-family: 'Figtree', sans-serif; font-size: 20px; font-weight: 500; line-height: 30px; color: var(--color-black); font-style: normal; display: block;}

.about-team{ background: var(--color-black); padding: 120px 0; color: var(--color-white);}
.about-team .eyebrow{ color: var(--color-cyan);}
.about-team-header{ display: flex; align-items: flex-start; gap: 60px; margin-bottom: 80px;}
.about-team-header-left{ flex: 1;}
.about-team-header-left h2{ font-family: 'Figtree', sans-serif; font-weight: 300; font-size: 48px; line-height: 58px; color: var(--color-white); margin: 12px 0 20px;}
.about-team-intro{ font-size: 18px; line-height: 30px; color: var(--color-white);}
.about-team .section-header-right{ margin-top: 40px;}
.about-team-grid{ display: grid; grid-template-columns: repeat(3, 1fr); column-gap: 30px; row-gap: 50px;}
.about-team-card{ display: flex; flex-direction: column;}
.about-team-photo{ background: linear-gradient(to bottom, #1a1a1a 0%, #444 100%); border-radius: 20px; overflow: hidden; display: flex; align-items: flex-end; justify-content: center; height: 450px; box-shadow: inset 0 0 0 1px rgba(255,255,255,0); transition: box-shadow .3s ease;}
.about-team-card:hover .about-team-photo{ box-shadow: inset 0 0 0 1px rgba(255,255,255,.35);}
.about-team-photo img{ width: 100%; height: 100%; display: block; object-fit: contain; object-position: bottom;}
.about-team-info{ padding: 16px 0 0;}
.about-team-name-row{ display: flex; align-items: center; gap: 12px;}
.about-team-info h3{ font-family: 'Figtree', sans-serif; font-weight: 300; font-size: 30px; line-height: 55px; color: var(--color-white); margin: 0;}
.about-team-linkedin{ color: var(--color-cyan); font-size: 30px; display: inline-flex; align-items: center; text-decoration: none; transition: color .15s ease; flex-shrink: 0; margin-left: auto;}
.about-team-linkedin:hover{ color: var(--color-white);}
.about-team-position{ font-family: 'Figtree', sans-serif; font-size: 20px; font-weight: 500; line-height: 25px; color: var(--color-white); margin: 0;}

.about-reviews{ background: var(--color-black); padding: 200px 0 400px; color: var(--color-white);}
.about-reviews-inner{ display: flex; align-items: flex-start; justify-content: space-between; gap: 60px;}
.about-reviews-left{ flex: 0 0 50%;}
.about-reviews-headline{ font-family: 'Figtree', sans-serif; font-weight: 300; font-size: 70px; line-height: 75px; color: var(--color-white); margin: 0 0 32px; padding-left: 40px; border-left: 8px solid var(--color-yellow); border-radius: 4px;}
.about-review-quote{ margin: 0; padding: 0;}
.about-review-quote-text{ margin-bottom: 16px;}
.about-review-quote-text p{ font-family: 'Figtree', sans-serif; font-weight: 500; font-size: 20px; line-height: 30px; color: var(--color-white); margin: 0;}
.about-review-source{ font-family: 'Figtree', sans-serif; font-size: 20px; font-weight: 500; line-height: 25px; color: var(--color-white); font-style: normal; display: block; margin-top: 12px;}
.about-review-stars{ display: flex; gap: 6px; margin-top: 16px;}
.about-review-stars i{ color: var(--color-yellow); font-size: 20px;}
.about-reviews-right{ flex: 0 0 auto;}
.about-reviews .button{ border-color: var(--color-yellow); color: var(--color-yellow);}
.about-reviews .button:hover, .about-reviews .button:focus{ background: var(--color-yellow); color: var(--color-black); border-color: var(--color-yellow);}

/* ── CAREERS PAGE ────────────────────────────────────────────────────────── */

.careers-hero{ padding: 120px 0 250px; text-align: center; background: url('images/about-intro.png') no-repeat bottom center; background-size: 60% auto;}
.careers-hero .eyebrow{ color: var(--color-cyan);}
.careers-hero h1:not(.eyebrow), .careers-hero span.hero-headline{ font-size: 75px; line-height: 80px; font-weight: 300; max-width: 1000px; margin: 0 auto;}

.careers-white-wrap{ background: var(--color-white); border-radius: 50px 50px 0 0; color: var(--color-black); padding: 100px 0 120px;}

.careers-intro{ padding-bottom: 120px;}
.careers-intro-headline{ font-family: 'Figtree', sans-serif; font-weight: 300; font-size: 48px; line-height: 58px; color: var(--color-black); width: 50%; margin-bottom: 60px;}
.careers-intro-inner{ display: flex; gap: 80px; align-items: flex-start;}
.careers-intro-visual{ flex: 0 0 50%; border-radius: 25px; overflow: hidden;}
.careers-intro-visual img{ width: 100%; height: auto; display: block;}
.careers-intro-right{ flex: 1; display: flex; flex-direction: column; gap: 24px; align-items: flex-start;}
.careers-intro-content{ font-size: 18px; line-height: 30px; color: var(--color-black);}
.careers-intro-content p{ margin-bottom: 16px;}
.careers-intro .button{ border-color: var(--color-magenta); color: var(--color-magenta);}
.careers-intro .button:hover, .careers-intro .button:focus{ background: var(--color-magenta); color: var(--color-white);}
.careers-intro-link{ font-size: 18px; font-weight: 700; color: var(--color-magenta); text-decoration: none; display: inline-flex; align-items: center; gap: 8px;}
.careers-intro-link i{ font-size: 14px;}
.careers-intro-link:hover{ color: var(--color-black);}

.careers-diff{ padding-bottom: 200px;}
.careers-diff .eyebrow{ color: var(--color-cyan);}
.careers-diff-header{ margin-bottom: 60px;}
.careers-diff-header h2{ font-family: 'Figtree', sans-serif; font-weight: 300; font-size: 48px; line-height: 58px; color: var(--color-black); margin: 12px 0 20px;}
.careers-diff-intro{ font-size: 18px; line-height: 30px; color: var(--color-black); max-width: 60%;}

.careers-page .about-grid-item:nth-child(1){ background: var(--color-cyan);}
.careers-page .about-grid-item:nth-child(1) .about-grid-item-body{ order: -1; position: static; z-index: auto; width: 100%; flex: 1;}
.careers-page .about-grid-item:nth-child(1) .about-grid-item-img{ position: static; inset: auto; overflow: hidden; flex: 0 0 auto;}
.careers-page .about-grid-item:nth-child(1) .about-grid-item-img img{ position: static; width: 90%; height: auto; object-fit: contain; display: block; border-radius: 0 25px 0 0;}
.careers-page .about-grid-item:nth-child(3){ background: #111;}

.careers-benefits{ padding-bottom: 120px;}
.careers-benefits-inner{ display: flex; gap: 80px; align-items: stretch;}
.careers-benefits-visual{ flex: 0 0 45%; min-width: 0; border-radius: 25px; overflow: hidden;}
.careers-benefits-visual img{ width: 100%; height: 100%; object-fit: cover; display: block;}
.careers-benefits-right{ flex: 1; display: flex; flex-direction: column; gap: 20px; align-items: flex-start;}
.careers-benefits-right .eyebrow{ color: var(--color-cyan);}
.careers-benefits-right h2{ font-family: 'Figtree', sans-serif; font-weight: 300; font-size: 48px; line-height: 58px; color: var(--color-black); margin: 0;}
.careers-benefits-content{ font-size: 18px; line-height: 30px; color: var(--color-black);}
.careers-benefits-content p{ margin-bottom: 16px;}
.careers-benefits-content ul{ list-style: none; display: grid; grid-template-columns: 1fr 1fr; gap: 8px 40px; margin: 20px 0; padding: 0;}
.careers-benefits-content ul li{ position: relative; padding-left: 20px; font-size: 18px; line-height: 28px;}
.careers-benefits-content ul li::before{ content: '\2022'; color: var(--color-magenta); position: absolute; left: 0;}
.careers-benefits .button{ border-color: var(--color-magenta); color: var(--color-magenta);}
.careers-benefits .button:hover, .careers-benefits .button:focus{ background: var(--color-magenta); color: var(--color-white);}

.careers-perks{ background: var(--color-black) url('images/perks.png') no-repeat right top 120px; background-size: 45% auto; padding: 120px 0 140px;}
.careers-perks-header{ width: 50%; margin-bottom: 80px;}
.careers-perks-header h2{ font-family: 'Figtree', sans-serif; font-weight: 300; font-size: 48px; line-height: 58px; color: var(--color-white); margin-bottom: 20px;}
.careers-perks-intro{ font-size: 18px; line-height: 30px; color: var(--color-white);}
.careers-perks-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 25px;}
.careers-perk-item{ background: linear-gradient(to bottom, rgba(255,255,255,.25) 0%, rgba(0,0,0,0) 100%), #111; border-radius: 25px; padding: 40px;}
.careers-perk-item h3{ font-size: 28px; line-height: 36px; font-weight: 500; color: var(--color-white); margin-bottom: 16px;}
.careers-perk-content{ font-size: 18px; line-height: 28px; color: var(--color-white);}
.careers-perk-content p{ margin-bottom: 12px;}

.careers-testimonial{ background: var(--color-black); padding: 200px 0 120px;}
.careers-testimonial-inner{ display: flex; gap: 80px; align-items: center;}
.careers-testimonial-left{ flex: 0 0 calc(66.667% - 40px);}
.careers-test-headline{ font-family: 'Figtree', sans-serif; font-size: 55px; line-height: 65px; font-weight: 300; color: var(--color-white); margin-bottom: 32px; padding-left: 40px; border-left: 8px solid var(--color-magenta); border-radius: 4px;}
.careers-test-quote{ margin: 0; padding: 0;}
.careers-test-quote-text{ margin-bottom: 16px;}
.careers-test-quote-text p{ font-size: 20px; line-height: 30px; font-weight: 500; color: var(--color-white); margin: 0;}
.careers-test-source{ font-size: 20px; line-height: 25px; font-weight: 500; color: var(--color-white); font-style: normal; display: block; margin-top: 12px;}
.careers-testimonial-right{ flex: 1;}
.careers-test-photo{ background: linear-gradient(to bottom, #111 0%, #3a3a3a 100%); border-radius: 25px; overflow: hidden; display: flex; align-items: flex-end; justify-content: center; min-height: 380px;}
.careers-test-photo img{ width: 100%; display: block; object-fit: contain; object-position: bottom;}

.careers-cta{ background: var(--color-black); padding: 200px 0 120px;}
.careers-cta-inner{ display: flex; gap: 80px; align-items: flex-start;}
.careers-cta-left{ flex: 0 0 calc(50% - 40px);}
.careers-cta-left .eyebrow{ color: var(--color-magenta);}
.careers-cta-left h2{ font-family: 'Figtree', sans-serif; font-weight: 300; font-size: 60px; line-height: 68px; color: var(--color-white); margin: 12px 0 0;}
.careers-cta-right{ flex: 1; display: flex; flex-direction: column; gap: 24px; align-items: flex-start; padding-top: 20px;}
.careers-cta-content{ font-size: 20px; line-height: 30px; color: var(--color-white); margin-top: 20px;}
.careers-cta-content p{ margin-bottom: 16px;}
.careers-cta .button{ border-color: var(--color-magenta); color: var(--color-magenta);}
.careers-cta .button:hover, .careers-cta .button:focus{ background: var(--color-magenta); color: var(--color-white);}

.careers-gallery-wrap{ background: var(--color-black); position: relative; z-index: 2; padding-top: 200px;}
.careers-gallery-wrap .gallery-grid{ position: relative; z-index: 2;}
.careers-footer-buffer{ background: var(--color-red); padding: 80px 0 0; position: relative; z-index: 1; overflow: visible; margin-top: -100px;}
.careers-footer-buffer::before{ content: ''; position: absolute; top: -100px; left: 0; right: 0; height: 160px; background-image: url(images/cta.png); background-repeat: repeat-x; background-position: top center; background-size: contain; z-index: 1;}

/* ── USE CASES PAGE ──────────────────────────────────────────────────────── */

.uc-hero{ padding: 120px 0 140px; text-align: center;}
.uc-hero .eyebrow{ color: var(--color-cyan);}
.uc-hero h1:not(.eyebrow), .uc-hero span.hero-headline{ font-size: 75px; line-height: 80px; font-weight: 300; max-width: 1000px; margin: 0 auto 40px;}
.uc-hero-content{ font-size: 20px; line-height: 32px; color: var(--color-white); max-width: 720px; margin: 0 auto 40px;}
.uc-hero-content p{ margin: 0;}
.uc-hero .button{ border-color: var(--color-cyan); color: var(--color-cyan);}
.uc-hero .button:hover, .uc-hero .button:focus{ background: var(--color-cyan); color: var(--color-black);}

.uc-white-wrap{ background: var(--color-white); border-radius: 50px; color: var(--color-black); padding: 100px 0 120px;}

.uc-cases{ display: flex; flex-direction: column;}
.uc-case{ margin-bottom: 120px;}
.uc-case:last-child{ margin-bottom: 0;}

.uc-case-header{ display: flex; gap: 80px; align-items: flex-start; margin-bottom: 60px;}
.uc-case-headline{ flex: 0 0 45%;}
.uc-case-headline h2{ font-family: 'Figtree', sans-serif; font-weight: 300; font-size: 48px; line-height: 58px; color: var(--color-black); margin: 0;}
.uc-case-intro{ flex: 1; font-size: 18px; line-height: 30px; color: var(--color-black); padding-top: 8px;}
.uc-case-intro p{ margin-bottom: 16px;}

.uc-examples-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 25px;}

.uc-example-card{ background: linear-gradient(to bottom, rgba(255,255,255,.12) 0%, transparent 70%), var(--color-black); border-radius: 25px; padding: 40px; display: flex; flex-direction: column; gap: 16px;}
.uc-example-headline{ font-size: 24px; line-height: 32px; font-weight: 500; color: var(--color-white); margin: 0;}
.uc-example-content{ font-size: 17px; line-height: 28px; color: var(--color-white); flex: 1;}
.uc-example-content p{ margin-bottom: 12px;}
.uc-example-link{ margin-top: auto;}
.uc-example-link a{ font-family: 'Figtree', sans-serif; font-size: 20px; font-weight: 500; line-height: 30px; letter-spacing: 0; color: var(--color-cyan); text-decoration: none; display: inline-flex; align-items: center; gap: 8px;}
.uc-example-link a i{ font-size: 14px; transition: transform .2s ease;}
.uc-example-link a:hover{ color: var(--color-white);}
.uc-example-link a:hover i{ transform: translateX(4px);}

.uc-before-cta{ background: var(--color-black); padding: 140px 0;}

/* ─────────────────────────────────────────────────────────────────────────
   MEDIA QUERIES
   ───────────────────────────────────────────────────────────────────────── */

@media (max-width: 900px) {

	/* Single Industry */
	.sind-impacts{ border-radius: 30px 30px 0 0; margin-top: -30px; padding: 60px 0 50px; background-size: 100% auto; background-position: top center;}
	.sind-impacts-header{ flex-direction: column;}
	.sind-impacts-header-left{ width: 100%;}
	.sind-impacts-list{ grid-template-columns: 1fr;}
	.sind-impacts-footer{ flex-direction: column; align-items: flex-start; gap: 24px;}
	.sind-impacts-footer .button{ margin-left: 0;}
	.sind-callout-inner{ flex-direction: column; gap: 40px;}
	.sind-callout-left{ flex: none; width: 100%;}
	.sind-callout-right{ flex: none; width: 100%;}

	/* Case Study Archive */
	.cs-entries-container{ border-radius: 30px 30px 0 0;}
	.cs-entry{ flex-direction: column; gap: 30px; align-items: flex-start; border-radius: 30px;}
	.cs-entry-content{ flex: none; width: 100%;}
	.cs-entry-desc{ width: 100%;}
	.cs-entry-image{ flex: none; width: 100%; height: 260px;}
	.cs-entry:last-child{ margin-bottom: -160px;}
	.cs-archive-ticker{ margin-top: 220px;}

	/* Blog Single */
	.blog-single-body-wrap{ margin: 0 20px;}
	.stech-resources-grid{ grid-template-columns: 1fr;}
	.blog-related .wrapper{ padding-left: 20px; padding-right: 20px;}

	/* Blog Archive */
	.blog-pager .facetwp-page{ width: 38px; height: 38px; font-size: 14px;}
	.blog-archive-entries .cs-entry:last-child{ margin-bottom: -160px;}
	.blog-pagination-bar{ padding-top: 210px;}

	/* Contact */
	.contact-hero-inner{ flex-direction: column;}
	.contact-hero-left{ flex: none; width: 100%;}
	.contact-hero h1:not(.eyebrow), .contact-hero span.hero-headline{ font-size: 48px; line-height: 58px;}
	.contact-form-wrap{ padding: 30px 24px;}
	.contact-cards-grid{ grid-template-columns: 1fr;}
	.dark-cards-grid{ grid-template-columns: 1fr;}
	.dark-cards-header h2{ font-size: 38px; line-height: 48px;}
	.light-cards-grid{ grid-template-columns: 1fr;}
	.light-cards-header{ flex-direction: column; gap: 40px;}
	.light-cards-header-left, .light-cards-header-right{ flex: none; width: 100%;}
	.light-cards-header-left h2{ font-size: 38px; line-height: 48px;}

	/* Case Study Single */
	.cs-single-hero{ padding: 80px 0 0;}
	.cs-single-hero-card{ flex-direction: column; padding: 40px 30px 60px; gap: 30px; margin-bottom: -80px;}
	.cs-single-hero-right{ flex: none; width: 100%;}
	.cs-single-hero h1:not(.eyebrow), .cs-single-hero span.hero-headline{ font-size: 38px; line-height: 48px; flex: none;}
	.cs-single-statement{ padding: 120px 0 70px;}
	.cs-single-statement-content{ font-size: 30px; line-height: 42px;}
	.cs-single-statement-logo{ height: 0.9em;}
	.cs-single-section{ padding: 70px 0;}
	.cs-single-section .eyebrow{ max-width: 100%;}
	.cs-single-section h2{ font-size: 32px; line-height: 42px; max-width: 100%;}
	.cs-single-section-content{ max-width: 100%;}
	.cs-single-results{ padding: 70px 0;}
	.cs-single-results-inner{ flex-direction: column; gap: 40px;}
	.cs-single-results-image{ flex: none; width: 100%;}
	.cs-single-results h2{ font-size: 32px; line-height: 42px;}
	.cs-single-bottom{ padding: 70px 0;}
	.cs-single-quote-text{ padding-left: 24px;}
	.cs-single-quote-text p{ font-size: 32px; line-height: 44px;}
	.cs-single-quote-source{ padding-left: 32px;}

	/* About Page */
	.about-hero{ flex-direction: column; min-height: auto;}
	.about-hero-left{ flex: none; width: 100%; padding: 60px clamp(20px, 5%, 40px) 40px;}
	.about-hero-left h1:not(.eyebrow), .about-hero-left span.hero-headline{ font-size: 48px; line-height: 56px;}
	.about-hero-right{ flex: none; width: 100%; max-height: 320px;}
	.about-white-wrap{ border-radius: 30px 30px 0 0; background-size: 140%; padding: 60px 0 80px;}
	.about-intro{ padding-bottom: 50px;}
	.about-intro-inner{ flex-direction: column; gap: 40px;}
	.about-intro-left{ flex: none; width: 100%;}
	.about-grid-items{ grid-template-columns: 1fr; grid-template-rows: auto; grid-template-areas: none;}
	.about-grid-item:nth-child(n){ grid-area: auto; min-height: 280px;}
	.about-grid-item:nth-child(1) .about-grid-item-body{ width: 100%;}
	.about-quote-section{ padding: 80px 0 120px;}
	.about-quote-inner{ width: 100%;}
	.about-quote-headline{ font-size: 50px; line-height: 60px;}
	.about-team{ padding: 80px 0;}
	.about-team-header{ flex-direction: column; gap: 24px; margin-bottom: 50px;}
	.about-team .section-header-right{ margin-top: 0;}
	.about-team-grid{ grid-template-columns: repeat(2, 1fr); row-gap: 40px;}
	.about-reviews{ padding: 100px 0 200px;}
	.about-reviews-inner{ flex-direction: column; gap: 40px;}
	.about-reviews-left{ flex: none; width: 100%;}
	.about-reviews-headline{ font-size: 44px; line-height: 52px;}

	/* Careers Page */
	.careers-hero h1:not(.eyebrow), .careers-hero span.hero-headline{ font-size: 48px; line-height: 56px;}
	.careers-white-wrap{ border-radius: 30px 30px 0 0; background-size: 120%; padding: 60px 0 80px;}
	.careers-intro-headline{ width: 100%; font-size: 36px; line-height: 46px; margin-bottom: 40px;}
	.careers-intro-inner{ flex-direction: column; gap: 40px;}
	.careers-intro-visual{ flex: none; width: 100%;}
	.careers-intro-right{ flex: none; width: 100%;}
	.careers-diff-header h2{ font-size: 36px; line-height: 46px;}
	.careers-diff-intro{ max-width: 100%;}
	.careers-benefits-inner{ flex-direction: column; gap: 40px;}
	.careers-benefits-visual{ flex: none; width: 100%; height: 300px;}
	.careers-benefits-right{ flex: none; width: 100%;}
	.careers-benefits-right h2{ font-size: 36px; line-height: 46px;}
	.careers-benefits-content ul{ grid-template-columns: 1fr;}
	.careers-perks-header{ width: 100%;}
	.careers-perks-header h2{ font-size: 36px; line-height: 46px;}
	.careers-perks-grid{ grid-template-columns: 1fr;}
	.careers-testimonial-inner{ flex-direction: column; gap: 40px;}
	.careers-testimonial-left{ flex: none; width: 100%;}
	.careers-test-headline{ font-size: 38px; line-height: 48px;}
	.careers-cta-inner{ flex-direction: column; gap: 40px;}
	.careers-cta-left{ flex: none; width: 100%;}
	.careers-cta-left h2{ font-size: 40px; line-height: 50px;}
	.careers-cta-right{ flex: none; width: 100%; padding-top: 0;}

	/* Use Cases Page */
	.uc-hero h1:not(.eyebrow), .uc-hero span.hero-headline{ font-size: 48px; line-height: 56px;}
	.uc-white-wrap{ border-radius: 30px; padding: 60px 0 80px;}
	.uc-case{ margin-bottom: 80px;}
	.uc-case-header{ flex-direction: column; gap: 24px; margin-bottom: 40px;}
	.uc-case-headline{ flex: none; width: 100%;}
	.uc-case-headline h2{ font-size: 36px; line-height: 46px;}
	.uc-case-intro{ flex: none; width: 100%; padding-top: 0;}
	.uc-examples-grid{ grid-template-columns: 1fr;}

	/* Shared */
	.section-header{ flex-direction: column; align-items: flex-start; gap: 20px;}
	.sections-wrap{ border-radius: 30px 30px 0 0;}
	.sections-wrap-b{ border-radius: 30px 30px 0 0;}
	.section-gallery-wrap{ border-radius: 30px 30px 0 0;}
	.callout-inner{ flex-direction: column; gap: 40px;}
	.callout-image-col{ flex: none; width: 100%; min-height: 300px; order: 0 !important;}
	.callout-content-col{ flex: none; width: 100%; order: 0 !important;}
	.callout-bg-white .callout-content ul{ grid-template-columns: 1fr;}
	.callout-content-col h2{ font-size: 36px; line-height: 46px;}
	.section-sh-left{ width: 100%;}
	.section-sh-left h2{ font-size: 38px; line-height: 48px;}
	.hl-intro-inner{ flex-direction: column; gap: 40px;}
	.hl-intro-left, .hl-intro-right{ flex: none; width: 100%;}
	.hl-intro-left h2{ font-size: 38px; line-height: 48px;}
	.hl-callout-inner{ flex-direction: column; gap: 40px;}
	.hl-callout-left, .hl-callout-right{ flex: none; width: 100%;}
	.hl-callout-left h2{ font-size: 42px; line-height: 52px;}
	.sb-inner{ flex-direction: column; gap: 40px;}
	.sb-intro{ flex: none; width: 100%; position: static;}
	.sb-intro h2{ font-size: 48px; line-height: 58px;}
	.sb-item{ flex-direction: column; padding: 40px 30px; border-radius: 30px;}
	.sb-item-left{ flex: none; width: 100%;}
	.sb-item h3{ font-size: 36px; line-height: 42px;}
	.cs-split-inner{ flex-direction: column; gap: 40px;}
	.cs-split-grid, .cs-split-content{ flex: none; width: 100%;}
	.cs-split-dark .cs-split-content h2{ font-size: 48px; line-height: 58px;}
	.cs-split-light .cs-split-content h2{ font-size: 42px; line-height: 52px;}
	.cs-split-dark .cs-split-item-content{ width: 100%; margin-left: 0;}
	.fcl-grid{ grid-template-columns: repeat(2, 1fr);}
	.section-icon-cards h2{ font-size: 48px; line-height: 58px;}
	.section-icon-cards .section-header{ flex-direction: column; align-items: flex-start; margin-bottom: 60px;}
	.section-link-list .industries-content h2{ font-size: 48px; line-height: 58px;}
	.section-headline{ background-image: none !important;}
	.sh-align-left .sh-inner{ width: 100%;}
	.sh-align-left h2{ font-size: 36px; line-height: 46px;}
	.sh-align-center h2{ font-size: 42px; line-height: 52px;}
	.sh-align-right .wrapper{ justify-content: flex-start;}
	.sh-align-right .sh-inner{ width: 100%;}
	/* Section Header */
	.section-sh-left h2{ font-size: 36px; line-height: 46px;}
	/* HL Intro */
	.hl-intro-left h2{ font-size: 36px; line-height: 46px;}
	/* Stacked Boxes */
	.sb-intro h2{ font-size: 48px; line-height: 58px;}
	.sb-item{ padding: 40px;}
	/* CS Split */
	.cs-split-dark .cs-split-content h2{ font-size: 48px; line-height: 58px;}
	.stech-white-wrap, .stech-white-wrap-b, .tech-container{ border-radius: 30px 30px 0 0;}

	/* Header */
	.header-cta{ display: none;}
	.nav-toggle{ padding: 12px 8px; box-sizing: content-box;}
	.header-search-toggle{ min-height: 44px; min-width: 44px;}

	/* Hero */
	.hero{ flex-direction: column; min-height: auto;}
	.hero::before{ width: 100%; height: 660px; top: auto; bottom: 0; background-position: top right;}
	.hero .container{ flex-direction: column;}
	.hero-visual{ flex: none; width: 100%; height: 660px; position: relative; z-index: 1;}
	.hero-slider{ height: 660px;}
	.hero-slide{ display: flex; flex-direction: column; height: 100%;}
	.hero-slide img{ position: relative; left: auto; top: auto; width: 100%; height: 450px; object-fit: contain; object-position: center; flex-shrink: 0; margin-bottom: 30px;}
	.hero-slide-content{ position: relative; width: 100%; max-width: 80%; padding: 30px 0; flex: 1; background: none;}
	.hero-content{ flex: none; width: 100%; margin-right: 0; padding: 40px 0 60px; position: relative; z-index: 1;}
	.hero-content h1:not(.eyebrow), .hero-content span.hero-headline{ font-size: 48px; line-height: 56px;}

	/* Home intro */
	.section-intro{ padding: 80px 0; background-size: 60% auto;}
	.section-intro h2{ font-size: 48px; line-height: 60px; width: 100%; margin-bottom: 40px;}
	.intro-content-wrap{ margin-left: 0; width: 100%;}

	/* Case Studies (home) */
	.case-studies-inner{ flex-direction: column; gap: 40px;}
	.case-studies-grid{ flex: none; width: 100%;}
	.case-studies-content{ flex: none; width: 100%;}
	.case-studies-content h2{ font-size: 48px; line-height: 58px;}
	.case-study-content{ width: 100%; margin-left: 0;}

	/* Services (home) */
	.services-inner{ flex-direction: column; gap: 40px;}
	.services-intro{ flex: none; width: 100%;}
	.services-intro h2{ font-size: 48px; line-height: 58px;}
	.service-item{ flex-direction: column; padding: 40px 30px; border-radius: 30px;}
	.service-left{ flex: none; width: 100%;}

	/* Gallery */
	.gallery-grid{ flex-direction: column; gap: 20px; align-items: stretch;}
	.gallery-item:first-child, .gallery-item:nth-child(2), .gallery-item:last-child{ flex: none; width: 100%; height: 250px; margin-bottom: 0; border-radius: 25px;}

	/* Technologies (home) */
	.section-technologies .section-header{ flex-direction: column; align-items: flex-start; margin-bottom: 60px;}
	.section-technologies h2{ font-size: 48px; line-height: 58px;}
	.platforms-grid{ grid-template-columns: 1fr 1fr;}

	/* Industries (home) */
	.industries-inner{ grid-template-columns: 1fr; gap: 40px;}
	.industries-list{ grid-template-columns: 1fr;}
	.industries-content{ order: -1;}
	.section-industries h2{ font-size: 48px; line-height: 58px;}

	/* Footer */
	.footer-tagline{ padding: 80px 0 40px;}
	.footer-tagline p{ font-size: 48px; line-height: 60px;}
	.footer-main-inner{ flex-direction: column; gap: 40px;}
	.footer-nav-cols{ gap: 40px; flex-wrap: wrap;}
	.footer-right{ align-items: flex-start; text-align: left;}
	.footer-logos{ justify-content: flex-start;}

	/* CTA */
	.section-cta{ padding: 160px 0 100px;}
	.section-cta h2{ font-size: 48px; line-height: 56px;}
	.section-cta .cta-content{ padding: 0 20px;}

	/* Technologies template */
	.section-tech-intro h1:not(.eyebrow), .section-tech-intro span.hero-headline{ font-size: 48px; line-height: 58px;}
	.tech-platforms-grid{ grid-template-columns: 1fr 1fr;}
	.tools-header{ margin-bottom: 80px;}
	.tools-header h2{ font-size: 48px; line-height: 58px; max-width: 100%;}
	.tool-item{ flex-direction: column; gap: 30px; border-radius: 30px;}
	.tool-content{ flex: none; width: 100%;}
	.tool-content h3{ font-size: 38px; line-height: 44px;}
	.tool-content .tool-text{ width: 100%;}
	.tool-image{ flex: none; width: 100%; height: 260px;}
	.tool-item:last-child{ margin-bottom: -100px;}
	.use-cases-inner{ flex-direction: column; gap: 40px;}
	.use-cases-left{ flex: none; width: 100%;}
	.use-cases-right{ flex: none; width: 100%;}
	.section-tech-use-cases h2{ font-size: 48px; line-height: 58px;}
	.section-tech-use-cases{ margin: 80px 0 200px; padding-top: 100px;}
	.section-page-cta{ padding: 80px 0;}
	.section-page-cta h2{ font-size: 48px; line-height: 58px;}

	/* Industries template */
	.section-ind-intro h1:not(.eyebrow), .section-ind-intro span.hero-headline{ font-size: 48px; line-height: 58px;}
	.ind-cards-grid{ grid-template-columns: repeat(2, 1fr);}
	.section-ind-ticker{ margin: 100px 0 220px; padding-top: 120px;}
	.ind-ticker-headline{ font-size: 38px; line-height: 48px; margin-bottom: 80px;}

	/* Single Technology — hero */
	.stech-hero{ flex-direction: column; min-height: auto;}
	.stech-hero .container{ flex-direction: column;}
	.stech-hero-content{ flex: none; width: 100%; padding: 60px 0 40px;}
	.stech-hero-content h1:not(.eyebrow), .stech-hero-content span.hero-headline{ font-size: 48px; line-height: 56px;}
	.stech-hero-visual{ flex: none; width: 100%; height: 350px; position: relative;}
	.stech-hero-visual-content{ display: none;}
	.stech-hero-visual-img{ position: relative; left: auto; bottom: auto; width: 100%; height: 350px; object-fit: cover; object-position: top center;}

	/* Single Technology — single hero */
	.stech-single-hero .container{ flex-direction: column;}
	.stech-single-hero-left{ flex: none; width: 100%;}
	.stech-single-hero-left h1:not(.eyebrow), .stech-single-hero-left span.hero-headline{ font-size: 48px; line-height: 56px;}
	.stech-single-hero-right{ flex: none; width: 100%; padding-top: 20px;}

	/* Single Technology — intro */
	.stech-intro-inner{ flex-direction: column; gap: 40px;}
	.stech-intro-left{ flex: none; width: 100%;}
	.stech-intro-right{ flex: none; width: 100%;}
	.stech-intro-left h2{ font-size: 38px; line-height: 48px;}

	/* Single Technology — connections */
	.stech-connections-header h2{ font-size: 42px; line-height: 52px;}
	.stech-connections-diagram{ grid-template-columns: 1fr; gap: 30px;}
	.stech-connections-outro{ background-image: none; padding: 60px 0;}
	.stech-connections-outro-inner{ justify-content: flex-start;}
	.stech-connections-outro-content-wrap{ width: 100%;}

	/* Single Technology — use cases */
	.stech-use-cases-header{ flex-direction: column; gap: 30px;}
	.stech-use-cases-header-left{ flex: none; width: 100%;}
	.stech-use-cases-header-right{ flex: none; width: 100%; padding-top: 0;}
	.stech-use-cases-header-left h2{ font-size: 42px; line-height: 52px;}
	.stech-use-case-item{ display: flex; flex-direction: column; gap: 12px; padding: 30px;}
	.stech-use-case-plus, .stech-use-case-arrow{ display: none;}
	.stech-use-case-logo{ width: 60px;}
	.stech-use-case-text{ padding-left: 0;}

	/* Single Technology — case studies + callout */
	.stech-case-studies-inner{ flex-direction: column; gap: 40px;}
	.stech-case-studies-grid{ flex: none; width: 100%;}
	.stech-case-studies-content{ flex: none; width: 100%;}
	.stech-case-studies-content h2{ font-size: 42px; line-height: 52px;}
	.stech-callout-inner{ flex-direction: column; gap: 40px;}
	.stech-callout-left{ flex: none; width: 100%;}
	.stech-callout-right{ flex: none; width: 100%;}
	.stech-callout-left h2{ font-size: 42px; line-height: 52px;}
	.stech-cta h2{ font-size: 48px; line-height: 56px;}
	.stech-cta .wrapper{ padding-top: 80px; padding-bottom: 80px;}

}

@media (max-width: 600px) {

	/* About Page */
	.about-hero-left h1:not(.eyebrow), .about-hero-left span.hero-headline{ font-size: 38px; line-height: 46px;}
	.about-team-grid{ grid-template-columns: 1fr;}
	.about-reviews-headline{ font-size: 36px; line-height: 44px;}
	.about-quote-headline{ font-size: 40px; line-height: 50px;}
	.about-grid-item h3{ font-size: 24px; line-height: 32px;}

	/* Careers Page */
	.careers-hero h1:not(.eyebrow), .careers-hero span.hero-headline{ font-size: 36px; line-height: 44px;}
	.careers-intro-headline{ font-size: 30px; line-height: 38px;}
	.careers-diff-header h2{ font-size: 30px; line-height: 38px;}
	.careers-benefits-right h2{ font-size: 30px; line-height: 38px;}
	.careers-perks-header h2{ font-size: 30px; line-height: 38px;}
	.careers-test-headline{ font-size: 30px; line-height: 40px;}
	.careers-cta-left h2{ font-size: 32px; line-height: 42px;}

	/* Use Cases Page */
	.uc-hero h1:not(.eyebrow), .uc-hero span.hero-headline{ font-size: 36px; line-height: 44px;}
	.uc-case-headline h2{ font-size: 30px; line-height: 38px;}

	/* Header */
	.header .container{ padding-top: 24px; padding-bottom: 24px;}
	.logo{ max-width: 180px;}
	.header-search-wrap:hover .header-search-input,
	.header-search-wrap:focus-within .header-search-input{ width: 140px;}

	/* Contact */
	.contact-hero h1:not(.eyebrow), .contact-hero span.hero-headline{ font-size: 36px; line-height: 44px;}
	.contact-form-wrap{ padding: 24px 16px;}

	/* Hero */
	.hero-content h1:not(.eyebrow), .hero-content span.hero-headline{ font-size: 38px; line-height: 46px;}
	.hero-visual{ height: 480px;}
	.hero-slider{ height: 480px;}
	.hero-slide img{ height: 360px;}
	.hero::before{ height: 480px;}

	/* Home intro */
	.section-intro h2{ font-size: 36px; line-height: 46px;}
	.section-intro{ background-image: none;}

	/* Case studies (home) */
	.case-studies-content h2{ font-size: 36px; line-height: 46px;}

	/* Services (home) */
	.services-intro h2{ font-size: 36px; line-height: 46px;}
	.service-item h3{ font-size: 36px; line-height: 42px;}

	/* Technologies (home) */
	.platforms-grid{ grid-template-columns: 1fr;}
	.section-technologies h2{ font-size: 36px; line-height: 46px;}

	/* Industries (home) */
	.section-industries h2{ font-size: 36px; line-height: 46px;}

	/* Footer */
	.footer-tagline p{ font-size: 36px; line-height: 46px;}
	.footer-nav-cols{ flex-direction: column; gap: 24px;}

	/* CTA */
	.section-cta h2{ font-size: 36px; line-height: 44px;}

	/* Technologies template */
	.tech-platforms-grid{ grid-template-columns: 1fr;}
	.tools-header h2{ font-size: 36px; line-height: 46px;}
	.tool-content h3{ font-size: 30px; line-height: 38px;}
	.section-tech-use-cases h2{ font-size: 36px; line-height: 46px;}
	.stech-connections-header h2{ font-size: 32px; line-height: 42px;}

	/* Industries template */
	.ind-cards-grid{ grid-template-columns: 1fr;}
	.section-ind-intro h1:not(.eyebrow), .section-ind-intro span.hero-headline{ font-size: 38px; line-height: 48px;}
	.ind-ticker-headline{ font-size: 30px; line-height: 40px;}

	/* Single Technology */
	.stech-hero-content h1:not(.eyebrow), .stech-hero-content span.hero-headline{ font-size: 38px; line-height: 46px;}
	.stech-single-hero-left h1:not(.eyebrow), .stech-single-hero-left span.hero-headline{ font-size: 38px; line-height: 46px;}
	.stech-use-cases-header-left h2{ font-size: 34px; line-height: 44px;}
	.stech-case-studies-content h2{ font-size: 34px; line-height: 44px;}
	.stech-callout-left h2{ font-size: 34px; line-height: 44px;}
	.stech-cta h2{ font-size: 36px; line-height: 44px;}

	/* Flexible Content */
	.callout-content-col h2{ font-size: 34px; line-height: 44px;}
	.callout-logos{ grid-template-columns: repeat(2, 1fr);}
	.section-sh-left h2{ font-size: 30px; line-height: 40px;}
	.hl-intro-left h2{ font-size: 30px; line-height: 40px;}
	.hl-callout-left h2{ font-size: 30px; line-height: 40px;}
	.sb-intro h2{ font-size: 36px; line-height: 46px;}
	.sb-item{ padding: 30px;}
	.cs-split-dark .cs-split-content h2{ font-size: 36px; line-height: 46px;}
	.cs-split-light .cs-split-content h2{ font-size: 30px; line-height: 40px;}
	.fcl-grid{ grid-template-columns: 1fr;}
	.section-icon-cards h2{ font-size: 36px; line-height: 46px;}
	.section-link-list .industries-content h2{ font-size: 36px; line-height: 46px;}
	.sh-align-center h2{ font-size: 34px; line-height: 44px;}
	.sh-align-left h2{ font-size: 30px; line-height: 40px;}

}

.section-fc-intro{ background-image: none;}

/* Flexible Content — page scope */
.fc-page .stech-single-hero{ margin-bottom: 80px;}
.fc-page .stech-hero{ margin-bottom: 80px;}
.fc-page .about-hero{ margin-bottom: 80px;}
.fc-page .cs-single-hero-card{ margin-bottom: -80px;}
.fc-page .cs-single-hero + section{ padding-top: 200px;}
.fc-page .cs-single-statement{ padding-top: 60px;}

/* Callout */
.section-callout{ padding: 120px 0;}
.callout-inner{ display: flex; align-items: stretch; gap: 8%;}
.callout-image-col{ flex: 0 0 46%; border-radius: 25px; overflow: hidden; display: flex; flex-direction: column;}
.callout-image-col > img{ display: block; width: 100%; flex: 1; min-height: 0; object-fit: cover;}
.callout-content-col{ flex: 0 0 46%; display: flex; flex-direction: column; gap: 20px; justify-content: center;}
.callout-content-col .button{ align-self: flex-start;}
.callout-img-right .callout-image-col{ order: 2;}
.callout-img-right .callout-content-col{ order: 1;}
.callout-content-col .eyebrow{ color: var(--color-cyan);}
.callout-content-col h2{ font-size: 48px; line-height: 56px; font-weight: 300; margin: 0;}
.callout-content{ font-size: 18px; line-height: 30px;}
.callout-content p{ margin-bottom: 16px;}
.callout-bg-white{ background: var(--color-white);}
.callout-bg-white .callout-content-col h2{ color: var(--color-black);}
.callout-bg-white .callout-content{ color: var(--color-black);}
.callout-bg-white .callout-content ul{ list-style: none; display: grid; grid-template-columns: 1fr 1fr; gap: 8px 40px; margin: 0; padding: 0;}
.callout-bg-white .callout-content ul li{ position: relative; padding-left: 20px;}
.callout-bg-white .callout-content ul li::before{ content: '\2022'; color: var(--color-magenta); position: absolute; left: 0;}
.callout-bg-white .button{ border-color: var(--color-magenta); color: var(--color-magenta);}
.callout-bg-white .button:hover, .callout-bg-white .button:focus{ background: var(--color-magenta); color: var(--color-white);}
.callout-bg-black{ background: var(--color-black);}
.callout-bg-black .callout-content-col h2{ color: var(--color-white);}
.callout-bg-black .callout-content{ color: var(--color-white);}
.callout-bg-black .callout-content ul li::marker{ color: var(--color-cyan);}
.callout-bg-black .button{ border-color: var(--color-cyan); color: var(--color-cyan);}
.callout-bg-black .button:hover, .callout-bg-black .button:focus{ background: var(--color-cyan); color: var(--color-black);}
.callout-logos{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; padding: 20px 0 0; width: 100%;}
.callout-logo{ display: flex; align-items: center; justify-content: center;}
.callout-logo img{ max-height: 55px; width: auto; display: block; object-fit: contain;}

/* Section Header */
.section-sh{ padding: 100px 0;}
.section-sh-inner{ display: flex;}
.section-sh-left{ width: 50%;}
.section-sh-left .eyebrow{ color: var(--color-cyan); margin-bottom: 12px;}
.section-sh-left h2{ font-size: 55px; line-height: 65px; font-weight: 300; margin-bottom: 24px;}
.section-sh-content{ font-size: 20px; line-height: 32px;}
.section-sh-bg-white{ background: var(--color-white);}
.section-sh-bg-white .section-sh-left h2{ color: var(--color-black);}
.section-sh-bg-white .section-sh-content{ color: var(--color-black);}
.section-sh-bg-black{ background: var(--color-black);}
.section-sh-bg-black .section-sh-left h2{ color: var(--color-white);}
.section-sh-bg-black .section-sh-content{ color: var(--color-white);}

/* Headline + Content (Light) */
.section-hl-intro{ padding: 100px 0; background: var(--color-white);}
.hl-intro-inner{ display: flex; gap: 80px; align-items: flex-start;}
.hl-intro-left{ flex: 0 0 calc(50% - 40px);}
.hl-intro-left h2{ font-size: 55px; line-height: 65px; font-weight: 300; margin: 0; color: var(--color-black);}
.hl-intro-right{ flex: 0 0 calc(50% - 40px); display: flex; flex-direction: column; gap: 30px;}
.hl-intro-content{ font-size: 20px; line-height: 32px; color: var(--color-black);}

/* Headline + Bullets (Dark) */
.section-hl-callout{ padding: 120px 0; background: var(--color-black) url(images/stech-callout.png) no-repeat left bottom; background-size: 48% auto;}
.hl-callout-inner{ display: flex; gap: 80px; align-items: flex-start; justify-content: space-between;}
.hl-callout-left{ flex: 0 0 calc(45% - 40px);}
.hl-callout-left h2{ font-size: 65px; line-height: 73px; font-weight: 300; color: var(--color-white);}
.hl-callout-right{ flex: 0 0 calc(50% - 40px); display: flex; flex-direction: column; align-items: flex-start; gap: 40px;}
.hl-callout-intro{ font-size: 22px; line-height: 30px; color: var(--color-white);}
.section-hl-callout .stech-bullets li{ color: var(--color-white);}
.section-hl-callout .stech-bullets li::before{ color: var(--color-magenta);}
.section-hl-callout .button{ border-color: var(--color-cyan); color: var(--color-cyan);}
.section-hl-callout .button:hover, .section-hl-callout .button:focus{ background: var(--color-cyan); color: var(--color-black);}

/* Stacked Boxes */
.section-stacked-boxes{ padding: 150px 0; background: var(--color-black);}
.section-stacked-boxes .eyebrow{ color: var(--color-cyan);}
.sb-inner{ display: flex; gap: 80px; align-items: flex-start; justify-content: space-between;}
.sb-intro{ flex: 0 0 calc(45% - 80px); display: flex; flex-direction: column; gap: 24px; position: sticky; top: 80px;}
.sb-intro .eyebrow{ margin-bottom: 0;}
.sb-intro h2{ font-weight: 300; font-size: 85px; line-height: 95px; color: var(--color-white);}
.sb-list{ flex: 1; display: flex; flex-direction: column; gap: 35px;}
.sb-item{ border-radius: 50px; padding: 60px; display: flex; gap: 40px; align-items: flex-start;}
.sb-item-left{ flex: 0 0 50%; display: flex; flex-direction: column; gap: 20px;}
.sb-item-right{ flex: 1; display: flex; flex-direction: column; align-items: flex-start; gap: 20px;}
.sb-item h3{ font-weight: 300; font-size: 50px; line-height: 55px; position: relative; color: var(--color-white);}
.sb-item h3::before{ content: ''; position: absolute; top: -20px; left: -20px; width: 20px; height: 20px; border-top: 1px solid var(--accent); border-left: 1px solid var(--accent);}
.sb-content{ font-size: 22px; line-height: 30px; font-weight: 500; color: var(--color-white);}
.sb-bullets{ list-style: none; display: flex; flex-direction: column; padding: 0; margin: 0; margin-top: 10px;}
.sb-bullets li{ display: flex; align-items: baseline; gap: 8px; font-size: 20px; line-height: 22px; margin-bottom: 12px; color: var(--color-white);}
.sb-bullets li:last-child{ margin-bottom: 0;}
.sb-bullets li::before{ content: '\2022'; color: var(--accent); flex-shrink: 0; display: inline-block; width: 1em;}
.sb-item .more{ color: var(--color-white); padding-left: calc(1em + 8px); margin: 0; text-decoration: none; font-weight: 700;}
.sb-item .more i{ color: var(--accent);}
.sb-item .more:hover, .sb-item .more:focus{ color: var(--accent);}

/* Case Studies Split */
.section-cs-split{ padding: 100px 0;}
.cs-split-inner{ display: flex; gap: 80px; align-items: flex-start; justify-content: space-between;}
.cs-split-grid{ flex: 0 0 45%;}
.cs-split-content{ flex: 0 0 45%; display: flex; flex-direction: column; align-items: flex-start; gap: 24px;}
.cs-split-content .eyebrow{ margin-bottom: 0;}
.cs-split-item{ position: relative; margin-bottom: 30px;}
.cs-split-item:last-child{ margin-bottom: 0;}
.cs-split-image{ display: block; background-size: cover; background-position: center; background-repeat: no-repeat; border-radius: 25px; aspect-ratio: 536 / 475; width: 100%;}
.cs-split-item-content{ margin-top: 25px; display: flex; flex-direction: column; gap: 20px;}
.cs-split-item-content p{ font-size: 20px; line-height: 28px; font-weight: 500;}
.cs-split-item-content .more{ font-weight: 700;}
.cs-split-dark{ background: var(--color-black);}
.cs-split-dark .cs-split-content h2{ font-size: 85px; line-height: 95px; font-weight: 300; color: var(--color-white);}
.cs-split-dark .eyebrow{ color: var(--color-yellow);}
.cs-split-dark .button{ border-color: var(--color-yellow); color: var(--color-yellow);}
.cs-split-dark .button:hover, .cs-split-dark .button:focus{ background: var(--color-yellow); color: var(--color-black);}
.cs-split-dark .cs-split-item-content{ width: 50%; margin-left: auto;}
.cs-split-dark .cs-split-item-content .more{ color: var(--color-yellow);}
.cs-split-dark .cs-split-item-content .more:hover{ color: var(--color-white);}
.cs-split-light{ background: var(--color-white);}
.cs-split-light .cs-split-content h2{ font-size: 65px; line-height: 73px; font-weight: 300; color: var(--color-black);}
.cs-split-light .eyebrow{ color: var(--color-red);}
.cs-split-light .button{ border-color: var(--color-red); color: var(--color-red);}
.cs-split-light .button:hover, .cs-split-light .button:focus{ background: var(--color-red); color: var(--color-white);}
.cs-split-light .cs-split-item-content .more{ color: var(--color-red);}
.cs-split-light .cs-split-item-content .more:hover{ color: var(--color-black);}

/* Five-Column List */
.section-five-col-list{ padding: 100px 0; background: var(--color-black);}
.fcl-grid{ display: grid; grid-template-columns: repeat(5, 1fr); gap: 40px;}
.fcl-col-headline{ font-family: 'Figtree', sans-serif; font-weight: 600; font-size: 16px; line-height: 64px; color: var(--color-cyan); text-align: center; margin: 0;}
.fcl-col-items{ list-style: none; padding: 0; margin: 15px 0 0; display: flex; flex-direction: column;}
.fcl-col-items li{ font-family: 'Figtree', sans-serif; font-weight: 500; font-size: 16px; line-height: 30px; text-align: center; color: var(--color-white);}

/* Impacts List */
.section-impacts-list{ padding: 100px 0; background: var(--color-black);}
.section-impacts-list .sind-impacts-list{ margin-bottom: 80px;}

/* Overview */
.section-fc-overview{ padding: 100px 0; background: var(--color-white);}

/* Icon Cards */
.section-icon-cards{ padding: 80px 0; background: var(--color-black);}
.section-icon-cards h2{ font-weight: 300; font-size: 70px; line-height: 80px; color: var(--color-white);}
.section-icon-cards .eyebrow{ color: var(--color-cyan); margin-bottom: 30px;}
.section-icon-cards .section-header{ align-items: flex-start; margin-bottom: 100px;}
.section-icon-cards .section-header-left{ flex: 0 0 66.667%;}
.section-icon-cards .button{ border-color: var(--color-cyan); color: var(--color-cyan);}
.section-icon-cards .button:hover, .section-icon-cards .button:focus{ background: var(--color-cyan); color: var(--color-black);}

/* Link List */
.section-link-list{ padding: 80px 0; background: var(--color-black);}
.section-link-list .eyebrow{ color: var(--color-cyan);}
.section-link-list .industries-content h2{ font-weight: 300; font-size: 70px; line-height: 80px; color: var(--color-white);}
.section-link-list .button{ border-color: var(--color-cyan); color: var(--color-cyan);}
.section-link-list .button:hover, .section-link-list .button:focus{ background: var(--color-cyan); color: var(--color-black);}

/* Use Cases */
.section-fc-use-cases{ padding-top: 100px; background: var(--color-white); color: var(--color-black);}

/* Tool Cards */
.section-tool-cards{ padding: 100px 0; background: var(--color-black);}
.section-tool-cards .tools-header{ margin-bottom: 60px;}
.section-tool-cards .tools-header h2{ color: var(--color-white);}
.section-tool-cards .eyebrow{ color: var(--color-cyan);}
.section-tool-cards .tool-item:last-child{ margin-bottom: 0;}
.section-tc-image{ background-color: var(--color-cyan);}

/* Headline */
.section-headline{ padding: 100px 0; background-repeat: no-repeat;}
.sh-bg-white{ background-color: var(--color-white); color: var(--color-black);}
.sh-bg-black{ background-color: var(--color-black); color: var(--color-white);}
.sh-bg-white .eyebrow{ color: var(--color-red);}
.sh-bg-black .eyebrow{ color: var(--color-cyan);}
.sh-bg-white .button{ border-color: var(--color-red); color: var(--color-red);}
.sh-bg-white .button:hover, .sh-bg-white .button:focus{ background: var(--color-red); color: var(--color-white);}
.sh-bg-black .button{ border-color: var(--color-cyan); color: var(--color-cyan);}
.sh-bg-black .button:hover, .sh-bg-black .button:focus{ background: var(--color-cyan); color: var(--color-black);}
/* Left */
.sh-align-left{ background-position: right center; background-size: 40% auto;}
.sh-align-left .sh-inner{ width: 50%;}
.sh-align-left h2{ font-family: 'Figtree', sans-serif; font-size: 48px; line-height: 58px; font-weight: 300; margin-bottom: 30px;}
/* Center */
.sh-align-center{ background-image: url(images/center-headline.png); background-position: center; background-size: contain;}
.sh-align-center .sh-inner{ text-align: center; max-width: 800px; margin: 0 auto;}
.sh-align-center h2{ font-size: 60px; line-height: 68px; font-weight: 300; margin-bottom: 20px;}
/* Right */
.sh-align-right{ background-position: left center; background-size: 50% auto;}
.sh-align-right .wrapper{ display: flex; justify-content: flex-end;}
.sh-align-right .sh-inner{ width: 33.333%;}
.sh-align-right h2{ font-size: 30px; line-height: 40px; font-weight: 500; margin-bottom: 20px;}
.sh-align-right .sh-content{ font-size: 20px; line-height: 30px;}

.section-gallery-wrap{ border-radius: 50px 50px 0 0; padding-top: 120px; background-color: var(--color-black); background-image: url(images/home-case-studies.png); background-repeat: no-repeat; background-position: top left; background-size: 50% auto;}

.section-dark-cards{ padding: 100px 0; background: var(--color-black);}
.section-dark-cards--white{ background: var(--color-white);}
.section-dark-cards--white .contact-card{ background: linear-gradient(to bottom, rgba(255,255,255,.12) 0%, transparent 70%) var(--color-black);}
.section-dark-cards--white .dark-cards-header .eyebrow{ color: var(--color-magenta);}
.section-dark-cards--white .dark-cards-header h2{ color: var(--color-black);}
.dark-cards-header{ text-align: center; margin-bottom: 60px;}
.dark-cards-header .eyebrow{ color: var(--color-cyan);}
.dark-cards-header h2{ font-size: 55px; line-height: 62px; font-weight: 300; margin: 12px 0 0; color: var(--color-white);}
.dark-cards-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px;}

.section-light-cards{ padding: 100px 0; background: var(--color-black);}
.section-light-cards--light{ background: var(--color-white);}
.section-light-cards--light .light-cards-header-left h2{ color: var(--color-black);}
.section-light-cards--light .light-cards-intro{ color: var(--color-black);}
.section-light-cards--light .light-card{ background: linear-gradient(to bottom, transparent 0%, rgba(255,255,255,.12) 100%) var(--color-black);}
.light-cards-header{ display: flex; gap: 80px; align-items: flex-start; justify-content: space-between; margin-bottom: 60px;}
.light-cards-header-left{ flex: 0 0 calc(50% - 40px);}
.light-cards-header-left .eyebrow{ color: var(--color-cyan); margin-bottom: 12px;}
.light-cards-header-left h2{ font-size: 55px; line-height: 62px; font-weight: 300; margin: 0; color: var(--color-white);}
.light-cards-header-right{ flex: 0 0 calc(50% - 40px); display: flex; flex-direction: column; align-items: flex-start; gap: 30px;}
.light-cards-intro{ font-size: 20px; line-height: 30px; color: var(--color-white);}
.light-cards-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px;}
.light-card{ background: linear-gradient(to bottom, transparent 0%, rgba(255,255,255,.12) 100%); border-radius: 25px; padding: 40px; display: flex; flex-direction: column; gap: 20px;}
.light-card .eyebrow{ color: var(--color-cyan); margin-bottom: 8px;}
.light-card h3{ font-size: 26px; line-height: 32px; font-weight: 600; color: var(--color-white); margin: 0;}
.light-card-content{ font-size: 18px; line-height: 28px; color: var(--color-white);}
.light-card .more{ font-weight: 700; color: var(--color-cyan); text-decoration: none; margin-top: auto;}
.light-card .more:hover{ color: var(--color-white);}

/* Quote Dark */
.section-quote-dark{ position: relative; overflow: hidden; background: var(--color-black); padding: 120px 0;}
.section-quote-dark-decor{ position: absolute; top: 0; left: 0; width: 320px; height: 320px; background-image: url(images/challenge.png); background-size: contain; background-repeat: no-repeat; background-position: top right; transform: rotate(-90deg); pointer-events: none;}
.section-quote-dark-content{ position: relative; z-index: 1; padding: 0 25% 0 30%;}
.section-quote-dark-headline{ font-size: 65px; line-height: 75px; font-weight: 300; color: var(--color-white); margin: 0 0 40px;}
.section-quote-dark-quote{ margin: 0 0 40px; padding: 0; border: none;}
.section-quote-dark-text{ font-size: 20px; line-height: 32px; color: var(--color-white); margin-bottom: 16px;}
.section-quote-dark-text p{ margin: 0;}
.section-quote-dark-source{ font-size: 18px; line-height: 28px; color: var(--color-white); font-style: normal; display: block;}
.section-quote-dark .button-alt{ background: transparent; border: 2px solid var(--color-yellow); color: var(--color-yellow); margin-top: 16px; padding: 14px 24px; gap: 10px; overflow: visible;}
.section-quote-dark .button-alt::before{ display: none;}
.section-quote-dark .button-alt .btn-text{ color: var(--color-yellow); padding: 0; z-index: auto;}
.section-quote-dark .button-alt .btn-icon{ width: auto; height: auto; background: transparent; color: var(--color-yellow); font-size: 18px;}
.section-quote-dark .button-alt:hover, .section-quote-dark .button-alt:focus{ background: var(--color-yellow); color: var(--color-black);}
.section-quote-dark .button-alt:hover .btn-text, .section-quote-dark .button-alt:focus-within .btn-text{ color: var(--color-black); transition: color .15s ease;}
.section-quote-dark .button-alt:hover .btn-icon, .section-quote-dark .button-alt:focus .btn-icon{ color: var(--color-black);}

.section-featured-cs .eyebrow{ color: var(--color-red);}
.section-featured-cs .button{ border-color: var(--color-red); color: var(--color-red);}
.section-featured-cs .button:hover, .section-featured-cs .button:focus{ background: var(--color-red); color: var(--color-white);}
.section-featured-cs .stech-resource-card .more{ color: var(--color-red);}
.section-featured-cs .stech-resource-card .more:hover{ color: var(--color-white);}

.section-page-cta{ padding: 150px 0;}
.section-page-cta:has(+ .section-cta){ padding-bottom: 320px;}
.section-page-cta h2{ font-size: 70px; line-height: 75px; font-weight: 300; margin: 0;}
.section-page-cta .use-cases-content{ font-size: 22px; line-height: 30px; font-weight: 500; margin: 0;}
.section-page-cta.accent-yellow{ --pcta-accent: var(--color-yellow);}
.section-page-cta.accent-magenta{ --pcta-accent: var(--color-magenta);}
.section-page-cta.accent-cyan{ --pcta-accent: var(--color-cyan);}
.section-page-cta.accent-red{ --pcta-accent: var(--color-red);}
.section-page-cta .eyebrow{ color: var(--pcta-accent);}
.section-page-cta .button{ border-color: var(--pcta-accent); color: var(--pcta-accent);}
.section-page-cta .button:hover, .section-page-cta .button:focus{ background: var(--pcta-accent); color: var(--color-black);}

.section-parallax-img{ position: relative; overflow: hidden; height: 500px;}
.parallax-img-bg{ position: absolute; top: -80px; left: 0; right: 0; bottom: -80px; background-size: cover; background-position: center;}

@media print {
	.header, .footer, .nav, .search-form{ display: none;}
	body{ font-size: 12pt; color: #000;}
	a{ color: #000; text-decoration: underline;}
	a[href]::after{ content: " (" attr(href) ")";}
}
