/**
 * ISOFT Consulting — Cards
 */
.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:var(--card-py);transition:transform .25s,box-shadow .25s,border-color .25s;height:100%;display:flex;flex-direction:column}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:rgba(0,180,216,.2)}
/* Service card */
.card-icon{width:52px;height:52px;display:flex;align-items:center;justify-content:center;background:rgba(0,180,216,.08);border-radius:12px;color:var(--accent);font-size:1.4rem;margin-bottom:20px;transition:background .25s,color .25s}
.card:hover .card-icon{background:var(--accent);color:#fff}
.card-title{font-family:var(--font-heading);font-weight:600;font-size:1.1rem;color:var(--heading);margin-bottom:8px}
.card-text{color:var(--text-muted);font-size:.92rem;line-height:1.65;margin-bottom:16px;flex:1}
.card-link{color:var(--accent);font-weight:500;font-size:.88rem;display:inline-flex;align-items:center;gap:6px;transition:gap .2s}
.card-link:hover{gap:10px;color:var(--accent-hover);text-decoration:none}
/* Project card */
.card-project{padding:0;overflow:hidden}
.card-project-img{position:relative;overflow:hidden;aspect-ratio:16/9;background:var(--surface-alt)}
.card-project-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.card-project:hover .card-project-img img{transform:scale(1.04)}
.card-project-body{padding:var(--card-py)}
.card-project-cat{font-size:.75rem;font-weight:600;color:var(--accent);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}
.card-project-client{font-size:.8rem;color:var(--text-muted);margin-bottom:8px}
.card-project-title{font-family:var(--font-heading);font-weight:600;font-size:1.05rem;color:var(--heading);margin-bottom:8px}
.card-project-desc{font-size:.9rem;color:var(--text-muted);line-height:1.6;margin-bottom:16px}
/* News card */
.card-news{padding:0;overflow:hidden}
.card-news-img{position:relative;overflow:hidden;aspect-ratio:16/9;background:var(--surface-alt)}
.card-news-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.card-news:hover .card-news-img img{transform:scale(1.04)}
.card-news-body{padding:var(--card-py)}
.card-news-meta{display:flex;align-items:center;gap:12px;margin-bottom:10px;font-size:.8rem;color:var(--text-muted)}
.card-news-cat{font-weight:600;color:var(--accent)}
.card-news-title{font-family:var(--font-heading);font-weight:600;font-size:1.05rem;color:var(--heading);margin-bottom:8px}
.card-news-excerpt{font-size:.9rem;color:var(--text-muted);line-height:1.6;margin-bottom:12px}
/* Testimonial card */
.card-testimonial{background:var(--surface);border-left:4px solid var(--accent);border-radius:0 var(--radius) var(--radius) 0;padding:var(--space-lg)}
.card-testimonial-quote{font-style:italic;color:var(--text);font-size:1rem;line-height:1.7;margin-bottom:16px}
.card-testimonial-author{display:flex;align-items:center;gap:12px}
.card-testimonial-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover;border:2px solid var(--accent)}
.card-testimonial-name{font-weight:600;font-size:.9rem;color:var(--text)}
.card-testimonial-role{font-size:.8rem;color:var(--text-muted)}
/* Differential card (centered, icon+title+text) */
.card-differential{text-align:center;padding:var(--space-xl) var(--space-lg);height:100%}
.card-differential-icon{width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:rgba(0,180,216,.1);border-radius:16px;margin:0 auto var(--space-lg);color:var(--accent);font-size:1.5rem;transition:all .25s}
.card-differential:hover .card-differential-icon{background:var(--accent);color:#fff;transform:scale(1.1)}
.card-differential .card-title{text-align:center}
.card-differential .card-text{text-align:center}
/* Badge */
.badge{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-body);font-weight:600;font-size:.8rem;padding:6px 14px;border-radius:20px;text-transform:uppercase;letter-spacing:.5px}
.badge-primary{background:rgba(27,58,92,.1);color:var(--primary)}
.badge-accent{background:rgba(0,180,216,.12);color:var(--accent)}
.badge-cyber{background:rgba(0,212,170,.12);color:var(--cyber)}
.badge-outline{background:transparent;border:1px solid var(--border);color:var(--text-muted)}
/* Contact info item */
.contact-info-list{display:flex;flex-direction:column}
.contact-info-item{display:flex;gap:var(--space-lg);padding:var(--space-lg) 0;border-bottom:1px solid var(--border)}
.contact-info-item:last-child{border-bottom:none;padding-bottom:0}
.contact-info-item:first-child{padding-top:0}
.contact-info-item h5{font-family:var(--font-heading);font-weight:600;font-size:1rem;color:var(--heading);margin-bottom:var(--space-xs)}
.contact-info-item a{color:var(--text-muted);font-size:.95rem;text-decoration:none;transition:color .2s}
.contact-info-item a:hover{color:var(--accent)}
.contact-info-item p{color:var(--text-muted);font-size:.95rem;margin:0}
.contact-icon{width:48px;height:48px;min-width:48px;display:flex;align-items:center;justify-content:center;background:rgba(0,180,216,.1);border-radius:12px;color:var(--accent);font-size:1.25rem}
/* Positioning card (lists of items) */
.positioning-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-xl);box-shadow:var(--shadow-md)}
.positioning-item{display:flex;gap:var(--space-lg);padding:var(--space-lg) 0;border-bottom:1px solid var(--border)}
.positioning-item:last-child{border-bottom:none;padding-bottom:0}
.positioning-item:first-child{padding-top:0}
.positioning-item h5{font-family:var(--font-heading);font-weight:600;font-size:1rem;color:var(--heading);margin-bottom:var(--space-xs)}
.positioning-item p{color:var(--text-muted);font-size:.9rem;line-height:1.5;margin:0}
/* Mission steps grid */
.mission-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-xl)}
.mission-step{text-align:center;padding:var(--space-lg)}
.mission-step-icon{width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(0,180,216,.15),rgba(0,180,216,.05));border-radius:16px;margin:0 auto var(--space-md);color:var(--accent);font-size:1.5rem}
.mission-step-num{font-family:var(--font-heading);font-weight:700;font-size:.8rem;color:var(--accent);text-transform:uppercase;letter-spacing:1px;margin-bottom:var(--space-sm)}
.mission-step h4{font-family:var(--font-heading);font-weight:600;font-size:1.1rem;color:var(--heading);margin-bottom:var(--space-sm)}
.mission-step p{color:var(--text-muted);font-size:.9rem;line-height:1.6}
@media(max-width:991px){.mission-steps{grid-template-columns:repeat(2,1fr)}}
@media(max-width:576px){.mission-steps{grid-template-columns:1fr}}
/* Global approach flow */
.globale-flow{max-width:800px;margin:0 auto}
.globale-item{display:flex;gap:var(--space-lg);padding:var(--space-lg) 0;border-left:3px solid var(--accent);padding-left:var(--space-xl);margin-bottom:var(--space-md);position:relative}
.globale-item::before{content:'';position:absolute;left:-8px;top:50%;transform:translateY(-50%);width:12px;height:12px;background:var(--accent);border-radius:50%}
.globale-num{font-family:var(--font-heading);font-weight:700;font-size:1.5rem;color:var(--accent);min-width:40px}
.globale-item h4{font-family:var(--font-heading);font-weight:600;font-size:1.1rem;color:var(--heading);margin-bottom:var(--space-xs)}
.globale-item p{color:var(--text-muted);font-size:.9rem;line-height:1.6;margin:0}
@media(max-width:576px){.globale-item{flex-direction:column;gap:var(--space-sm)}}
/* Vision pillars */
.vision-pillars{display:flex;justify-content:center;gap:var(--space-md);flex-wrap:wrap}
.vision-pillar{display:inline-block;padding:var(--space-sm) var(--space-lg);background:rgba(0,180,216,.15);border-radius:20px;color:var(--accent);font-weight:600;font-size:.9rem}
/* Human dimension */
.humain-values{display:flex;flex-direction:column;gap:var(--space-md);margin-top:var(--space-xl)}
.humain-value{display:flex;align-items:center;gap:var(--space-sm);color:var(--text);font-size:.95rem}
.humain-value i{color:var(--accent);font-size:1.1rem}
.humain-visual{display:flex;justify-content:center;align-items:center}
.humain-visual-card{background:linear-gradient(135deg,var(--primary),var(--dark));border-radius:var(--radius);padding:var(--space-3xl);text-align:center;color:#fff;width:100%;max-width:400px}
.humain-visual-card i{font-size:4rem;margin-bottom:var(--space-lg);display:block;opacity:.8}
.humain-visual-card p{font-size:1.1rem;font-weight:500;margin:0;color:#fff}
/* Approach timeline */
.approche-timeline{max-width:800px;margin:0 auto;position:relative}
.approche-timeline::before{content:'';position:absolute;left:32px;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,var(--accent),rgba(0,180,216,.2))}
.approche-phase{display:flex;gap:var(--space-xl);margin-bottom:var(--space-2xl);position:relative}
.approche-phase:last-child{margin-bottom:0}
.approche-phase-num{width:64px;height:64px;min-width:64px;display:flex;align-items:center;justify-content:center;background:var(--accent);color:#fff;border-radius:50%;font-family:var(--font-heading);font-weight:700;font-size:1.25rem;z-index:1;box-shadow:0 4px 12px rgba(0,180,216,.3)}
.approche-phase-content{padding-top:12px}
.approche-phase-content h4{font-family:var(--font-heading);font-weight:600;font-size:1.25rem;color:var(--heading);margin-bottom:var(--space-sm)}
.approche-phase-content p{color:var(--text-muted);font-size:.95rem;line-height:1.6}
@media(max-width:576px){.approche-timeline::before{left:24px}.approche-phase{gap:var(--space-lg)}.approche-phase-num{width:48px;height:48px;min-width:48px;font-size:1rem}}
@media(max-width:576px){.card{padding:var(--card-py-m)}}
/* Technology card */
.technologies-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-xl)}
.technology-card{position:relative;overflow:hidden;padding:var(--space-xl)}
.technology-accent{position:absolute;top:0;left:0;right:0;height:4px;border-radius:var(--radius) var(--radius) 0 0}
.technology-card .badge{margin-bottom:var(--space-md)}
.technology-title{font-family:var(--font-heading);font-weight:600;font-size:1.15rem;color:var(--heading);margin-bottom:var(--space-sm)}
.technology-description{color:var(--text-muted);font-size:.9rem;line-height:1.6;margin-bottom:var(--space-lg);flex:1}
.technology-card .btn{align-self:flex-start}
@media(max-width:576px){.technologies-grid{grid-template-columns:1fr}}
/* Featured tech grid */
.tech-featured-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:var(--space-lg)}
.tech-featured-card{text-align:center;padding:var(--space-lg);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);transition:transform .25s,box-shadow .25s}
.tech-featured-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.tech-featured-logo{width:64px;height:64px;margin:0 auto var(--space-md);display:flex;align-items:center;justify-content:center;border-radius:16px;overflow:hidden}
.tech-featured-logo img{width:100%;height:100%;object-fit:contain;padding:4px}
.tech-featured-icon{width:64px;height:64px;display:flex;align-items:center;justify-content:center;border-radius:16px;color:#fff;font-family:var(--font-heading);font-weight:700;font-size:1.1rem}
.tech-featured-name{font-family:var(--font-heading);font-weight:600;font-size:1rem;color:var(--heading);margin-bottom:var(--space-xs)}
.tech-featured-desc{color:var(--text-muted);font-size:.82rem;line-height:1.5;margin:0}
/* Tech filters */
.tech-filters{display:flex;flex-wrap:wrap;gap:var(--space-sm);justify-content:center;margin-bottom:var(--space-2xl)}
.tech-filter-btn{padding:8px 20px;border:1px solid var(--border);border-radius:20px;background:transparent;color:var(--text-muted);font-family:var(--font-body);font-size:.88rem;font-weight:500;cursor:pointer;transition:all .2s}
.tech-filter-btn:hover{border-color:var(--accent);color:var(--accent)}
.tech-filter-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}
/* Tech grid (with filters) */
.tech-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-xl)}
.tech-card{position:relative;overflow:hidden}
.tech-card-body{display:flex;flex-direction:column;flex:1;padding:var(--space-xl)}
.tech-card-logo{margin-bottom:var(--space-md)}
.tech-card-logo img{width:48px;height:48px;object-fit:contain}
.tech-card-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:12px;font-family:var(--font-heading);font-weight:700;font-size:1.3rem;background:var(--surface);color:var(--accent)}
@media(max-width:576px){.tech-grid{grid-template-columns:1fr}.tech-filters{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding-bottom:var(--space-sm)}}
/* Editor cards */
.tech-editors-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:var(--space-xl)}
.tech-editor-card{display:flex;gap:var(--space-lg);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-xl);transition:transform .25s,box-shadow .25s}
.tech-editor-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.tech-editor-logo{flex-shrink:0}
.tech-editor-icon{width:64px;height:64px;display:flex;align-items:center;justify-content:center;border-radius:16px;color:#fff;font-family:var(--font-heading);font-weight:700;font-size:.9rem}
.tech-editor-info h3{font-family:var(--font-heading);font-weight:600;font-size:1.15rem;color:var(--heading);margin-bottom:var(--space-xs)}
.tech-editor-info .badge{margin-bottom:var(--space-sm)}
.tech-editor-info p{color:var(--text-muted);font-size:.88rem;line-height:1.6;margin-bottom:var(--space-md)}
.tech-editor-tags{display:flex;flex-wrap:wrap;gap:6px}
.tech-editor-tags span{font-size:.78rem;padding:4px 10px;background:var(--surface);border-radius:12px;color:var(--text-muted);font-weight:500}
@media(max-width:767px){.tech-editors-grid{grid-template-columns:1fr}.tech-editor-card{flex-direction:column;align-items:center;text-align:center}}
/* Integrations */
.tech-integrations-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-xl)}
.tech-integration-item{text-align:center;padding:var(--space-xl);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);transition:transform .25s,box-shadow .25s}
.tech-integration-item:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.tech-integration-icon{width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:rgba(0,180,216,.1);border-radius:14px;margin:0 auto var(--space-md);color:var(--accent);font-size:1.4rem}
.tech-integration-item h4{font-family:var(--font-heading);font-weight:600;font-size:1.05rem;color:var(--heading);margin-bottom:var(--space-sm)}
.tech-integration-item p{color:var(--text-muted);font-size:.88rem;line-height:1.6;margin:0}
@media(max-width:576px){.tech-integrations-grid{grid-template-columns:1fr}}
/* Team members grid */
.team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,320px));justify-content:center;gap:var(--space-xl)}
.team-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:transform .25s,box-shadow .25s,border-color .25s;height:100%;display:flex;flex-direction:column}
.team-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:rgba(0,180,216,.2)}
.team-card-photo{position:relative;aspect-ratio:1;overflow:hidden;background:var(--surface-alt)}
.team-card-photo img{width:100%;height:100%;object-fit:cover;object-position:center 15%;transition:transform .4s}
.team-card:hover .team-card-photo img{transform:scale(1.04)}
.team-card-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(0,180,216,.08),rgba(0,180,216,.02))}
.team-card-placeholder i{font-size:3.5rem;color:var(--accent);opacity:.5}
.team-card-body{padding:var(--space-lg);display:flex;flex-direction:column;flex:1}
.team-card-name{font-family:var(--font-heading);font-weight:600;font-size:1.1rem;color:var(--heading);margin-bottom:var(--space-xs)}
.team-card-role{font-size:.9rem;font-weight:500;color:var(--accent);margin-bottom:var(--space-sm)}
.team-card-expertise{font-size:.82rem;color:var(--text-muted);margin-bottom:var(--space-sm);line-height:1.5}
.team-card-bio{font-size:.88rem;color:var(--text-muted);line-height:1.6;margin-bottom:var(--space-md);flex:1}
.team-card-linkedin{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:rgba(0,180,216,.1);color:var(--accent);font-size:1rem;transition:background .2s,color .2s;margin-top:auto}
.team-card-linkedin:hover{background:var(--accent);color:#fff;text-decoration:none}
.team-empty{text-align:center;padding:var(--space-3xl) var(--space-xl);color:var(--text-muted)}
.team-empty i{font-size:3rem;color:var(--accent);opacity:.4;display:block;margin-bottom:var(--space-lg)}
.team-empty p{font-size:1.05rem;max-width:400px;margin:0 auto;line-height:1.7}
@media(max-width:767px){.team-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:576px){.team-grid{grid-template-columns:1fr}}

