
*{
 margin:0;
 padding:0;
 box-sizing:border-box;
}

:root{
 --primary-color:#2563eb;
 --primary-dark:#1e40af;
 --primary-light:#3b82f6;
 --secondary-color:#0891b2;
 --text-dark:#1f2937;
 --text-medium:#4b5563;
 --text-light:#6b7280;
 --background:#ffffff;
 --background-light:#f8fafc;
 --background-dark:#1e293b;
 --border-color:#e5e7eb;
 --shadow:0 4px 8px rgba(0,0,0,0.08);
 --shadow-large:0 12px 28px rgba(0,0,0,0.12);
}

body{
 font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Roboto','Oxygen','Ubuntu','Cantarell',sans-serif;
 line-height:1.7;
 color:var(--text-dark);
 background:var(--background);
 font-size:16px;
}

.container{
 max-width:1200px;
 margin:0 auto;
 padding:0 20px;
}


h1,h2,h3,h4,h5,h6{
 line-height:1.3;
 font-weight:700;
 color:var(--text-dark);
 letter-spacing:-0.02em;
}

h1{
 font-size:3rem;
 line-height:1.15;
}
h2{
 font-size:2.5rem;
 line-height:1.2;
}
h3{
 font-size:1.75rem;
 line-height:1.3;
}
h4{
 font-size:1.25rem;
 line-height:1.4;
}

.lead{
 font-size:1.25rem;
 color:var(--text-medium);
}

.tagline{
 font-size:0.875rem;
 color:var(--text-medium);
 font-style:italic;
}


.navbar{
 background:var(--background);
 box-shadow:var(--shadow);
 position:sticky;
 top:0;
 z-index:1000;
 padding:1rem 0;
}

.nav-wrapper{
 display:flex;
 justify-content:space-between;
 align-items:center;
}

.logo{
 display:flex;
 align-items:center;
 gap:0.75rem;
 font-size:1.125rem;
 font-weight:700;
 color:var(--primary-color);
 text-decoration:none;
 transition:color 0.3s;
}

.logo:hover{
 color:var(--primary-dark);
}

.logo-image{
 height:40px;
 width:auto;
}

.nav-menu{
 display:flex;
 list-style:none;
 align-items:center;
 gap:2rem;
}

.nav-menu > li{
 position:relative;
}

.nav-menu a{
 text-decoration:none;
 color:var(--text-dark);
 font-weight:500;
 transition:color 0.3s;
 font-size:0.95rem;
}

.nav-menu a:hover{
 color:var(--primary-color);
}

.nav-menu a.active{
 color:var(--primary-color);
}

.nav-menu .btn-primary{
 color:white;
}

.nav-menu .btn-primary:hover{
 color:white;
}

.nav-menu .btn-primary.active{
 color:white;
}

.mobile-menu-toggle{
 display:none;
 flex-direction:column;
 cursor:pointer;
 gap:4px;
}

.mobile-menu-toggle span{
 width:25px;
 height:3px;
 background:var(--text-dark);
 transition:0.3s;
}


.btn-primary,.btn-secondary{
 display:inline-block;
 padding:0.75rem 1.5rem;
 border-radius:8px;
 text-decoration:none;
 font-weight:600;
 transition:all 0.3s ease;
 border:2px solid transparent;
 cursor:pointer;
 text-align:center;
}

.btn-primary{
 background:var(--primary-color);
 color:white;
 box-shadow:0 2px 8px rgba(37,99,235,0.2);
}

.btn-primary:hover{
 background:var(--primary-dark);
 transform:translateY(-3px);
 box-shadow:0 8px 16px rgba(37,99,235,0.3);
}

.btn-secondary{
 background:rgba(255,255,255,0.95);
 color:var(--primary-color);
 border-color:rgba(255,255,255,0.3);
 backdrop-filter:blur(10px);
}

.btn-secondary:hover{
 background:rgba(255,255,255,1);
 border-color:rgba(255,255,255,0.5);
 transform:translateY(-3px);
 box-shadow:0 8px 16px rgba(255,255,255,0.2);
}

.btn-large{
 padding:1.125rem 2.25rem;
 font-size:1.125rem;
 border-radius:10px;
}

.btn-full{
 width:100%;
}


