
    
  
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--navy:#19396b;--deep:#0b1d36;--blue:#397bbd;--pale:#eaf1f8;--ink:#14233a;--grey:#647084;--white:#fff;--line:#dfe6ee}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:86px}body{margin:0;background:#fff;color:var(--ink);font-family:'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}.wrap{max-width:1240px;margin:auto;padding:0 32px}.skip{position:absolute;left:-9999px;top:10px;background:#fff;z-index:999;padding:10px}.skip:focus{left:10px}.header{height:82px;background:rgba(255,255,255,.96);position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(12,30,57,.08);backdrop-filter:blur(15px)}.nav{height:100%;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand img{display:block;width:221px;height:auto}.menu{display:flex;align-items:center;gap:29px;font-size:13px;font-weight:700}.menu>a:not(.nav-cta){transition:color .2s}.menu>a:hover{color:var(--blue)}.nav-cta{background:var(--navy);color:white;padding:13px 20px;border-radius:3px;display:inline-flex;gap:26px}.nav-cta span{color:#79bafa}.menu-toggle{display:none}.hero{background:radial-gradient(ellipse at 80% 10%,#2c6099 0%,#16365f 35%,#0c1b30 80%);position:relative;overflow:hidden;color:white;min-height:670px}.hero-grid{position:absolute;inset:0;background:linear-gradient(to right,transparent 98%,rgba(255,255,255,.06) 99%),linear-gradient(to bottom,transparent 98%,rgba(255,255,255,.05) 99%);background-size:86px 86px;mask-image:linear-gradient(90deg,transparent 20%,black 100%)}.hero-geometry{position:absolute;right:0;bottom:-1px;width:59%;height:77%;opacity:.5;overflow:hidden}.tower{position:absolute;bottom:0;border:1px solid #7aa9d2;background:repeating-linear-gradient(90deg,transparent,transparent 34px,rgba(195,225,255,.24) 35px,transparent 36px),repeating-linear-gradient(0deg,transparent,transparent 59px,rgba(195,225,255,.35) 60px,transparent 61px),linear-gradient(135deg,rgba(145,182,218,.36),rgba(19,43,74,.3));transform:skewY(-10deg)}.tower-one{height:65%;width:31%;right:47%}.tower-two{height:90%;width:34%;right:15%}.tower-three{height:52%;width:32%;right:-12%}.crane{height:1px;width:75%;background:#a5c3e4;position:absolute;top:10%;right:-9%;transform:rotate(-7deg)}.crane:before{content:'';position:absolute;right:49%;bottom:-470px;height:470px;border-left:5px double #a5c3e4}.crane:after{content:'';position:absolute;inset:-13px 0;border-top:1px solid #a5c3e4;background:repeating-linear-gradient(45deg,transparent,transparent 52px,#a5c3e4 53px,transparent 54px)}.hero-layout{min-height:600px;display:flex;align-items:center;position:relative;z-index:2}.hero-content{padding:60px 0 85px;max-width:800px}.eyebrow{color:var(--blue);font-size:11px;font-weight:800;letter-spacing:.22em;margin:0 0 23px}.eyebrow.light{color:#a0cafa}.eyebrow-line{display:inline-block;width:33px;border-top:2px solid #7cb7ff;vertical-align:middle;margin-right:10px}.hero h1,h2,h3{font-family:Manrope,'Arial',sans-serif}.hero h1{font-size:clamp(48px,6.1vw,84px);letter-spacing:-.063em;line-height:1.12;margin:0 0 26px;font-weight:800}.hero h1 em{font-style:normal;color:#6eadee}.hero-sub{font-size:19px;color:#dce6f3;line-height:1.75;max-width:615px;margin:0 0 34px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.btn{min-height:52px;display:inline-flex;align-items:center;justify-content:space-between;gap:34px;padding:0 22px;font-size:13px;font-weight:700;border-radius:3px;transition:transform .2s,background .2s}.btn:hover{transform:translateY(-3px)}.btn.primary{background:#327cc4;color:white}.btn.primary:hover{background:#2369ad}.btn.outline{border:1px solid rgba(255,255,255,.52);color:white}.hero-mark{position:absolute;right:0;top:33%;width:260px;opacity:.15;transform:rotate(4deg)}.hero-mark img{width:100%}.hero-bottom{display:flex;position:relative;z-index:2;justify-content:space-between;padding-top:10px;padding-bottom:30px;font-size:10px;font-weight:800;letter-spacing:.17em;color:#9aacc3}.hero-bottom a span{font-size:19px;vertical-align:middle;padding-left:8px}.section{padding:105px 0}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%}h2{font-size:clamp(34px,4vw,55px);letter-spacing:-.055em;line-height:1.2;margin:0;font-weight:800}h2 span{color:var(--blue)}.intro-copy{padding-top:32px}.intro-copy p{line-height:1.85;color:#566578;font-size:15px}.intro-copy .lead{color:#273d59;font-size:19px;line-height:1.75;margin-top:0}.text-link{display:inline-block;color:var(--navy);font-weight:800;font-size:13px;margin-top:20px;border-bottom:2px solid var(--blue);padding-bottom:9px}.text-link span{padding-left:16px}.expertise{background:#f4f7fb}.section-header{display:flex;align-items:end;justify-content:space-between;gap:55px;margin-bottom:41px}.section-header>p{max-width:280px;color:#6a7685;line-height:1.75;margin:0 0 5px;font-size:14px}.services{display:grid;grid-template-columns:1fr 1fr;gap:23px}.service-card{background:#fff;overflow:hidden;border:1px solid #e3e8ef}.service-art{height:270px;position:relative;overflow:hidden}.formwork{background:linear-gradient(135deg,#264b76,#3d79b2)}.formwork:before{content:'';position:absolute;bottom:-48px;right:10%;width:72%;height:70%;border:30px solid #a8c5dc;transform:skew(-17deg);box-shadow:24px 24px 0 #173659,inset 15px 15px 0 #295d93}.beam{position:absolute;height:5px;width:110%;background:rgba(232,244,255,.6);transform:rotate(-16deg);left:-4%;top:26%}.beam-b{top:46%}.beam-c{top:66%}.rebar{background:linear-gradient(145deg,#152b45,#32689b)}.rebar-pattern{position:absolute;inset:-90px;transform:perspective(300px) rotateX(40deg) rotateZ(-16deg);background:repeating-linear-gradient(90deg,transparent 0 29px,#adc9e0 30px 34px,transparent 35px 60px),repeating-linear-gradient(0deg,transparent 0 29px,#759fc2 30px 34px,transparent 35px 60px);opacity:.9}.service-body{padding:27px 30px 37px}.service-index{display:flex;justify-content:space-between;color:var(--blue);font-size:12px;font-weight:800}.service-index span{font-size:20px}.service-body h3{font-size:30px;margin:10px 0;letter-spacing:-.04em}.service-body p{line-height:1.8;color:#6c7784;max-width:410px;margin:0;font-size:14px}.statement{background:#397dbb;padding:29px 0;color:white}.statement p{font-size:clamp(17px,2.5vw,30px);letter-spacing:-.03em;font-family:Manrope;font-weight:800;margin:0;text-align:center}.statement span{color:#cee6ff}.projects .project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.project-card{min-width:0}.project-visual{height:320px;position:relative;overflow:hidden;background:linear-gradient(145deg,#356fa5,#142c4d);display:flex;justify-content:center;align-items:center}.p-two{background:linear-gradient(145deg,#5788b4,#1c3f66)}.p-three{background:linear-gradient(145deg,#284b74,#0b1d34)}.project-visual:before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent,transparent 34px,#ffffff0b 35px,transparent 36px)}.project-placeholder{z-index:2;display:block;background:rgba(11,29,52,.78);color:#d9e8f7;font-size:10px;letter-spacing:.12em;padding:12px 15px;font-weight:800;border:1px solid #ffffff40;text-align:center}.geometric-building{position:absolute;width:55%;height:75%;right:-8%;bottom:-12%;border:24px solid #afcce6;transform:skew(-12deg) rotate(12deg);opacity:.35}.project-caption{padding:18px 2px;display:flex;justify-content:space-between;align-items:center;gap:14px}.project-caption small{font-size:10px;letter-spacing:.12em;color:var(--blue);font-weight:800}.project-caption h3{font-size:17px;margin:7px 0 0}.round-arrow{border:1px solid #cad9e9;width:33px;height:33px;border-radius:50%;display:grid;place-items:center;flex-shrink:0}.editor-note{font-size:11px;color:#798393;margin-top:12px}.values{background:#102541;color:white}.values-layout{display:grid;grid-template-columns:1fr 1fr;gap:10%}.values h2 span,.contact h2 span{color:#76b6f4}.values-lead{color:#b6c9de;line-height:1.8;max-width:420px;font-size:16px;margin-top:24px}.value-list>div{display:grid;grid-template-columns:45px 1fr;border-bottom:1px solid #ffffff32;padding:16px 0 20px;column-gap:14px}.value-list>div:first-child{padding-top:0}.value-list span{grid-row:span 2;color:#65a4e4;font-size:12px;font-weight:800}.value-list h3{margin:0 0 5px;font-size:20px}.value-list p{margin:0;color:#b6c7d9;font-size:14px}.career{background:#ecf2f9}.career-content{display:flex;align-items:center;justify-content:space-between;gap:40px}.career-content>div:first-child{max-width:640px}.career p:not(.eyebrow){color:#586b7f;line-height:1.8;max-width:500px;margin:20px 0 27px}.career-symbol img{width:260px;opacity:.9}.contact{background:#17375f;color:white}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%}.contact-grid>div:first-child>p:not(.eyebrow){color:#c3d3e5;line-height:1.8;max-width:420px}.contact-panel{padding:35px 40px;background:#ffffff10;border:1px solid #ffffff26}.contact-panel h3{font-size:24px;margin:0 0 7px}.contact-panel>p{color:#ced9e5;font-size:14px;line-height:1.7}.contact-details{display:grid;gap:14px;margin:28px 0}.contact-details>div{border-top:1px solid #ffffff34;padding-top:11px}.contact-details small{display:block;color:#94b5d8;letter-spacing:.13em;margin-bottom:5px}.contact-details strong{font-size:15px}.contact-note{font-size:11px!important}.footer{background:#0b182b;color:#afc0d1;padding:32px 0}.footer-top,.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px}.footer-brand{display:block;background:white;padding:10px 13px;border-radius:2px}.footer-brand img{display:block;width:154px}.back-top{font-size:12px;font-weight:700;color:white}.footer-bottom{padding-top:30px;font-size:11px}.footer-bottom span{line-height:1.6}@media(max-width:930px){.menu{gap:14px;font-size:12px}.brand img{width:178px}.hero{min-height:610px}.hero-geometry{width:80%;opacity:.32}.hero-mark{display:none}.services{gap:15px}.section{padding:75px 0}.project-visual{height:240px}.project-caption h3{font-size:15px}}@media(max-width:700px){.wrap{padding:0 22px}.header{height:70px}.brand img{width:173px}.menu-toggle{display:flex;width:38px;height:36px;border:0;background:transparent;flex-direction:column;align-items:center;justify-content:center;gap:6px;cursor:pointer}.menu-toggle span{display:block;background:#173b6b;width:25px;height:2px}.menu{display:none;position:absolute;top:69px;left:0;right:0;background:#fff;box-shadow:0 15px 20px #081b3224;padding:25px;flex-direction:column;align-items:stretch;gap:0}.menu.open{display:flex}.menu>a{padding:14px 0;font-size:15px;border-bottom:1px solid #e9edf2}.nav-cta{margin-top:14px;padding:15px!important;justify-content:space-between}.hero{min-height:630px}.hero-layout{min-height:560px}.hero-content{padding-top:35px;padding-bottom:70px}.hero h1{font-size:clamp(46px,11vw,70px)}.hero-sub{font-size:16px;line-height:1.7}.hero-geometry{width:100%;opacity:.15}.hero-bottom{font-size:9px;padding-bottom:20px}.hero-bottom>a{letter-spacing:.03em}.section{padding:65px 0}.intro-grid,.services,.values-layout,.contact-grid{grid-template-columns:1fr;gap:28px}.intro-copy{padding-top:0}.section-header{display:block}.section-header>p{margin-top:20px}.service-art{height:220px}.projects .project-grid{grid-template-columns:1fr;gap:20px}.project-visual{height:255px}.career-symbol{display:none}.contact-panel{padding:25px}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:10px}.statement p{line-height:1.5}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}}


