/**
 * ISOFT Consulting — Section Styles
 */
.section{padding:var(--section-py) 0}
.section-light{background-color:var(--surface)}
.section-dark{background-color:var(--dark);color:var(--text-inverse)}
.section-dark h1,.section-dark h2,.section-dark h3,.section-dark h4{color:var(--text-inverse)}
.section-dark p{color:var(--text-light)}
.section-cyber{background-color:var(--cyber-dark);color:var(--cyber-text)}
.section-cyber h1,.section-cyber h2,.section-cyber h3,.section-cyber h4{color:var(--text-inverse)}
.section-cyber p{color:var(--cyber-text)}
/* Section header */
.section-header{text-align:center;max-width:680px;margin:0 auto var(--section-gap)}
.section-header-inline{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:var(--space-sm,8px)}
.section-header-inline .section-title{margin-bottom:0}
.section-header-inline .section-subtitle{margin-bottom:0}
.section-tag{display:inline-block;font-family:var(--font-body);font-weight:600;font-size:.75rem;color:var(--accent);text-transform:uppercase;letter-spacing:1.2px;margin-bottom:12px}
.section-title{margin-bottom:16px}
.section-subtitle{font-size:1.05rem;color:var(--text-muted);line-height:1.7}
.section-dark .section-tag{color:var(--accent)}
.section-dark .section-subtitle{color:var(--text-light)}
.section-cyber .section-tag{color:var(--cyber)}
/* 2-column layout */
.section-2col{display:grid;grid-template-columns:1fr;gap:48px;align-items:center}
@media(min-width:768px){.section-2col{grid-template-columns:1fr 1fr;gap:56px}}
@media(max-width:768px){.section{padding:var(--section-py-m) 0}}
/* Page hero (inner pages) */
.page-hero{min-height:50vh;background:linear-gradient(135deg,var(--dark) 0%,#152A3D 100%);display:flex;align-items:center;padding:140px 0 var(--section-py)}
.page-hero-title{font-family:var(--font-heading);font-weight:700;font-size:2.75rem;color:#fff;line-height:1.15;margin:var(--space-lg) 0}
.page-hero-subtitle{font-size:1.1rem;color:var(--text-light);line-height:1.7;margin-bottom:var(--space-xl);max-width:600px}
.page-hero-cta{display:flex;gap:var(--space-md);flex-wrap:wrap}
@media(max-width:768px){.page-hero{min-height:auto;padding:120px 0 var(--section-py-m)}.page-hero-title{font-size:2rem}.page-hero-cta{flex-direction:column}.page-hero-cta .btn{width:100%}}
/* Map section */
.map-section{padding:var(--section-py) 0;background-color:var(--surface)}
.map-section .section-header{margin-bottom:var(--space-2xl)}
.map-grid{display:grid;grid-template-columns:1fr;gap:var(--space-2xl);align-items:start}
@media(min-width:768px){.map-grid{grid-template-columns:1fr 1.4fr;gap:var(--space-2xl)}}
.map-info{display:flex;flex-direction:column;gap:var(--space-lg)}
.map-info-company{font-family:var(--font-heading);font-weight:700;font-size:1.75rem;color:var(--heading);margin-bottom:var(--space-xs)}
.map-info-address{color:var(--text);line-height:1.7;margin:0}
.map-info-location{display:inline-flex;align-items:center;gap:var(--space-sm);color:var(--text-muted);font-size:.95rem;margin-top:var(--space-sm)}
.map-info-location i{color:var(--accent);font-size:1.1rem}
.map-container{position:relative;width:100%;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-md);min-height:380px}
.map-container iframe{width:100%;height:100%;min-height:380px;border:0;display:block}
#isoft-map{width:100%;height:100%;min-height:380px;z-index:1}
.map-directions{margin-top:var(--space-lg)}
@media(max-width:767px){.map-section{padding:var(--section-py-m) 0}.map-container{min-height:280px}.map-container iframe,#isoft-map{min-height:280px}}
/* Institutions et partenaires — Compact premium */
#partenaires{padding-top:calc(var(--space-3xl,48px)*.5);padding-bottom:calc(var(--space-3xl,48px)*.4)}
#partenaires .section-header{margin-bottom:var(--space-lg,24px)}
.institutions-group{margin-bottom:var(--space-lg,24px)}
.institutions-group:last-child{margin-bottom:0}
.institutions-group-title{font-family:var(--font-heading);font-weight:600;font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:1.4px;text-align:center;margin-bottom:var(--space-sm,8px)}
.institutions-grid--entites{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-sm,8px) var(--space-md,16px);justify-items:center}
.institution-card--entite{display:flex;align-items:center;gap:10px;padding:6px var(--space-md,16px);width:100%;max-width:380px}
.institution-logo-wrap--armoirie{flex:0 0 44px;height:44px}
.institution-logo--armoirie{max-width:44px;max-height:44px;object-fit:contain}
.institutions-carousel-wrapper{position:relative;overflow:hidden;margin:0 calc(var(--space-md,16px)*-1);padding:0 var(--space-md,16px)}
.institutions-carousel{overflow:hidden;mask-image:linear-gradient(to right,transparent 0%,black 4%,black 96%,transparent 100%);-webkit-mask-image:linear-gradient(to right,transparent 0%,black 4%,black 96%,transparent 100%)}
.institutions-carousel-track{display:flex;gap:var(--space-xl,32px);width:max-content;animation:instScroll 30s linear infinite}
.institutions-carousel:hover .institutions-carousel-track{animation-play-state:paused}
@keyframes instScroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.institution-slide{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:4px;width:150px}
.institution-logo-wrap--partner{width:80px;height:48px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.institution-logo--partner{max-width:100%;max-height:48px;object-fit:contain;filter:grayscale(15%) opacity(.8);transition:filter .3s ease,opacity .3s ease}
.institution-slide:hover .institution-logo--partner{filter:grayscale(0) opacity(1)}
.institution-logo-placeholder--partner{width:48px;height:48px;border-radius:8px;background:var(--bg-alt,#f8f9fa);display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:1.2rem}
.institution-name--partner{font-family:var(--font-heading);font-weight:500;font-size:.72rem;color:var(--text-muted);text-align:center;line-height:1.35;max-width:140px}
.institution-logo{max-width:44px;max-height:44px;object-fit:contain;filter:grayscale(20%) opacity(.85);transition:filter .3s ease,opacity .3s ease}
.institution-card:hover .institution-logo,.institution-slide:hover .institution-logo{filter:grayscale(0) opacity(1)}
.institution-logo-placeholder{width:44px;height:44px;border-radius:8px;background:var(--bg-alt,#f8f9fa);display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:1.1rem}
.institution-name{font-family:var(--font-heading);font-weight:500;font-size:.78rem;color:var(--heading);line-height:1.4}
@media(prefers-reduced-motion:reduce){.institutions-carousel-track{animation:none}}
@media(max-width:991px){.institutions-grid--entites{grid-template-columns:repeat(2,1fr)}.institution-slide{width:140px}}
@media(max-width:768px){#partenaires{padding-top:calc(var(--space-2xl,32px)*.6);padding-bottom:calc(var(--space-2xl,32px)*.5)}.institutions-grid--entites{grid-template-columns:1fr;gap:var(--space-xs,4px)}.institution-card--entite{max-width:100%;padding:4px var(--space-sm,8px);gap:8px}.institution-logo-wrap--armoirie{flex:0 0 36px;height:36px}.institution-logo--armoirie{max-width:36px;max-height:36px}.institution-name{font-size:.72rem}.institution-slide{width:120px;gap:3px}.institution-logo-wrap--partner{width:64px;height:40px}.institution-logo--partner{max-height:40px}.institution-name--partner{font-size:.68rem;max-width:110px}.institutions-carousel-track{gap:var(--space-lg,24px)}}
@media(max-width:480px){.institution-slide{width:110px}.institution-logo-wrap--partner{width:56px;height:36px}.institution-logo--partner{max-height:36px}.institution-name--partner{font-size:.65rem;max-width:100px}}