.hero{
 background:linear-gradient(135deg,#1e293b 0%,#334155 100%);
 color:white;
 padding:7rem 0 5rem;
 position:relative;
 overflow:hidden;
}

.hero-background{
 position:absolute;
 top:0;
 left:0;
 right:0;
 bottom:0;
 background-image:url('images/hero-bg.jpg');
 background-size:cover;
 background-position:center;
 opacity:0.15;
 z-index:0;
}

.hero .container{
 position:relative;
 z-index:1;
}

.hero-content{
 max-width:700px;
 margin:0 auto;
 text-align:center;
}

.hero h1{
 color:white;
 margin-bottom:1.75rem;
 font-size:3.75rem;
 line-height:1.15;
 letter-spacing:-0.03em;
}

.hero .tagline{
 color:rgba(255,255,255,0.8);
 margin-bottom:1rem;
 font-size:0.95rem;
}

.hero-subtitle{
 font-size:1.2rem;
 margin-bottom:2.5rem;
 color:rgba(255,255,255,0.95);
 line-height:1.75;
 max-width:750px;
 margin-left:auto;
 margin-right:auto;
}

.hero-buttons{
 display:flex;
 gap:1rem;
 flex-wrap:wrap;
 justify-content:center;
}


.contact-bar{
 background:var(--background-light);
 padding:1.5rem 0;
 border-bottom:1px solid var(--border-color);
}

.contact-bar-content{
 display:flex;
 justify-content:center;
 align-items:center;
 gap:3rem;
 flex-wrap:wrap;
}

.contact-bar .contact-item{
 display:flex;
 align-items:center;
 gap:0.5rem;
 color:var(--text-medium);
 font-size:0.95rem;
}

.contact-bar .social-links{
 display:flex;
 gap:1rem;
}

.contact-bar .social-links a{
 color:var(--text-medium);
 transition:color 0.3s;
}

.contact-bar .social-links a:hover{
 color:var(--primary-color);
}


.services-overview{
 padding:7rem 0;
 background:white;
}

.section-header{
 text-align:center;
 margin-bottom:4.5rem;
}

.section-header h2{
 margin-bottom:1.25rem;
}

.section-header p{
 font-size:1.2rem;
 color:var(--text-medium);
 max-width:800px;
 margin:0 auto;
 line-height:1.8;
}

.services-overview-grid{
 display:grid;
 grid-template-columns:repeat(3,1fr);
 gap:2rem;
 max-width:1100px;
 margin:0 auto;
}

.service-overview-card{
 background:white;
 border:2px solid var(--border-color);
 border-radius:16px;
 padding:2.75rem;
 transition:transform 0.3s,border-color 0.3s,box-shadow 0.3s;
}

.service-overview-card:hover{
 border-color:var(--primary-color);
 transform:translateY(-8px);
 box-shadow:var(--shadow-large);
}

.service-overview-card .service-header{
 display:flex;
 align-items:flex-start;
 gap:1rem;
 margin-bottom:1.5rem;
}

.service-overview-card .service-icon{
 flex-shrink:0;
 color:var(--primary-color);
}

.service-overview-card .service-icon svg{
 width:32px;
 height:32px;
 display:block;
}

.service-overview-card h3{
 color:var(--text-dark);
 font-size:1.375rem;
 margin:0;
 font-weight:600;
}

.service-overview-card p{
 color:var(--text-medium);
 font-size:1rem;
 line-height:1.7;
 margin:0 0 1.25rem 0;
}

.service-overview-card .read-more{
 color:var(--primary-color);
 text-decoration:none;
 font-weight:600;
 font-size:0.9rem;
 transition:color 0.3s;
}

.service-overview-card .read-more:hover{
 color:var(--primary-dark);
}


.case-studies{
 padding:6rem 0;
 background:white;
}

.case-studies.inverse{
 background:var(--background-dark);
 color:white;
}

.case-studies.inverse .section-header h2,
.case-studies.inverse .section-header p{
 color:white;
}

.case-studies-subheading{
 color:rgba(255,255,255,0.9);
 font-size:1.5rem;
 margin:3rem 0 2rem;
 padding-bottom:0.75rem;
 border-bottom:2px solid rgba(255,255,255,0.2);
}

.case-studies-grid{
 display:grid;
 grid-template-columns:repeat(4,1fr);
 gap:2rem;
}

.featured-grid{
 margin-bottom:3rem;
}

.additional-grid{
 opacity:0.85;
}

.case-study-card{
 background:white;
 border-radius:12px;
 overflow:hidden;
 box-shadow:var(--shadow);
 transition:transform 0.3s,box-shadow 0.3s;
 display:flex;
 flex-direction:column;
 text-decoration:none;
}

.case-study-card.clickable-card{
 cursor:pointer;
}

.case-study-card.clickable-card:hover{
 transform:translateY(-8px);
 box-shadow:0 15px 35px rgba(0,0,0,0.2);
}

.case-study-card:hover{
 transform:translateY(-5px);
 box-shadow:var(--shadow-large);
}

.case-study-image{
 width:100%;
 height:200px;
 object-fit:cover;
 display:block;
}

.case-study-card .case-study-content{
 padding:1.5rem;
 display:flex;
 flex-direction:column;
 flex:1;
}

.case-study-card .case-study-content h4{
 margin-bottom:0.75rem;
 color:var(--text-dark);
 font-size:1.2rem;
 font-weight:700;
}

.case-study-tags{
 display:flex;
 flex-wrap:wrap;
 gap:0.5rem;
}

.case-study-tags .tag{
 display:inline-block;
 padding:0.25rem 0.5rem;
 background:var(--background-light);
 color:var(--primary-color);
 border-radius:20px;
 font-size:0.775rem;
 font-weight:700;
 border:1px solid rgba(37,99,235,0.2);
 white-space:nowrap;
 margin-bottom:5px;
}

.case-study-snippet{
 font-size:0.925rem;
 color:var(--text-medium);
 margin:0.75rem 0;
 line-height:1.65;
}

.case-study-snippet strong{
 color:var(--text-dark);
 font-weight:600;
}

.case-study-link{
 display:block;
 margin-top:auto;
 padding:0.625rem 1.25rem;
 background:var(--primary-color);
 color:white;
 font-weight:600;
 font-size:0.9rem;
 text-decoration:none;
 text-align:center;
 border-radius:6px;
 transition:all 0.2s;
}

.clickable-card .case-study-link{
 pointer-events:none;
}

.case-study-link:hover{
 background:var(--primary-dark);
 transform:translateY(-2px);
 box-shadow:0 4px 8px rgba(37,99,235,0.3);
}

.clickable-card:hover .case-study-link{
 background:var(--primary-dark);
 box-shadow:0 4px 8px rgba(37,99,235,0.3);
}

.case-study-card:has(.case-study-link){
 border:2px solid var(--primary-color);
 border-left:4px solid var(--primary-color);
}


.stats-section{
 padding:4rem 0;
 background:var(--background-dark);
 color:white;
}

.stats-grid{
 display:grid;
 grid-template-columns:repeat(2,1fr);
 gap:2rem;
 max-width:600px;
 margin:0 auto;
 text-align:center;
}

.stat-card{
 padding:1.5rem;
}

.stat-number{
 font-size:3rem;
 font-weight:700;
 color:var(--primary-light);
 margin-bottom:0.5rem;
 line-height:1;
}

.stat-label{
 font-size:1rem;
 color:#cbd5e1;
 margin:0;
}

@media (max-width:768px){
 .stats-grid{
 grid-template-columns:repeat(2,1fr);
 gap:1.5rem;
}

 .stat-number{
 font-size:2.5rem;
}
}


.cta-section{
 padding:7rem 0;
 background:linear-gradient(135deg,var(--background-light) 0%,#ffffff 100%);
}

.cta-content{
 text-align:center;
 max-width:750px;
 margin:0 auto;
}

.cta-content h2{
 margin-bottom:1.25rem;
 font-size:2.75rem;
}

.cta-content p{
 color:var(--text-medium);
 margin-bottom:2.5rem;
 font-size:1.2rem;
 line-height:1.8;
}


.page-header{
 background:linear-gradient(135deg,#1e293b 0%,#334155 100%);
 color:white;
 padding:4rem 0 3rem;
 text-align:center;
}

.page-header h1{
 color:white;
 margin-bottom:0.5rem;
}

.page-header .tagline{
 color:rgba(255,255,255,0.8);
}


.page-content{
 padding:6rem 0;
 background:white;
}

.content-main{
 max-width:900px;
 margin:0 auto;
}

.content-main h2{
 margin-top:3.5rem;
 margin-bottom:1.5rem;
 padding-bottom:0.75rem;
 border-bottom:2px solid var(--border-color);
}

.content-main h2:first-child{
 margin-top:0;
}

.content-main h3{
 margin-top:0;
 margin-bottom:1.5rem;
 color:var(--primary-color);
}


.content-main p + h3,
.content-main ul + h3,
.content-main ol + h3{
 margin-top:2.5rem;
}

.content-main ul,
.content-main ol{
 margin:1.5rem 0;
 padding-left:2rem;
}

.content-main li{
 margin:0.75rem 0;
 line-height:1.7;
}

.content-main ul li strong,
.content-main ol li strong{
 color:var(--primary-color);
}

.content-main p{
 margin:1.25rem 0;
}

.content-main a:not(.btn-primary):not(.btn-secondary):not(.btn-large){
 color:var(--primary-color);
 text-decoration:none;
 font-weight:500;
}

.content-main a:not(.btn-primary):not(.btn-secondary):not(.btn-large):hover{
 text-decoration:underline;
}

.content-main .lead{
 font-size:1.125rem;
 color:var(--text-medium);
 font-weight:500;
 margin-bottom:2.5rem;
}

.highlight-box{
 background:var(--background-light);
 border-left:4px solid var(--primary-color);
 padding:2rem;
 margin:2rem 0;
 border-radius:8px;
}

.highlight-box h3{
 margin-top:0;
 color:var(--primary-color);
 font-size:1.375rem;
}

.highlight-box ul{
 margin-left:1.5rem;
}

.highlight-box li{
 margin-bottom:0.75rem;
 color:var(--text-medium);
}

.projects-list{
 display:grid;
 grid-template-columns:repeat(2,1fr);
 gap:1.5rem;
 margin:2rem 0;
}

.project-item{
 background:var(--background-light);
 padding:1.5rem;
 border-radius:8px;
 border:1px solid var(--border-color);
}

.project-item h4{
 color:var(--primary-color);
 margin-bottom:0.5rem;
}

.project-item p{
 color:var(--text-medium);
 margin:0;
 font-size:0.95rem;
}

.industries-grid{
 display:grid;
 grid-template-columns:repeat(2,1fr);
 gap:1.5rem;
 margin:2rem 0;
}

.industry-card{
 background:white;
 border:2px solid var(--border-color);
 padding:1.5rem;
 border-radius:8px;
 transition:border-color 0.3s;
}

.industry-card:hover{
 border-color:var(--primary-color);
}

.industry-card h4{
 color:var(--primary-color);
 margin-bottom:0.5rem;
}

.industry-card p{
 color:var(--text-medium);
 margin:0;
 font-size:0.95rem;
}

.industry-solution-card{
 padding:2.5rem;
}

.industry-icon{
 font-size:2rem;
 margin-right:0.75rem;
}

.industry-solution-card h3{
 color:var(--primary-color);
 margin-bottom:1rem;
 font-size:1.5rem;
}

.industry-solution-card > p{
 margin-bottom:1.5rem;
 line-height:1.7;
}

.industry-features{
 list-style:none;
 padding:0;
 margin:1.5rem 0;
}

.industry-features li{
 padding:0.5rem 0 0.5rem 1.75rem;
 position:relative;
 color:var(--text-medium);
 font-size:0.95rem;
 line-height:1.6;
}

.industry-features li:before{
 content:"✓";
 position:absolute;
 left:0;
 color:var(--primary-color);
 font-weight:bold;
 font-size:1.1rem;
}

.industry-clients{
 margin-top:1.5rem !important;
 padding-top:1.5rem;
 border-top:1px solid var(--border-color);
 font-size:0.9rem !important;
}

.industry-clients strong{
 color:var(--primary-color);
}

.case-studies-showcase{
 margin-top:2rem;
}

.tech-grid{
 display:grid;
 grid-template-columns:repeat(4,1fr);
 gap:2rem;
 margin:2rem 0;
}

.tech-category{
 background:var(--background-light);
 padding:1.5rem;
 border-radius:8px;
}

.tech-category h4{
 color:var(--primary-color);
 margin-bottom:1rem;
 font-size:1.125rem;
}

.tech-category ul{
 list-style:none;
 padding:0;
}

.tech-category li{
 color:var(--text-medium);
 padding:0.25rem 0;
 font-size:0.95rem;
}

.client-projects{
 margin:2rem 0;
}

.client-section{
 background:var(--background-light);
 padding:2rem;
 border-radius:8px;
 margin-bottom:2rem;
 border-left:4px solid var(--primary-color);
}

.client-section h4{
 color:var(--primary-color);
 margin-bottom:1rem;
}

.client-section p{
 color:var(--text-medium);
 margin-bottom:1rem;
}

.client-section ul{
 margin-left:1.5rem;
}

.client-section li{
 color:var(--text-medium);
 margin-bottom:0.75rem;
}

.expertise-box{
 background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);
 color:white;
 padding:2.5rem;
 border-radius:12px;
 margin:3rem 0;
}

.expertise-box h3{
 color:white;
 margin-top:0;
 margin-bottom:1rem;
}

.expertise-box p{
 color:rgba(255,255,255,0.9);
 margin:0;
 line-height:1.8;
}

.cta-box{
 background:var(--background-light);
 padding:3rem;
 border-radius:12px;
 text-align:center;
 margin:4rem 0;
}

.cta-box h3{
 margin-top:0;
 margin-bottom:1rem;
 color:var(--text-dark);
}

.cta-box p{
 color:var(--text-medium);
 margin-bottom:2rem;
 font-size:1.125rem;
}


.contact{
 padding:6rem 0;
 background:white;
}

.contact-intro{
 text-align:center;
 margin-bottom:4rem;
}

.contact-intro h2{
 margin-bottom:1rem;
}

.contact-wrapper{
 display:grid;
 grid-template-columns:1fr 1fr;
 gap:4rem;
 margin-bottom:4rem;
}

.contact-info h3{
 margin-bottom:1rem;
}

.contact-info p{
 color:var(--text-medium);
 margin-bottom:2rem;
}

.contact-details{
 margin-top:2rem;
}

.contact-item{
 margin-bottom:2rem;
}

.contact-item strong{
 display:block;
 color:var(--primary-color);
 margin-bottom:0.75rem;
 font-size:1rem;
}

.contact-item p{
 color:var(--text-medium);
 margin:0.25rem 0;
}

.contact-item a{
 color:var(--text-medium);
 text-decoration:none;
 transition:color 0.3s;
}

.contact-item a:hover{
 color:var(--primary-color);
}

.contact-item .social-links{
 display:flex;
 flex-direction:column;
 gap:0.5rem;
}

.contact-item .social-links a{
 display:flex;
 align-items:center;
 gap:0.5rem;
}


.contact-form{
 background:var(--background-light);
 padding:2.5rem;
 border-radius:10px;
}

.contact-form h3{
 margin-top:0;
 margin-bottom:1.5rem;
}

.form-group{
 margin-bottom:1.5rem;
}

.form-group label{
 display:block;
 margin-bottom:0.5rem;
 font-weight:600;
 color:var(--text-dark);
}

.form-group input,
.form-group select,
.form-group textarea{
 width:100%;
 padding:0.75rem;
 border:2px solid var(--border-color);
 border-radius:6px;
 font-size:1rem;
 font-family:inherit;
 transition:border-color 0.3s;
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus{
 outline:none;
 border-color:var(--primary-color);
}

.form-group textarea{
 resize:vertical;
}

.services-callout{
 background:var(--background-light);
 padding:3rem;
 border-radius:12px;
}

.services-callout h3{
 text-align:center;
 margin-bottom:2rem;
}

.services-quick-links{
 display:grid;
 grid-template-columns:repeat(3,1fr);
 gap:2rem;
}

.service-link{
 background:white;
 padding:1.5rem;
 border-radius:8px;
 text-decoration:none;
 border:2px solid var(--border-color);
 transition:border-color 0.3s,transform 0.3s;
}

.service-link:hover{
 border-color:var(--primary-color);
 transform:translateY(-3px);
}

.service-link h4{
 color:var(--primary-color);
 margin-bottom:0.5rem;
}

.service-link p{
 color:var(--text-medium);
 margin:0;
 font-size:0.9rem;
}


.footer{
 background:var(--text-dark);
 color:white;
 padding:3rem 0 1.5rem;
}

.footer-content{
 display:grid;
 grid-template-columns:2fr 1fr 1fr;
 gap:3rem;
 margin-bottom:2rem;
}

.footer-brand h3{
 color:white;
 margin-bottom:0.5rem;
}

.footer-brand .tagline{
 color:rgba(255,255,255,0.6);
 margin-bottom:1.5rem;
}

.footer-social{
 display:flex;
 gap:1rem;
}

.footer-social a{
 display:flex;
 align-items:center;
 justify-content:center;
 width:40px;
 height:40px;
 background:rgba(255,255,255,0.1);
 border-radius:50%;
 color:white;
 transition:background 0.3s;
}

.footer-social a:hover{
 background:var(--primary-color);
}

.footer-social svg{
 width:20px;
 height:20px;
}

.footer-links h4,
.footer-contact h4{
 color:white;
 margin-bottom:1rem;
}

.footer-links ul{
 list-style:none;
}

.footer-links a{
 color:rgba(255,255,255,0.7);
 text-decoration:none;
 transition:color 0.3s;
 display:block;
 margin-bottom:0.5rem;
}

.footer-links a:hover{
 color:white;
}

.footer-contact p{
 color:rgba(255,255,255,0.7);
 margin-bottom:0.5rem;
}

.footer-bottom{
 text-align:center;
 padding-top:2rem;
 border-top:1px solid rgba(255,255,255,0.1);
}

.footer-bottom p{
 color:rgba(255,255,255,0.5);
}

.footer-bottom a{
 color:rgba(255,255,255,0.5);
 text-decoration:none;
}

.footer-bottom a:hover{
 color:rgba(255,255,255,0.8);
}


@media (max-width:968px){
 .services-overview-grid{
 grid-template-columns:1fr;
 gap:1.5rem;
}

 .case-studies-grid{
 grid-template-columns:repeat(2,1fr);
}

 .tech-grid{
 grid-template-columns:repeat(2,1fr);
}

 .services-quick-links{
 grid-template-columns:1fr;
}
}

@media (max-width:768px){
 h1{font-size:2rem;}
 h2{font-size:1.75rem;}
 h3{font-size:1.5rem;}

 .nav-menu{
 position:absolute;
 top:100%;
 left:0;
 right:0;
 background:white;
 flex-direction:column;
 padding:2rem;
 box-shadow:var(--shadow);
 display:none;
 gap:1rem;
}

 .nav-menu.active{
 display:flex;
}

 .mobile-menu-toggle{
 display:flex;
}

 .hero{
 padding:4rem 0 3rem;
}

 .hero h1{
 font-size:2.5rem;
}

 .hero-buttons{
 flex-direction:column;
}

 .contact-bar-content{
 gap:1.5rem;
}

 .case-studies-grid{
 grid-template-columns:1fr;
}

 .contact-wrapper{
 grid-template-columns:1fr;
 gap:2rem;
}

 .projects-list,
 .industries-grid{
 grid-template-columns:1fr;
}

 .tech-grid{
 grid-template-columns:1fr;
}

 .footer-content{
 grid-template-columns:1fr;
 gap:2rem;
}
}

@media (max-width:480px){
 .container{
 padding:0 15px;
}

 .hero h1{
 font-size:1.75rem;
}

 .hero-subtitle{
 font-size:1rem;
}

 .btn-large{
 padding:0.875rem 1.5rem;
 font-size:1rem;
}

 .contact-form{
 padding:1.5rem;
}
}


.capabilities-overview{
 margin:3rem 0;
}

.capabilities-overview h3{
 color:var(--primary-color);
 margin-bottom:2rem;
 font-size:1.75rem;
 text-align:center;
}

.capabilities-grid{
 display:grid;
 grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
 gap:2rem;
 margin:2rem 0;
}

.capability-card{
 background:white;
 border:2px solid var(--border-color);
 border-radius:12px;
 padding:2rem;
 transition:border-color 0.3s,transform 0.3s,box-shadow 0.3s;
}

.capability-card:hover{
 border-color:var(--primary-color);
 transform:translateY(-5px);
 box-shadow:var(--shadow-large);
}

.capability-card h4{
 color:var(--text-dark);
 margin-bottom:1rem;
 font-size:1.25rem;
}

.capability-card p{
 color:var(--text-medium);
 margin:0 0 1.25rem 0;
 line-height:1.7;
}

.capability-icon{
 font-size:2rem;
 margin-right:0.75rem;
}

.capability-list{
 list-style:none;
 padding:0;
 margin:1rem 0 0 0;
}

.capability-list li{
 padding:0.5rem 0 0.5rem 1.75rem;
 position:relative;
 color:var(--text-medium);
 font-size:0.95rem;
 line-height:1.6;
}

.capability-list li:before{
 content:"✓";
 position:absolute;
 left:0;
 color:var(--primary-color);
 font-weight:bold;
 font-size:1.1rem;
}


.tech-section{
 margin:4rem 0;
 padding:2rem 0;
}

.tech-section h3{
 color:var(--primary-color);
 margin-bottom:2rem;
 font-size:1.75rem;
}

.tech-section h4{
 color:var(--text-dark);
 margin-top:2rem;
 margin-bottom:1rem;
 font-size:1.25rem;
}

.tech-tags-grid{
 display:grid;
 grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
 gap:1.5rem;
 margin:2rem 0;
}

.tech-tag{
 background:var(--background-light);
 padding:1.5rem;
 border-radius:8px;
 border-left:4px solid var(--primary-color);
 transition:transform 0.3s,box-shadow 0.3s;
}

.tech-tag:hover{
 transform:translateY(-3px);
 box-shadow:var(--shadow);
}

.tech-tag strong{
 display:block;
 color:var(--primary-color);
 margin-bottom:0.5rem;
 font-size:1.125rem;
}

.tech-tag p{
 color:var(--text-medium);
 margin:0;
 font-size:0.9rem;
 line-height:1.5;
}

.tech-list ul{
 list-style:none;
 padding:0;
 margin:1.5rem 0;
}

.tech-list li{
 padding:0.75rem 0;
 border-bottom:1px solid var(--border-color);
 color:var(--text-medium);
 line-height:1.6;
}

.tech-list li:last-child{
 border-bottom:none;
}

.tech-list strong{
 color:var(--primary-color);
 font-weight:600;
}

.ai-section{
 background:linear-gradient(135deg,#f8fafc 0%,#e0f2fe 100%);
 padding:3rem;
 border-radius:12px;
 border:2px solid #bae6fd;
}

.ai-section h3{
 color:var(--primary-dark);
}

.ai-section > p{
 color:var(--text-medium);
 font-style:italic;
 margin-bottom:2rem;
}


.mission-vision-grid{
 display:grid;
 grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
 gap:2rem;
 margin:3rem 0;
}

.mission-box,
.vision-box{
 background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);
 color:white;
 padding:2.5rem;
 border-radius:12px;
}

.mission-box h3,
.vision-box h3{
 color:white;
 margin-top:0;
 margin-bottom:1rem;
 font-size:1.5rem;
}

.mission-box p,
.vision-box p{
 color:rgba(255,255,255,0.95);
 margin:0;
 line-height:1.8;
 font-size:1.05rem;
}

.expertise-highlights{
 background:var(--background-light);
 padding:2rem;
 border-radius:8px;
 margin:2rem 0;
}

.expertise-highlights h4{
 color:var(--primary-color);
 margin-top:0;
 margin-bottom:1rem;
}

.expertise-highlights ul{
 margin:1rem 0 0 1.5rem;
}

.expertise-highlights li{
 margin-bottom:0.75rem;
 color:var(--text-medium);
 line-height:1.6;
}

.philosophy-box{
 background:var(--background-light);
 border-left:4px solid var(--primary-color);
 padding:2.5rem;
 margin:3rem 0;
 border-radius:8px;
}

.philosophy-box h3{
 color:var(--primary-color);
 margin-top:0;
 margin-bottom:1.5rem;
}

.philosophy-box p{
 color:var(--text-medium);
 margin-bottom:1rem;
 line-height:1.8;
}

.philosophy-box p:last-child{
 margin-bottom:0;
}


.case-study-header{
 background:linear-gradient(135deg,#1e293b 0%,#334155 100%);
 padding:3rem 0 2rem;
}

.case-study-breadcrumb{
 color:rgba(255,255,255,0.7);
 margin-bottom:1rem;
 font-size:0.9rem;
}

.case-study-breadcrumb a{
 color:rgba(255,255,255,0.7);
 text-decoration:none;
 transition:color 0.3s;
}

.case-study-breadcrumb a:hover{
 color:white;
}

.case-study-header h1{
 color:white;
 margin-bottom:0.5rem;
}

.case-study-client{
 color:var(--primary-light);
 font-size:1.25rem;
 font-weight:600;
 margin-bottom:0.25rem;
}

.case-study-industry{
 color:rgba(255,255,255,0.8);
 font-size:1rem;
}

section.case-study-content{
 padding:4rem 0;
}

.case-study-main{
 max-width:900px;
 margin:0 auto;
}

.tech-stack-bar{
 background:var(--background-light);
 padding:2rem;
 border-radius:12px;
 margin-bottom:3rem;
 border-left:4px solid var(--primary-color);
}

.tech-stack-bar h4{
 color:var(--primary-color);
 margin-bottom:1rem;
 font-size:1.125rem;
}

.tech-badges{
 display:flex;
 flex-wrap:wrap;
 gap:0.75rem;
}

.tech-badge{
 display:inline-block;
 padding:0.5rem 1rem;
 background:white;
 color:var(--primary-color);
 border:2px solid var(--primary-color);
 border-radius:20px;
 font-size:0.875rem;
 font-weight:600;
}

.case-study-section{
 margin-bottom:3rem;
}

.case-study-section h2{
 color:var(--primary-color);
 margin-bottom:1.5rem;
 font-size:2rem;
}

.case-study-section h3{
 color:var(--text-dark);
 margin-top:2rem;
 margin-bottom:1rem;
 font-size:1.375rem;
}

.case-study-section p{
 color:var(--text-medium);
 line-height:1.8;
 margin-bottom:1rem;
}

.case-study-section ul{
 margin:1.5rem 0 1.5rem 2rem;
}

.case-study-section li{
 color:var(--text-medium);
 margin-bottom:1rem;
 line-height:1.7;
}

.screenshot-container{
 margin:2rem 0;
}

.case-study-screenshot{
 width:100%;
 border-radius:8px;
 box-shadow:var(--shadow-large);
 margin-bottom:1rem;
}

.screenshot-caption{
 text-align:center;
 color:var(--text-light);
 font-style:italic;
 font-size:0.95rem;
}

.results-section{
 background:var(--background-light);
 padding:3rem;
 border-radius:12px;
 margin:3rem 0;
}

.results-section h2{
 text-align:center;
 margin-bottom:2rem;
}

.results-grid{
 display:grid;
 grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
 gap:2rem;
 margin-top:2rem;
}

.result-card{
 background:white;
 padding:2rem;
 border-radius:8px;
 border-left:4px solid var(--primary-color);
}

.result-card h3{
 color:var(--primary-color);
 margin-top:0;
 margin-bottom:1rem;
 font-size:1.125rem;
}

.result-card p{
 color:var(--text-medium);
 margin:0;
 line-height:1.6;
}

.impact-section{
 background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);
 color:white;
 padding:3rem;
 border-radius:12px;
}

.impact-section h2{
 color:white;
 text-align:center;
 margin-bottom:2rem;
}

.impact-statement{
 font-size:1.25rem;
 line-height:1.8;
 font-weight:500;
 color:rgba(255,255,255,0.95);
 margin-bottom:1.5rem;
}

.impact-section p{
 color:rgba(255,255,255,0.9);
 line-height:1.8;
}

.case-study-cta{
 background:var(--background-light);
 padding:3rem;
 border-radius:12px;
 text-align:center;
 margin-top:4rem;
}

.case-study-cta h3{
 margin-top:0;
 margin-bottom:1rem;
 color:var(--text-dark);
}

.case-study-cta p{
 color:var(--text-medium);
 margin-bottom:2rem;
 font-size:1.125rem;
}


.related-services{
 margin:4rem 0 2rem 0;
 padding:3rem 0;
 border-top:2px solid var(--border-color);
}

.related-services h3{
 text-align:center;
 font-size:2rem;
 margin-bottom:2rem;
 color:var(--text-dark);
}

.related-services-grid{
 display:grid;
 grid-template-columns:repeat(3,1fr);
 gap:2rem;
}

.related-service-card{
 background:var(--background-light);
 padding:2rem;
 border-radius:12px;
 border:1px solid var(--border-color);
 transition:transform 0.2s,box-shadow 0.2s;
}

.related-service-card:hover{
 transform:translateY(-3px);
 box-shadow:var(--shadow-large);
}

.related-service-card h4{
 color:var(--primary-color);
 margin-bottom:1rem;
 font-size:1.25rem;
}

.related-service-card p{
 color:var(--text-medium);
 font-size:0.95rem;
 margin-bottom:1rem;
 line-height:1.6;
}

@media (max-width:968px){
 .related-services-grid{
 grid-template-columns:1fr;
 gap:1.5rem;
}
}


html{
 scroll-behavior:smooth;
}


@keyframes fadeInUp{
 from{
 opacity:0;
 transform:translateY(30px);
}
 to{
 opacity:1;
 transform:translateY(0);
}
}

.service-overview-card,
.case-study-card,
.project-item,
.industry-card{
 animation:fadeInUp 0.6s ease-out;
}

/* ===============================================
 Projects Page Styles
 =============================================== */

.projects-section{
 padding:4rem 0;
}

.projects-intro{
 text-align:center;
 max-width:800px;
 margin:0 auto 4rem;
}

.projects-intro .lead{
 color:var(--text-medium);
 line-height:1.8;
}

.projects-grid{
 display:grid;
 grid-template-columns:repeat(auto-fit,minmax(350px,1fr));
 gap:2.5rem;
 margin-bottom:4rem;
}

.project-card{
 background:white;
 border-radius:12px;
 box-shadow:var(--shadow);
 transition:all 0.3s ease;
 display:flex;
 flex-direction:column;
 border:1px solid var(--border-color);
}

.project-card:hover{
 transform:translateY(-8px);
 box-shadow:var(--shadow-large);
}

.project-card-header{
 padding:2rem 2rem 1rem;
 border-bottom:2px solid var(--primary-color);
 background:linear-gradient(135deg,#f8fafc 0%,#ffffff 100%);
}

.project-card-header h3{
 margin:0 0 0.5rem;
 color:var(--primary-color);
 font-size:1.5rem;
}

.project-client{
 margin:0;
 color:var(--text-medium);
 font-size:0.95rem;
 font-weight:600;
}

.project-card-body{
 padding:2rem;
 flex-grow:1;
}

.project-industry{
 font-size:0.875rem;
 color:var(--secondary-color);
 font-weight:600;
 text-transform:uppercase;
 letter-spacing:0.5px;
 margin-bottom:1rem;
}

.project-description{
 color:var(--text-dark);
 line-height:1.7;
 margin-bottom:1.5rem;
}

.project-tech-highlight{
 margin-bottom:1.5rem;
 padding-bottom:1.5rem;
 border-bottom:1px solid var(--border-color);
}

.tech-badge-small{
 display:inline-block;
 padding:0.35rem 0.75rem;
 background:var(--background-light);
 color:var(--primary-color);
 border:1px solid var(--primary-color);
 border-radius:15px;
 font-size:0.75rem;
 font-weight:600;
 margin-right:0.5rem;
 margin-bottom:0.5rem;
}

.project-highlights h4{
 font-size:1rem;
 margin-bottom:0.75rem;
 color:var(--text-dark);
}

.project-highlights ul{
 list-style:none;
 padding:0;
 margin:0;
}

.project-highlights li{
 padding-left:1.5rem;
 position:relative;
 margin-bottom:0.5rem;
 color:var(--text-medium);
 font-size:0.9rem;
 line-height:1.6;
}

.project-highlights li:before{
 content:"✓";
 position:absolute;
 left:0;
 color:var(--primary-color);
 font-weight:bold;
}

.project-card-footer{
 padding:1.5rem 2rem;
 background:var(--background-light);
 border-top:1px solid var(--border-color);
}

.project-card-footer .btn-secondary{
 width:100%;
 text-align:center;
 display:block;
}

.projects-cta{
 text-align:center;
 padding:4rem 2rem;
 background:linear-gradient(135deg,var(--background-dark) 0%,#334155 100%);
 border-radius:12px;
 color:white;
 margin-top:2rem;
}

.projects-cta h2{
 color:white;
 margin-bottom:1rem;
}

.projects-cta p{
 color:rgba(255,255,255,0.9);
 font-size:1.125rem;
 margin-bottom:2rem;
}


@media (max-width:768px){
 .projects-grid{
 grid-template-columns:1fr;
}

 .project-card-header h3{
 font-size:1.25rem;
}

 .projects-cta{
 padding:3rem 1.5rem;
}

 .projects-cta h2{
 font-size:1.75rem;
}
}

/* ===============================================
 Solutions Page Styles
 =============================================== */

.featured-projects-section{
 margin:4rem 0;
 padding:3rem 0;
 background:var(--background-light);
 border-radius:12px;
}

.featured-projects-section h2{
 text-align:center;
 margin-bottom:1rem;
}

.section-intro{
 text-align:center;
 color:var(--text-medium);
 max-width:700px;
 margin:0 auto 3rem;
 font-size:1.125rem;
}

.tech-stack-section{
 margin:4rem 0 3rem;
}

.tech-stack-section h2{
 text-align:center;
 margin-bottom:1rem;
}

.tech-categories{
 display:grid;
 grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
 gap:2rem;
 margin-top:2.5rem;
}


@media (max-width:768px){
 .tech-categories{
 grid-template-columns:1fr;
}

 .featured-projects-section{
 padding:2rem 1rem;
}
}