/* V1.2 — étais Gentile fixés entre la navigation et le bas de l'écran.
   Les plaques restent fixes ; la bague descend au défilement, comme un tube télescopique. */
:root{--prop-extension:0;--prop-blue:#397bbd;--prop-navy:#19396b;--header-height:82px}
.side-props{position:fixed;top:var(--header-height);bottom:0;left:0;right:0;z-index:9;pointer-events:none;overflow:hidden}
.site-prop{
  --junction:calc(34% + var(--prop-extension) * 42%);
  position:absolute;top:0;bottom:0;width:56px;
  filter:drop-shadow(2px 4px 5px rgba(9,31,66,.2));opacity:.94;
}
.site-prop-left{left:9px}
.site-prop-right{right:9px;transform:scaleX(-1)}
.prop-top-plate,.prop-foot{position:absolute;left:9px;width:38px;height:9px;background:linear-gradient(90deg,#17365f,#438ac9 40%,#1f4d84);border-radius:3px;z-index:6}
.prop-top-plate{top:0}.prop-foot{bottom:0}
.prop-inner{
  position:absolute;top:6px;bottom:calc(100% - var(--junction) - 12px);
  left:20px;width:18px;min-height:20px;border:1px solid #204a7c;border-radius:3px;
  background:linear-gradient(90deg,#163c6d 0%,#367ab8 28%,#5d9bce 52%,#255d95 85%,#173b69 100%);z-index:2
}
.prop-holes{position:absolute;inset:16px auto 8px 6px;width:5px;background:radial-gradient(circle at center,#0c2d53 0 2px,transparent 2.5px) center top / 5px 27px repeat-y;opacity:.9}
.prop-collar{
  position:absolute;top:var(--junction);left:15px;width:28px;height:35px;
  background:linear-gradient(90deg,#143760,#397bbd 35%,#77a9d4 54%,#23558a);
  border-radius:5px;z-index:5;box-shadow:inset -2px 0 3px #183b67
}
.prop-pin{position:absolute;top:6px;left:-5px;width:38px;height:5px;border-radius:3px;background:#19396b;transform:rotate(-8deg)}
.prop-handle{position:absolute;left:-7px;top:11px;width:42px;height:19px;border:4px solid #2c6baa;border-radius:6px}
.prop-outer{
  position:absolute;top:calc(var(--junction) + 16px);bottom:6px;left:17px;width:24px;
  border-radius:3px;background:linear-gradient(90deg,#123a68,#397bbd 32%,#79a9d0 55%,#2b619b 82%,#143a66);z-index:3
}
/* Décoration discrète sur écrans étroits, sans chevauchement du contenu. */
@media(max-width:1350px){.site-prop{opacity:.72}.site-prop-left{left:-9px}.site-prop-right{right:-9px}}
@media(max-width:1050px){.side-props{display:none}}
@media(max-width:700px){:root{--header-height:70px}}
@media(prefers-reduced-motion:reduce){.site-prop{--junction:55%}}

/* V1.3 — photos facultatives, aucun changement aux étais V1.2 */
.hero-photo{position:absolute;inset:0;pointer-events:none;opacity:.55;background-position:center;background-size:cover}
.hero:has(.hero-photo.has-photo) .hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,21,39,.85),rgba(8,21,39,.33))}
.project-visual.has-photo:before,.project-visual.has-photo .geometric-building,.project-visual.has-photo .project-placeholder{display:none}
.service-art.has-photo:before,.service-art.has-photo .beam,.service-art.has-photo .rebar-pattern{display:none}
.contact-link[href]{color:#fff;text-decoration:underline;text-underline-offset:4px}

/* V1.5 — Contact + carte Google Maps côte à côte */
.contact-intro{margin-bottom:34px;max-width:700px}
.contact-intro>p:not(.eyebrow){color:#c3d3e5;line-height:1.8;max-width:620px}
.contact-cards{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:24px;align-items:stretch}
.contact-cards .contact-panel{min-width:0}
.contact-map{display:flex;flex-direction:column;min-width:0;background:#ffffff10;border:1px solid #ffffff26;overflow:hidden;min-height:390px}
.contact-map iframe{width:100%;height:100%;min-height:340px;flex:1;border:0;background:#e9eef4}
.map-open{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 18px;color:#fff;background:#24528a;font-size:13px;font-weight:700;transition:background .2s}
.map-open:hover,.map-open:focus-visible{background:#327cc4}
@media(max-width:750px){.contact-cards{grid-template-columns:1fr}.contact-map{min-height:360px}.contact-map iframe{min-height:310px}.contact-intro{margin-bottom:26px}}

/* V1.5 — trois spécialités, identité TIE et coins discrètement arrondis */
.services{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.service-card{border-radius:7px;min-width:0;display:flex;flex-direction:column}
.service-art{height:225px;flex-shrink:0}
.service-body{padding:25px 24px 30px;flex:1}
.service-body h3{font-size:25px}
.project-visual,.project-card,.project-placeholder,.contact-panel,.contact-map,.footer-brand,.btn,.nav-cta,.map-open{border-radius:7px}
.project-visual{border-bottom-left-radius:7px;border-bottom-right-radius:7px}
.tie-card{border-color:#dedee1}
.tie-art{height:225px;position:relative;display:grid;place-items:center;background:linear-gradient(135deg,#272326 0%,#161518 70%);overflow:hidden}
.tie-brand{width:118px;height:118px;display:grid;place-items:center;border-radius:7px;background: rgba(255, 255, 255, 0.7);;position:relative;z-index:2;box-shadow:0 12px 28px #0005}
.tie-brand img{display:block;width:108px;height:108px;object-fit:contain}
.tie-decoration{position:absolute;bottom:-36px;right:-10px;font:900 135px Manrope,Arial,sans-serif;color:#ffffff0b}
.tie-index{color:#c62828}
.tie-body h3{font-size:23px;line-height:1.3}
.tie-information{border-top:1px solid #e5e5e5;margin-top:16px;padding-top:10px}
.tie-information p{font-size:12px;line-height:1.6;margin:8px 0;color:#4e535a}
.tie-information strong{color:#222;font-size:11px;text-transform:uppercase;letter-spacing:.07em}
.tie-information a{text-decoration:underline;text-decoration-color:#c62828;text-underline-offset:3px}
.tie-visit{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#c62828;color:#fff;font-size:13px;font-weight:800;border-radius:6px;padding:12px 14px;margin-top:18px}
.tie-visit:hover{background:#a51f22}
@media(max-width:930px){.services{grid-template-columns:repeat(2,minmax(0,1fr))}.tie-card{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.tie-art{height:100%;min-height:260px}.tie-body{padding:25px}}
@media(max-width:700px){.services{grid-template-columns:1fr}.tie-card{grid-column:auto;display:flex}.tie-art{height:220px;min-height:220px}}

/* Correction légère : aligner le bord du titre avec le visuel du logo.
   Ne modifie pas la largeur du bloc ni la version mobile. */
@media (min-width: 1051px) {
  .hero-content {
    padding-left: 4px;
  }
}


/* V1.6 : positions télescopiques en pixels définies par script.js. */
.site-prop .prop-inner { top: 6px; bottom: auto; height: 180px; }
.site-prop .prop-collar { top: 180px; }
.site-prop .prop-outer { top: 196px; bottom: 6px; }

/* Affiche les horaires du contact sur deux lignes */
.contact-details [data-texte="contact.horaires"] {white-space: pre-line;line-height:1.65;display:inline-block}

/* V1.7 — Ruban des partenaires sous le grand accueil. Aucun impact sur les étais. */
.partner-strip{background:#fff;border-top:1px solid #e7edf4;border-bottom:1px solid #e7edf4;padding:23px 0 25px;overflow:hidden}
.partner-strip-heading{text-align:center;font-size:10px;font-weight:800;letter-spacing:.22em;color:#397bbd;margin-bottom:19px}
.partner-marquee{overflow:hidden;position:relative;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.partner-track{display:flex;width:max-content;animation:gentile-partners-move 60s linear infinite;animation-play-state:paused}
.partner-marquee.is-ready .partner-track{animation-play-state:running}
.partner-set{display:flex;align-items:center;flex-shrink:0;gap:86px;padding-right:86px}
.partner-item{display:flex;align-items:center;justify-content:center;width:230px;height:70px;flex-shrink:0;padding:9px 15px;border-radius:7px;transition:opacity .2s,transform .2s}
.partner-item:hover{transform:scale(1.04);opacity:.8}
.partner-item img{display:block;max-width:100%;max-height:62px;object-fit:contain}
.partner-fallback{font-family:Manrope,Arial,sans-serif;font-weight:800;font-size:17px;color:#244364;white-space:nowrap}
.partner-item .partner-fallback[hidden]{display:none}
.partner-marquee.is-ready:hover .partner-track{animation-play-state:paused}
@keyframes gentile-partners-move{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(max-width:700px){.partner-set{gap:36px;padding-right:36px}.partner-item{width:190px;height:60px}.partner-strip{padding:19px 0 21px}}
@media(prefers-reduced-motion:reduce){.partner-track{animation:none}.partner-marquee{overflow-x:auto;mask-image:none}}

/* V1.8 : logos partenaires, boucle continue sans fin. */
.partner-item img[hidden]{display:none!important}
.partner-fallback{font-size:clamp(13px,1.25vw,17px);text-align:center;line-height:1.3}
.partner-item{width:230px}


/* V1.9 — vrais logos partenaires + ajustements d'affichage */
.partner-strip{padding:20px 0 22px}
.partner-strip-heading{margin-bottom:16px}
.partner-set{gap:34px;padding-right:34px}
.partner-item{width:240px;height:88px;padding:12px 18px;background:#fff;border:1px solid #edf1f5;box-shadow:0 10px 24px rgba(16,37,65,.05)}
.partner-item img{max-width:100%;max-height:64px;object-fit:contain}
.partner-item-adv{background:#15181d;border-color:#15181d}
.partner-item-adv img{max-height:60px}
.partner-item-maulini img{max-height:78px}
.partner-item-marti img{max-height:46px}
.partner-item-lm img{max-height:44px}
.partner-item-bm img{max-height:58px}
.partner-item-induni img{max-height:60px}
.partner-item-martinco img{max-height:38px}
@media(max-width:700px){.partner-item{width:180px;height:72px;padding:10px 12px}.partner-item img{max-height:52px}.partner-item-maulini img{max-height:60px}.partner-item-lm img{max-height:34px}.partner-item-martinco img{max-height:30px}.partner-set{gap:22px;padding-right:22px}}


/* V1.10 — ADV : logo bleu officiel sur fond transparent, carte blanche */
.partner-item-adv{background:#fff;border-color:#edf1f5}
.partner-item-adv img{max-height:62px}

/* V1.11 — bandeau de reportages Architectes.ch */
.reportages-strip{background:#eef3f8;border-top:1px solid #dfe8f1;border-bottom:1px solid #dfe8f1;padding:60px 0 58px}
.reportages-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:25px}
.reportages-heading h2{font-size:clamp(29px,3vw,43px)}
.reportages-heading>p{max-width:345px;color:#5c6c80;line-height:1.65;font-size:13px;margin:0 0 4px}
.reportages-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.reportage-card{min-width:0;display:block;background:#fff;border:1px solid #dce5ef;border-radius:8px;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}
.reportage-card:hover{transform:translateY(-4px);box-shadow:0 14px 28px #172a4720}
.reportage-image{height:245px;overflow:hidden;background:linear-gradient(120deg,#26476d,#5280a8)}
.reportage-image img{display:block;width:100%;height:100%;object-fit:cover}
.reportage-caption{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:21px 25px 23px}
.reportage-caption small{color:#397bbd;font-weight:800;font-size:10px;letter-spacing:.15em}
.reportage-caption h3{font-size:25px;margin:7px 0 2px;letter-spacing:-.03em}
.reportage-caption p{margin:0;color:#697b8d;font-size:13px}
.reportage-caption>span{font-size:23px;color:#397bbd}
.reportages-source{color:#718095;font-size:11px;margin:19px 0 0;line-height:1.5}
.reportages-source a{text-decoration:underline}
@media(max-width:700px){.reportages-strip{padding:43px 0}.reportages-heading{display:block}.reportages-heading>p{margin-top:15px}.reportages-cards{grid-template-columns:1fr}.reportage-image{height:210px}}


/* V1.12 : carrousel des réalisations — indépendant des étais */
.projects-showcase{background:#fff}
.showcase-toolbar{display:flex;align-items:center;justify-content:space-between;margin:0 0 18px;gap:16px}
.showcase-count{font-family:Manrope,Arial,sans-serif;color:#647084;font-weight:700;font-size:12px;letter-spacing:.14em}
.showcase-count strong{color:#397bbd;font-size:17px}
.showcase-controls{display:flex;gap:8px}
.showcase-arrow{width:44px;height:44px;border:1px solid #cbd8e6;border-radius:7px;background:#fff;color:#19396b;font-size:22px;cursor:pointer;transition:background .2s}
.showcase-arrow:hover,.showcase-arrow:focus-visible{background:#eaf1f8}
.showcase-viewport{overflow:hidden;border-radius:9px}
.showcase-track{display:flex;transition:transform .7s cubic-bezier(.22,.7,.25,1);will-change:transform}
.showcase-slide{flex:0 0 100%;min-width:0;background:#f3f7fb;display:grid;grid-template-columns:1.28fr 1fr;border:1px solid #dfe6ee;border-radius:9px;overflow:hidden}
.showcase-visual{position:relative;min-height:370px;background:linear-gradient(130deg,#21446d,#5292c7)}
.showcase-visual img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;display:block}
.showcase-label{position:absolute;left:20px;bottom:20px;background:#0b1d36e8;color:#fff;font-weight:800;font-size:10px;letter-spacing:.12em;padding:10px 14px;border-radius:5px}
.showcase-info{padding:35px 38px;display:flex;flex-direction:column;justify-content:space-between;gap:35px}
.showcase-info h3{font-size:clamp(30px,3.4vw,49px);letter-spacing:-.05em;line-height:1.14;margin:0 0 15px}
.showcase-info p:not(.eyebrow){color:#617286;line-height:1.7;font-size:15px}
.showcase-link{background:#397bbd;color:#fff;border-radius:6px;display:flex;justify-content:space-between;gap:16px;padding:15px 18px;font-size:13px;font-weight:800;max-width:270px}
.showcase-link:hover{background:#225f99}
.showcase-dots{display:flex;justify-content:center;gap:10px;margin-top:18px}
.showcase-dot{width:25px;height:7px;border:0;border-radius:8px;background:#cbd9e8;cursor:pointer}
.showcase-dot.active{background:#397bbd}
.showcase-disclaimer{font-size:11px;color:#718095;line-height:1.6;margin-top:24px}
@media(max-width:750px){.showcase-slide{grid-template-columns:1fr}.showcase-visual{min-height:230px}.showcase-info{padding:25px;gap:18px}.showcase-info h3{font-size:32px}.showcase-link{max-width:none}}
@media(prefers-reduced-motion:reduce){.showcase-track{transition:none}}

/* V1.13 : bandeau éditorial inspiré de la présentation des reportages Architectes.ch */
.projets-editorial{background:#fff}
.projets-head{margin-bottom:25px}
.projets-nav{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 0 17px;border-bottom:1px solid #e3e9f1;margin-bottom:20px;color:#397bbd;font-size:11px;font-weight:800;letter-spacing:.14em}
.projets-nav strong{color:#8b99aa;margin-left:16px}
.projets-nav>div{display:flex;gap:9px}
.projets-arrow{width:39px;height:39px;border:1px solid #cad6e3;background:white;color:#19396b;border-radius:6px;cursor:pointer;font-size:20px}
.projets-arrow:hover,.projets-arrow:focus-visible{background:#eaf1f8}
.projets-rail{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-inline:contain;scrollbar-width:thin;scrollbar-color:#bfd3e6 transparent;padding:0 1px 14px}
.projet-tile{display:block;flex:0 0 calc((100% - 22px)/2);min-width:0;scroll-snap-align:start;background:#fff;outline-offset:3px}
.projet-photo{height:315px;position:relative;overflow:hidden;border-radius:7px;background:linear-gradient(120deg,#254b74,#87aaca)}
.projet-photo img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .45s}
.projet-tile:hover .projet-photo img{transform:scale(1.035)}
.projet-category{position:absolute;bottom:15px;left:16px;color:#fff;background:rgba(12,30,52,.85);padding:9px 11px;font-weight:800;font-size:10px;letter-spacing:.09em;border-radius:4px}
.projet-detail{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:20px 2px 17px}
.projet-location{font-size:10px;font-weight:800;letter-spacing:.13em;color:#397bbd}
.projet-detail h3{margin:7px 0 0;font-size:clamp(24px,2.8vw,36px);letter-spacing:-.035em;color:#14233a}
.projet-link-icon{border:1px solid #c9d6e6;width:39px;height:39px;border-radius:50%;display:grid;place-items:center;color:#397bbd;font-size:19px}
.projet-bottom{border-top:1px solid #e5ebf1;padding:12px 2px;display:flex;justify-content:space-between;gap:12px;font-weight:800;font-size:10px;color:#19396b;letter-spacing:.1em}
.projet-bottom span{font-weight:600;color:#8793a5}
.projets-caution{margin:14px 0 0;color:#788698;font-size:11px;line-height:1.7}
@media(max-width:700px){.projet-tile{flex-basis:88%}.projet-photo{height:230px}.projets-nav{font-size:10px}.projet-bottom{font-size:9px}}
@media(prefers-reduced-motion:reduce){.projets-rail{scroll-behavior:auto}.projet-photo img{transition:none}}

/* V1.14 — glissement automatique sans arrêt, ni accrochage des cartes. */
.projets-rail{scroll-snap-type:none!important;scroll-behavior:auto!important;scrollbar-width:none!important;overscroll-behavior-x:contain}
.projets-rail::-webkit-scrollbar{display:none}
@media(prefers-reduced-motion:reduce){.projets-rail{overflow-x:auto;scrollbar-width:thin!important}}

/* V1.15 — Visionneuse chantiers, sans toucher aux étais */
.projet-tile{cursor:pointer}.projet-tile:focus-visible{outline:3px solid #397bbd;outline-offset:3px}
.projet-bottom .reportage-link{display:flex;justify-content:space-between;gap:10px;width:100%;text-decoration:none;color:inherit}
.projet-bottom .reportage-link:hover{text-decoration:underline;text-underline-offset:4px}
.gallery-open{overflow:hidden}.gallery-overlay[hidden]{display:none!important}
.gallery-overlay{position:fixed;inset:0;z-index:200;background:rgba(8,20,38,.92);display:flex;align-items:center;justify-content:center;padding:24px;color:#fff}
.gallery-dialog{width:min(1100px,100%);max-height:95vh;overflow:auto;background:#142c4c;border:1px solid #45658a;border-radius:12px;box-shadow:0 20px 70px #0008;padding:22px}
.gallery-toolbar{display:flex;justify-content:space-between;gap:20px;align-items:start;margin-bottom:15px}.gallery-toolbar h2{font-size:clamp(23px,3vw,35px);letter-spacing:-.035em;margin:0;color:white}.gallery-eyebrow{font-size:10px;letter-spacing:.2em;color:#82baf2;font-weight:800;margin:0 0 10px}.gallery-location{font-size:12px;color:#b3c9e0;margin:7px 0 0}.gallery-close{background:#274e7d;border:1px solid #5b8cba;color:white;border-radius:8px;min-width:44px;height:44px;font-size:31px;cursor:pointer}
.gallery-stage{height:min(60vh,560px);min-height:260px;position:relative;display:flex;align-items:center;justify-content:center;background:#0a192c;border-radius:8px;overflow:hidden}.gallery-stage img{height:100%;width:100%;object-fit:contain}.gallery-step{position:absolute;top:50%;transform:translateY(-50%);left:12px;width:43px;height:51px;background:#0a192cbb;border:1px solid #ffffff66;border-radius:7px;color:white;font-size:37px;cursor:pointer;z-index:2}.gallery-step#gallery-next{left:auto;right:12px}.gallery-counter{position:absolute;bottom:12px;right:14px;font-size:12px;padding:6px 10px;border-radius:4px;background:#07192bd9;color:white}
.gallery-thumbs{display:flex;gap:9px;overflow-x:auto;padding:15px 0 4px}.gallery-thumbs button{background:#0b1e37;border:2px solid transparent;border-radius:6px;width:94px;height:69px;flex:0 0 auto;cursor:pointer;padding:2px}.gallery-thumbs button.is-active{border-color:#66aeef}.gallery-thumbs img{width:100%;height:100%;object-fit:cover;border-radius:3px}.gallery-actions{display:flex;gap:20px;justify-content:space-between;align-items:center;font-size:12px;color:#bcd0e4;padding-top:14px}.gallery-actions a{background:#347cbe;color:#fff;border-radius:6px;font-weight:700;padding:12px 15px}.gallery-actions a:hover{background:#246eaf}
@media(max-width:700px){.gallery-overlay{padding:8px}.gallery-dialog{padding:14px;max-height:98vh}.gallery-stage{min-height:210px;height:45vh}.gallery-actions{flex-direction:column;align-items:stretch}.gallery-thumbs button{width:74px;height:55px}}


/* V1.16 — Ruban partenaires sans cadres et sans remplissage aléatoire.
   Exactement 7 partenaires dans un ordre fixe, puis la copie identique. */
.partner-item,
.partner-item-adv {
  background:transparent;
  border:0;
  box-shadow:none;
  border-radius:0;
}
.partner-item:hover {opacity:.82}
.partner-track { animation-duration:35s; }
/* Le logo bleu ADV doit rester visible sur le ruban blanc. */
.partner-item-adv {background:transparent;border:0}
/* Images du logo Groupe Gentile : dimensions contrôlées sans déformation. */
.brand img,.footer-brand img {object-fit:contain;height:auto}


/* V1.17 — Menu du haut : fond bleu coulissant, liens centrés. */
@media (min-width: 701px) {
  .header .menu {
    position:relative;
    isolation:isolate;
    display:flex;
    align-items:center;
    gap:6px;
  }
  .header .menu .nav-highlight {
    position:absolute;
    z-index:-1;
    top:0;
    left:0;
    height:42px;
    width:var(--hover-width,0px);
    border-radius:7px;
    background:#19396b;
    transform:translateX(var(--hover-left,0px));
    opacity:0;
    pointer-events:none;
    transition:transform .28s cubic-bezier(.2,.75,.2,1),width .28s cubic-bezier(.2,.75,.2,1),opacity .18s ease;
  }
  .header .menu .nav-highlight.visible {opacity:1}
  .header .menu>a,
  .header .menu>a.nav-cta {
    position:relative;
    z-index:1;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    height:42px;
    min-height:42px;
    box-sizing:border-box;
    padding:0 17px;
    margin:0;
    border:0;
    border-radius:7px;
    background:transparent;
    color:#14233a;
    text-decoration:none;
    white-space:nowrap;
    transition:color .18s ease;
  }
  .header .menu>a.nav-cta span{display:none}
  .header .menu>a:hover,
  .header .menu>a.nav-hovered,
  .header .menu>a:focus-visible {color:#fff}
  .header .menu>a:focus-visible {outline:2px solid #397bbd;outline-offset:3px}
}
/* Le menu déplié sur téléphone conserve son comportement précédent. */
@media (prefers-reduced-motion: reduce) {
  .header .menu .nav-highlight {transition:none}
}

/* Photo en arrière-plan de la carte TIE */
.tie-art.tie-photo {
    background-image:
        linear-gradient(
            rgba(0, 0, 0, 0.25),
            rgba(0, 0, 0, 0.25)
        ),
        url("images/TIE.jpg");

    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}


/* V1.18 — Emploi et recrutement, agences partenaires (sans publicité) */
.careers-recruitment .careers-heading{max-width:790px;margin-bottom:29px}
.careers-recruitment .careers-heading>p:not(.eyebrow){max-width:720px;line-height:1.85;color:#586b7f;font-size:15px;margin:20px 0 0}
.agency-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:15px}
.agency-card{background:#fff;border:1px solid #dae3ef;border-radius:8px;min-height:128px;display:flex;align-items:center;justify-content:center;position:relative;gap:10px;padding:16px 15px;text-align:center;transition:border-color .2s,transform .2s,box-shadow .2s}
.agency-card:hover,.agency-card:focus-visible{border-color:var(--blue);box-shadow:0 9px 20px rgba(25,57,107,.11);transform:translateY(-3px)}
.agency-card img{max-width:85%;max-height:60px;object-fit:contain}
.agency-card-name{font-family:Manrope,Arial,sans-serif;font-size:16px;font-weight:800;color:#19396b}
.agency-card img:not([style*="display: none"]) + .agency-card-name{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.agency-card-arrow{position:absolute;right:10px;top:8px;color:#397bbd;font-weight:700}
.agency-disclaimer{font-size:12px;color:#647084;margin:18px 0 0;line-height:1.6}
@media(max-width:1050px){.agency-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.agency-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.agency-card{min-height:102px}}
@media(max-width:390px){.agency-grid{grid-template-columns:1fr}}

/* V1.19 — Chiffres clés, remplace les anciennes valeurs sans modifier les autres sections. */
.key-figures{background:#102541;color:#fff}
.figures-heading{max-width:850px;margin-bottom:36px}
.figures-heading h2 span{color:#76b6f4}
.figures-heading>p:not(.eyebrow){color:#b6c9de;font-size:16px;line-height:1.8;max-width:720px;margin:20px 0 0}
.figures-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.figure-card{min-width:0;min-height:240px;border:1px solid rgba(255,255,255,.19);background:rgba(255,255,255,.055);border-radius:9px;padding:27px 22px;display:flex;flex-direction:column;align-items:flex-start}
.figure-number{font-family:Manrope,Arial,sans-serif;font-weight:800;font-size:clamp(37px,4vw,58px);line-height:1.1;letter-spacing:-.045em;color:#fff;white-space:nowrap}
.figure-number>span{color:#8dc2fb}
.figure-number>.figure-unit{font-size:.46em;letter-spacing:-.02em}
.figure-card h3{font-size:17px;line-height:1.45;margin:19px 0 8px;color:#fff}
.figure-card p{font-size:13px;line-height:1.65;color:#b6c9de;margin:0}
.figure-number-pending{color:#92afcf}
.figure-card-pending{border-style:dashed}
.figure-group-symbol{font:800 55px/1.1 Manrope,Arial,sans-serif;color:#8dc2fb;letter-spacing:-.04em}
.figure-card .figure-group-detail{margin-top:auto;padding-top:14px;font-size:11px;color:#98b8d7}
@media(max-width:1000px){.figures-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.figure-card{min-height:210px}}
@media(max-width:600px){.figures-grid{grid-template-columns:1fr}.figure-card{min-height:175px;padding:23px}.figures-heading{margin-bottom:26px}}


/* V1.20 — Chiffres mis à jour et détail des six sociétés. */
.figure-count{color:#fff!important}
.figure-card-group .group-details{width:100%;margin-top:auto;padding-top:16px}
.group-details summary{display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;list-style:none;border-top:1px solid rgba(255,255,255,.2);padding-top:13px;color:#9bcaff;font-size:12px;font-weight:800;line-height:1.5}
.group-details summary::-webkit-details-marker{display:none}
.group-details summary span{font-size:19px;transition:transform .2s}
.group-details[open] summary span{transform:rotate(180deg)}
.group-details summary:focus-visible{outline:2px solid #9bcaff;outline-offset:5px}
.group-details-content{padding-top:12px}
.group-details-content ul{padding-left:16px;margin:0;color:#d1e1f1;font-size:12px;line-height:1.8}
.group-details-content ul ul{margin:3px 0 5px;border-left:1px solid #8dc2fb;padding-left:13px;list-style:none;color:#a7c7e9}
.figure-card-group:has(.group-details[open]){background:rgba(255,255,255,.09)}
@media (prefers-reduced-motion:reduce){.group-details summary span{transition:none}}


/* Identité Gentile — logos centrés sur les photos Coffrage et Ferraillage,
   même carré blanc de 118 × 118 px que celui de la carte TIE. */
.service-art .service-brand {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 118px;
  height: 118px;
  display: grid;
  place-items: center;
  background: rgba(255, 255, 255, 0.7) !important;
  border-radius: 7px;
  box-shadow: 0 12px 28px #0005;
  z-index: 4;
  pointer-events: none;
}
.service-art .service-brand img {
  display: block;
  width: 90px;
  height: 90px;
  object-fit: contain;
}

/* Carte Pro Ferraillage SA : uniquement coordonnées et repère géographique genevois. */
.pro-ferraillage-information{border-top:1px solid #e5e9ef;margin-top:16px;padding-top:10px}
.pro-ferraillage-information p{font-size:12px;line-height:1.6;margin:8px 0;color:#4e535a;overflow-wrap:anywhere}
.pro-ferraillage-information strong{color:#222;font-size:11px;text-transform:uppercase;letter-spacing:.07em}
.pro-ferraillage-information a{text-decoration:underline;text-decoration-color:#397bbd;text-underline-offset:3px}
.pro-ferraillage-address{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.pro-ferraillage-ge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  flex:0 0 34px;
  padding:0;
  background:none;
  border:none;
  border-radius:0;
}

.pro-ferraillage-ge img{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
}


/* Quatre cartes sociétés — Gentile SA, Pro Armature, Pro Ferraillage, TIE */
@media (min-width: 931px) {
  .services.services-four {grid-template-columns:repeat(4,minmax(0,1fr));}
}
@media (max-width: 930px) and (min-width: 701px) {
  .services.services-four {grid-template-columns:repeat(2,minmax(0,1fr));}
  .services.services-four .tie-card {grid-column:auto;display:flex;}
  .services.services-four .tie-art {height:225px;min-height:225px;}
}
@media (max-width: 700px) {
  .services.services-four {grid-template-columns:1fr;}
}
.company-address {display:flex;align-items:center;justify-content:space-between;gap:12px;}
.company-address p {min-width:0;}
.canton-blason {display:block;width:34px;height:auto;max-height:45px;object-fit:contain;flex:0 0 34px;}


/* Uniformisation visuelle des quatre cartes société.
   Ne change ni les contenus, ni les images, ni la disposition en une ligne. */
@media (min-width: 931px) {
  .services.services-four .service-body > h3 {
    min-height: 96px;
    line-height: 1.28;
  }
  .services.services-four .service-body > p {
    min-height: 110px;
  }
}
.services.services-four .company-address,
.services.services-four .pro-ferraillage-address {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 52px;
}
.services.services-four .company-address > p,
.services.services-four .pro-ferraillage-address > p {
  flex: 1 1 auto;
  min-width: 0;
}
.services.services-four .canton-blason,
.services.services-four .pro-ferraillage-ge {
  width: 34px;
  height: 45px;
  flex: 0 0 34px;
  object-fit: contain;
  align-self: center;
}
.services.services-four .pro-ferraillage-ge img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}


/* Le G Gentile est déjà un PNG transparent : sans carré blanc ni ombre.
   Les marques TIE et tous les autres visuels restent inchangés. */
.services.services-four .service-art .service-brand {
  background: transparent;
  box-shadow: none;
}


/* Intitulés des spécialités sous les trois noms de sociétés Gentile.
   Utilise l’espace déjà réservé aux titres, sans changer la carte TIE. */
.services.services-four .service-body h3 .company-speciality {
  display: block;
  margin-top: 3px;
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
  text-transform: none;
}

/* Les trois titres ont la même taille que le titre de TIE. */
.services.services-four .service-body h3:has(.company-speciality) {
  font-size: 20px;
  line-height: 1.3;
}


/* SECTION 05 — CONTACT : fond bleu clair de l’ancienne section Emploi.
   Modifier #ecf2f9 ci-dessous pour choisir une autre couleur.
   Le bloc des coordonnées reste bleu foncé et lisible. */
.contact {
  background: #ecf2f9;
  color: #14233a;
}
.contact h2 span { color: #397bbd; }
.contact .eyebrow.light { color: #397bbd; }
.contact-intro > p:not(.eyebrow) { color: #586b7f; }
.contact .contact-panel {
  background: #17375f;
  color: #fff;
}
